Libreria crittografica Botan versione 3.0.0

La libreria di crittografia Botan 3.0.0 è ora disponibile per l'uso nel progetto NeoPG, un fork di GnuPG 2. La libreria fornisce un'ampia raccolta di primitive già pronte utilizzate nel protocollo TLS, certificati X.509, cifrari AEAD, moduli TPM , PKCS#11, hashing delle password e crittografia post-quantistica (firme basate su hash e accordo sulle chiavi basato su McEliece). La libreria è scritta in C++ ed è distribuita sotto la licenza BSD.

Tra le novità della nuova release:

  • La base di codice consente l'utilizzo dello standard C++20 (prima veniva utilizzato C++11), di conseguenza sono stati aumentati i requisiti per i compilatori: per l'assemblaggio ora sono necessari almeno GCC 11, Clang 14 o MSVC 2022. per i compilatori HP e Pathscale è stato interrotto, così come i progetti Google NaCL e IncludeOS.
  • Sono state apportate gran parte delle modifiche che violano la compatibilità con le versioni precedenti. Molti file header obsoleti sono stati rimossi, ad esempio quelli specifici di determinati algoritmi (aes.h, ecc.). Sono state rimosse le implementazioni di funzioni e algoritmi precedentemente dichiarati obsoleti (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Durante la generazione di entropia per il generatore di numeri pseudocasuali, abbiamo smesso di usare /proc e /dev/random. Alcune classi (ad esempio Data_Store), strutture ed enumerazioni sono state rimosse dall'API. Ove possibile, i resi e l'uso della segnaletica nuda sono stati sospesi.
  • Aggiunto il supporto per il protocollo TLS 1.3. Il supporto per TLS 1.0, TLS 1.1 e DTLS 1.0 è stato interrotto. Il supporto per le suite di crittografia DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK e Camellia CBC, le crittografie anonime e gli hash SHA-1 è stato rimosso dall'implementazione TLS.
  • Aggiunto il supporto per l'algoritmo di crittografia post-quantistica Kyber, che è resistente alla forza bruta su un computer quantistico.
  • Aggiunto il supporto per l'algoritmo di crittografia post-quantistica Dilithium per lavorare con le firme digitali.
  • Aggiunto il supporto per l'hashing del formato dei punti della curva ellittica utilizzando la tecnica SSWU (draft-irtf-cfrg-hash-to-curve).
  • Aggiunto il supporto per la funzione hash crittografica BLAKE2b.
  • È stata proposta una nuova interfaccia di programmazione T::new_object che restituisce un unique_ptr invece di un semplice puntatore "T*".
  • Aggiunte nuove funzioni e API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, require_entire_message, SymmetricAlgorithm::has_keying_material. Aggiunto un ampio set di nuove funzioni da utilizzare nel codice C (C89).
  • L'implementazione dell'algoritmo Argon2 utilizza istruzioni AVX2.
  • La dimensione delle tabelle nelle implementazioni degli algoritmi Camellia, ARIA, SEED, DES e Whirlpool è stata ridotta.
  • Viene proposta una nuova implementazione di DES/3DES, protetta contro la maggior parte delle classi di attacchi side-channel che valutano lo stato della cache.
  • L'implementazione SHACAL2 è ottimizzata per sistemi basati su architetture ARMv8 e POWER.
  • Il codice per il calcolo dei bit di parità, la conversione bcrypt/base64 e la determinazione del tipo di stringa ASN.1 è liberato dalle ricerche nelle tabelle ed è ora indipendente dai dati elaborati (viene eseguito in tempo costante)

Fonte: opennet.ru

Aggiungi un commento