Uitgave van de cryptografische bibliotheek Botan 3.0.0

De release van de cryptografische bibliotheek Botan 3.0.0 is beschikbaar, die wordt gebruikt in het NeoPG-project, een fork van GnuPG 2. De bibliotheek biedt een grote collectie kant-en-klare primitieve elementen die worden gebruikt in het TLS-protocol, X.509-certificaten, AEAD-coderingen, TPM-modules, PKCS#11, wachtwoordhashing en post-kwantumcryptografie (handtekeningen op basis van hash en sleutelovereenkomst op basis van McEliece). De bibliotheek is geschreven in C++ en wordt geleverd onder de BSD-licentie.

Onder de veranderingen in de nieuwe release:

  • In de codebasis is het gebruik van de C++20-standaard toegestaan (voorheen werd C++11 gebruikt), waardoor de eisen aan compilers zijn verhoogd - voor de bouw zijn nu minimaal GCC 11, Clang 14 of MSVC 2022 nodig. Ondersteuning voor HP- en Pathscale-compilers, evenals de Google NaCL- en IncludeOS-projecten, is stopgezet.
  • Er is een grote hoeveelheid wijzigingen doorgevoerd die de achterwaartse compatibiliteit schenden. Veel verouderde headerbestanden zijn verwijderd, zoals die specifiek voor bepaalde algoritmen (aes.h enz.). Functies en algoritmes die eerder als 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 pseudo-willekeurige getallengenerator is het gebruik van /proc en /dev/random stopgezet. Bepaalde klassen (bijvoorbeeld Data_Store), structuren en enumeraties zijn uit de API verwijderd. Waar mogelijk is het retourneren en gebruiken van rauwe pointers stopgezet.
  • Ondersteuning voor het TLS 1.3-protocol is toegevoegd. Ondersteuning voor TLS 1.0, TLS 1.1 en DTLS 1.0 is stopgezet. Ondersteuning voor de cipher suites DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK en Camellia CBC, anonieme coderingen en SHA-1-hashes is uit de TLS-implementatie verwijderd.
  • Ondersteuning voor het post-kwantum cryptografie-algoritme Kyber, dat bestand is tegen aanvallen met een quantumcomputer, is toegevoegd.
  • Ondersteuning voor het post-kwantum cryptografie-algoritme Dilithium voor digitale handtekeningen is toegevoegd.
  • Ondersteuning voor hashing in het formaat van een punt op een elliptische kromme, dat de SSWU-techniek (draft-irtf-cfrg-hash-to-curve) gebruikt, is toegevoegd.
  • Ondersteuning voor de cryptografische hashfunctie BLAKE2b is toegevoegd.
  • Een nieuwe programmeerinterface T::new_object is voorgesteld, die unique_ptr retourneert in plaats van de rauwe pointer "T*".
  • Nieuwe functies en API's zijn toegevoegd: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Een grote set nieuwe functies is toegevoegd voor gebruik in C-code (C89).
  • In de implementatie van het Argon2-algoritme zijn AVX2-instructies gebruikt.
  • De grootte van de tabellen in de implementaties van de algoritmes Camellia, ARIA, SEED, DES en Whirlpool is verkleind.
  • Een nieuwe implementatie van DES/3DES is voorgesteld, die beschermd is tegen de meeste klassen van aanvallen via zijkanalen die de status van de cache evalueren.
  • De implementatie van SHACAL2 is geoptimaliseerd voor systemen op basis van de ARMv8- en POWER-architecturen.
  • De code voor het berekenen van pariteitsbits, de conversie van bcrypt/base64 en de bepaling van het type ASN.1-string is ontdaan van zoektabellen en hangt nu niet af van de verwerkte gegevens (uitgevoerd in constante tijd).

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster