Botānas kriptogrāfijas bibliotēkas laidiens 3.0.0

Botan 3.0.0 kriptogrāfijas bibliotēka tagad ir pieejama lietošanai NeoPG projektā, GnuPG 2 dakša. Bibliotēka nodrošina lielu gatavu primitīvu kolekciju, ko izmanto TLS protokolā, X.509 sertifikātus, AEAD šifrus, TPM moduļus. , PKCS#11, paroļu jaukšana un pēckvantu kriptogrāfija (uz jaucējkodiem balstīti paraksti un McEliece balstīta atslēgas līgums). Bibliotēka ir rakstīta C++ valodā un tiek izplatīta saskaņā ar BSD licenci.

Starp izmaiņām jaunajā laidienā:

  • Kodu bāze ļauj izmantot C++20 standartu (iepriekš tika izmantots C++11), attiecīgi ir paaugstinātas prasības kompilatoriem - montāžai tagad nepieciešams vismaz GCC 11, Clang 14 vai MSVC 2022. Atbalsts HP un Pathscale kompilatoriem ir pārtraukta, kā arī Google NaCL un IncludeOS projektiem.
  • Ir veikta liela daļa izmaiņu, kas pārkāpj atpakaļejošu saderību. Ir noņemti daudzi novecojuši galvenes faili, piemēram, tie, kas raksturīgi noteiktiem algoritmiem (aes.h utt.). Iepriekš par novecojušām pasludināto funkciju un algoritmu realizācijas ir noņemtas (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Ģenerējot entropiju pseidogadījuma skaitļu ģeneratoram, mēs pārtraucām izmantot /proc un /dev/random. Dažas klases (piemēram, Data_Store), struktūras un uzskaitījumi ir noņemti no API. Ja iespējams, atgriešana un tukšu zīmju izmantošana ir pārtraukta.
  • Pievienots TLS 1.3 protokola atbalsts. TLS 1.0, TLS 1.1 un DTLS 1.0 atbalsts ir pārtraukts. No TLS ieviešanas ir noņemts DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK un Camellia CBC šifru komplektu, anonīmo šifru un SHA-1 jaukšanas atbalsts.
  • Pievienots atbalsts Kyber pēckvantu kriptogrāfijas algoritmam, kas ir izturīgs pret brutālu spēku kvantu datorā.
  • Pievienots atbalsts Dilithium pēckvantu kriptogrāfijas algoritmam darbam ar ciparparakstiem.
  • Pievienots eliptiskās līknes punktu jaukšanas atbalsts, izmantojot SSWU (draft-irtf-cfrg-hash-to-curve) tehniku.
  • Pievienots atbalsts BLAKE2b kriptogrāfijas jaucējfunkcijai.
  • Ir ierosināts jauns programmēšanas interfeiss T::new_object, kas atgriež unikālu_ptr tukša "T*" rādītāja vietā.
  • Pievienotas jaunas funkcijas un API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, prasa_viss_ziņojums, SymmetricAlgorithm::has_keying_material. Pievienots liels jaunu funkciju kopums lietošanai C (C89) kodā.
  • Argon2 algoritma ieviešana izmanto AVX2 instrukcijas.
  • Ir samazināts tabulu lielums Camellia, ARIA, SEED, DES un Whirlpool algoritmos.
  • Tiek piedāvāta jauna DES/3DES ieviešana, kas ir aizsargāta pret lielāko daļu sānu kanālu uzbrukumu klašu, kas novērtē kešatmiņas stāvokli.
  • SHACAL2 ieviešana ir optimizēta sistēmām, kuru pamatā ir ARMv8 un POWER arhitektūra.
  • Kods paritātes bitu aprēķināšanai, bcrypt/base64 konvertēšanai un ASN.1 virknes veida noteikšanai ir atbrīvots no tabulas uzmeklēšanas un tagad ir neatkarīgs no apstrādājamajiem datiem (darbojas konstantā laikā).

Avots: opennet.ru

Pievieno komentāru