Kutulutsidwa kwa Library ya Botan Cryptographic 3.0.0

Laibulale ya cryptography ya Botan 3.0.0 tsopano ikupezeka kuti igwiritsidwe ntchito mu polojekiti ya NeoPG, foloko ya GnuPG 2. Laibulaleyi imapereka mndandanda waukulu wa zinthu zakale zopangidwa kale zomwe zimagwiritsidwa ntchito mu TLS protocol, X.509 certificates, AEAD ciphers, TPM modules , PKCS#11, mawu achinsinsi ndi post-quantum cryptography (ma signature ozikidwa pa hashi ndi mgwirizano wachinsinsi wa McEliece). Laibulaleyi imalembedwa mu C ++ ndipo imagawidwa pansi pa chilolezo cha BSD.

Zosintha pakutulutsa kwatsopano zikuphatikiza:

  • Ma code base amalola kugwiritsa ntchito C++20 standard (kale C++11 inkagwiritsidwa ntchito); motero, zofunikira za compilers zawonjezeka - osachepera GCC 11, Clang 14 kapena MSVC 2022 tsopano akufunika kuti asonkhane. za HP ndi Pathscale compilers zathetsedwa, komanso Google NaCL ndi IncludeOS mapulojekiti.
  • Gawo lalikulu la zosintha zapangidwa zomwe zimaphwanya kuyanjana kwambuyo. Mafayilo ambiri apamutu akale achotsedwa, mwachitsanzo, omwe ali ndi ma algorithms ena (aes.h, ndi zina). Kukhazikitsidwa kwa ntchito ndi ma algorithms omwe adanenedwa kuti ndi osatha achotsedwa (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Popanga entropy ya jenereta ya nambala ya pseudorandom, tinasiya kugwiritsa ntchito /proc ndi /dev/random. Makalasi ena (mwachitsanzo, Data_Store), zomanga ndi zowerengera zachotsedwa mu API. Kubwezera ndi kugwiritsa ntchito zikwangwani zopanda kanthu zathetsedwa ngati kuli kotheka.
  • Thandizo lowonjezera la protocol ya TLS 1.3. Thandizo la TLS 1.0, TLS 1.1 ndi DTLS 1.0 lathetsedwa. Thandizo la DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK ndi Camellia CBC cipher suites, ma cipher osadziwika, ndi ma SHA-1 hashes achotsedwa pakukhazikitsa kwa TLS.
  • Thandizo lowonjezera la Kyber post-quantum cryptography algorithm, yomwe imalimbana ndi mphamvu yankhanza pakompyuta ya quantum.
  • Thandizo lowonjezera la Dilithium post-quantum cryptography algorithm yogwira ntchito ndi siginecha ya digito.
  • Thandizo lowonjezera la mawonekedwe a elliptic curve point hashing pogwiritsa ntchito njira ya SSWU (draft-irtf-cfrg-hash-to-curve).
  • Thandizo lowonjezera la BLAKE2b cryptographic hash function.
  • Mawonekedwe atsopano a pulogalamu T::new_object aperekedwa kuti abweretse unique_ptr m'malo mwa cholozera "T*" chopanda kanthu.
  • Anawonjezera ntchito zatsopano ndi API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, amafuna_entre_message, SymmetricAlgorithm::has_keying_material. Anawonjezera seti yayikulu ya ntchito zatsopano kuti mugwiritse ntchito mu code C (C89).
  • Kukhazikitsidwa kwa algorithm ya Argon2 kumagwiritsa ntchito malangizo a AVX2.
  • Kukula kwa matebulo pakukhazikitsidwa kwa ma algorithms a Camellia, ARIA, SEED, DES ndi Whirlpool kwachepetsedwa.
  • Kukhazikitsa kwatsopano kwa DES/3DES kwaperekedwa, kutetezedwa kumagulu ambiri am'mbali omwe amawunika momwe cache ilili.
  • Kukhazikitsa kwa SHACAL2 kumakongoletsedwa pamakina otengera ARMv8 ndi POWER zomangamanga.
  • Khodi yowerengera ma bits, kutembenuka kwa bcrypt/base64 ndikuzindikira mtundu wa chingwe cha ASN.1 imamasulidwa pakuyang'ana patebulo ndipo tsopano ili yodziyimira pawokha ku data yomwe ikukonzedwa (imayenda nthawi zonse)

Source: opennet.ru

Kuwonjezera ndemanga