FIBEMATE is now open source. 🎉
What does it take to ship post-quantum cryptography end-to-end — from browser to FPGA, from NIST standards to Chinese national algorithms, from KAT vectors to TLA+ formal proofs?
Two years. One person. 100 timestamped evidence records. Here's what we found.
A post-quantum cryptography executable textbook. Not a security product — an engineering proof that the full chain works.
| Track | Coverage | Status |
|---|---|---|
| Standard PQC | ML-KEM-768 (FIPS 203), NTT domain, C Native addon (15-31× speedup), WASM | ✅ Verified |
| National Crypto Hybrid | SM2/SM3/SM4-GCM + ML-KEM-768, IANA #4590, double-ratchet PQ mix-net | ✅ Verified |
| Hardware (FPGA) | NTT pipeline on Artix-7 35T, UART physical debug passed, 256×256 roundtrip | ✅ Live |
| Protocol Verification | TLA+ Path C-2 model, 7 invariants, 101,467 states, K3 strong key independence | ✅ Formal |
| Research (default-off) | VWZ tensor signatures, LookingGlass v2 — isolated branch, zero security claims | ⚠️ Lab |
The post-quantum migration is an engineering problem, not a paper problem.
FIPS 203 exists. liboqs exists. But stitching them together — WebCrypto ↔ FPGA BRAM, SM2 legacy ↔ ML-KEM hybrids, unit tests ↔ TLA+ models — that's where the real work lives.
FIBEMATE answers: Can one person build, verify, and timestamp-evidence the entire stack? Yes. With honest caveats.
| Claim | Reality |
|---|---|
| Security product | ❌ Engineering demonstration platform |
| Third-party audit | ❌ Self-tested, cross-validated, not externally reviewed |
| Novel cryptography | ❌ VWZ/LG are default-off research, zero security guarantees |
| Hardware security | ❌ No secure element, physical TVLA pending Q4 2026 |
| ML-KEM formal proof | ❌ TLA+ covers handshake protocol, not lattice math |
git clone https://github.com/Lennonhaha/fibemate.git && cd fibemate && npm ci
node -e "
const { generateKeypair, encapsulate, decapsulate } = require('./packages/pqc-kem');
const kp = generateKeypair();
const { ciphertext, sharedSecret } = encapsulate(kp.publicKey);
const ss = decapsulate(kp.secretKey, ciphertext);
console.log(ss.equals(sharedSecret) ? 'ML-KEM-768: PASS' : 'FAIL');
"
Live demo: fibemate.net/demo
| Metric | |
|---|---|
| ML-KEM-768 Native keygen | 103 µs |
| ML-KEM cross-validation | 20,000/20,000 (noble + liboqs) |
| NTT Barrett reduction speedup | 14× |
| SM2 software TVLA | 36/36 PASS (N=10,000) |
| ML-KEM-768 TVLA | corrected (V8 JIT artifact, no exploitable leak) |
| ML-KEM-1024 TVLA | 3/3 PASS (Noble, N=10,000) |
| TLA+ verified states | 101,467 |
| TSR evidence records | 131 total (lg-001~lg-100) |
| CI badges | ✅ all green |
| Project score | 9.3/10 |
| Week | Topic |
|---|---|
| 1 | Double Ratchet PQ — ML-KEM + P-256 hybrid handshake design |
| 2 | FPGA NTT Pipeline — from behavioral model to UART debug |
| 3 | SM2 Repair Log — _fastModP dead loop, wNAF timing leak, 0.2% edge case |
| 4 | TSR Evidence Chain — 100 RFC 3161 timestamps, why they matter |
| 5 | TLA+ Path C-2 — formal verification of hybrid key exchange |
Solo project opening up. Here's how:
"The post-quantum transition is not about swapping algorithms. It's about proving the chain holds."
— FIBEMATE, v3.3, 2026-08-31