OPEN SOURCE

FIBEMATE v3.3 — 开源发布公告

2026-08-31 · GPL-3.0 · GitHub

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.

What FIBEMATE Is

A post-quantum cryptography executable textbook. Not a security product — an engineering proof that the full chain works.

TrackCoverageStatus
Standard PQCML-KEM-768 (FIPS 203), NTT domain, C Native addon (15-31× speedup), WASM✅ Verified
National Crypto HybridSM2/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 VerificationTLA+ 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

Why This Exists

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.

What Works (verified with evidence)

Core Cryptography

Protocol Verification

FPGA (Artix-7 35T)

Reproducibility

What's NOT Claimed (read this)

ClaimReality
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

Quick Start (30 seconds)

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

Who This Is For

The Numbers

Metric
ML-KEM-768 Native keygen103 µs
ML-KEM cross-validation20,000/20,000 (noble + liboqs)
NTT Barrett reduction speedup14×
SM2 software TVLA36/36 PASS (N=10,000)
ML-KEM-768 TVLAcorrected (V8 JIT artifact, no exploitable leak)
ML-KEM-1024 TVLA3/3 PASS (Noble, N=10,000)
TLA+ verified states101,467
TSR evidence records131 total (lg-001~lg-100)
CI badges✅ all green
Project score9.3/10

Deep-Dive Series (coming weekly after launch)

WeekTopic
1Double Ratchet PQ — ML-KEM + P-256 hybrid handshake design
2FPGA NTT Pipeline — from behavioral model to UART debug
3SM2 Repair Log — _fastModP dead loop, wNAF timing leak, 0.2% edge case
4TSR Evidence Chain — 100 RFC 3161 timestamps, why they matter
5TLA+ Path C-2 — formal verification of hybrid key exchange

How to Contribute

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