Pubblicazione della libreria crittografica Botan 3.0.0

È disponibile il rilascio della libreria crittografica Botan 3.0.0, utilizzata nel progetto NeoPG, un fork di GnuPG 2. La libreria offre una vasta collezione di primitive pronte all'uso, impiegate nei protocolli TLS, nei certificati X.509, negli algoritmi AEAD, nei moduli TPM, in PKCS#11, nell'hashing delle password e nella crittografia post-quantistica (firma basata su hash e accordo di chiavi basato su McEliece). La libreria è scritta in C++ e distribuita con licenza BSD.

Tra le novità della nuova versione:

  • Nella base di codice è consentito l'uso dello standard C++20 (in precedenza veniva utilizzato C++11), pertanto, sono aumentate le richieste per i compilatori: ora è necessario un minimo di GCC 11, Clang 14 o MSVC 2022 per la compilazione. È stata interrotta la supporto per i compilatori HP e Pathscale, così come per i progetti Google NaCL e IncludeOS.
  • È stata introdotta una significativa serie di modifiche che compromettono la retrocompatibilità. Sono stati rimossi molti file di intestazione obsoleti, come quelli specifici per determinati algoritmi (aes.h, ecc.). Sono state eliminate le implementazioni di funzioni e algoritmi precedentemente dichiarati obsoleti (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Nell'estrazione di entropia per il generatore di numeri pseudocasuali è stato cessato l'uso di /proc e /dev/random. Da API sono stati rimossi alcuni classi (ad esempio, Data_Store), strutture e enumerazioni. È cessato, quando possibile, il ritorno e l'uso di puntatori nudi.
  • È stato aggiunto il supporto per il protocollo TLS 1.3. È stato interrotto il supporto per TLS 1.0, TLS 1.1 e DTLS 1.0. Dal'implementazione di TLS è stato rimosso il supporto per i set di algoritmi DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK e Camellia CBC, algoritmi anonimi e hash SHA-1.
  • È stato aggiunto il supporto per l'algoritmo di crittografia post-quantistica Kyber, resistente agli attacchi dei computer quantistici.
  • È stato aggiunto il supporto per l'algoritmo di crittografia post-quantistica Dilithium per la gestione delle firme digitali.
  • È stato aggiunto il supporto per l'hashing in formato punto su curva ellittica, utilizzando la tecnica SSWU (draft-irtf-cfrg-hash-to-curve).
  • È stato aggiunto il supporto per la funzione hash crittografica BLAKE2b.
  • È stata proposta una nuova interfaccia di programmazione T::new_object, che restituisce unique_ptr invece di un puntatore nudo «T*».
  • Sono state aggiunte nuove funzioni e API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. È stata aggiunta una vasta gamma di nuove funzioni per l'utilizzo nel codice in linguaggio C (C89).
  • Nell'implementazione dell'algoritmo Argon2 sono state utilizzate istruzioni AVX2.
  • È stata ridotta la dimensione delle tabelle nelle implementazioni degli algoritmi Camellia, ARIA, SEED, DES e Whirlpool.
  • È stata proposta una nuova implementazione di DES/3DES, protetta contro molte classi di attacchi tramite canali laterali che valutano lo stato della cache.
  • L'implementazione SHACAL2 è stata 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 è stato rimosso dalla ricerca nelle tabelle e ora non dipende dai dati elaborati (eseguito in tempo costante).

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster