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

Spoločnosť Amazon vydala kryptografickú knižnicu aws-lc-rs, ktorá je určená na použitie v aplikáciách Rust a je kompatibilná s API knižnicou Ring Rust. Kód projektu je distribuovaný pod licenciami Apache 2.0 a ISC. Knižnica podporuje platformy 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 jazyku C++ a následne vychádzajúcej z kódu z projektu BoringSSL (odnož OpenSSL spravovaná spoločnosťou Google). K dispozícii sú aj dva nízkoúrovňové balíky: aws-lc-sys (automaticky generované nízkoúrovňové obaly nad AWS-LC) a aws-lc-fips-sys (nízkoúrovňové obaly založené na FFI (Foreign Function Interface)), ktoré replikujú API AWS-LC.

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 vhodné na použitie v amerických a kanadských vládnych agentúrach. Vytvorenie väzby jazyka Rust bolo motivované potrebou kryptografických knižníc kompatibilných s FIPS, ktoré by sa mohli použiť v projektoch Rust. V knižnici aws-lc-rs sa Amazon rozhodol skombinovať rozhranie Ring API, ktoré je známe a široko používané medzi programátormi Rust, s overenými implementáciami algoritmov z knižnice AWS-LC kompatibilnými s FIPS.

Použitie knižnice AWS-LC ako základu tiež umožnilo balíku aws-lc-rs využiť všetky špecifické optimalizácie vyvinuté spoločnosťou Amazon. Napríklad AWS-LC obsahuje varianty algoritmov ChaCha20-Poly1305 a NIST P-256, špeciálne optimalizované pre procesory ARM, a významné optimalizácie pre systémy x86, čím sa urýchlilo spracovanie digitálnych podpisov ECDSA. Pri testovaní protokolov TLS 1.2 a 1.3 balík aws-lc-rs výrazne prekonal balík rustls, pričom preukázal skrátený čas nadväzovania pripojenia aj zvýšenú priepustnosť (v testoch ECDSA sa viac ako zdvojnásobila).

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


Zdroj: opennet.ru

Pridať komentár