Botan Cryptographic Library -julkaisu 3.0.0

Botan 3.0.0 -salauskirjasto on nyt saatavilla käytettäväksi NeoPG-projektissa, GnuPG 2:n haarukka. Kirjasto tarjoaa laajan kokoelman valmiita primitiivejä, joita käytetään TLS-protokollassa, X.509-varmenteita, AEAD-salauksia, TPM-moduuleja. , PKCS#11, salasanan hajautus ja jälkikvanttisalaus (hash-pohjaiset allekirjoitukset ja McEliece-pohjainen avainsopimus). Kirjasto on kirjoitettu C++-kielellä ja sitä jaetaan BSD-lisenssillä.

Uuden julkaisun muutoksista:

  • Koodikanta mahdollistaa C++20-standardin käytön (aiemmin oli käytössä C++11), vastaavasti kääntäjien vaatimuksia on lisätty - kokoonpanoon tarvitaan nyt vähintään GCC 11, Clang 14 tai MSVC 2022. Tuki HP:n ja Pathscalen kääntäjille sekä Googlen NaCL- ja IncludeOS-projektit on lopetettu.
  • Suuri osa muutoksista on tehty, jotka loukkaavat taaksepäin yhteensopivuutta. Monet vanhentuneet otsikkotiedostot on poistettu, esimerkiksi tietyille algoritmeille ominaiset (aes.h jne.). Aiemmin vanhentuneiksi julistettujen funktioiden ja algoritmien toteutukset on poistettu (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Kun generoimme entropiaa näennäissatunnaislukugeneraattorille, lopetimme /proc ja /dev/random käyttämisen. Jotkut luokat (esimerkiksi Data_Store), rakenteet ja luettelot on poistettu API:sta. Palautus ja paljaiden kylttien käyttö on lopetettu mahdollisuuksien mukaan.
  • Lisätty tuki TLS 1.3 -protokollalle. TLS 1.0:n, TLS 1.1:n ja DTLS 1.0:n tuki on lopetettu. Tuki DSA-, SRP-, SEED-, AES-128 OCB-, CECPQ1-, DHE_PSK- ja Camellia CBC -salauksille, anonyymeille salauksille ja SHA-1-tiivisteille on poistettu TLS-toteutuksesta.
  • Lisätty tuki Kyberin post-kvanttisalausalgoritmille, joka kestää kvanttitietokoneen raakaa voimaa.
  • Lisätty tuki Dilithium post-quantum -salausalgoritmille digitaalisten allekirjoitusten kanssa työskentelemiseen.
  • Lisätty tuki elliptisen käyrän pistemuodon hajauttamiselle SSWU (draft-irtf-cfrg-hash-to-curve) -tekniikalla.
  • Lisätty tuki BLAKE2b kryptografiselle hajautustoiminnolle.
  • Uusi ohjelmointirajapinta T::new_object on ehdotettu, joka palauttaa yksilöllisen_ptr:n paljaan T*-osoittimen sijaan.
  • Lisätty uusia toimintoja ja API: X509_DN::DER_encode, Public_Key::get_int_field, ihanteellinen_granularity, vaatii_koko_viestin, SymmetricAlgorithm::has_keying_material. Lisätty suuri joukko uusia toimintoja käytettäväksi C (C89) -koodissa.
  • Argon2-algoritmin toteutus käyttää AVX2-käskyjä.
  • Taulukoiden kokoa on pienennetty Camellia-, ARIA-, SEED-, DES- ja Whirlpool-algoritmien toteutuksissa.
  • Ehdotetaan uutta DES/3DES-toteutusta, joka on suojattu useimmilta sivukanavahyökkäyksiltä, ​​jotka arvioivat välimuistin tilaa.
  • SHACAL2-toteutus on optimoitu ARMv8- ja POWER-arkkitehtuureihin perustuville järjestelmille.
  • Koodi pariteettibittien laskemiseen, bcrypt/base64-muunnokseen ja ASN.1-merkkijonotyypin määrittämiseen on vapautettu taulukkohauista ja on nyt riippumaton käsiteltävistä tiedoista (käytetään vakioaikana)

Lähde: opennet.ru

Lisää kommentti