Izdaja kriptografske knjižnice Botan 3.0.0

Botan 3.0.0, kriptografska knjižnica, uporabljena v projektu NeoPG, razvejana različica GnuPG 2, je zdaj na voljo. Knjižnica ponuja veliko zbirko primitivov, ki so pripravljeni za uporabo in se uporabljajo v protokolu TLS, potrdilih X.509, šifrah AEAD, modulih TPM, PKCS#11, zgoščevanju gesel in postkvantni kriptografiji (podpisi na osnovi zgoščevanja in dogovor o ključih na osnovi McElieceja). Knjižnica je napisana v jeziku C++ in licencirana pod licenco BSD.

Med spremembami v novi izdaji:

  • Kodna baza zdaj podpira standard C++20 (prej C++11), zahteve za prevajalnike pa so se povečale – za gradnjo je zdaj potreben vsaj GCC 11, Clang 14 ali MSVC 2022. Podpora za prevajalnike HP in Pathscale ter projekta Google NaCL in IncludeOS je bila ukinjena.
  • Uvedenih je bilo veliko sprememb, ki kršijo združljivost s prejšnjimi različicami. Odstranjenih je bilo veliko zastarelih datotek glave, na primer tistih, ki so specifične za določene algoritme (aes.h itd.). Implementacije prej opuščenih funkcij in algoritmov so bile odstranjene (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Uporaba /proc in /dev/random pri generiranju entropije za generator psevdonaključnih števil je bila ukinjena. Nekateri razredi (npr. Data_Store), strukture in naštevanja so bili odstranjeni iz API-ja. Vračila in uporaba golih kazalcev so bila ukinjena, kjer je bilo to mogoče.
  • Dodana je bila podpora za TLS 1.3. Podpora za TLS 1.0, TLS 1.1 in DTLS 1.0 je bila ukinjena. Iz implementacije TLS je bila odstranjena podpora za šifrirne pakete DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK in Camellia CBC, anonimne šifre in zgoščevalne vrednosti SHA-1.
  • Dodana je podpora za algoritem postkvantne kriptografije Kyber, ki je odporen na napade z grobo silo na kvantnem računalniku.
  • Dodana podpora za algoritem postkvantne kriptografije Dilithium za delo z digitalnimi podpisi.
  • Dodana je podpora za zgoščevanje 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 nov API T::new_object, ki vrača unique_ptr. namesto golega indikatorja "T*".
  • Dodane so bile nove funkcije in API-ji: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Dodan je bil velik nabor novih funkcij za uporabo v kodi C89.
  • Implementacija algoritma Argon2 uporablja ukaze AVX2.
  • Zmanjšane velikosti tabel v implementacijah algoritmov Camellia, ARIA, SEED, DES in Whirlpool.
  • Predlagana je nova implementacija DES/3DES, ki je varna pred večino razredov napadov stranskih kanalov, ki temeljijo na predpomnilniku.
  • Implementacija 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 bila odstranjena iz iskanja v tabelah in je zdaj neodvisna od podatkov, ki se obdelujejo (izvaja se v konstantnem času).

Vir: opennet.ru

Dodaj komentar