Botan Cryptographic Library versió 3.0.0

La biblioteca de criptografia Botan 3.0.0 ja està disponible per utilitzar-la al projecte NeoPG, una bifurcació de GnuPG 2. La biblioteca ofereix una gran col·lecció de primitives ja fetes utilitzades en el protocol TLS, certificats X.509, xifratge AEAD, mòduls TPM , PKCS#11, hash de contrasenyes i criptografia postquàntica (signatures basades en hash i acord de claus basat en McEliece). La biblioteca està escrita en C++ i es distribueix sota la llicència BSD.

Entre els canvis a la nova versió:

  • La base de codi permet l'ús de l'estàndard C++20 (abans s'utilitzava C++11); en conseqüència, s'han augmentat els requisits per als compiladors; ara es requereixen almenys GCC 11, Clang 14 o MSVC 2022 per al muntatge. per als compiladors HP i Pathscale, així com els projectes Google NaCL i IncludeOS.
  • S'han fet una gran part de canvis que infringeixen la compatibilitat enrere. S'han eliminat molts fitxers de capçalera obsolets, per exemple, els específics de determinats algorismes (aes.h, etc.). S'han eliminat les implementacions de funcions i algorismes anteriorment declarats obsolets (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Quan vam generar entropia per al generador de números pseudoaleatoris, vam deixar d'utilitzar /proc i /dev/random. Algunes classes (per exemple, Data_Store), estructures i enumeracions s'han eliminat de l'API. Les devolució i l'ús de senyals nus s'han interromput sempre que sigui possible.
  • S'ha afegit suport per al protocol TLS 1.3. El suport per a TLS 1.0, TLS 1.1 i DTLS 1.0 s'ha interromput. S'ha eliminat el suport per a les suites de xifratge DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK i Camellia CBC, xifrats anònims i hash SHA-1 de la implementació de TLS.
  • S'ha afegit suport per a l'algoritme de criptografia postquàntica Kyber, que és resistent a la força bruta en un ordinador quàntic.
  • S'ha afegit suport per a l'algoritme de criptografia postquàntica Dilithium per treballar amb signatures digitals.
  • S'ha afegit compatibilitat amb el format hash de punt de corba el·líptica mitjançant la tècnica SSWU (draft-irtf-cfrg-hash-to-curve).
  • S'ha afegit suport per a la funció hash criptogràfica BLAKE2b.
  • S'ha proposat una nova interfície de programació T::new_object que retorna un unique_ptr en lloc d'un punter "T*" nu.
  • S'han afegit noves funcions i API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. S'ha afegit un gran conjunt de funcions noves per utilitzar-les al codi C (C89).
  • La implementació de l'algorisme Argon2 utilitza instruccions AVX2.
  • S'ha reduït la mida de les taules en implementacions dels algorismes Camellia, ARIA, SEED, DES i Whirlpool.
  • Es proposa una nova implementació de DES/3DES, protegida contra la majoria de classes d'atacs de canal lateral que avaluen l'estat de la memòria cau.
  • La implementació SHACAL2 està optimitzada per a sistemes basats en arquitectures ARMv8 i POWER.
  • El codi per calcular bits de paritat, conversió bcrypt/base64 i determinar el tipus de cadena ASN.1 s'allibera de les cerques de taules i ara és independent de les dades que s'estan processant (s'executa en temps constant)

Font: opennet.ru

Afegeix comentari