Expand description
§soliton
Core cryptographic library for the LO protocol.
Provides all cryptographic operations specified in Soliton Specification:
- Soliton composite key (X-Wing + Ed25519 + ML-DSA-65) generation and management
- Hybrid signatures (Ed25519 + ML-DSA-65)
- KEM-based authentication
- LO-KEX key agreement (session initiation and reception)
- LO-Ratchet (KEM ratchet + symmetric chain) message encryption
- Storage encryption (XChaCha20-Poly1305 + zstd)
§Backend
Pure Rust on all targets (native and WASM):
- RustCrypto: ML-KEM-768, ML-DSA-65, XChaCha20-Poly1305, SHA3-256, HMAC, HKDF
- curve25519-dalek / ed25519-dalek: X25519, Ed25519
- getrandom: CSPRNG
Modules§
- auth
- KEM-based authentication challenge/response (§4). KEM-based authentication (§4).
- call
- E2EE voice call key derivation (§6.12). E2EE voice call key derivation.
- constants
- Protocol constants (key sizes, HKDF labels, version strings). Protocol constants from Soliton Crypto Appendix A.
- error
- Error types for all soliton operations. Error types for soliton.
- identity
- LO composite identity key and hybrid signature operations (§2, §3). LO composite key and hybrid signatures (§2, §3).
- kex
- LO-KEX session key agreement (§5). LO-KEX session initiation and reception (§5).
- primitives
- Low-level cryptographic primitives (AEAD, KEM, signatures, hashing, RNG). Safe Rust wrappers over cryptographic primitives.
- ratchet
- LO-Ratchet and message encryption (§6, §7). LO-Ratchet and message encryption (§6-7).
- storage
- Server-side storage encryption with key rotation (§11). Server-side storage encryption (§11).
- streaming
- Streaming/chunked AEAD for large payloads (§15). Streaming/chunked AEAD for large payloads (§15).
- verification
- Verification phrase generation for out-of-band identity verification (§9). Key verification phrases.
Constants§
- VERSION
- Library version, matching the crate version from Cargo.toml.