рдмреЛрдЯрди рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд▓рд╛рдпрдмреНрд░рд░реА рд░рд┐рд▓реАрдЬ 3.0.0

Botan 3.0.0 рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд▓рд╛рдпрдмреНрд░рд░реА рдЖрддрд╛ NeoPG рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, GnuPG 2 рдЪрд╛ рдПрдХ рдХрд╛рдЯрд╛. рд▓рд╛рдпрдмреНрд░рд░реА TLS рдкреНрд░реЛрдЯреЛрдХреЙрд▓, X.509 рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ, AEAD рд╕рд╛рдпрдлрд░реНрд╕, TPM рдореЙрдбреНрдпреВрд▓реНрд╕рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рд░реЗрдбреАрдореЗрдб рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╕рдЪрд╛ рдореЛрдард╛ рд╕рдВрдЧреНрд░рд╣ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. , PKCS#11, рдкрд╛рд╕рд╡рд░реНрдб рд╣реЕрд╢рд┐рдВрдЧ рдЖрдгрд┐ рдкреЛрд╕реНрдЯ-рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА (рд╣реЕрд╢-рдЖрдзрд╛рд░рд┐рдд рд╕реНрд╡рд╛рдХреНрд╖рд░реА рдЖрдгрд┐ McEliece-рдЖрдзрд╛рд░рд┐рдд рдХреА рдХрд░рд╛рд░). рд▓рд╛рдпрдмреНрд░рд░реА C++ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рдмреАрдПрд╕рдбреА рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ.

рдирд╡реАрди рдкреНрд░рдХрд╛рд╢рдирд╛рддреАрд▓ рдмрджрд▓рд╛рдВрдкреИрдХреА:

  • рдХреЛрдб рдмреЗрд╕ C++ 20 рдорд╛рдирдХ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ (рдкреВрд░реНрд╡реА C++ 11 рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдд рд╣реЛрддрд╛); рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдХрдВрдкрд╛рдЗрд▓рд░реНрд╕рдЪреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рдврд╡рд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд - рдХрд┐рдорд╛рди GCC 11, Clang 14 рдХрд┐рдВрд╡рд╛ MSVC 2022 рдЖрддрд╛ рдЕрд╕реЗрдВрдмреНрд▓реАрд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд. рд╕рдорд░реНрдерди HP рдЖрдгрд┐ Pathscale compilers, рддрд╕реЗрдЪ Google NaCL рдЖрдгрд┐ IncludeOS рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • рдмрджрд▓рд╛рдВрдЪрд╛ рдПрдХ рдореЛрдард╛ рднрд╛рдЧ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЛ рдорд╛рдЧрд╛рд╕ рдЕрдиреБрдХреВрд▓рддреЗрдЪреЗ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЛ. рдмрд░реНтАНрдпрд╛рдЪ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╢реАрд░реНрд╖рд▓реЗрдЦ рдлрд╛рдпрд▓реА рдХрд╛рдврд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд▓реНрдЧреЛрд░рд┐рджрдо (aes.h, рдЗ.) рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ. рдкреВрд░реНрд╡реА рдЕрдкреНрд░рдЪрд▓рд┐рдд рдШреЛрд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдлрдВрдХреНрд╢рдиреНрд╕ рдЖрдгрд┐ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗ (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). рд╕реНрдпреВрдбреЛрд░рдБрдбрдо рдирдВрдмрд░ рдЬрдирд░реЗрдЯрд░рд╕рд╛рдареА рдПрдиреНрдЯреНрд░реЙрдкреА рддрдпрд╛рд░ рдХрд░рддрд╛рдирд╛, рдЖрдореНрд╣реА /proc рдЖрдгрд┐ /dev/random рд╡рд╛рдкрд░рдгреЗ рдерд╛рдВрдмрд╡рд▓реЗ. рдХрд╛рд╣реА рд╡рд░реНрдЧ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдбреЗрдЯрд╛_рд╕реНрдЯреЛрдЕрд░), рд╕рдВрд░рдЪрдирд╛ рдЖрдгрд┐ рдЧрдгрдиреЗ API рдордзреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрдгреНрдпрд╛рдд рдЖрд▓реА рдЖрд╣реЗрдд. рд╢рдХреНрдп рдЕрд╕реЗрд▓ рддреЗрдереЗ рд░рд┐рдЯрд░реНрди рдЖрдгрд┐ рдмреЗрдЕрд░ рдЪрд┐рдиреНрд╣реЗ рд╡рд╛рдкрд░рдгреЗ рдмрдВрдж рдХреЗрд▓реЗ рдЖрд╣реЗ.
  • 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 рдкреЛрд╕реНрдЯ-рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рдбрд┐рдЬрд┐рдЯрд▓ рд╕реНрд╡рд╛рдХреНрд╖рд░реАрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рд▓рд┐рдерд┐рдпрдо рдкреЛрд╕реНрдЯ-рдХреНрд╡рд╛рдВрдЯрдо рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рдЕрд▓реНрдЧреЛрд░рд┐рджрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • SSWU (draft-irtf-cfrg-hash-to-curve) рддрдВрддреНрд░рд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд▓рдВрдмрд╡рд░реНрддреБрд│ рд╡рдХреНрд░ рдкреЙрдЗрдВрдЯ рдлреЙрд░рдореЕрдЯ рд╣реЕрд╢рд┐рдВрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • BLAKE2b рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рд╣реЕрд╢ рдлрдВрдХреНрд╢рдирд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ.
  • рдПрдХ рдирд╡реАрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЗрдВрдЯрд░рдлреЗрд╕ T::new_object рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЛ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп_ptr рдкрд░рдд рдХрд░рддреЛ рдмреЗрдЕрд░ "T*" рдкреЙрдЗрдВрдЯрд░рдРрд╡рдЬреА.
  • рдирд╡реАрди рдХрд╛рд░реНрдпреЗ рдЖрдгрд┐ API рдЬреЛрдбрд▓реЗ: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. C (C89) рдХреЛрдбрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдирд╡реАрди рдлрдВрдХреНрд╢рдиреНрд╕рдЪрд╛ рдореЛрдард╛ рд╕рдВрдЪ рдЬреЛрдбрд▓рд╛.
  • Argon2 рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА AVX2 рд╕реВрдЪрдирд╛ рд╡рд╛рдкрд░рддреЗ.
  • рдХреЕрдореЗрд▓рд┐рдпрд╛, рдПрдЖрд░рдЖрдпрдП, рд╕реАрдб, рдбреАрдИрдПрд╕ рдЖрдгрд┐ рд╡реНрд╣рд░реНрд▓рдкреВрд▓ рдЕрд▓реНрдЧреЛрд░рд┐рджрдордЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреАрд▓ рд╕рд╛рд░рдгреНрдпрд╛рдВрдЪрд╛ рдЖрдХрд╛рд░ рдХрдореА рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ.
  • DES/3DES рдЪреА рдирд╡реАрди рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдЖрд╣реЗ, рдХреЕрд╢реЗрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪреЗ рдореВрд▓реНрдпрдорд╛рдкрди рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рд╕рд╛рдЗрдб-рдЪреЕрдиреЗрд▓ рд╣рд▓реНрд▓реНрдпрд╛рдВрдЪреНрдпрд╛ рдмрд╣реБрддреЗрдХ рд╡рд░реНрдЧрд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ.
  • SHACAL2 рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА ARMv8 рдЖрдгрд┐ POWER рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдВрд╕рд╛рдареА рдЕрдиреБрдХреВрд▓ рдХреЗрд▓реА рдЖрд╣реЗ.
  • рдкреЕрд░рд┐рдЯреА рдмрд┐рдЯреНрд╕, bcrypt/base64 рд░реВрдкрд╛рдВрддрд░рдг рдЖрдгрд┐ ASN.1 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареАрдЪрд╛ рдХреЛрдб рдЯреЗрдмрд▓ рд▓реБрдХрдЕрдкрдордзреВрди рдореБрдХреНрдд рдЭрд╛рд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░ рдЖрд╣реЗ (рд╕рддрдд рд╡реЗрд│реЗрдд рдЪрд╛рд▓рддреЛ)

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛