Botan Cryptographic Library Izdanje 3.0.0

Biblioteka kriptografije Botan 3.0.0 je sada dostupna za upotrebu u NeoPG projektu, fork GnuPG 2. Biblioteka pruža veliku kolekciju gotovih primitiva koji se koriste u TLS protokolu, X.509 sertifikate, AEAD šifre, TPM module , PKCS#11, heširanje lozinke i post-kvantna kriptografija (potpisi zasnovani na hešu i sporazum o ključu zasnovanom na McElieceu). Biblioteka je napisana na C++ i distribuira se pod BSD licencom.

Među promjenama u novom izdanju:

  • Baza koda omogućava upotrebu standarda C++20 (ranije se koristio C++11); shodno tome, povećani su zahtjevi za kompajlere - sada su za asembler potrebni barem GCC 11, Clang 14 ili MSVC 2022. Podrška za HP i Pathscale kompajlere je ukinut, kao i Google NaCL i IncludeOS projekti.
  • Napravljen je veliki dio izmjena koje krše kompatibilnost unatrag. Mnogi zastarjeli fajlovi zaglavlja su uklonjeni, na primjer, oni specifični za određene algoritme (aes.h, itd.). Implementacije funkcija i algoritama koje su prethodno proglašene zastarjelima su uklonjene (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Prilikom generiranja entropije za generator pseudoslučajnih brojeva, prestali smo koristiti /proc i /dev/random. Neke klase (na primjer, Data_Store), strukture i enumeracije su uklonjene iz API-ja. Povratak i upotreba golih znakova su obustavljeni gdje je to moguće.
  • Dodata podrška za TLS 1.3 protokol. Podrška za TLS 1.0, TLS 1.1 i DTLS 1.0 je ukinuta. Podrška za DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK i Camellia CBC pakete šifri, anonimne šifre i SHA-1 heševe je uklonjena iz TLS implementacije.
  • Dodata podrška za Kyber algoritam post-kvantne kriptografije, koji je otporan na grubu silu na kvantnom računaru.
  • Dodata podrška za post-kvantni kriptografski algoritam Dilithium za rad sa digitalnim potpisima.
  • Dodata podrška za heširanje formata tačke eliptičke krivulje pomoću tehnike SSWU (draft-irtf-cfrg-hash-to-curve).
  • Dodata podrška za BLAKE2b kriptografsku hash funkciju.
  • Predloženo je novo programsko sučelje T::new_object koje vraća jedinstveni_ptr umjesto golog "T*" pokazivača.
  • Dodane nove funkcije i API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Dodan veliki skup novih funkcija za upotrebu u C (C89) kodu.
  • Implementacija algoritma Argon2 koristi AVX2 instrukcije.
  • Smanjena je veličina tabela u implementacijama Camellia, ARIA, SEED, DES i Whirlpool algoritama.
  • Predložena je nova implementacija DES/3DES, zaštićena od većine klasa napada sa strane kanala koji procjenjuju stanje keša.
  • Implementacija SHACAL2 je optimizirana za sisteme bazirane na ARMv8 i POWER arhitekturi.
  • Kod za izračunavanje paritetnih bitova, bcrypt/base64 konverziju i određivanje tipa niza ASN.1 oslobođen je traženja u tablici i sada je neovisan o podacima koji se obrađuju (izvodi se u konstantnom vremenu)

izvor: opennet.ru

Dodajte komentar