Botan Cryptographic Library Release 3.0.0

Botan 3.0.0-krypteringsbiblioteket är nu tillgängligt för användning i NeoPG-projektet, en del av GnuPG 2. Biblioteket tillhandahåller en stor samling färdiga primitiver som används i TLS-protokollet, X.509-certifikat, AEAD-chiffer, TPM-moduler , PKCS#11, lösenordshashing och post-kvantkryptering (hash-baserade signaturer och McEliece-baserat nyckelavtal). Biblioteket är skrivet i C++ och distribueras under BSD-licensen.

Bland ändringarna i den nya utgåvan:

  • Kodbasen tillåter användning av C++20-standarden (tidigare användes C++11), och därför har kraven för kompilatorer ökat - åtminstone GCC 11, Clang 14 eller MSVC 2022 krävs nu för montering. för HP- och Pathscale-kompilatorer har avvecklats, liksom Googles NaCL- och IncludeOS-projekt.
  • En stor del av ändringarna har gjorts som bryter mot bakåtkompatibiliteten. Många föråldrade rubrikfiler har tagits bort, till exempel de som är specifika för vissa algoritmer (aes.h, etc.). Implementeringar av funktioner och algoritmer som tidigare förklarats föråldrade har tagits bort (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). När vi genererade entropi för pseudoslumptalsgeneratorn slutade vi använda /proc och /dev/random. Vissa klasser (till exempel Data_Store), strukturer och uppräkningar har tagits bort från API:et. Returer och användning av blotta skyltar har upphört där så är möjligt.
  • Tillagt stöd för TLS 1.3-protokoll. Stödet för TLS 1.0, TLS 1.1 och DTLS 1.0 har upphört. Stöd för DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK och Camellia CBC-chiffersviter, anonyma chiffer och SHA-1-hashar har tagits bort från TLS-implementeringen.
  • Lade till stöd för Kybers post-kvantkrypteringsalgoritm, som är resistent mot brute force på en kvantdator.
  • Lade till stöd för Dilithium post-quantum kryptografialgoritm för att arbeta med digitala signaturer.
  • Lade till stöd för hashning av elliptisk kurvpunktsformat med SSWU-tekniken (draft-irtf-cfrg-hash-to-curve).
  • Lade till stöd för BLAKE2b kryptografiska hash-funktion.
  • Ett nytt programmeringsgränssnitt T::new_object har föreslagits som returnerar en unik_ptr istället för en blottad "T*"-pekare.
  • Lade till nya funktioner och API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Lade till en stor uppsättning nya funktioner för användning i C (C89)-kod.
  • Implementeringen av Argon2-algoritmen använder AVX2-instruktioner.
  • Storleken på tabeller i implementeringar av algoritmerna Camellia, ARIA, SEED, DES och Whirlpool har minskat.
  • En ny implementering av DES/3DES föreslås, skyddad mot de flesta klasser av sidokanalattacker som utvärderar cachens tillstånd.
  • SHACAL2-implementeringen är optimerad för system baserade på ARMv8- och POWER-arkitekturer.
  • Koden för beräkning av paritetsbitar, bcrypt/base64-konvertering och bestämning av ASN.1-strängtypen är fri från tabelluppslagningar och är nu oberoende av data som bearbetas (körs i konstant tid)

Källa: opennet.ru

Lägg en kommentar