Liberigo de Botan 3.0.0 kriptografa biblioteko

La kriptografiobiblioteko Botan 3.0.0 nun estas havebla por uzo en la NeoPG-projekto, forko de GnuPG 2. La biblioteko disponigas grandan kolekton de pretaj primitivuloj uzitaj en la TLS-protokolo, X.509-atestiloj, AEAD-ĉifroj, TPM-moduloj. , PKCS#11, pasvorta hashado kaj post-kvantuma kriptografio (hash-bazitaj subskriboj kaj McEliece-bazita ŝlosilinterkonsento). La biblioteko estas skribita en C++ kaj estas distribuita sub la BSD-licenco.

Inter la ŝanĝoj en la nova eldono:

  • La kodbazo permesas la uzon de la normo C++20 (antaŭe estis uzita C++11); sekve, la postuloj por kompililoj estis pliigitaj - almenaŭ GCC 11, Clang 14 aŭ MSVC 2022 nun estas bezonataj por kunigo. por HP kaj Pathscale kompililoj estis nuligitaj, same kiel Google NaCL kaj IncludeOS-projektoj.
  • Granda parto de ŝanĝoj estis faritaj, kiuj malobservas malantaŭan kongruecon. Multaj malnoviĝintaj kapdosieroj estis forigitaj, ekzemple, tiuj specifaj por certaj algoritmoj (aes.h, ktp.). Efektivigoj de funkcioj kaj algoritmoj antaŭe deklaritaj malnoviĝintaj estis forigitaj (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Generante entropion por la pseŭdohazarda nombrogeneratoro, ni ĉesis uzi /proc kaj /dev/random. Iuj klasoj (ekzemple Data_Store), strukturoj kaj listoj estis forigitaj de la API. Revenoj kaj uzo de nudaj signoj estis ĉesigitaj kie eble.
  • Aldonita subteno por TLS 1.3 protokolo. Subteno por TLS 1.0, TLS 1.1 kaj DTLS 1.0 estis nuligita. Subteno por DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK kaj Camellia CBC-ĉifrsuitoj, anonimaj ĉifroj, kaj SHA-1-haŝaĵoj estis forigita de la TLS-efektivigo.
  • Aldonita subteno por la Kyber post-kvantuma kriptografia algoritmo, kiu estas rezistema al krudforto sur kvantuma komputilo.
  • Aldonita subteno por la Dilithium post-kvantuma kriptografia algoritmo por labori kun ciferecaj subskriboj.
  • Aldonita subteno por elipsa kurba punktoformata hakado uzante la SSWU (draft-irtf-cfrg-hash-to-curve) teknikon.
  • Aldonita subteno por la kriptografika hash-funkcio BLAKE2b.
  • Nova programa interfaco T::new_object estis proponita, kiu resendas unique_ptr anstataŭ nuda "T*" montrilo.
  • Aldonitaj novaj funkcioj kaj API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Aldonis grandan aron de novaj funkcioj por uzo en C (C89) kodo.
  • La efektivigo de la Argon2-algoritmo uzas AVX2-instrukciojn.
  • La grandeco de tabloj en efektivigoj de la algoritmoj Camellia, ARIA, SEED, DES kaj Whirlpool estis reduktita.
  • Nova efektivigo de DES/3DES estas proponita, protektita kontraŭ la plej multaj klasoj de flankkanalaj atakoj kiuj taksas la staton de la kaŝmemoro.
  • La efektivigo de SHACAL2 estas optimumigita por sistemoj bazitaj sur ARMv8 kaj POWER-arkitekturoj.
  • La kodo por kalkulado de parecbitoj, bcrypt/base64 konvertiĝo kaj determini la ASN.1-ŝnurospecon estas liberigita de tabelserĉoj kaj nun estas sendependa de la datenoj estantaj prilaboritaj (kuroj en konstanta tempo)

fonto: opennet.ru

Aldoni komenton