Amazon zverejnil otvorenú kryptografickú knižnicu pre jazyk Rust

Amazon predstavil aws-lc-rs, kryptografickú knižnicu navrhnutú pre použitie v aplikáciách Rust a kompatibilnú na úrovni API s knižnicou Rust ring. Kód projektu je distribuovaný pod licenciami Apache 2.0 a ISC. Knižnica podporuje prácu na platformách Linux (x86, x86-64, aarch64) a macOS (x86-64).

Implementácia kryptografických operácií v aws-lc-rs je založená na knižnici AWS-LC (AWS libcrypto), napísanej v C++ a následne na kóde z projektu BoringSSL (fork OpenSSL podporovaný Google). Okrem toho sú navrhnuté dva balíky prepraviek nízkej úrovne: aws-lc-sys (automaticky generované nízkoúrovňové obaly cez AWS-LC) a aws-lc-fips-sys (nízkoúrovňové obaly založené na FFI (Foreign Function Interface)) , ktorý reprodukuje AWS-LC API.

Knižnica AWS-LC obsahuje formálne overené implementácie algoritmov SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH a ECDSA, ktoré spĺňajú požiadavky na kryptografické systémy, ktoré môžu používať vládne agentúry v Spojených štátoch a Kanada. Vytvorenie rámca pre jazyk Rust bolo motivované potrebou krypto knižníc kompatibilných s FIPS, ktoré by sa dali použiť v projektoch Rust. V knižnici aws-lc-rs sa Amazon rozhodol spojiť medzi programátormi Rust známe a rozšírené Ring API a overené implementácie algoritmov z knižnice AWS-LC, ktoré spĺňajú požiadavky FIPS.

Použitie knižnice AWS-LC ako základu tiež umožnilo použiť všetky špecifické optimalizácie vyvinuté spoločnosťou Amazon v aws-lc-rs. Napríklad AWS-LC ponúka varianty algoritmov ChaCha20-Poly1305 a NIST P-256, ktoré sú samostatne optimalizované pre procesory ARM, ako aj významné optimalizácie pre systémy x86, ktoré urýchľujú spracovanie digitálnych podpisov ECDSA. Pri testovaní protokolov TLS 1.2 a 1.3 knižnica aws-lc-rs výrazne prekonala balík rustls, čo preukázalo skrátenie času nastavenia pripojenia a zvýšenie priepustnosti (viac ako zdvojnásobenie v testoch ECDSA).

Amazon zverejnil otvorenú kryptografickú knižnicu pre jazyk Rust


Zdroj: opennet.ru

Pridať komentár