Amazon опубликовал открытую криптографическую библиотеку для языка Rust

Компания Amazon представила криптографическую библиотеку aws-lc-rs, предназначенную для использования в приложениях на языке Rust и совместимую на уровне API с Rust-библиотекой ring. Код проекта распространяется под лицензиями Apache 2.0 и ISC. Библиотека поддерживает работу на платформах Linux (x86, x86-64, aarch64) и macOS (x86-64).

Реализация криптографических операций в aws-lc-rs базируется на библиотеке AWS-LC (AWS libcrypto), написанной на языке С++ и, в свою очередь, основанной на коде проекта BoringSSL (поддерживаемое компанией Google ответвление от OpenSSL). Дополнительно предложено два низкоуровневых crate-пакета: aws-lc-sys (автоматически сгенерированные низкоуровневые обвязки над AWS-LC) и aws-lc-fips-sys (низкоуровневые обвязки на базе FFI (Foreign Function Interface)), воспроизводящие API AWS-LC.

Библиотека AWS-LC включает формально верифицированные реализации алгоритмов SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH и ECDSA, отвечающие требованиям к криптографическим системам, которые можно использовать в государственных учреждениях США и Канады. Создание обвязки для языка Rust объясняется потребностью в наличии криптобиблиотек, соответствующих стандартам FIPS, которые можно было бы использовать в проектах на языке Rust. В библиотеке aws-lc-rs компания Amazon решила совместить привычный и распространённый среди Rust-программистов API Ring и верифицированные реализации алгоритмов из библиотеки AWS-LC, соответствующие требованиям FIPS.

Использование в качестве основы библиотеки AWS-LC также позволило задействовать в aws-lc-rs все специфичные оптимизации, развиваемые компанией Amazon. Например, в AWS-LC доступны варианты алгоритмов ChaCha20-Poly1305 и NIST P-256, отдельно оптимизированные для процессоров ARM, а также внесены значительные оптимизации для систем x86, ускоряющие обработку цифровых подписей ECDSA. При тестировании работы протоколов TLS 1.2 и 1.3 библиотека aws-lc-rs заметно опередила по производительности пакет rustls, продемонстрировав как сокращение времени установки соединения, так и увеличение пропускной способности (в тестах ECDSA более, чем в два раза).

Amazon опубликовал открытую криптографическую библиотеку для языка Rust


Источник: opennet.ru

Добавить комментарий