Botan Kriptoqrafik Kitabxana Buraxılışı 3.0.0

NeoPG layihəsi tərəfindən istifadə edilən Botan 3.0.0 kriptoqrafik kitabxanası, GnuPG 2-nin çəngəli artıq mövcuddur.Kitabxana TLS protokolunda, X.509 sertifikatlarında, AEAD-da istifadə edilən hazır primitivlərin böyük kolleksiyasını təqdim edir. şifrələr, TPM modulları, PKCS#11, parol hashing və post-kvant kriptoqrafiyası (hash-əsaslı imzalar və McEliece əsaslı açar razılaşması). Kitabxana C++ dilində yazılmışdır və BSD lisenziyası ilə lisenziyalaşdırılmışdır.

Yeni buraxılışda dəyişikliklər arasında:

  • Kod bazasına C++20 standartından istifadə etməyə icazə verilir (əvvəllər C++11 istifadə olunurdu), müvafiq olaraq kompilyatorlara olan tələblər artırılıb – indi montaj üçün ən azı GCC 11, Clang 14 və ya MSVC 2022 tələb olunur. HP və Pathscale kompilyatorları, həmçinin Google NaCL və IncludeOS layihələri dayandırılıb.
  • Geriyə uyğunluğu pozan dəyişikliklərin böyük bir hissəsi edildi. Müəyyən alqoritmlərə xas olanlar kimi bir çox köhnəlmiş başlıq faylları silindi (aes.h və s.). Əvvəllər köhnəlmiş funksiyaların və alqoritmlərin tətbiqləri silindi (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Pseudo-təsadüfi ədədlər generatoru üçün entropiya yaradan zaman /proc və /dev/random istifadə dayandırıldı. Bəzi siniflər (məsələn, Data_Store), strukturlar və siyahılar API-dən silinib. Mümkün olduqda geri qaytarma və çılpaq göstəricilərin istifadəsi dayandırıldı.
  • TLS 1.3 protokolu üçün əlavə dəstək. TLS 1.0, TLS 1.1 və DTLS 1.0 üçün dəstək dayandırıldı. DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK və Camellia CBC şifrə paketləri, anonim şifrələr, SHA-1 heşləri üçün dəstək TLS tətbiqindən çıxarılıb.
  • Kvant kompüterində seçimə davamlı olan Kyber post-kvant kriptoqrafiya alqoritmi üçün əlavə dəstək.
  • Rəqəmsal imzalarla işləmək üçün Dilitium post-kvant kriptoqrafiya alqoritmi üçün əlavə dəstək.
  • SSWU (layihə-irtf-cfrg-hash-to-curve) texnikasından istifadə edərək, nöqtə-on-elliptik əyri hashing üçün əlavə dəstək.
  • BLAKE2b kriptoqrafik hash funksiyası üçün əlavə dəstək.
  • Təklif olunan yeni API T::new_object unikal_ptr qaytarır çılpaq "T*" göstəricisi yerinə.
  • Yeni funksiyalar və API-lər əlavə edildi: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, tələb_bütün_message, SymmetricAlgorithm::has_keying_material. C kodunda (C89) istifadə üçün yeni funksiyaların böyük dəsti əlavə edilmişdir.
  • Argon2 alqoritminin həyata keçirilməsi AVX2 təlimatlarından istifadə edir.
  • Camellia, ARIA, SEED, DES və Whirlpool tətbiqlərində cədvəl ölçüsü azaldıldı.
  • Keş yaddaşının vəziyyətini qiymətləndirən yan kanal hücumlarının əksər siniflərinə qarşı qorunan yeni DES/3DES tətbiqi təklif olunur.
  • SHACAL2 tətbiqi ARMv8 və POWER arxitekturalarına əsaslanan sistemlər üçün optimallaşdırılıb.
  • Paritet bitlərinin hesablanması, bcrypt/base64-ə çevrilməsi və ASN.1 sətirinin növünün müəyyən edilməsi üçün kod cədvəl axtarışlarından azaddır və indi emal olunan məlumatdan müstəqildir (sabit vaxt yerinə yetirilir)

Mənbə: opennet.ru

Добавить комментарий