ื’ืจืกื” 3.0.0 ืฉืœ ืกืคืจื™ื™ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ืช Botan

ืกืคืจื™ื™ืช ื”ื”ืฆืคื ื” Botan 3.0.0 ื–ืžื™ื ื” ื›ืขืช ืœืฉื™ืžื•ืฉ ื‘ืคืจื•ื™ืงื˜ NeoPG, ืžื–ืœื’ ืฉืœ GnuPG 2. ื”ืกืคืจื™ื™ื” ืžืกืคืงืช ืื•ืกืฃ ื’ื“ื•ืœ ืฉืœ ืคืจื™ืžื™ื˜ื™ื‘ื™ื ืžื•ื›ื ื™ื ื”ืžืฉืžืฉื™ื ื‘ืคืจื•ื˜ื•ืงื•ืœ TLS, ืชืขื•ื“ื•ืช X.509, ืฆืคื ื™ AEAD, ืžื•ื“ื•ืœื™ TPM , PKCS#11, ื’ื™ื‘ื•ื‘ ืกื™ืกืžื” ื•ื”ืฆืคื ื” ืคื•ืกื˜-ืงื•ื•ื ื˜ื™ืช (ื—ืชื™ืžื•ืช ืžื‘ื•ืกืกื•ืช ื’ื™ื‘ื•ื‘ ื•ื”ืกื›ื ืžืคืชื— ืžื‘ื•ืกืก McEliece). ื”ืกืคืจื™ื™ื” ื›ืชื•ื‘ื” ื‘-C++ ื•ืžื•ืคืฆืช ืชื—ืช ืจื™ืฉื™ื•ืŸ BSD.

ื‘ื™ืŸ ื”ืฉื™ื ื•ื™ื™ื ื‘ืžื”ื“ื•ืจื” ื”ื—ื“ืฉื”:

  • ื‘ืกื™ืก ื”ืงื•ื“ ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืชืงืŸ C++20 (ื‘ืขื‘ืจ ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘-C++11); ื‘ื”ืชืื, ื”ื“ืจื™ืฉื•ืช ืœืžื”ื“ืจื™ื ื”ื•ื’ื“ืœื• - ื›ืขืช ื ื“ืจืฉื•ืช ื›ืขืช ืœืคื—ื•ืช GCC 11, Clang 14 ืื• MSVC 2022 ืœื”ืจื›ื‘ื”. ืขื‘ื•ืจ ืžื”ื“ืจื™ื ืฉืœ HP ื•-Pathscale ื”ื•ืคืกืง, ื›ืžื• ื’ื ืคืจื•ื™ืงื˜ื™ื ืฉืœ Google NaCL ื•-IncludeOS.
  • ื‘ื•ืฆืขื• ื—ืœืง ื’ื“ื•ืœ ืžื”ืฉื™ื ื•ื™ื™ื ืฉืžืคืจื™ื ืืช ื”ืชืื™ืžื•ืช ืœืื—ื•ืจ. ืงื•ื‘ืฆื™ ื›ื•ืชืจื•ืช ืžื™ื•ืฉื ื™ื ืจื‘ื™ื ื”ื•ืกืจื•, ืœืžืฉืœ, ืืœื” ื”ืกืคืฆื™ืคื™ื™ื ืœืืœื’ื•ืจื™ืชื ืžืกื•ื™ืžื™ื (aes.h ื•ื›ื•'). ื™ื™ืฉื•ื ืฉืœ ืคื•ื ืงืฆื™ื•ืช ื•ืืœื’ื•ืจื™ืชืžื™ื ืฉื”ื•ื›ืจื–ื• ื‘ืขื‘ืจ ืžื™ื•ืฉื ื™ื ื”ื•ืกืจื• (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). ื‘ืขืช ื™ืฆื™ืจืช ืื ื˜ืจื•ืคื™ื” ืขื‘ื•ืจ ืžื—ื•ืœืœ ื”ืžืกืคืจื™ื ื”ืคืกืื•ื“ื•-ืืงืจืื™, ื”ืคืกืงื ื• ืœื”ืฉืชืžืฉ ื‘- /proc ื•ื‘- /dev/random. ื›ืžื” ืžื—ืœืงื•ืช (ืœื“ื•ื’ืžื”, Data_Store), ืžื‘ื ื™ื ื•ืกืคื™ืจื•ืช ื”ื•ืกืจื• ืžื”-API. ื”ื”ื—ื–ืจื•ืช ื•ื”ืฉื™ืžื•ืฉ ื‘ืฉืœื˜ื™ื ื—ืฉื•ืคื™ื ื”ื•ืคืกืงื• ื‘ืžื™ื“ืช ื”ืืคืฉืจ.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคืจื•ื˜ื•ืงื•ืœ TLS 1.3. ื”ืชืžื™ื›ื” ื‘-TLS 1.0, TLS 1.1 ื•-DTLS 1.0 ื”ื•ืคืกืงื”. ืชืžื™ื›ื” ืขื‘ื•ืจ ื—ื‘ื™ืœื•ืช ืฆื•ืคืŸ DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK ื•-Camellia CBC, ืฆืคื ื™ื ืื ื•ื ื™ืžื™ื™ื ื•ื’ื™ื‘ื•ื‘ SHA-1 ื”ื•ืกืจื” ืžื”ื˜ืžืขืช TLS.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืืœื’ื•ืจื™ืชื ื”ื”ืฆืคื ื” ื”ืคื•ืกื˜-ืงื•ื•ื ื˜ื™ ืฉืœ Kyber, ืฉืขืžื™ื“ ื‘ืคื ื™ ื›ื•ื— ื’ืก ื‘ืžื—ืฉื‘ ืงื•ื•ื ื˜ื™.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืืœื’ื•ืจื™ืชื ื”ื”ืฆืคื ื” ื”ืคื•ืกื˜-ืงื•ื•ื ื˜ื™ ืฉืœ Dilithium ืœืขื‘ื•ื“ื” ืขื ื—ืชื™ืžื•ืช ื“ื™ื’ื™ื˜ืœื™ื•ืช.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘-hash ื‘ืคื•ืจืžื˜ ืฉืœ ืขืงื•ืžื” ืืœื™ืคื˜ื™ืช ื‘ืืžืฆืขื•ืช ื˜ื›ื ื™ืงืช SSWU (draft-irtf-cfrg-hash-to-curve).
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืคื•ื ืงืฆื™ื™ืช ื”ื’ื™ื‘ื•ื‘ ื”ื”ืฆืคื ื” BLAKE2b.
  • ื”ื•ืฆืข ืžืžืฉืง ืชื›ื ื•ืช ื—ื“ืฉ T::new_object ืฉืžื—ื–ื™ืจ ืืช ื”-Unique_ptr ื‘ืžืงื•ื ืžืฆื‘ื™ืข "T*" ื—ืฉื•ืฃ.
  • ื ื•ืกืคื• ืคื•ื ืงืฆื™ื•ืช ื—ื“ืฉื•ืช ื•ืžืžืฉืง API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. ื ื•ืกืคื” ืงื‘ื•ืฆื” ื’ื“ื•ืœื” ืฉืœ ืคื•ื ืงืฆื™ื•ืช ื—ื“ืฉื•ืช ืœืฉื™ืžื•ืฉ ื‘ืงื•ื“ C (C89).
  • ื”ื™ื™ืฉื•ื ืฉืœ ืืœื’ื•ืจื™ืชื Argon2 ืžืฉืชืžืฉ ื‘ื”ื•ืจืื•ืช AVX2.
  • ื’ื•ื“ืœ ื”ื˜ื‘ืœืื•ืช ื‘ื”ื˜ืžืขื•ืช ืฉืœ ื”ืืœื’ื•ืจื™ืชืžื™ื Camellia, ARIA, SEED, DES ื•- Whirlpool ื”ืฆื˜ืžืฆื.
  • ืžื•ืฆืข ื™ื™ืฉื•ื ื—ื“ืฉ ืฉืœ DES/3DES, ืžื•ื’ืŸ ืžืคื ื™ ืจื•ื‘ ื”ืžื—ืœืงื•ืช ืฉืœ ื”ืชืงืคื•ืช ืขืจื•ืฆื™ื ืฆื“ื“ื™ื™ื ืฉืžืขืจื™ื›ื™ื ืืช ืžืฆื‘ ื”ืžื˜ืžื•ืŸ.
  • ื™ื™ืฉื•ื SHACAL2 ืžื•ืชืื ืœืžืขืจื›ื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ARMv8 ื•-POWER.
  • ื”ืงื•ื“ ืœื—ื™ืฉื•ื‘ ืกื™ื‘ื™ื•ืช ื–ื•ื’ื™ื•ืช, ื”ืžืจืช bcrypt/base64 ื•ืงื‘ื™ืขืช ืกื•ื’ ื”ืžื—ืจื•ื–ืช ASN.1 ืžืฉื•ื—ืจืจ ืžื—ื™ืคื•ืฉื™ ื˜ื‘ืœื” ื•ื›ืขืช ืื™ื ื• ืชืœื•ื™ ื‘ื ืชื•ื ื™ื ื”ืžืขื•ื‘ื“ื™ื (ืคื•ืขืœ ื‘ื–ืžืŸ ืงื‘ื•ืข)

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”