Amazon publikigis malfermfontecan kriptografan bibliotekon por la Rust-lingvo

Amazon enkondukis aws-lc-rs, kriptografan bibliotekon dizajnitan por uzo en Rust-aplikoj kaj kongrua ĉe la API-nivelo kun la Rust-ring-biblioteko. La projektkodo estas distribuita sub Apache 2.0 kaj ISC-licencoj. La biblioteko subtenas laboron sur Linukso (x86, x86-64, aarch64) kaj macOS (x86-64) platformoj.

La efektivigo de kriptografiaj operacioj en aws-lc-rs baziĝas sur la AWS-LC-biblioteko (AWS libcrypto), skribita en C++ kaj, siavice, bazita sur kodo de la projekto BoringSSL (forko de OpenSSL subtenata de Guglo). Plie, du malaltnivelaj kestpakaĵoj estas proponitaj: aws-lc-sys (aŭtomate generitaj malaltnivelaj envolvaĵoj super AWS-LC) kaj aws-lc-fips-sys (malaltnivelaj envolvaĵoj bazitaj sur FFI (Foreign Function Interface)) , reproduktante la AWS-LC API.

La AWS-LC-biblioteko inkluzivas formale kontrolitajn efektivigojn de SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH, kaj ECDSA algoritmoj kiuj plenumas la postulojn por kriptografaj sistemoj kiuj povas esti uzitaj fare de registaragentejoj en Usono kaj Kanado. La kreado de kadro por la Rust-lingvo estis pelita de la bezono de FIPS-konformaj kriptaj bibliotekoj kiuj povus esti uzataj en Rust-projektoj. En la biblioteko aws-lc-rs, Amazon decidis kombini la konatan kaj disvastigitan Ring-API inter Rust-programistoj kaj kontrolitajn efektivigojn de algoritmoj de la biblioteko AWS-LC, kiuj konformas al FIPS-postuloj.

Uzi la AWS-LC-bibliotekon kiel bazon ankaŭ ebligis uzi ĉiujn specifajn optimumojn evoluigitajn de Amazon en aws-lc-rs. Ekzemple, AWS-LC ofertas variaĵojn de la ChaCha20-Poly1305 kaj NIST P-256-algoritmoj kiuj estas aparte optimumigitaj por ARM-procesoroj, same kiel signifajn optimumigojn por x86-sistemoj, kiuj akcelas la prilaboradon de ECDSA ciferecaj subskriboj. Dum testado de la TLS 1.2 kaj 1.3 protokoloj, la aws-lc-rs-biblioteko signife superis la rustls-pakaĵon, montrante kaj redukton en koneksa agordotempo kaj pliiĝon en trairo (pli ol duobliĝo en ECDSA-testoj).

Amazon publikigis malfermfontecan kriptografan bibliotekon por la Rust-lingvo


fonto: opennet.ru

Aldoni komenton