Amazon a publié une bibliothèque cryptographique open source pour le langage Rust

Amazon a introduit aws-lc-rs, une bibliothèque cryptographique conçue pour être utilisée dans les applications Rust et compatible au niveau API avec la bibliothèque d'anneaux Rust. Le code du projet est distribué sous licences Apache 2.0 et ISC. La bibliothèque prend en charge le travail sur les plates-formes Linux (x86, x86-64, aarch64) et macOS (x86-64).

L'implémentation des opérations cryptographiques dans aws-lc-rs est basée sur la bibliothèque AWS-LC (AWS libcrypto), écrite en C++ et, à son tour, basée sur le code du projet BoringSSL (un fork d'OpenSSL pris en charge par Google). De plus, deux packages de caisse de bas niveau sont proposés : aws-lc-sys (enveloppeurs de bas niveau générés automatiquement sur AWS-LC) et aws-lc-fips-sys (enveloppeurs de bas niveau basés sur FFI (Foreign Function Interface)). , reproduisant l'API AWS-LC.

La bibliothèque AWS-LC comprend des implémentations formellement vérifiées des algorithmes SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH et ECDSA qui répondent aux exigences des systèmes cryptographiques pouvant être utilisés par les agences gouvernementales aux États-Unis et Canada. La création d'un framework pour le langage Rust a été motivée par le besoin de bibliothèques de chiffrement compatibles FIPS pouvant être utilisées dans les projets Rust. Dans la bibliothèque aws-lc-rs, Amazon a décidé de combiner l'API Ring familière et répandue parmi les programmeurs Rust et des implémentations vérifiées d'algorithmes de la bibliothèque AWS-LC qui sont conformes aux exigences FIPS.

L'utilisation de la bibliothèque AWS-LC a également permis d'utiliser toutes les optimisations spécifiques développées par Amazon dans aws-lc-rs. Par exemple, AWS-LC propose des variantes des algorithmes ChaCha20-Poly1305 et NIST P-256 optimisées séparément pour les processeurs ARM, ainsi que des optimisations significatives pour les systèmes x86 qui accélèrent le traitement des signatures numériques ECDSA. Lors des tests du fonctionnement des protocoles TLS 1.2 et 1.3, la bibliothèque aws-lc-rs a nettement surpassé le package rustls, démontrant à la fois une réduction du temps d'établissement de la connexion et une augmentation du débit (plus du double dans les tests ECDSA).

Amazon a publié une bibliothèque cryptographique open source pour le langage Rust


Source: opennet.ru

Ajouter un commentaire