Botan cryptografische bibliotheek versie 3.0.0

De Botan 3.0.0 cryptografiebibliotheek is nu beschikbaar voor gebruik in het NeoPG-project, een fork van GnuPG 2. De bibliotheek biedt een grote verzameling kant-en-klare primitieven die worden gebruikt in het TLS-protocol, X.509-certificaten, AEAD-cijfers, TPM-modules , PKCS#11, wachtwoordhashing en post-kwantumcryptografie (op hash gebaseerde handtekeningen en op McEliece gebaseerde sleutelovereenkomst). De bibliotheek is geschreven in C++ en wordt gedistribueerd onder de BSD-licentie.

Onder de veranderingen in de nieuwe release:

  • De codebasis maakt het gebruik van de C++20-standaard mogelijk (voorheen werd C++11 gebruikt); dienovereenkomstig zijn de eisen voor compilers verhoogd - voor assemblage zijn nu ten minste GCC 11, Clang 14 of MSVC 2022 vereist. voor HP- en Pathscale-compilers is stopgezet, evenals Google NaCL- en IncludeOS-projecten.
  • Er zijn een groot deel van de wijzigingen aangebracht die de achterwaartse compatibiliteit schenden. Veel verouderde headerbestanden zijn verwijderd, bijvoorbeeld bestanden die specifiek zijn voor bepaalde algoritmen (aes.h, enz.). Implementaties van functies en algoritmen die eerder verouderd waren verklaard, zijn verwijderd (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Bij het genereren van entropie voor de pseudotoevalsgenerator zijn we gestopt met het gebruik van /proc en /dev/random. Sommige klassen (bijvoorbeeld Data_Store), structuren en opsommingen zijn uit de API verwijderd. Retourzendingen en het gebruik van kale borden zijn waar mogelijk stopgezet.
  • Ondersteuning toegevoegd voor het TLS 1.3-protocol. Ondersteuning voor TLS 1.0, TLS 1.1 en DTLS 1.0 is stopgezet. Ondersteuning voor DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK en Camellia CBC-coderingssuites, anonieme cijfers en SHA-1-hashes is verwijderd uit de TLS-implementatie.
  • Ondersteuning toegevoegd voor het Kyber post-kwantumcryptografie-algoritme, dat bestand is tegen brute kracht op een kwantumcomputer.
  • Ondersteuning toegevoegd voor het Dilithium post-kwantumcryptografie-algoritme voor het werken met digitale handtekeningen.
  • Ondersteuning toegevoegd voor hashing van het elliptische curvepuntformaat met behulp van de SSWU-techniek (draft-irtf-cfrg-hash-to-curve).
  • Ondersteuning toegevoegd voor de cryptografische hashfunctie BLAKE2b.
  • Er is een nieuwe programmeerinterface T::new_object voorgesteld die een unieke_ptr retourneert in plaats van een kale "T*"-aanwijzer.
  • Nieuwe functies en API toegevoegd: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, require_entire_message, SymmetricAlgorithm::has_keying_material. Een groot aantal nieuwe functies toegevoegd voor gebruik in C (C89)-code.
  • De implementatie van het Argon2-algoritme maakt gebruik van AVX2-instructies.
  • De grootte van tabellen in implementaties van de Camellia-, ARIA-, SEED-, DES- en Whirlpool-algoritmen is verkleind.
  • Er wordt een nieuwe implementatie van DES/3DES voorgesteld, beschermd tegen de meeste klassen van zijkanaalaanvallen die de status van de cache evalueren.
  • De SHACAL2-implementatie is geoptimaliseerd voor systemen gebaseerd op ARMv8- en POWER-architecturen.
  • De code voor het berekenen van pariteitsbits, bcrypt/base64-conversie en het bepalen van het ASN.1-stringtype is bevrijd van tabelopzoekingen en is nu onafhankelijk van de gegevens die worden verwerkt (draait in constante tijd)

Bron: opennet.ru

Voeg een reactie