KyberLib: Secure Post-Quantum Cryptography with Rust
KyberLib: a robust Rust library for CRYSTALS-Kyber post-quantum cryptography, offering strong security guarantees and compatibility with no_std environments.
Overview
KyberLib is a robust Rust library designed specifically for CRYSTALS-Kyber Post-Quantum Cryptography (PQC), offering strong security guarantees. This lightweight and efficient library is compatible with no_std
, making it suitable for embedded devices and resource-constrained environments. KyberLib avoids memory allocations, ensuring minimal overhead and optimized performance. Additionally, it contains reference implementations with no unsafe code, adhering to strict security standards. For enhanced performance on x86_64 platforms, KyberLib provides an optimized AVX2 version by default. The library also supports compilation to WebAssembly (WASM) using wasm-bindgen, enabling its deployment in web applications and secure communication protocols.
Key Features
Core Features
- no_std compatible: No dependence on the Rust standard library, ensuring portability across platforms.
- Allocation-free design: Utilizes stack-based data structures, eliminating memory allocations and minimizing overhead.
- Configurable parameter sets: Provides flexibility to select different parameter sets based on specific security and performance requirements.
- Optimized x86_64 assembly: Leverages AVX2 instructions for exceptional performance on x86_64 platforms.
- Safe code: Reference implementations adhere to strict safety standards, eliminating unsafe code blocks to enhance security.
- WebAssembly (WASM) support: Can be compiled to WASM for deployment in web applications and secure communication protocols.
Advanced Features
- Allocation-free Guarantee: KyberLib guarantees all its core cryptography operations are free of heap allocations.
- Assembly optimisations: The x86_64 assembly implementations use AVX2 instructions for high performance.
- Security: KyberLib contains no unsafe code in its public API surface.
Functionality
KyberLib provides a comprehensive suite of cryptographic functionalities, including:
- Key generation: Generate secure public/private key pairs for secure communication.
- Encapsulation: Encrypt a shared secret using a public key, enabling secure data exchange.
- Decapsulation: Decrypt a shared secret using a private key, allowing for secure data retrieval.
- Key exchange: Perform authenticated key exchanges to establish secure communication channels.
Ready to streamline your financial data management? KyberLib is here to make your job easier.
Embrace the future of secure communication with KyberLib, the robust and secure Rust library for CRYSTALS-Kyber post-quantum cryptography.