Botan 暗号ライブラリ リリース 3.0.0

Botan 3.0.0 暗号化ライブラリが、GnuPG 2 のフォークである NeoPG プロジェクトで使用できるようになりました。このライブラリは、TLS プロトコル、X.509 証明書、AEAD 暗号、TPM モジュールで使用される既製のプリミティブの大規模なコレクションを提供します。 、PKCS#11、パスワード ハッシュおよびポスト量子暗号 (ハッシュ ベースの署名と McEliece ベースの鍵合意)。 このライブラリは C++ で書かれており、BSD ライセンスに基づいて配布されます。

新しいリリースの変更点には次のようなものがあります。

  • コード ベースでは C++20 標準 (以前は C++11 が使用されていました) の使用が許可されているため、コンパイラの要件が増加しており、アセンブリには少なくとも GCC 11、Clang 14、または MSVC 2022 が必要です。 HP および Pathscale コンパイラ、Google NaCL および IncludeOS プロジェクト向けのプロジェクトは廃止されました。
  • 下位互換性に違反する変更の大部分が行われています。 特定のアルゴリズム (aes.h など) に固有のヘッダー ファイルなど、多くの古いヘッダー ファイルが削除されました。 以前に廃止されたと宣言された関数とアルゴリズムの実装は削除されました (CAST-256、MISTY1、Kasum、DESX、XTEA、PBKDF1、MCEIES、CBC-MAC、Tiger、NEWHOPE、CECPQ1)。 擬似乱数ジェネレーターのエントロピーを生成するときに、/proc と /dev/random の使用を停止しました。 一部のクラス (Data_Store など)、構造体、列挙型は API から削除されました。 返品および裸のサインの使用は可能な限り中止されています。
  • TLS 1.3 プロトコルのサポートが追加されました。 TLS 1.0、TLS 1.1、および DTLS 1.0 のサポートは終了しました。 DSA、SRP、SEED、AES-128 OCB、CECPQ1、DHE_PSK、および Camellia CBC 暗号スイート、匿名暗号、および SHA-1 ハッシュのサポートは、TLS 実装から削除されました。
  • 量子コンピューターでのブルート フォースに耐性のある Kyber ポスト量子暗号アルゴリズムのサポートが追加されました。
  • デジタル署名を操作するための Dilithium ポスト量子暗号化アルゴリズムのサポートが追加されました。
  • SSWU (draft-irtf-cfrg-hash-to-curve) 手法を使用した楕円曲線ポイント形式のハッシュのサポートが追加されました。
  • BLAKE2b 暗号化ハッシュ関数のサポートが追加されました。
  • unique_ptr を返す新しいプログラミング インターフェイス T::new_object が提案されました。 裸の「T*」ポインタの代わりに。
  • 新しい関数と API を追加しました: X509_DN::DER_encode、Public_Key::get_int_field、 Ideal_granularity、requires_entire_message、SymmetricAlgorithm::has_keying_material。 C (C89) コードで使用するための新しい関数の大規模なセットが追加されました。
  • Argon2 アルゴリズムの実装には AVX2 命令が使用されます。
  • Camellia、ARIA、SEED、DES、および Whirlpool アルゴリズムの実装におけるテーブルのサイズが削減されました。
  • DES/3DES の新しい実装が提案され、キャッシュの状態を評価するほとんどのクラスのサイドチャネル攻撃から保護されます。
  • SHACAL2 実装は、ARMv8 および POWER アーキテクチャに基づくシステム向けに最適化されています。
  • パリティ ビットの計算、bcrypt/base64 変換、および ASN.1 文字列タイプの決定を行うコードはテーブル検索から解放され、処理中のデータから独立しました (一定時間で実行されます)。

出所: オープンネット.ru

コメントを追加します