Vydanie kryptografickej knižnice Botan 3.0.0

Šifrovacia knižnica Botan 3.0.0 je teraz k dispozícii na použitie v projekte NeoPG, vidlici GnuPG 2. Knižnica poskytuje veľkú zbierku hotových primitív používaných v protokole TLS, certifikáty X.509, šifry AEAD, moduly TPM , PKCS#11, hashovanie hesiel a postkvantová kryptografia (podpisy založené na hašovaní a dohoda kľúčov založená na McEliece). Knižnica je napísaná v C++ a je šírená pod licenciou BSD.

Medzi zmeny v novom vydaní:

  • Kódová báza umožňuje použitie štandardu C++20 (predtým sa používal C++11), v súlade s tým boli zvýšené požiadavky na kompilátory - na zostavenie sú teraz potrebné minimálne GCC 11, Clang 14 alebo MSVC 2022. Podpora pre kompilátory HP a Pathscale boli ukončené, ako aj projekty Google NaCL a IncludeOS.
  • Bola vykonaná veľká časť zmien, ktoré porušujú spätnú kompatibilitu. Mnohé zastarané hlavičkové súbory boli odstránené, napríklad súbory špecifické pre určité algoritmy (aes.h atď.). Implementácie funkcií a algoritmov, ktoré boli predtým vyhlásené za zastarané, boli odstránené (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Pri generovaní entropie pre generátor pseudonáhodných čísel sme prestali používať /proc a /dev/random. Niektoré triedy (napríklad Data_Store), štruktúry a enumerácie boli z API odstránené. Vrátenie a používanie holých značiek bolo prerušené tam, kde to bolo možné.
  • Pridaná podpora pre protokol TLS 1.3. Podpora pre TLS 1.0, TLS 1.1 a DTLS 1.0 bola ukončená. Podpora pre šifrovacie súpravy DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK a Camellia CBC, anonymné šifry a hash SHA-1 bola z implementácie TLS odstránená.
  • Pridaná podpora pre postkvantový kryptografický algoritmus Kyber, ktorý je odolný voči hrubej sile na kvantovom počítači.
  • Pridaná podpora pre postkvantový kryptografický algoritmus Dilithium pre prácu s digitálnymi podpismi.
  • Pridaná podpora pre hašovanie formátu bodov eliptických kriviek pomocou techniky SSWU (draft-irtf-cfrg-hash-to-curve).
  • Pridaná podpora pre kryptografickú hašovaciu funkciu BLAKE2b.
  • Bolo navrhnuté nové programovacie rozhranie T::new_object, ktoré vracia unique_ptr namiesto holého ukazovateľa "T*".
  • Pridané nové funkcie a API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, required_entire_message, SymmetricAlgorithm::has_keying_material. Pridaná veľká sada nových funkcií na použitie v kóde C (C89).
  • Implementácia algoritmu Argon2 využíva inštrukcie AVX2.
  • Veľkosť tabuliek v implementáciách algoritmov Camellia, ARIA, SEED, DES a Whirlpool bola zmenšená.
  • Navrhuje sa nová implementácia DES/3DES, chránená proti väčšine tried útokov na bočný kanál, ktoré vyhodnocujú stav vyrovnávacej pamäte.
  • Implementácia SHACAL2 je optimalizovaná pre systémy založené na architektúrach ARMv8 a POWER.
  • Kód na výpočet paritných bitov, konverziu bcrypt/base64 a určenie typu reťazca ASN.1 je oslobodený od vyhľadávania v tabuľke a je teraz nezávislý od spracovávaných údajov (beží v konštantnom čase)

Zdroj: opennet.ru

Pridať komentár