Выпуск крыптаграфічнай бібліятэкі Botan 3.0.0

Даступны выпуск крыптаграфічнай бібліятэкі Botan 3.0.0, якая прымяняецца ў праекце NeoPG, форцы GnuPG 2. Бібліятэка прадастаўляе вялікую калекцыю гатовых прымітываў, якія выкарыстоўваюцца ў пратаколе TLS, сертыфікатах X.509, шыфрах AEAD, модулях TPM, крытэраў і ПКCS#11, хэ (подпісы на аснове хэша і ўзгадненне ключоў на аснове McEliece). Бібліятэка напісана на мове C++ і пастаўляецца пад ліцэнзіяй BSD.

Сярод змен у новым выпуску:

  • У кодавай базе дазволена прымяненне стандарту C++20 (раней выкарыстоўваўся C++11), адпаведна, павышаны патрабаванні да кампілятараў - для зборкі зараз неабходны як мінімум GCC 11, Clang 14 або MSVC 2022. Спынена падтрымка кампілятараў HP і Pathscale, а таксама праектаў Google NaCL і IncludeOS.
  • Унесена вялікая порцыя змен, якія парушаюць зваротную сумяшчальнасць. Выдалены многія састарэлыя загалоўкавыя файлы, напрыклад, спецыфічныя для пэўных алгарытмаў (aes.h і да т.п.). Выдалены рэалізацыі функцый і алгарытмаў, раней абвешчаных састарэлымі (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Пры фармаванні энтрапіі для генератара псеўдавыпадковых лікаў спынена выкарыстанне /proc і /dev/random. З API выдалены некаторых класы (напрыклад, Data_Store), структуры і пералічэнні. Па магчымасці спынена вяртанне і выкарыстанне голых паказальнікаў.
  • Дададзена падтрымка пратаколу TLS 1.3. Спынена падтрымка TLS 1.0, TLS 1.1 і DTLS 1.0. З рэалізацыі TLS выдаленая падтрымка набораў шыфраў DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK і Camellia CBC, ананімных шыфраў, хэшаў SHA-1.
  • Дададзена падтрымка алгарытму постквантавай крыптаграфіі Kyber, устойлівага да падбору на квантавым кампутары.
  • Дададзена падтрымка алгарытму постквантавай крыптаграфіі Dilithium для працы з лічбавымі подпісамі.
  • Дададзена падтрымка хэшавання ў фармаце кропкі на эліптычнай крывой, які выкарыстоўвае тэхніку SSWU (draft-irtf-cfrg-hash-to-curve).
  • Дададзена падтрымка крыптаграфічнай хэш-функцыі BLAKE2b.
  • Прапанаваны новы праграмны інтэрфейс T::new_object, які вяртае unique_ptr замест голага паказальніка "T*".
  • Дададзены новыя функцыі і API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Дададзены вялікі набор новых функцый для выкарыстання ў кодзе на мове Сі (C89).
  • У рэалізацыі алгарытму Argon2 задзейнічаны інструкцыі AVX2.
  • Зменшаны памер табліц у рэалізацыях алгарытмаў Camellia, ARIA, SEED, DES і Whirlpool.
  • Прапанавана новая рэалізацыя DES/3DES, абароненая аб большасці класаў нападаў па іншых каналах, якія ацэньваюць стан кэша.
  • Рэалізацыя SHACAL2 аптымізавана для сістэм на базе архітэктур ARMv8 і POWER.
  • Код разліку бітаў цотнасці, пераўтварэнні bcrypt/base64 і азначэнні тыпу радка ASN.1 пазбаўлены ад пошуку ў табліцах і зараз не залежыць ад апрацоўваных дадзеных (выконваецца сталы час)

Крыніца: opennet.ru

Дадаць каментар