Rakirina pirtûkxaneya şîfreya Botan 3.0.0

Pirtûkxaneya krîptografî ya Botan 3.0.0 niha ji bo karanîna di projeya NeoPG-ê de heye, perçeyek GnuPG 2. Pirtûkxane komek mezin a primitivesên amade yên ku di protokola TLS de têne bikar anîn, sertîfîkayên X.509, şîfreyên AEAD, modulên TPM peyda dike. , PKCS#11, şîfrekirina şîfre û şîfrekirina post-quantum (îmzayên-based hash û peymana sereke ya McEliece). Pirtûkxane bi C++ hatiye nivîsandin û di bin lîsansa BSD de tê belavkirin.

Di nav guhertinên di serbestberdana nû de:

  • Bingeha kodê destûrê dide ku standarda C++20 bikar bîne (berê C++11 dihat bikar anîn); Li gorî vê yekê, hewcedariyên berhevkeran zêde bûne - bi kêmanî GCC 11, Clang 14 an MSVC 2022 niha ji bo kombûnê hewce ne. Piştgirî ji bo berhevkarên HP û Pathscale hatine sekinandin, û her weha projeyên Google NaCL û IncludeOS.
  • Beşek mezin ji guhertinan hatine çêkirin ku lihevhatina paşverû binpê dike. Gelek pelên sernavê yên kevnar hatine rakirin, mînakî, yên taybetî yên hin algorîtmayan (aes.h, hwd.). Pêkanîna fonksiyon û algorîtmayên ku berê berê hatine ragihandin hatine rakirin (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1). Dema ku entropiyê ji bo çêkerê jimareya pseudorandom hildiberînin, me bikaranîna /proc û /dev/random rawestand. Hin çîn (mînak, Data_Store), avahî û hejmartin ji API-yê hatine rakirin. Li ku derê gengaz be, veger û karanîna nîşanên tazî hatine sekinandin.
  • Piştgiriya ji bo protokola TLS 1.3 zêde kir. Piştgiriya ji bo TLS 1.0, TLS 1.1 û DTLS 1.0 hate rawestandin. Piştgiriya ji bo DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK û Camellia CBC suiteyên şîfre, şîfreyên nenas, û haşeyên SHA-1 ji pêkanîna TLS hate rakirin.
  • Piştgiriyek ji bo algorîtmaya krîptografiya post-quantum Kyber, ku li hember hêza hov a li ser komputerek quantumê berxwedêr e, zêde kir.
  • Piştgiriyek ji bo algorîtmaya krîptografiya post-quantum Dilithium ji bo xebata bi îmzeyên dîjîtal re zêde kir.
  • Bi karanîna teknîka SSWU (draft-irtf-cfrg-hash-to-curve) piştgirî ji bo haşkirina formata xala keviya elîptîk zêde kir.
  • Piştgiriyek ji bo fonksiyona hash a krîptografî ya BLAKE2b zêde kir.
  • Têkiliyek bernamesaziyê ya nû T::new_object hatiye pêşniyar kirin ku li şûna nîşankerek "T*" ya tazî, yekane_ptr vedigerîne.
  • Fonksiyonên nû û API lê zêde kirin: X509_DN:: DER_encode, Public_Key::get_int_field, ideal_granularity, needs_entire_message, SymmetricAlgorithm::has_keying_material. Komek mezin a fonksiyonên nû ji bo karanîna di koda C (C89) de zêde kir.
  • Pêkanîna algorîtmaya Argon2 rêwerzên AVX2 bikar tîne.
  • Mezinahiya tabloyan di pêkanînên algorîtmayên Camellia, ARIA, SEED, DES û Whirlpool de kêm bûye.
  • Pêkanîna nû ya DES / 3DES tê pêşniyar kirin, ku li hember piraniya çînên êrişên kanala alîgir ên ku rewşa cache dinirxînin tê parastin.
  • Pêkanîna SHACAL2 ji bo pergalên li ser bingeha mîmariya ARMv8 û POWER xweşbîn e.
  • Koda ji bo hesabkirina bitsên hevseng, veguhertina bcrypt/base64 û destnîşankirina celebê rêzika ASN.1 ji lêgerînên tabloyê tê xilas kirin û naha ji daneyên ku têne hilanîn serbixwe ye (di demek domdar de dimeşe)

Source: opennet.ru

Add a comment