Botan Cryptographic Library Release 3.0.0

Ang Botan 3.0.0 cryptography library ay magagamit na ngayon sa proyektong NeoPG, isang tinidor ng GnuPG 2. Nagbibigay ang library ng malaking koleksyon ng mga yari na primitive na ginamit sa TLS protocol, X.509 certificate, AEAD ciphers, TPM modules , PKCS#11, password hashing at post-quantum cryptography (hash-based na mga lagda at McEliece-based na key agreement). Ang aklatan ay nakasulat sa C++ at ipinamamahagi sa ilalim ng lisensya ng BSD.

Kabilang sa mga pagbabago sa bagong release:

  • Ang code base ay nagbibigay-daan sa paggamit ng C++20 standard (dati C++11 ay ginamit); ayon dito, ang mga kinakailangan para sa mga compiler ay nadagdagan - hindi bababa sa GCC 11, Clang 14 o MSVC 2022 ay kinakailangan na ngayon para sa pagpupulong. Suporta para sa mga compiler ng HP at Pathscale ay hindi na ipinagpatuloy, pati na rin ang mga proyekto ng Google NaCL at IncludeOS.
  • Malaking bahagi ng mga pagbabago ang ginawa na lumalabag sa pabalik na pagkakatugma. Maraming mga hindi napapanahong header file ang naalis, halimbawa, ang mga partikular sa ilang algorithm (aes.h, atbp.). Inalis ang mga pagpapatupad ng mga function at algorithm na dati nang idineklara na hindi na ginagamit (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Kapag bumubuo ng entropy para sa pseudorandom number generator, huminto kami sa paggamit ng /proc at /dev/random. Ang ilang mga klase (halimbawa, Data_Store), mga istruktura at enumerasyon ay inalis mula sa API. Ang mga pagbabalik at paggamit ng mga hubad na palatandaan ay itinigil kung posible.
  • Nagdagdag ng suporta para sa TLS 1.3 protocol. Ang suporta para sa TLS 1.0, TLS 1.1 at DTLS 1.0 ay hindi na ipinagpatuloy. Inalis sa pagpapatupad ng TLS ang suporta para sa DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK at Camellia CBC cipher suite, anonymous cipher, at SHA-1.
  • Nagdagdag ng suporta para sa Kyber post-quantum cryptography algorithm, na lumalaban sa brute force sa isang quantum computer.
  • Nagdagdag ng suporta para sa Dilithium post-quantum cryptography algorithm para sa pagtatrabaho sa mga digital na lagda.
  • Nagdagdag ng suporta para sa elliptic curve point format hashing gamit ang SSWU (draft-irtf-cfrg-hash-to-curve) na pamamaraan.
  • Nagdagdag ng suporta para sa BLAKE2b cryptographic hash function.
  • Isang bagong programming interface na T::new_object ang iminungkahi na nagbabalik ng unique_ptr sa halip na isang hubad na "T*" na pointer.
  • Nagdagdag ng mga bagong function at API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, nangangailangan_entire_message, SymmetricAlgorithm::has_keying_material. Nagdagdag ng malaking hanay ng mga bagong function para gamitin sa C (C89) code.
  • Ang pagpapatupad ng Argon2 algorithm ay gumagamit ng mga tagubilin ng AVX2.
  • Ang laki ng mga talahanayan sa mga pagpapatupad ng mga algorithm ng Camellia, ARIA, SEED, DES at Whirlpool ay nabawasan.
  • Ang isang bagong pagpapatupad ng DES/3DES ay iminungkahi, na pinoprotektahan laban sa karamihan ng mga klase ng pag-atake sa side-channel na sinusuri ang estado ng cache.
  • Ang pagpapatupad ng SHACAL2 ay na-optimize para sa mga system batay sa mga arkitektura ng ARMv8 at POWER.
  • Ang code para sa pagkalkula ng parity bits, bcrypt/base64 conversion at pagtukoy sa uri ng string ng ASN.1 ay pinalaya mula sa mga paghahanap sa talahanayan at ngayon ay independyente sa data na pinoproseso (tumatakbo sa patuloy na oras)

Pinagmulan: opennet.ru

Magdagdag ng komento