oqs-safe
Safe, minimal Rust wrapper over libOQS for post-quantum KEM/SIG:
- Kyber / ML-KEM-768
- Dilithium / ML-DSA-44
Works with current and legacy libOQS names and supports a mock fallback for CI without libOQS.
Features
liboqs — enable real liboqs FFI (default: off)
- KEM:
kyber768 (alias: ml_kem_768)
- SIG:
dilithium2 (alias: ml_dsa_44)
Quickstart
git clone https://github.com/open-quantum-safe/liboqs
cd liboqs && mkdir build && cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DOQS_DIST_BUILD=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX="$HOME/.local/liboqs" ..
ninja && ninja install
export PKG_CONFIG_PATH="$HOME/.local/liboqs/lib/pkgconfig:$PKG_CONFIG_PATH"
export DYLD_LIBRARY_PATH="$HOME/.local/liboqs/lib:$DYLD_LIBRARY_PATH"
cargo run --example kem_roundtrip --no-default-features --features liboqs,kyber768
cargo run --example dsa_sign_verify --no-default-features --features liboqs,dilithium2
cargo test --features kyber768,dilithium2
Rust 1.70+.
Dual-licensed under MIT or Apache-2.0.