Kutolewa kwa Maktaba ya Cryptographic ya Botan 3.0.0

Maktaba ya kriptografia ya Botan 3.0.0 sasa inapatikana kwa matumizi katika mradi wa NeoPG, uma wa GnuPG 2. Maktaba hutoa mkusanyiko mkubwa wa maandishi ya awali yaliyotengenezwa tayari kutumika katika itifaki ya TLS, vyeti vya X.509, cipher za AEAD, moduli za TPM. , PKCS#11, hashing ya nenosiri na kriptografia ya baada ya quantum (saini za msingi wa hash na makubaliano ya msingi ya McEliece). Maktaba imeandikwa kwa C++ na inasambazwa chini ya leseni ya BSD.

Miongoni mwa mabadiliko katika toleo jipya:

  • Msingi wa msimbo unaruhusu matumizi ya kiwango cha C++20 (hapo awali C++11 ilitumika); ipasavyo, mahitaji ya wakusanyaji yameongezwa - angalau GCC 11, Clang 14 au MSVC 2022 sasa inahitajika kwa ajili ya kuunganisha. Msaada kwa vikusanyaji vya HP na Pathscale vimekomeshwa, pamoja na miradi ya Google NaCL na IncludeOS.
  • Sehemu kubwa ya mabadiliko yamefanywa ambayo yanakiuka utangamano wa nyuma. Faili nyingi za kichwa zilizopitwa na wakati zimeondolewa, kwa mfano, zile maalum kwa algoriti fulani (aes.h, nk.). Utekelezaji wa chaguo za kukokotoa na algoriti zilizotangazwa kuwa hazitumiki zimeondolewa (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Wakati wa kutengeneza entropy kwa jenereta ya nambari ya pseudorandom, tuliacha kutumia /proc na /dev/random. Baadhi ya madarasa (kwa mfano, Data_Store), miundo na hesabu zimeondolewa kwenye API. Urejeshaji na utumiaji wa alama tupu umekatishwa inapowezekana.
  • Usaidizi ulioongezwa kwa itifaki ya TLS 1.3. Usaidizi wa TLS 1.0, TLS 1.1 na DTLS 1.0 umekatishwa. Usaidizi wa DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK na Camellia CBC cipher suites, cipher bila majina, na heshi za SHA-1 umeondolewa kwenye utekelezaji wa TLS.
  • Usaidizi ulioongezwa kwa algoriti ya kriptografia ya baada ya quantum ya Kyber, ambayo ni sugu kwa nguvu ya kinyama kwenye kompyuta ya quantum.
  • Umeongeza usaidizi wa algoriti ya kriptografia ya baada ya quantum ya Dilithium kwa kufanya kazi na sahihi dijitali.
  • Usaidizi ulioongezwa wa umbizo la kipenyo cha elliptic curve kwa kutumia mbinu ya SSWU (draft-irtf-cfrg-hash-to-curve).
  • Imeongeza usaidizi kwa kazi ya heshi ya kriptografia ya BLAKE2b.
  • Kiolesura kipya cha programu T::new_object kimependekezwa ambacho kinarejesha unique_ptr badala ya kielekezi "T*" tupu.
  • Imeongeza vitendaji vipya na API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, needs_entire_message, SymmetricAlgorithm::has_keying_material. Imeongeza seti kubwa ya vitendakazi vipya kwa matumizi katika msimbo wa C (C89).
  • Utekelezaji wa algorithm ya Argon2 hutumia maagizo ya AVX2.
  • Ukubwa wa majedwali katika utekelezaji wa algoriti za Camellia, ARIA, SEED, DES na Whirlpool umepunguzwa.
  • Utekelezaji mpya wa DES/3DES unapendekezwa, umelindwa dhidi ya aina nyingi za mashambulizi ya idhaa ya kando ambayo hutathmini hali ya akiba.
  • Utekelezaji wa SHACAL2 umeboreshwa kwa mifumo kulingana na usanifu wa ARMv8 na POWER.
  • Msimbo wa kukokotoa biti za usawa, ubadilishaji wa bcrypt/base64 na kubainisha aina ya mfuatano wa ASN.1 umeondolewa kwenye utafutaji wa jedwali na sasa hautegemei data inayochakatwa (huendeshwa kwa muda usiobadilika)

Chanzo: opennet.ru

Kuongeza maoni