libsoliton
Pure-Rust post-quantum cryptographic library. Provides composite identity keys (X-Wing + ML-DSA-65), hybrid signatures, KEM-based authentication, asynchronous key exchange, double-ratchet message encryption, streaming AEAD, and encrypted storage — all without a C toolchain.
Features
- Hybrid post-quantum: X-Wing (X25519 + ML-KEM-768) for KEM, Ed25519 + ML-DSA-65 for signatures
- Double ratchet: KEM-based ratchet with per-epoch forward secrecy and post-compromise security
- Streaming AEAD: Chunked XChaCha20-Poly1305 with random-access decrypt
- Encrypted storage: Versioned key rings, community blobs, DM queue blobs
- Zero-knowledge auth: KEM challenge-response proof of identity key possession
- Pure Rust: No C dependencies, no system linker requirements, cross-compiles to WASM
Usage
use generate_identity;
use sha3_256;
// Generate a post-quantum identity keypair
let id = generate_identity.unwrap;
let fingerprint = hash;
// Sign and verify
let sig = hybrid_sign.unwrap;
hybrid_verify.unwrap;
See CHEATSHEET.md for the full API reference.
Documentation
- Specification.md — full cryptographic specification
- Abstract.md — security analysis specification
- CHEATSHEET.md — API quick reference