Keluaran Perpustakaan Kriptografi Botan 3.0.0

Perpustakaan kriptografi Botan 3.0.0 kini tersedia untuk digunakan dalam projek NeoPG, garpu GnuPG 2. Perpustakaan ini menyediakan koleksi besar primitif siap pakai yang digunakan dalam protokol TLS, sijil X.509, sifir AEAD, modul TPM , PKCS#11, pencincangan kata laluan dan kriptografi pasca kuantum (tandatangan berasaskan cincang dan perjanjian kunci berasaskan McEliece). Perpustakaan ini ditulis dalam C++ dan diedarkan di bawah lesen BSD.

Antara perubahan dalam keluaran baharu:

  • Pangkalan kod membenarkan penggunaan standard C++20 (sebelum ini C++11 digunakan); oleh itu, keperluan untuk penyusun telah ditingkatkan - sekurang-kurangnya GCC 11, Clang 14 atau MSVC 2022 kini diperlukan untuk pemasangan. Sokongan untuk penyusun HP dan Pathscale telah dihentikan, serta projek Google NaCL dan IncludeOS.
  • Sebahagian besar perubahan telah dibuat yang melanggar keserasian ke belakang. Banyak fail pengepala lapuk telah dialih keluar, contohnya, fail khusus untuk algoritma tertentu (aes.h, dsb.). Pelaksanaan fungsi dan algoritma yang sebelum ini diisytiharkan usang telah dialih keluar (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Apabila menjana entropi untuk penjana nombor pseudorandom, kami berhenti menggunakan /proc dan /dev/random. Sesetengah kelas (contohnya, Data_Store), struktur dan penghitungan telah dialih keluar daripada API. Pemulangan dan penggunaan papan tanda kosong telah dihentikan jika boleh.
  • Menambah sokongan untuk protokol TLS 1.3. Sokongan untuk TLS 1.0, TLS 1.1 dan DTLS 1.0 telah dihentikan. Sokongan untuk suite sifir DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK dan Camellia CBC, sifir tanpa nama dan cincang SHA-1 telah dialih keluar daripada pelaksanaan TLS.
  • Sokongan tambahan untuk algoritma kriptografi pasca-kuantum Kyber, yang tahan terhadap kekerasan pada komputer kuantum.
  • Menambah sokongan untuk algoritma kriptografi pasca-kuantum Dilithium untuk bekerja dengan tandatangan digital.
  • Menambah sokongan untuk pencincangan format titik lengkung eliptik menggunakan teknik SSWU (draft-irtf-cfrg-hash-to-curve).
  • Menambah sokongan untuk fungsi cincang kriptografi BLAKE2b.
  • Antara muka pengaturcaraan baharu T::new_object telah dicadangkan yang mengembalikan unique_ptr bukannya penunjuk "T*" kosong.
  • Menambahkan fungsi dan API baharu: X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Menambah satu set besar fungsi baharu untuk digunakan dalam kod C (C89).
  • Pelaksanaan algoritma Argon2 menggunakan arahan AVX2.
  • Saiz jadual dalam pelaksanaan algoritma Camellia, ARIA, SEED, DES dan Whirlpool telah dikurangkan.
  • Pelaksanaan baharu DES/3DES dicadangkan, dilindungi daripada kebanyakan kelas serangan saluran sisi yang menilai keadaan cache.
  • Pelaksanaan SHACAL2 dioptimumkan untuk sistem berdasarkan seni bina ARMv8 dan POWER.
  • Kod untuk mengira bit pariti, penukaran bcrypt/base64 dan menentukan jenis rentetan ASN.1 dibebaskan daripada carian jadual dan kini bebas daripada data yang sedang diproses (berjalan dalam masa tetap)

Sumber: opennet.ru

Tambah komen