Amazon ir publicējis atvērtā pirmkoda kriptogrāfijas bibliotēku Rust valodai

Uzņēmums Amazon ir ieviesis aws-lc-rs kriptogrāfisko bibliotēku, kas paredzēta lietošanai Rust lietojumprogrammās un ir saderīga ar API ar gredzena Rust bibliotēku. Projekta kods tiek izplatīts saskaņā ar Apache 2.0 un ISC licencēm. Bibliotēka atbalsta Linux (x86, x86-64, aarch64) un macOS (x86-64) platformas.

Kriptogrāfisko operāciju ieviešana aws-lc-rs ir balstīta uz AWS-LC bibliotēku (AWS libcrypto), kas rakstīta C++ valodā un savukārt balstās uz BoringSSL projekta kodu (Google uzturēts OpenSSL atzars). Turklāt tiek piedāvātas divas zema līmeņa kastīšu pakotnes: aws-lc-sys (automātiski ģenerēti zema līmeņa iesējumi, izmantojot AWS-LC) un aws-lc-fips-sys (zema līmeņa iesējumi, kuru pamatā ir FFI (ārzemju funkciju saskarne). ), reproducējot AWS-LC API.

AWS-LC bibliotēkā ir iekļautas formāli pārbaudītas SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH un ECDSA algoritmu ieviešanas, kas atbilst prasībām attiecībā uz kriptogrāfijas sistēmām, kuras var izmantot valsts aģentūras Amerikas Savienotajās Valstīs. un Kanāda. Rust saistīšanas izveide ir saistīta ar nepieciešamību pēc FIPS saderīgām kriptovalūtām, kuras var izmantot Rust projektos. aws-lc-rs bibliotēkā Amazon nolēma apvienot Ring API, kas ir pazīstama un izplatīta Rust programmētāju vidū, un pārbaudītas algoritmu ieviešanas no AWS-LC bibliotēkas, kas atbilst FIPS prasībām.

AWS-LC bibliotēkas izmantošana par pamatu ļāva izmantot arī visas Amazon izstrādātās specifiskās optimizācijas aws-lc-rs. Piemēram, AWS-LC nodrošina opcijas ChaCha20-Poly1305 un NIST P-256 algoritmiem, kas ir atsevišķi optimizēti ARM procesoriem, un ir veiktas ievērojamas optimizācijas x86 sistēmām, lai paātrinātu ECDSA ciparparakstu apstrādi. Pārbaudot TLS 1.2 un 1.3 protokolu darbību, aws-lc-rs bibliotēka veiktspējas ziņā ievērojami pārspēja rustls pakotni, demonstrējot gan savienojuma iestatīšanas laika samazināšanos, gan caurlaidspējas pieaugumu (ECDSA testos vairāk nekā divas reizes).

Amazon ir publicējis atvērtā pirmkoda kriptogrāfijas bibliotēku Rust valodai


Avots: opennet.ru

Pievieno komentāru