Botan Cryptographic Library 3.0.0 kiadás

A Botan 3.0.0 kriptográfiai könyvtár már elérhető a NeoPG projektben, a GnuPG 2 egyik ágában. A könyvtár a TLS protokollban használt kész primitívek, X.509 tanúsítványok, AEAD titkosítások, TPM modulok nagy gyűjteményét tartalmazza. , PKCS#11, jelszókivonat és utókvantum kriptográfia (hash-alapú aláírások és McEliece-alapú kulcsmegállapodás). A könyvtár C++ nyelven íródott, és a BSD licenc alatt kerül terjesztésre.

Az új kiadás változásai között:

  • A kódbázis lehetővé teszi a C++20 szabvány használatát (korábban C++11 volt), ennek megfelelően nőttek a fordítókkal szemben támasztott követelmények – az összeszereléshez most már legalább GCC 11, Clang 14 vagy MSVC 2022 szükséges. a HP és a Pathscale fordítók számára, valamint a Google NaCL és IncludeOS projektek megszűntek.
  • A visszamenőleges kompatibilitást sértő változtatások nagy része történt. Sok elavult fejlécfájlt eltávolítottak, például azokat, amelyek bizonyos algoritmusokra vonatkoznak (aes.h stb.). A korábban elavultnak nyilvánított függvények és algoritmusok megvalósításait eltávolítottuk (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Amikor entrópiát generáltunk az álvéletlenszám-generátorhoz, abbahagytuk a /proc és a /dev/random használatát. Egyes osztályok (például Data_Store), struktúrák és felsorolások eltávolításra kerültek az API-ból. A visszaküldést és a csupasz jelzések használatát lehetőség szerint megszüntettük.
  • Támogatás hozzáadva a TLS 1.3 protokollhoz. A TLS 1.0, TLS 1.1 és DTLS 1.0 támogatása megszűnt. A DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK és Camellia CBC titkosítási csomagok, névtelen titkosítások és SHA-1 kivonatok támogatása megszűnt a TLS megvalósításból.
  • Hozzáadott támogatás a Kyber posztkvantum kriptográfiai algoritmushoz, amely ellenáll a nyers erőnek a kvantumszámítógépen.
  • Támogatás hozzáadva a Dilithium post-kvantum kriptográfiai algoritmushoz a digitális aláírásokkal való munkavégzéshez.
  • Támogatás hozzáadva az elliptikus görbe formátumú kivonatához az SSWU (draft-irtf-cfrg-hash-to-curve) technikával.
  • Hozzáadott támogatás a BLAKE2b kriptográfiai hash funkcióhoz.
  • Egy új T::new_object programozási felületet javasoltak, amely egyedi_ptr értéket ad vissza csupasz "T*" mutató helyett.
  • Új funkciók és API hozzáadva: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, required_entire_message, SymmetricAlgorithm::has_keying_material. Számos új funkció került hozzáadásra a C (C89) kódban való használatra.
  • Az Argon2 algoritmus megvalósítása AVX2 utasításokat használ.
  • A Camellia, ARIA, SEED, DES és Whirlpool algoritmusok implementációiban a táblázatok mérete csökkent.
  • Javasoljuk a DES/3DES új megvalósítását, amely védett a gyorsítótár állapotát értékelő oldalcsatornás támadások legtöbb osztályával szemben.
  • A SHACAL2 megvalósítás az ARMv8 és POWER architektúrákon alapuló rendszerekre van optimalizálva.
  • A paritásbitek kiszámításához, a bcrypt/base64 konverzióhoz és az ASN.1 karakterlánctípus meghatározásához szükséges kód mentesül a táblakeresésektől, és független a feldolgozott adatoktól (konstans időben fut)

Forrás: opennet.ru

Hozzászólás