Hi HN. I built christman-crypto to protect vulnerable populations from 'Harvest Now, Decrypt Later' adversaries.
The stack includes 7 working tiers of historical and modern cryptography, but the core feature in v2.0 is the Tier 8 Hybrid Post-Quantum layer. It bundles classical XChaCha20-Poly1305 (via libsodium) with a zero-dependency, pure-Python reference implementation of the newly finalized NIST FIPS 203 ML-KEM standard. I built the NTT, Barrett reduction, and CBD sampling from scratch so developers can actually read the math without fighting C++ build chains.
The Roadmap: Python is obviously not constant-time. Now that the math is proven, I just opened an issue to port the ML-KEM logic into a memory-safe, constant-time Rust backend using PyO3.
I'd love any feedback on the pure-Python reference implementation, the hybrid architecture, or advice from Rustaceans on the PyO3 migration
Hi HN. I built christman-crypto to protect vulnerable populations from 'Harvest Now, Decrypt Later' adversaries.
The stack includes 7 working tiers of historical and modern cryptography, but the core feature in v2.0 is the Tier 8 Hybrid Post-Quantum layer. It bundles classical XChaCha20-Poly1305 (via libsodium) with a zero-dependency, pure-Python reference implementation of the newly finalized NIST FIPS 203 ML-KEM standard. I built the NTT, Barrett reduction, and CBD sampling from scratch so developers can actually read the math without fighting C++ build chains.
The Roadmap: Python is obviously not constant-time. Now that the math is proven, I just opened an issue to port the ML-KEM logic into a memory-safe, constant-time Rust backend using PyO3.
I'd love any feedback on the pure-Python reference implementation, the hybrid architecture, or advice from Rustaceans on the PyO3 migration