Rilascio 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 primitivi pronti all'uso, utilizzati nel protocollo TLS, nei certificati X.509, nella crittografia AEAD, nei moduli TPM, in PKCS#11, nell'hashing delle password e nella crittografia post-quantistica (firmare basandosi su hash e accordo di chiavi basato su McEliece). La libreria è scritta in C++ e distribuita sotto licenza BSD.

Tra le novità del nuovo rilascio:

  • Nella base di codice è consentito l'uso dello standard C++20 (precedentemente era usato C++11), quindi sono stati elevati i requisiti per i compilatori: ora per la compilazione è necessario utilizzare almeno GCC 11, Clang 14 o MSVC 2022. È stata interrotta la supporto per i compilatori HP e Pathscale, così come per i progetti Google NaCL e IncludeOS.
  • È stata apportata una grande quantità di modifiche che rompono la compatibilità all'indietro. Sono stati rimossi molti file di intestazione obsoleti, ad esempio, specifici per determinati algoritmi (aes.h, ecc.). Sono state eliminate implementazioni di funzioni e algoritmi precedentemente dichiarati obsoleti (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Nella generazione di entropia per il generatore di numeri pseudocasuali è stata interrotta l'uso di /proc e /dev/random. Alcune classi API (ad es. Data_Store), strutture e enumerazioni sono state rimosse. Laddove possibile, è stata interrotta la restituzione e l'uso dei puntatori nudi.
  • È stata aggiunta la supporto al protocollo TLS 1.3. È stata interrotta la supporto a TLS 1.0, TLS 1.1 e DTLS 1.0. Dalla implementazione di TLS è stata rimossa la supporto per suite di crittografia DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK e Camellia CBC, crittografie anonime e hash SHA-1.
  • È stata aggiunta la supporto per l'algoritmo di crittografia post-quantistica Kyber, resistente agli attacchi dei computer quantistici.
  • È stata aggiunta la supporto per l'algoritmo di crittografia post-quantistica Dilithium per la gestione delle firme digitali.
  • È stata aggiunta la supporto per l'hashing nel formato punto su curva ellittica, utilizzando la tecnica SSWU (draft-irtf-cfrg-hash-to-curve).
  • È stata aggiunta la 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'uso nel codice in C (C89).
  • Nell'implementazione dell'algoritmo Argon2 sono state utilizzate istruzioni AVX2.
  • Ridotto la dimensione delle tabelle nelle implementazioni degli algoritmi Camellia, ARIA, SEED, DES e Whirlpool.
  • Proposta una nuova implementazione di DES/3DES, protetta dalla maggior parte delle classi di attacchi tramite canali laterali che valutano lo stato della cache.
  • L'implementazione di 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 è stato eliminato dalla ricerca nelle tabelle e ora non dipende dai dati elaborati (eseguito in tempo costante).

Fonte: opennet.ru

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