The formally verified crypto library for Rust
Libcrux is a formally verified cryptographic library written in Rust that implements a comprehensive suite of modern cryptographic algorithms including AES-GCM, ChaCha20-Poly1305, SHA-2, SHA-3, Blake2, Curve25519, Ed25519, ECDSA, RSA-PSS, HMAC, HKDF, and post-quantum algorithms like ML-KEM and ML-DSA. Many of its core algorithms are compiled from formally verified C code originating in the HACL* project, with verification performed using the F* framework for memory safety, functional correctness, and resistance to timing side-channels. The library is built in Rust with support for various platform-specific optimizations (AVX2, AES-NI, Neon instructions) and can extract implementations to C in both split-source and header-only formats, with benchmarking capabilities against third-party libraries like BoringSSL and CIRCL.