Krypteia 0.1 — pure-Rust post-quantum + classical cryptography, side-channel hardened (pre-1.0, unaudited)

⚓ Rust    📅 2026-06-26    👤 surdeus    👁️ 2      

surdeus

Hi all,

I've released the first version of krypteia, a pure-Rust cryptographic workspace covering both post-quantum and classical primitives, with zero external dependencies (std/core/alloc only) and an embedded-first design (Cortex-M0/M4/M33, RISC-V / ESP32-C3, no_std). It's written to be constant-time from the first commit, and its side-channel posture is documented per primitive.

Four crates on crates.io:

  • krypteia-quantica — FIPS 203/204/205 (ML-KEM, ML-DSA, SLH-DSA)
  • krypteia-arcana — RSA, ECDSA/ECDH, EdDSA, X25519/X448, AES, ChaCha20-Poly1305, hashes, MACs
  • krypteia-silentops — side-channel toolkit (constant-time primitives, dudect, ctgrind)
  • krypteia-memory — TLSF allocator for bare-metal targets

(They publish under the krypteia-* namespace but keep their bare import paths via [lib] name, so it's use quantica::…, use arcana::….)

What's validated:

  • 361 library unit tests + NIST ACVP / Wycheproof / CAVP vectors
  • constant-time verification with ctgrind (Valgrind memcheck) and dudect (Welch t-test) on the hot paths (host-side)
  • cross-architecture runs (qemu-user + bare-metal qemu-system)

On method, transparently: part of this is AI-assisted, tracked openly via Co-Authored-By trailers in git — deliberately, as an experiment in whether an LLM can help produce rigorous low-level crypto rather than the plausible-but-unverified kind. The guard rail is that the model is never the source of trust: correctness and constant-timeness are decided by tools (ACVP/Wycheproof, ctgrind, dudect), not by the model. The tool is the auditor; the model is the operator.

What it does not claim: no third-party audit yet, API not semver-stable, not production-ready. It's structured toward a lab-class evaluation, but that pass hasn't happened. Don't deploy it where you need an audited library — but critical feedback, especially on the side-channel work, is very welcome.

Thanks for reading.

1 post - 1 participant

Read full topic

🏷️ Rust_feed