Niels Möller
Saya dengan sukacitanya mengumumkan keluaran baharu utama GNU Nettle, sebuah perpustakaan kriptografi peringkat rendah. Keluaran ini merangkumi beberapa perubahan API, ada yang agak ketara, serta penyingkiran fungsi yang tidak digunakan lagi. Satu ciri baharu yang ketara ialah sokongan untuk tandatangan SLH-DSA (algoritma tandatangan digital berasaskan hash tanpa status).
Ini merupakan keluaran baharu yang besar. Ia merangkumi sokongan untuk SLH-DSA. Beberapa perubahan telah dibuat pada API Nettle dan fungsi yang tidak digunakan lagi telah dialih keluar. Selain itu, ABI telah dipertingkatkan, menjadikan API sebahagian besarnya tidak berubah. Secara khususnya, struktur konteks untuk beberapa algoritma telah dikurangkan.
Perubahan:
- Fungsi _digest bagi algoritma hash, MAC dan AEAD, tidak lagi menerima saiz digest yang dikehendaki sebagai argumen; sebaliknya, ia sentiasa mengembalikan digest bersaiz penuh. Jenis nettle_hash_digest_func telah diubah sewajarnya.
- Fungsi untuk memproses mesej penuh menggunakan CCM AES kini menerima konteks penyulitan malar sebagai argumen pertama. Contohnya, argumen pertama fungsi ccm_aes128_encrypt_message kini merupakan struktur aes128_ctx* malar. Sebelum ini, ini merupakan struktur ccm_aes128_ctx*, yang mengabaikan semua perkara kecuali konteks penyulitan yang mendasarinya.
- Fungsi SHA3 kini menggunakan struktur sha3_ctx yang sama untuk semua varian hash, serta fungsi sha3_init yang sama. Nama lama, seperti sha3_256_ctx dan sha3_256_init, ditakrifkan sebagai alias prapemproses untuk keserasian ke belakang.
- Argumen dst_length bagi fungsi base16_decode_update dan base64_decode_update kini merupakan argumen input dan output. Apabila digunakan sebagai input, ia mesti mengandungi saiz penimbal sasaran; penyahkodan akan gagal jika saiz ini tidak mencukupi. Sebelum ini, dst_length hanyalah argumen output, yang memerlukan penimbal sasaran cukup besar untuk sebarang nilai input bagi panjang src_length yang ditentukan.
Sumber: linux.org.ru
