Botan Cryptographic Library Release 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 қолдауы тоқтатылды. 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, талап_барлық_хабар, SymmetricAlgorithm::has_keying_material. C (C89) кодында пайдалану үшін жаңа функциялардың үлкен жиынтығы қосылды.
  • Argon2 алгоритмін жүзеге асыру AVX2 нұсқауларын пайдаланады.
  • Camellia, ARIA, SEED, DES және Whirlpool алгоритмдерін іске асырудағы кестелердің өлшемі қысқартылды.
  • Кэш күйін бағалайтын бүйірлік арналық шабуылдардың көптеген кластарынан қорғалған DES/3DES жаңа енгізуі ұсынылды.
  • SHACAL2 іске асыру ARMv8 және POWER архитектурасына негізделген жүйелер үшін оңтайландырылған.
  • Паритет биттерін есептеу, bcrypt/base64 түрлендіру және ASN.1 жол түрін анықтау коды кестелерді іздеуден босатылды және енді өңделетін деректерге тәуелсіз (тұрақты уақытта жұмыс істейді)

Ақпарат көзі: opennet.ru

пікір қалдыру