Ithala leencwadi le-Botan 3.0.0 le-cryptography liyafumaneka ngoku ukuze lisetyenziswe kwiprojekthi ye-NeoPG, ifolokhwe ye-GnuPG 2. Ithala leencwadi libonelela ingqokelela enkulu yezinto zakudala esezisele zenziwe ezisetyenziswa kwiprothokholi ye-TLS, izatifikethi ze-X.509, ii-ciphers ze-AEAD, iimodyuli ze-TPM. , PKCS#11, i-password hashing kunye ne-post-quantum cryptography (i-hash-based signatures kunye ne-McEliece-based key agreement). Ithala leencwadi libhalwe ngeC++ kwaye lihanjiswa phantsi kwelayisensi yeBSD.
Phakathi kotshintsho kukhupho olutsha:
- Isiseko sekhowudi sivumela ukusetyenziswa komgangatho we-C ++ we-20 (ngaphambili i-C ++ 11 yayisetyenziswa ngokufanelekileyo, iimfuno zabaqulunqi ziye zanda - ubuncinane i-GCC 11, i-Clang 14 okanye i-MSVC 2022 ngoku iyadingeka kwi-asembly kubaqulunqi be-HP kunye ne-Pathscale iyekwa, kunye ne-Google NaCL kunye neeprojekthi ze-IncludeOS.
- Inxalenye enkulu yotshintsho lwenziwe olwaphula umva ukuhambelana. Iifayile ezininzi zeheader eziphelelwe lixesha zisusiwe, umzekelo, ezo zikhethekileyo kwii-algorithms ezithile (aes.h, njl.). Ukuphunyezwa kwemisebenzi kunye ne-algorithms echazwe ngaphambili ukuba iphelelwe lixesha (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Xa sivelisa i-entropy ye-pseudorandom number generator, siyekile ukusebenzisa /proc kunye /dev/random. Ezinye iiklasi (umzekelo, Data_Store), izakhiwo kunye nokubalwa zisusiwe kwi-API. Ukubuyiswa kunye nokusetyenziswa kweempawu ezingenanto ziye zayekwa apho kunokwenzeka.
- Inkxaso eyongeziweyo ye-TLS 1.3 protocol. Inkxaso ye-TLS 1.0, i-TLS 1.1 kunye ne-DTLS 1.0 iye yayekwa. Inkxaso ye-DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK kunye neCamellia CBC cipher suites, ii-ciphers ezingaziwa, kunye ne-SHA-1 hashes isusiwe ekuphunyezweni kwe-TLS.
- Inkxaso eyongeziweyo ye-algorithm ye-Kyber ye-post-quantum cryptography, ekwaziyo ukumelana ne-brute force kwi-computer ye-quantum.
- Inkxaso eyongeziweyo ye-Dilithium post-quantum cryptography algorithm yokusebenza kunye neesignesha zedijithali.
- Inkxaso eyongeziweyo yefomathi ye-elliptic curve point hashing usebenzisa ubuchule be-SSWU (idrafti-irtf-cfrg-hash-to-curve).
- Inkxaso eyongeziweyo ye-BLAKE2b cryptographic hash function.
- Kucetywe ujongano olutsha lwenkqubo T::new_object ebuyisela i unique_ptr endaweni yesalathisi esingenanto "T*".
- Imisebenzi emitsha eyongeziweyo kunye ne-API: X509_DN ::DER_encode, Public_Key ::get_int_field, ideal_granularity, needs_entire_message, SymmetricAlgorithm::has_keying_material. Kongezwe iseti enkulu yemisebenzi emitsha yokusetyenziswa kwikhowudi ye-C (C89).
- Ukuphunyezwa kwe-algorithm ye-Argon2 isebenzisa imiyalelo ye-AVX2.
- Ubungakanani beetafile ekuphunyezweni kweCamellia, ARIA, SEED, DES kunye ne-Whirlpool algorithms iyancipha.
- Ukuphunyezwa okutsha kwe-DES/3DES kucetywayo, kukhuselwe kwiindidi ezininzi zohlaselo lwasecaleni kwendlela evavanya imeko yecache.
- Ukuphunyezwa kwe-SHACAL2 kulungiselelwe iinkqubo ezisekelwe kwi-ARMv8 kunye ne-POWER architectures.
- Ikhowudi yokubala i-parity bits, i-bcrypt / i-base64 ukuguqulwa kunye nokumisela uhlobo lomtya we-ASN.1 ukhululiwe kukhangelo lwetafile kwaye ngoku izimeleyo kwidatha ecutshungulwayo (iqhuba ngexesha eliqhubekayo)
umthombo: opennet.ru
