Botan Cryptographic Library 3.0.0 bertsioa

Botan 3.0.0 kriptografiaren liburutegia eskuragarri dago orain NeoPG proiektuan erabiltzeko, GnuPG 2-ren sardexka bat. Liburutegiak TLS protokoloan erabiltzen diren prest egindako primitiboen bilduma handi bat eskaintzen du, X.509 ziurtagiriak, AEAD zifraketak, TPM moduluak. , PKCS#11, pasahitzaren hashinga eta kriptografia post-kuantikoa (hash-en oinarritutako sinadurak eta McEliece-n oinarritutako gako-hitzarmena). Liburutegia C++-n idatzita dago eta BSD lizentziapean banatzen da.

Argitalpen berriaren aldaketen artean:

  • Kode oinarriak C++20 estandarra erabiltzea ahalbidetzen du (lehen C++11 erabiltzen zen); beraz, konpiladoreen eskakizunak handitu egin dira - gutxienez GCC 11, Clang 14 edo MSVC 2022 behar dira orain muntatzeko. HP eta Pathscale konpiladoreentzat eten egin da, baita Google NaCL eta IncludeOS proiektuak ere.
  • Atzerako bateragarritasuna urratzen duten aldaketen zati handi bat egin da. Zaharkitutako goiburuko fitxategi asko kendu dira, adibidez, algoritmo jakin batzuen espezifikoak (aes.h, etab.). Aurretik zaharkituta zeuden funtzio eta algoritmoen inplementazioak kendu dira (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Zenbaki pseudoausazkoen sorgailurako entropia sortzean, /proc eta /dev/random erabiltzeari utzi diogu. Klase batzuk (adibidez, Data_Store), egiturak eta enumerazioak kendu dira APItik. Ahal den neurrian, eten egin dira seinale biluziak itzultzea eta erabiltzea.
  • TLS 1.3 protokoloaren euskarria gehitu da. TLS 1.0, TLS 1.1 eta DTLS 1.0 laguntza eten egin da. TLS inplementaziotik DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK eta Camellia CBC zifraketa-multzoetarako, zifraketa anonimoetarako eta SHA-1 hashetarako laguntza kendu da.
  • Kyber post-kuantikoa kripto-algoritmorako laguntza gehitu da, ordenagailu kuantikoan indar gordinaren aurrean erresistentea dena.
  • Sinadura digitalekin lan egiteko Dilithium post-kuantikoa kripto-algoritmorako laguntza gehitu da.
  • SSWU (draft-irtf-cfrg-hash-to-curve) teknika erabiliz kurba eliptikoko puntu formatuaren hashing-erako laguntza gehitu da.
  • BLAKE2b hash kriptografikoaren funtziorako laguntza gehitu da.
  • T::new_object programazio interfaze berri bat proposatu da, unique_ptr itzultzen duena "T*" erakusle hutsaren ordez.
  • Funtzio eta API berriak gehitu dira: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. C (C89) kodean erabiltzeko funtzio berrien multzo handi bat gehitu da.
  • Argon2 algoritmoaren ezarpenak AVX2 instrukzioak erabiltzen ditu.
  • Camellia, ARIA, SEED, DES eta Whirlpool algoritmoen inplementazioetan taulen tamaina murriztu da.
  • DES/3DES-en inplementazio berri bat proposatzen da, cachearen egoera ebaluatzen duten albo-kanal-eraso gehienen aurka babestuta.
  • SHACAL2 inplementazioa ARMv8 eta POWER arkitekturan oinarritutako sistemetarako optimizatuta dago.
  • Parekidetasun-bitak kalkulatzeko, bcrypt/base64 bihurtzeko eta ASN.1 kate mota zehazteko kodea taula-bilaketetatik askatuta dago eta orain prozesatzen ari diren datuetatik independentea da (denbora konstantean exekutatzen da)

Iturria: opennet.ru

Gehitu iruzkin berria