Amazon har publisert et åpen kildekode kryptografisk bibliotek for Rust-språket

Amazon har introdusert aws-lc-rs kryptografiske bibliotek, som er beregnet for bruk i Rust-applikasjoner og er API-kompatibelt med ring Rust-biblioteket. Prosjektkoden er distribuert under Apache 2.0- og ISC-lisensene. Biblioteket støtter Linux (x86, x86-64, aarch64) og macOS (x86-64) plattformer.

Implementeringen av kryptografiske operasjoner i aws-lc-rs er basert på AWS-LC-biblioteket (AWS libcrypto), skrevet i C++ og igjen basert på kode fra BoringSSL-prosjektet (en Google-opprettholdt avlegger av OpenSSL). I tillegg foreslås to kassepakker på lavt nivå: aws-lc-sys (autogenererte lavnivåbindinger over AWS-LC) og aws-lc-fips-sys (lavnivåbindinger basert på FFI (Foreign Function Interface) ), som gjengir AWS-LC API.

AWS-LC-biblioteket inkluderer formelt verifiserte implementeringer av algoritmene SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH og ECDSA som oppfyller kravene til kryptografiske systemer som kan brukes av offentlige etater i USA og Canada. Å lage en Rust-binding er drevet av behovet for å ha FIPS-kompatible kryptobiblioteker som kan brukes i Rust-prosjekter. I aws-lc-rs-biblioteket bestemte Amazon seg for å kombinere Ring API, som er kjent og vanlig blant Rust-programmerere, og verifiserte implementeringer av algoritmer fra AWS-LC-biblioteket som overholder FIPS-kravene.

Bruken av AWS-LC-biblioteket som grunnlag gjorde det også mulig å bruke alle de spesifikke optimaliseringene utviklet av Amazon i aws-lc-rs. For eksempel gir AWS-LC alternativer for ChaCha20-Poly1305 og NIST P-256 algoritmer som er separat optimalisert for ARM-prosessorer, og betydelige optimaliseringer for x86-systemer er gjort for å øke hastigheten på behandlingen av ECDSA digitale signaturer. Når du testet driften av TLS 1.2- og 1.3-protokollene, overgikk aws-lc-rs-biblioteket rustls-pakken betydelig når det gjelder ytelse, og demonstrerte både en reduksjon i tilkoblingstid og en økning i gjennomstrømning (mer enn to ganger i ECDSA-tester).

Amazon har publisert et åpen kildekode kryptografisk bibliotek for Rust-språket


Kilde: opennet.ru

Legg til en kommentar