A kriptográfiai könyvtár, a Botan 3.0.0 kiadása

Megjelent a Botan 3.0.0 kriptográfiai könyvtár, amelyet a NeoPG projektben használnak, a GnuPG 2 forkjában. A könyvtár nagy gyűjteményt kínál az TLS protokollban, az X.509 tanúsítványokban, az AEAD titkosításban, a TPM modulokban, a PKCS#11-ben, a jelszavak hashelésében és a posztkvantum kriptográfiában (hash alapú aláírások és kulcsmegállapodás McEliece alapú). A könyvtár C++ nyelven íródott és BSD licenc alatt érhető el.

A legújabb verzióban bekövetkezett változások:

  • A kódbázisban megengedett a C++20 szabvány alkalmazása (korábban C++11 használtak), ennek megfelelően megnövekedtek a fordítók követelményei — mostantól a GCC 11, Clang 14 vagy MSVC 2022 minimálisan szükséges a fordításhoz. Megszűnt a HP és Pathscale fordítók, valamint a Google NaCL és IncludeOS projektek támogatása.
  • Jelentős változtatások kerültek bevezetésre, amelyek megszakítják a visszafelé kompatibilitást. Sok elavult header fájl törlésre került, például algoritmus-specifikus fájlok (aes.h stb.). A korábban elavultnak nyilvánított funkciók és algoritmusok implementációi törlésre kerültek (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). A pszeudovéletlen számgenerátor entropiájának kialakításakor megszűnt a /proc és /dev/random használata. Az API-ból eltávolítottak bizonyos osztályokat (például Data_Store), struktúrákat és felsorolásokat. Az őszinte pointerek visszaadását és használatát ott, ahol csak lehetséges, megszüntették.
  • Hozzáadva a TLS 1.3 protokoll támogatása. Megszűnt a TLS 1.0, TLS 1.1 és DTLS 1.0 támogatása. A TLS implementációból törölték a DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK és Camellia CBC titkosítási készleteket, anonim titkosítókat és SHA-1 hash funkciókat.
  • Hozzáadva a posztkvantum kriptográfiai Kyber algoritmus támogatása, amely ellenáll a kvantumszámítógépes támadásoknak.
  • Hozzáadva a posztkvantum kriptográfiai Dilithium algoritmus támogatása digitális aláírások kezeléséhez.
  • Hozzáadva az elliptikus görbén alapuló pont formátumú hashelés támogatása, amely az SSWU technikát alkalmazza (draft-irtf-cfrg-hash-to-curve).
  • Hozzáadva a BLAKE2b kriptográfiai hash függvény támogatása.
  • Javasolt egy új programozási interfész, a T::new_object, amely unique_ptr -t ad vissza ahelyett, hogy nyers pointert 'T*' szolgáltatna.
  • Új funkciók és API-k kerültek hozzáadásra: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Nagy új funkciók gyűjteménye került hozzáadásra a C (C89) nyelvben való használatra.
  • Az Argon2 algoritmus implementációjában AVX2 utasítások kerültek alkalmazásra.
  • A táblázatok mérete csökkent a Camellia, ARIA, SEED, DES és Whirlpool algoritmusok megvalósításában.
  • Egy új DES/3DES megvalósítást javasoltak, amely a legtöbb külső csatornán történő támadásosztállyal szemben védett, és a gyorsítótár állapotát értékeli.
  • A SHACAL2 megvalósítás optimalizálva lett az ARMv8 és POWER architektúrákra épülő rendszerekhez.
  • A paritásbit-számítás, a bcrypt/base64 átalakítás és az ASN.1 stringtípus meghatározása kikerülte a táblázatkeresést, és már nem függ az feldolgozott adatoktól (állandó időben végrehajtva).

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster