Amazon đã xuất bản một thư viện mã nguồn mở cho ngôn ngữ Rust

Amazon đã giới thiệu aws-lc-rs, một thư viện mật mã được thiết kế để sử dụng trong các ứng dụng Rust và tương thích ở cấp API với thư viện vòng Rust. Mã dự án được phân phối theo giấy phép Apache 2.0 và ISC. Thư viện hỗ trợ hoạt động trên nền tảng Linux (x86, x86-64, aarch64) và macOS (x86-64).

Việc triển khai các hoạt động mã hóa trong aws-lc-rs dựa trên thư viện AWS-LC (AWS libcrypto), được viết bằng C++ và ngược lại, dựa trên mã từ dự án BoringSSL (một nhánh của OpenSSL được Google hỗ trợ). Ngoài ra, hai gói thùng cấp thấp được đề xuất: aws-lc-sys (trình bao bọc cấp thấp được tạo tự động trên AWS-LC) và aws-lc-fips-sys (trình bao bọc cấp thấp dựa trên FFI (Giao diện chức năng nước ngoài)) , tái tạo API AWS-LC.

Thư viện AWS-LC bao gồm các triển khai đã được xác minh chính thức của các thuật toán SHA-2, HMAC, AES-GCM, AES-KWP, HKDF, ECDH và ECDSA đáp ứng các yêu cầu đối với hệ thống mật mã có thể được sử dụng bởi các cơ quan chính phủ ở Hoa Kỳ và Canada. Việc tạo ra một khung cho ngôn ngữ Rust được thúc đẩy bởi nhu cầu về các thư viện mật mã tuân thủ FIPS có thể được sử dụng trong các dự án Rust. Trong thư viện aws-lc-rs, Amazon đã quyết định kết hợp Ring API quen thuộc và phổ biến giữa các lập trình viên Rust và triển khai các thuật toán đã được xác minh từ thư viện AWS-LC tuân thủ các yêu cầu của FIPS.

Việc sử dụng thư viện AWS-LC làm cơ sở cũng giúp bạn có thể sử dụng tất cả các tối ưu hóa cụ thể do Amazon phát triển trong aws-lc-rs. Ví dụ: AWS-LC cung cấp các biến thể của thuật toán ChaCha20-Poly1305 và NIST P-256 được tối ưu hóa riêng cho bộ xử lý ARM, cũng như các tối ưu hóa đáng kể cho hệ thống x86 giúp tăng tốc độ xử lý chữ ký số ECDSA. Khi thử nghiệm giao thức TLS 1.2 và 1.3, thư viện aws-lc-rs hoạt động tốt hơn đáng kể so với gói Rustls, thể hiện cả việc giảm thời gian thiết lập kết nối và tăng thông lượng (tăng hơn gấp đôi trong các thử nghiệm ECDSA).

Amazon đã xuất bản một thư viện mã nguồn mở cho ngôn ngữ Rust


Nguồn: opennet.ru

Thêm một lời nhận xét