Rhyddhau llyfrgell cryptograffig Botan 3.0.0

Mae llyfrgell cryptograffeg Botan 3.0.0 bellach ar gael i'w defnyddio yn y prosiect NeoPG, fforc o GnuPG 2. Mae'r llyfrgell yn darparu casgliad mawr o cyntefigau parod a ddefnyddir yn y protocol TLS, tystysgrifau X.509, seiffrau AEAD, modiwlau TPM , PKCS#11, stwnsio cyfrinair a cryptograffeg Γ΄l-cwantwm (llofnodion hash a chytundeb allwedd yn seiliedig ar McEliece). Mae'r llyfrgell wedi'i hysgrifennu yn C++ ac fe'i dosberthir o dan y drwydded BSD.

Ymhlith y newidiadau yn y datganiad newydd:

  • Mae'r sylfaen cod yn caniatΓ‘u defnyddio'r safon C++20 (defnyddiwyd C++11 yn flaenorol); yn unol Γ’ hynny, mae'r gofynion ar gyfer casglwyr wedi'u cynyddu - o leiaf mae angen GCC 11, Clang 14 neu MSVC 2022 ar gyfer y cynulliad. ar gyfer casglwyr HP a Pathscale wedi dod i ben, yn ogystal Γ’ phrosiectau Google NaCL ac IncludeOS.
  • Mae cyfran fawr o newidiadau wedi'u gwneud sy'n groes i gydnawsedd yn Γ΄l. Mae llawer o hen ffeiliau pennawd wedi'u dileu, er enghraifft, y rhai sy'n benodol i algorithmau penodol (aes.h, ac ati). Mae gweithrediad swyddogaethau ac algorithmau y datganwyd eu bod wedi darfod yn flaenorol wedi'u dileu (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Wrth gynhyrchu entropi ar gyfer y generadur rhifau ffug, fe wnaethon ni roi'r gorau i ddefnyddio /proc a /dev/random. Mae rhai dosbarthiadau (er enghraifft, Data_Store), strwythurau a chyfrifiadau wedi'u tynnu o'r API. Rhoddwyd y gorau i ddychwelyd a defnyddio arwyddion noeth lle bo modd.
  • Cefnogaeth ychwanegol i brotocol TLS 1.3. Mae cefnogaeth i TLS 1.0, TLS 1.1 a DTLS 1.0 wedi dod i ben. Mae cefnogaeth ar gyfer cyfresi seiffrau DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK a CBS Camellia, seiffrau dienw, a hashes SHA-1 wedi'i dynnu o weithrediad TLS.
  • Ychwanegwyd cefnogaeth i algorithm cryptograffeg Γ΄l-cwantwm Kyber, sy'n gallu gwrthsefyll grym 'n ysgrublaidd ar gyfrifiadur cwantwm.
  • Cefnogaeth ychwanegol i algorithm cryptograffeg Γ΄l-cwantwm Dilithium ar gyfer gweithio gyda llofnodion digidol.
  • Cefnogaeth ychwanegol ar gyfer stwnshio fformat pwynt cromlin eliptig gan ddefnyddio'r dechneg SSWU (draft-irtf-cfrg-hash-to-curve).
  • Cefnogaeth ychwanegol ar gyfer swyddogaeth hash cryptograffig BLAKE2b.
  • Mae rhyngwyneb rhaglennu newydd T::new_object wedi'i gynnig sy'n dychwelyd unique_ptr yn lle pwyntydd "T*" noeth.
  • Ychwanegwyd swyddogaethau newydd ac API: X509_DN::DER_encode, Public_Key:: get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm:: has_keying_material. Ychwanegwyd set fawr o swyddogaethau newydd i'w defnyddio yn y cod C (C89).
  • Mae gweithredu algorithm Argon2 yn defnyddio cyfarwyddiadau AVX2.
  • Mae maint y tablau yng ngweithrediadau algorithmau Camellia, ARIA, SEED, DES a Whirlpool wedi'i leihau.
  • Cynigir gweithrediad newydd o DES/3DES, wedi'i ddiogelu rhag y rhan fwyaf o ddosbarthiadau o ymosodiadau sianel ochr sy'n gwerthuso cyflwr y storfa.
  • Mae gweithrediad SHACAL2 wedi'i optimeiddio ar gyfer systemau sy'n seiliedig ar bensaernΓ―aeth ARMv8 a POWER.
  • Mae'r cod ar gyfer cyfrifo didau paredd, trosi bcrypt/base64 a phennu'r math o linyn ASN.1 wedi'i ryddhau o edrychiadau tablau ac mae bellach yn annibynnol ar y data sy'n cael ei brosesu (yn rhedeg mewn amser cyson)

Ffynhonnell: opennet.ru

Ychwanegu sylw