Botan Cryptographic Library Release 3.0.0

Biblioteka e kriptografisë Botan 3.0.0 tani është e disponueshme për t'u përdorur në projektin NeoPG, një pjesë e GnuPG 2. Biblioteka ofron një koleksion të madh primitivësh të gatshëm të përdorur në protokollin TLS, certifikatat X.509, shifrat AEAD, modulet TPM , PKCS#11, hashimi i fjalëkalimit dhe kriptografia post-kuantike (nënshkrimet e bazuara në hash dhe marrëveshja kryesore e bazuar në McEliece). Biblioteka është e shkruar në C++ dhe shpërndahet nën licencën BSD.

Ndër ndryshimet në versionin e ri:

  • Baza e kodit lejon përdorimin e standardit C++20 (më parë përdorej C++11); në përputhje me rrethanat, kërkesat për përpiluesit janë rritur - të paktën GCC 11, Clang 14 ose MSVC 2022 tani kërkohen për montim. Mbështetje për përpiluesit HP dhe Pathscale është ndërprerë, si dhe projektet e Google NaCL dhe IncludeOS.
  • Janë bërë një pjesë e madhe e ndryshimeve që shkelin përputhshmërinë e prapambetur. Shumë skedarë të vjetëruar të kokës janë hequr, për shembull, ato specifike për algoritme të caktuara (aes.h, etj.). Zbatimet e funksioneve dhe algoritmeve të deklaruara më parë të vjetëruara janë hequr (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Kur gjeneronim entropinë për gjeneratorin e numrave pseudorandom, ndaluam përdorimin e /proc dhe /dev/random. Disa klasa (për shembull, Data_Store), struktura dhe numërime janë hequr nga API. Kthimet dhe përdorimi i tabelave të zhveshura janë ndërprerë aty ku është e mundur.
  • Mbështetje e shtuar për protokollin TLS 1.3. Mbështetja për TLS 1.0, TLS 1.1 dhe DTLS 1.0 është ndërprerë. Mbështetja për grupet e shifrave DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK dhe Camellia CBC, shifrat anonime dhe haset SHA-1 është hequr nga zbatimi TLS.
  • U shtua mbështetje për algoritmin e kriptografisë post-kuantike Kyber, i cili është rezistent ndaj forcës brutale në një kompjuter kuantik.
  • Mbështetje e shtuar për algoritmin e kriptografisë post-kuantike Dilithium për të punuar me nënshkrime dixhitale.
  • Mbështetje e shtuar për hashimin e formatit të pikës së kurbës eliptike duke përdorur teknikën SSWU (draft-irtf-cfrg-hash-to-curve).
  • Mbështetje e shtuar për funksionin hash kriptografik BLAKE2b.
  • Një ndërfaqe e re programimi T::new_object është propozuar që kthen një unike_ptr në vend të një treguesi të zhveshur "T*".
  • U shtuan funksione të reja dhe API: X509_DN:: DER_encode, Publik_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. U shtua një grup i madh funksionesh të reja për përdorim në kodin C (C89).
  • Zbatimi i algoritmit Argon2 përdor udhëzimet AVX2.
  • Madhësia e tabelave në implementimet e algoritmeve Camellia, ARIA, SEED, DES dhe Whirlpool është zvogëluar.
  • Propozohet një zbatim i ri i DES/3DES, i mbrojtur nga shumica e klasave të sulmeve të kanalit anësor që vlerësojnë gjendjen e cache.
  • Implementimi SHACAL2 është optimizuar për sistemet e bazuara në arkitekturat ARMv8 dhe POWER.
  • Kodi për llogaritjen e biteve të barazisë, konvertimin bcrypt/base64 dhe përcaktimin e llojit të vargut ASN.1 çlirohet nga kërkimet e tabelave dhe tani është i pavarur nga të dhënat që përpunohen (ekzekutohet në kohë konstante)

Burimi: opennet.ru

Shto një koment