Udgivelse af kryptografibiblioteket Botan 3.0.0

Der er udgivet en ny version af den kryptografiske bibliotek Botan 3.0.0, der bruges i projektet NeoPG, en fork af GnuPG 2. Biblioteket tilbyder en omfattende samling af forberedte primære elementer, der anvendes i TLS-protokollen, X.509-certifikater, AEAD-kryptering, TPM-moduler, PKCS#11, password hashing og postkvantekryptografi (hash-baserede signaturer og nøgleaftaler baseret på McEliece). Biblioteket er skrevet i C++ og udgives under BSD-licensen.

Blandt ændringerne i den nye udgave:

  • I kodebasen er brugen af C++20-standarden tilladt (tidligere blev C++11 brugt), hvilket har medført højere krav til compilere — nu kræves minimum GCC 11, Clang 14 eller MSVC 2022 for at kompilere. Støtten til compilerne HP og Pathscale er blevet ophørt, ligesom for projekterne Google NaCL og IncludeOS.
  • Der er foretaget en omfattende række ændringer, der bryder bagudkompatibilitet. Mange forældede header-filer er blevet fjernet, f.eks. dem der er specifikke for bestemte algoritmer (aes.h osv.). Implementeringer af funktioner og algoritmer, der tidligere var mærket som forældede, er blevet fjernet (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Der er ikke længere brugt /proc og /dev/random til dannelse af entropi til pseudorandom number generatoren. Nogle klasser (f.eks. Data_Store), strukturer og enumerationer er blevet fjernet fra API. Der er efter bedste evne blevet stoppet brugen af rå pointers.
  • Støtten til TLS 1.3-protokollen er blevet tilføjet. Støtten til TLS 1.0, TLS 1.1 og DTLS 1.0 er blevet ophørt. Implementeringen af TLS har fjernet understøttelse af cipher suites DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK og Camellia CBC, anonyme cipher, og SHA-1 hasher.
  • Støtten til postkvante kryptografi-algoritmen Kyber, der er modstandsdygtig overfor angreb fra kvantecomputere, er blevet tilføjet.
  • Støtten til postkvante kryptografi-algoritmen Dilithium til digital signaturbehandling er blevet tilføjet.
  • Støtten til hashing i punktformat på elliptiske kurver, der bruger SSWU-teknikken (draft-irtf-cfrg-hash-to-curve), er blevet tilføjet.
  • Støtten til kryptografisk hash-funktion BLAKE2b er blevet tilføjet.
  • En ny interface T::new_object er blevet foreslået, som returnerer unique_ptr i stedet for den rå pointer 'T*'.
  • Nye funktioner og API'er er blevet tilføjet: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. En stor mængde nye funktioner til brug i C-kode (C89) er blevet tilføjet.
  • I implementeringen af Argon2-algoritmen er AVX2-instruktioner blevet anvendt.
  • Størrelsen på tabellerne i implementeringerne af Camellia, ARIA, SEED, DES og Whirlpool er reduceret.
  • En ny implementering af DES/3DES er blevet foreslået, som beskytter mod de fleste klasser af angreb via sidekanaler, der evaluerer tilstanden af cachen.
  • Implementeringen af SHACAL2 er optimeret til systemer baseret på ARMv8- og POWER-arkitekturer.
  • Koden til beregning af paritetsbits, konvertering af bcrypt/base64 og bestemmelse af ASN.1-strengens type er blevet frigjort fra tabelopslag og afhænger nu ikke af de behandlede data (udføres i konstant tid).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster