Käivitatud on krüptograafia raamatukogu Botan 3.0.0, mida kasutatakse projektis NeoPG, mis on GnuPG 2. haru. Raamatukogu pakub suurt kogumit valmis primitiividest, mida kasutatakse TLS protokollis, X.509 sertifikaatides, AEAD krüpteeringutes, TPM moodulites, PKCS#11-s, paroolide hashiprotsessis ja postkvantkryptograafias (hash-aluselised allkirjad ja võtme kokkulepped McEliece'i põhjal). Raamatukogu on kirjutatud C++ keeles ja antakse välja BSD litsentsi all.
Among the changes in the new release:
- Koodibaasis on lubatud C++20 standardi kasutamine (varasemalt kasutati C++11), seega on suurenenud nõuded kompilaatoritele — nüüd on kogu koostamiseks vajalikud vähemalt GCC 11, Clang 14 või MSVC 2022. Toetamine HP ja Pathscale kompilaatoritele, samuti Google NaCL ja IncludeOS projektidele on lõpetatud.
- Sisestatud on suur kogus muudatusi, mis rikuvad tagasitagasiside ühilduvust. Eemaldatud on palju vananenud pealkirjafailide, nagu näiteks spetsiifilised teatud algoritmide jaoks (aes.h jne). Eemaldatud on rakendused funktsioonide ja algoritmide, mis olid varem kuulutatud vananenuks (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Entropia genereerimiseks on peatatud /proc ja /dev/random kasutamine valejuhuslike numbrite generaatoris. API-st on eemaldatud teatud klassid (nt Data_Store), struktuurid ja loendid. Kus võimalik, on lõpetatud toorete pointerite tagastamine ja kasutamine.
- Toetust on lisatud TLS 1.3 protokolli jaoks. Toetamine TLS 1.0, TLS 1.1 ja DTLS 1.0 on lõpetatud. TLS rakenduses on eemaldatud DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK ja Camellia CBC, anonüümsete krüpteeringute, SHA-1 hashide toetamine.
- Lisatud on postkvantkryptograafia algoritmi Kyber tugi, mis on vastupidav kvantarvutite ründe suhtes.
- Lisatud on postkvantkryptograafia algoritmi Dilithium tugi digitaalsete allkirjade haldamiseks.
- Lisatud on elliptilise kõvera punkti hashiprotsessi tugi, mis kasutab SSWU tehnikat (draft-irtf-cfrg-hash-to-curve).
- Lisatud on krüptograafilise hashi funktsiooni BLAKE2b tugi.
- Pakutud on uus programmiliides T::new_object, mis tagastab unique_ptr asemel toore pointeri "T*".
- Lisatud on uued funktsioonid ja API-d: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Lisatud on suur hulk uusi funktsioone, mida saab kasutada C keeles (C89).
- Argon2 algoritmi rakenduses on kasutatud AVX2 instruktsioone.
- Vähendatud tabelite suurust algoritmide Camellia, ARIA, SEED, DES ja Whirlpool rakendustes.
- Esitatud on uus DES/3DES rakendus, mis on kaitstud enamiku ründeklasside eest kõrvalkanalitest, mis hindavad vahemälu seisundit.
- SHACAL2 rakendus on optimeeritud ARMv8 ja POWER arhitektuuride põhjal põhinevatele süsteemidele.
- Pariteetbitide arvutamise, bcrypt/base64 muundamise ja ASN.1 stringi tüübi määramise kood on vabastatud tabelite otsimisest ning sõltub nüüd töödeldavatest andmetest (täidetakse pidevas ajas).
Allikas: opennet.ru
