Izdaja kriptografske knjižnice Botan 3.0.0

Kriptografska knjižnica Botan 3.0.0 je zdaj na voljo za uporabo v projektu NeoPG, razcepu GnuPG 2. Knjižnica ponuja veliko zbirko že pripravljenih primitivov, ki se uporabljajo v protokolu TLS, potrdilih X.509, šifrah AEAD, modulih TPM , PKCS#11, zgoščevanje gesel in postkvantna kriptografija (podpisi na osnovi zgoščevanja in sporazum o ključu na podlagi McEliecea). Knjižnica je napisana v C++ in se distribuira pod licenco BSD.

Med spremembami v novi izdaji:

  • Osnova kode omogoča uporabo standarda C++20 (prej je bil uporabljen C++11), temu primerno so povečane zahteve za prevajalnike - za sestavo je zdaj potreben vsaj GCC 11, Clang 14 ali MSVC 2022. Podpora za prevajalnike HP in Pathscale je bil ukinjen, prav tako projekti Google NaCL in IncludeOS.
  • Izveden je bil velik del sprememb, ki kršijo združljivost za nazaj. Številne zastarele datoteke glave so bile odstranjene, na primer tiste, ki so specifične za določene algoritme (aes.h itd.). Izvedbe funkcij in algoritmov, ki so bili prej razglašeni za zastarele, so bile odstranjene (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Pri generiranju entropije za generator psevdonaključnih števil smo prenehali uporabljati /proc in /dev/random. Nekateri razredi (na primer Data_Store), strukture in naštevanja so bili odstranjeni iz API-ja. Vračila in uporaba golih znakov so bili prekinjeni, kjer je bilo to mogoče.
  • Dodana podpora za protokol TLS 1.3. Podpora za TLS 1.0, TLS 1.1 in DTLS 1.0 je bila ukinjena. Podpora za šifrirne pakete DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK in Camellia CBC, anonimne šifre in zgoščene vrednosti SHA-1 je bila odstranjena iz izvedbe TLS.
  • Dodana podpora za postkvantni kriptografski algoritem Kyber, ki je odporen na grobo silo na kvantnem računalniku.
  • Dodana podpora za postkvantni kriptografski algoritem Dilithium za delo z digitalnimi podpisi.
  • Dodana podpora za zgoščevanje formata točk eliptične krivulje z uporabo tehnike SSWU (draft-irtf-cfrg-hash-to-curve).
  • Dodana podpora za kriptografsko zgoščevalno funkcijo BLAKE2b.
  • Predlagan je bil nov programski vmesnik T::new_object, ki vrne unique_ptr namesto golega kazalca "T*".
  • Dodane nove funkcije in API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Dodan velik nabor novih funkcij za uporabo v kodi C (C89).
  • Implementacija algoritma Argon2 uporablja navodila AVX2.
  • Zmanjšana je velikost tabel v implementacijah algoritmov Camellia, ARIA, SEED, DES in Whirlpool.
  • Predlagana je nova izvedba DES/3DES, zaščitena pred večino razredov stranskih napadov, ki ocenjujejo stanje predpomnilnika.
  • Izvedba SHACAL2 je optimizirana za sisteme, ki temeljijo na arhitekturah ARMv8 in POWER.
  • Koda za izračun paritetnih bitov, pretvorbo bcrypt/base64 in določanje tipa niza ASN.1 je osvobojena iskanja v tabeli in je zdaj neodvisna od podatkov, ki se obdelujejo (teče v konstantnem času)

Vir: opennet.ru

Dodaj komentar