Botan 3.0.0密碼庫發布

Botan 3.0.0 加密庫現已可在 NeoPG 專案(GnuPG 2 的分支)中使用。此程式庫提供了大量用於 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、Kasumi、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 的支援已停止。 TLS 實作中刪除了對 DSA、SRP、SEED、AES-128 OCB、CECPQ1、DHE_PSK 和 Camellia CBC 密碼套件、匿名密碼和 SHA-1 雜湊的支援。
  • 增加了對 Kyber 後量子加密演算法的支持,該演算法可以抵抗量子電腦上的暴力破解。
  • 增加了對 Dilithium 後量子加密演算法的支持,以處理數位簽章。
  • 增加了對使用 SSWU (draft-irtf-cfrg-hash-to-curve) 技術的橢圓曲線點格式哈希的支援。
  • 新增了對 BLAKE2b 加密雜湊函數的支援。
  • 提出了一個新的程式設計介面 T::new_object,它傳回一個 unique_ptr 而不是一個裸露的「T*」指標。
  • 新增了新函數和 API:X509_DN::DER_encode、Public_Key::get_int_field、ideal_capsularity、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 字串類型的程式碼不再需要查找表,並且現在獨立於正在處理的資料(以恆定時間運行)

來源: opennet.ru

添加評論