Vydání kryptografické knihovny Botan 3.0.0

Vydání kryptografické knihovny Botan 3.0.0, použitou v projektu NeoPG, fork GnuPG 2. Knihovna poskytuje širokou sbírku připravených primitiv používaných v protokolu TLS, certifikátech X.509, šifrách AEAD, modulech TPM, PKCS#11, hashování hesel a postkvantové kryptografii (podpisy založené na hashe a shoda klíčů založená na McEliece). Knihovna je napsaná v jazyce C++ a je dodávána pod licencí BSD.

Mezi změnami v novém vydání:

  • V kódové základně je povoleno použití standardu C++20 (dříve byl používán C++11), a proto se zvyšují požadavky na překladače — pro sestavení je nyní potřeba alespoň GCC 11, Clang 14 nebo MSVC 2022. Byla ukončena podpora překladačů HP a Pathscale, stejně jako projektů Google NaCL a IncludeOS.
  • Byla provedena významná změna, která narušuje zpětnou kompatibilitu. Bylo odstraněno mnoho zastaralých hlavičkových souborů, například specifických pro určité algoritmy (aes.h atd.). Byly odstraněny implementace funkcí a algoritmů, které byly dříve označeny jako zastaralé (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Při generování entropie pro generátor pseudonáhodných čísel byla ukončena podpora použití /proc a /dev/random. Z API byly odstraněny některé třídy (např. Data_Store), struktury a výčty. Kde to bylo možné, bylo ukončeno vracení a používání holých ukazatelů.
  • Byla přidána podpora protokolu TLS 1.3. Podpora TLS 1.0, TLS 1.1 a DTLS 1.0 byla ukončena. Z implementace TLS byla odstraněna podpora sad cipherů DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK a Camellia CBC, anonymních cipherů, hashů SHA-1.
  • Byla přidána podpora algoritmu postkvantové kryptografie Kyber, odolného proti útokům na kvantovém počítači.
  • Byla přidána podpora algoritmu postkvantové kryptografie Dilithium pro práci s digitálními podpisy.
  • Byla přidána podpora hashe ve formátu bodu na eliptické křivce, používající techniku SSWU (draft-irtf-cfrg-hash-to-curve).
  • Byla přidána podpora kryptografické hashovací funkce BLAKE2b.
  • Bylo navrženo nové rozhraní T::new_object, které vrací unique_ptr místo holého ukazatele „T*“.
  • Byly přidány nové funkce a API: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Byl přidán velký soubor nových funkcí pro použití v kódu jazyka C (C89).
  • V implementaci algoritmu Argon2 byly využity instrukce AVX2.
  • Byly zmenšeny velikosti tabulek v realizacích algoritmů Camellia, ARIA, SEED, DES a Whirlpool.
  • Byla navržena nová realizace DES/3DES, chráněná proti většině tříd útoků pomocí bočních kanálů hodnotících stav cache.
  • Realizace SHACAL2 byla optimalizována pro systémy založené na architekturách ARMv8 a POWER.
  • Kód pro výpočet paritních bitů, transformace bcrypt/base64 a určení typu řetězce ASN.1 byl zbaven vyhledávání v tabulkách a nyní nezávisí na zpracovávaných datech (prováděno za stálý čas).

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster