Sortie de la bibliothèque cryptographique Botan 3.0.0

La version 3.0.0 de la bibliothèque cryptographique Botan, utilisée dans le projet NeoPG, un fork de GnuPG 2, est maintenant disponible. La bibliothèque offre une vaste collection de primitives prêtes à l'emploi, utilisées dans le protocole TLS, les certificats X.509, les ciphers AEAD, les modules TPM, PKCS#11, le hachage de mots de passe et la cryptographie post-quantique (signatures basées sur un hachage et accord de clés basé sur McEliece). La bibliothèque est écrite en C++ et est distribuée sous licence BSD.

Parmi les changements de la nouvelle version :

  • L'utilisation de la norme C++20 est désormais autorisée dans la base de code (auparavant, C++11 était utilisé), ce qui élève les exigences pour les compilateurs : pour la compilation, il faut désormais au minimum GCC 11, Clang 14 ou MSVC 2022. Le support des compilateurs HP et Pathscale, ainsi que des projets Google NaCL et IncludeOS, a été abandonné.
  • Une grande quantité de modifications perturbant la compatibilité ascendante a été apportée. De nombreux fichiers d'en-tête obsolètes ont été supprimés, comme ceux spécifiques à certains algorithmes (aes.h, etc.). Les mises en œuvre des fonctions et algorithmes qui étaient précédemment déclarés obsolètes (CAST-256, MISTY1, Kasumi, DESX, XTEA, PBKDF1, MCEIES, CBC-MAC, Tiger, NEWHOPE, CECPQ1) ont été supprimées. L'utilisation de /proc et /dev/random pour générer de l'entropie pour le générateur de nombres pseudo-aléatoires a été arrêtée. Certaines classes (comme Data_Store), structures et énumérations ont été retirées de l'API. Dans la mesure du possible, les pointeurs bruts ne sont plus retournés ni utilisés.
  • Prise en charge du protocole TLS 1.3 ajoutée. La prise en charge de TLS 1.0, TLS 1.1 et DTLS 1.0 a été supprimée. Le support des ensembles de ciphers DSA, SRP, SEED, AES-128 OCB, CECPQ1, DHE_PSK et Camellia CBC, ainsi que des ciphers anonymes et des hachages SHA-1 a été retiré de l'implémentation TLS.
  • Ajout de la prise en charge de l'algorithme de cryptographie post-quantique Kyber, résistant à la factorisation sur un ordinateur quantique.
  • Ajout de la prise en charge de l'algorithme de cryptographie post-quantique Dilithium pour les signatures numériques.
  • Ajout de la prise en charge du hachage sous forme de point sur une courbe elliptique, utilisant la technique SSWU (draft-irtf-cfrg-hash-to-curve).
  • Ajout de la fonction de hachage cryptographique BLAKE2b.
  • Une nouvelle interface de programmation T::new_object a été proposée, retournant unique_ptr au lieu d'un pointeur brut « T* ».
  • De nouvelles fonctions et API ont été ajoutées : X509_DN::DER_encode, Public_Key::get_int_field, ideal_granularity, requires_entire_message, SymmetricAlgorithm::has_keying_material. Un grand ensemble de nouvelles fonctions a été ajouté pour une utilisation dans le code en C (C89).
  • Les instructions AVX2 ont été utilisées dans l'implémentation de l'algorithme Argon2.
  • Réduction de la taille des tables dans les implémentations des algorithmes Camellia, ARIA, SEED, DES et Whirlpool.
  • Une nouvelle implémentation de DES/3DES a été proposée, protégée contre la plupart des classes d'attaques par canaux auxiliaires qui évaluent l'état du cache.
  • L'implémentation de SHACAL2 est optimisée pour les systèmes basés sur les architectures ARMv8 et POWER.
  • Le code de calcul des bits de parité, de transformation bcrypt/base64 et de détermination du type de chaîne ASN.1 a été débarrassé de la recherche dans les tables et maintenant ne dépend plus des données traitées (temps constant d'exécution).

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster