ʻO Niels Möller
Hauʻoli wau e hoʻolaha i kahi hoʻokuʻu nui hou o GNU Nettle, kahi waihona puke cryptographic haʻahaʻa. Loaʻa i kēia hoʻokuʻu kekahi mau hoʻololi API, ʻo kekahi he mea nui loa, a me ka wehe ʻana i nā hana i hoʻopau ʻia. ʻO kahi hiʻohiʻona hou koʻikoʻi ʻo ke kākoʻo no nā pūlima SLH-DSA (kahi algorithm pūlima kikohoʻe e pili ana i ka hash stateless).
He hoʻokuʻu hou nui kēia. Loaʻa iā ia ke kākoʻo no SLH-DSA. Ua hana ʻia kekahi mau hoʻololi i ka Nettle API, a ua wehe ʻia nā hana i hoʻopau ʻia. Eia kekahi, ua hoʻomaikaʻi ʻia ka ABI, e waiho ana i ka API i hoʻololi nui ʻole ʻia. ʻO ke kikoʻī, ua hoʻemi ʻia nā ʻano hana no kekahi mau algorithms.
Nā Hoʻololi:
- ʻAʻole ʻae hou nā hana _digest o nā algorithms hash, MAC, a me AEAD, i ka nui digest i makemake ʻia ma ke ʻano he hoʻopaʻapaʻa; akā, hoʻihoʻi mau lākou i kahi digest nui piha. Ua hoʻololi ʻia ke ʻano nettle_hash_digest_func e like me ia.
- ʻAe nā hana no ka hana ʻana i nā leka piha me ka hoʻohana ʻana iā CCM AES i kēia manawa i kahi pōʻaiapili hoʻopāʻālua mau e like me ka hoʻopaʻapaʻa mua. No ka laʻana, ʻo ka hoʻopaʻapaʻa mua o ka hana ccm_aes128_encrypt_message i kēia manawa ʻo ia ka ʻōnaehana aes128_ctx* mau. Ma mua, ʻo ia ka ʻōnaehana ccm_aes128_ctx*, ka mea i hoʻowahāwahā i nā mea āpau koe wale nō ka pōʻaiapili hoʻopāʻālua ma lalo.
- Hoʻohana nā hana SHA3 i kēia manawa i ke ʻano sha3_ctx like no nā ʻano hash āpau, a me ka hana sha3_init like. ʻO nā inoa kahiko, e like me sha3_256_ctx a me sha3_256_init, ua wehewehe ʻia he mau aliases preprocessor no ka hoʻohālikelike hope.
- ʻO ka hoʻopaʻapaʻa dst_length o nā hana base16_decode_update a me base64_decode_update i kēia manawa he hoʻopaʻapaʻa hoʻokomo a hoʻopuka. Ke hoʻohana ʻia ma ke ʻano he hoʻokomo, pono ia e loaʻa ka nui o ka buffer pahuhopu; e hāʻule ka decoding inā ʻaʻole lawa kēia nui. Ma mua, ʻo dst_length he hoʻopaʻapaʻa hoʻopuka wale nō, e koi ana i ka buffer pahuhopu e lawa ka nui no kekahi waiwai hoʻokomo o ka lōʻihi src_length i kuhikuhi ʻia.
Source: linux.org.ru
