Botan Cryptographic Library Release 3.0.0

Π’Π΅Ρ‡Π΅ Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° криптографската Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° 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 Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΈ подписи.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° Ρ…Π΅ΡˆΠΈΡ€Π°Π½Π΅ Π½Π° Π΅Π»ΠΈΠΏΡ‚ΠΈΡ‡Π½Π° ΠΊΡ€ΠΈΠ²Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π° SSWU (draft-irtf-cfrg-hash-to-curve).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° криптографска Ρ…Π΅Ρˆ функция BLAKE2b.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ² API 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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€