护航金融与关键行业 · OpenSSF Best Practices Silver(自认证,44/44 MUST)
FIBEMATE:中文 PQC 可执行教科书 · 国密 × PQC 混合验证平台
可执行、可复现的后量子密码教材 · 国密与 PQC 混合验证(CBOM · 形式化 · 硬件原型)
核心代码语句覆盖率 80.53%(CI,2026-11-10 实测;本地 81.27%) · CI 强制 80% 门禁
FIPS 203 ML-KEM-768 · SM2/SM3/SM4 · FPGA NTT 加速器
工程验证与证据生成 · 372 份 RFC 3161 时间戳存证(261 个唯一令牌,2026-11-14 实测)
kyber 变体未启用)· 互操作参照 @noble/post-quantum#[ignore] · NIST ACVP KAT(ML-KEM-768 / ML-DSA-65 keygen·siggen·sigver)真实执行▸ 展开:算法栈与验证指标
C Native Addon (AVX2) 做了恒定时间实现尝试(未经独立 fuzzing / 侧信道审计,self-assessment)⚠ | 纯 JS 参考实现 时域泄漏评估见报告 · 查看 KAT 10,000 轮验证报告 →
本项目旨在为集成商与测评机构提供开箱即用的证据链与验证工具,不替代任何法定第三方检测。
技术验证栈
每一层都是可审计、可复现的密码学工程参考实现
· JS 参考实现:FIPS 203 合规,纯 JavaScript,FIPS 203 官方 KAT 参照向量 9/9 通过 · 自跑 10,000 轮 roundtrip 一致性 10,000/10,000(self-consistency) · 5.55ms/轮 (10,000 轮实测 ~55s)
· C Native addon(Node.js 原生模块):AVX2 优化,keygen 48µs / encaps 51µs / decaps 105µs (10,000 轮 ~2.9s)
⚡ WASM 模块(Rust/libcrux → wasm-bindgen,FIPS 203):139,929 B raw / 33.4 KiB gzip(gzip -9,opt-level=s + lto + strip)
· TVLA N=10,000 通过(self-assessment,非独立侧信道审计)
· 联合信任 + DigiCert 双源存证
📦 双实现 + WASM 可选:覆盖浏览器、Node.js、高性能场景 · JS 18.3 KiB + WASM 136.6 KiB(gzip -9 分别 5.5 / 33.4 KiB,glue 另 7.8 KiB)
· 查看 KAT 报告
· fml-dsa:已发布 npm 0.1.0(npmjs.com/package/fml-dsa),构建带 Sigstore provenance,来源可在 npm 页面直接核验
· FIPS 204 层(keygen / sign / verify / 编码)为本仓自研,75 条 NIST ACVP KAT 逐字节通过,与 @noble 的确定性签名逐字节一致;NTT 与采样原语来自 @noble/post-quantum
· 一条命令自证:
node scripts/verify-all.cjs 跑完 10 项检查(KAT / 对拍 / 非规范签名拒绝 / 输入校验 / 打包内容 / 冷安装往返),产出 evidence-report.json;已发布产物用 scripts/verify-release.cjs 对注册表版本核验 tarball sha512 与 SLSA 证明· 范围:参考实现,未审计、不在生产路径(见 packages/fml-dsa/src/core/README.md)
· SLH-DSA (SPHINCS+):FIPS 205 标准,WASM 加速 107KB raw / 51KB gzip
· 查看 fml-dsa 跨库验证报告
🔬 后端通道说明
- 功能完整,经过充分测试
- 适合日常通信
- 当前默认通道
- WebSocket 性能提升 3-5×
- PQC 签名已完成 — SLH-DSA (FIPS 205) + ML-DSA-65 (FIPS 204 Phase 1 @noble 后端,跨 Noble 互操作验证通过) ✅
- 可能偶有不稳定 ⚠️
BackendRouter.switchTo('rust') BackendRouter.switchTo('node')
📋 双后端架构详情
• 实验通道:Rust 后端,WebSocket 性能提升 3-5×,PQC 签名已完成 (SLH-DSA + ML-DSA-65 FIPS 204 · Phase 1 @noble)
• 默认使用稳定通道,可通过浏览器控制台
BackendRouter.switchTo() 切换• 切换后页面自动刷新,偏好保存在
localStorage
• 后端服务(:3001 / :3002)不暴露公网,仅监听 127.0.0.1
• 仅通过 Nginx(:80 / :443) 对外提供 Web 服务
• 所有服务由 systemd 托管,每进程内存上限 200–400 MiB
系统审计与证据链
不是"我们认为正确",而是"你可以自己复核" · 2026-10-30 基线快照(G-8/G-9 见保证案例)
本站做的是工程验证与证据生成,不提供生产密码服务,也不承诺安全性
@noble/post-quantum 三端逐字节比对:pk 1184 B · sk 2400 B · ct 1088 B · ss 32 B 全等,每种子 12/12 通过;互操作矩阵 62/62(12 行 · 6 基线 · 0 失败)。⚠️ 如实标注:Rust 与 WASM 同源于 libcrux,真正独立的参照只有 noble —— 不把"三端一致"说成三次独立验证。
drift;S3:连摘要清单一起重写 → 被 TSR imprint 抓出
drift;S4:缺少 CA 证书 →
unverifiable(exit 3),绝不显示为"通过"。
第一个变异还暴露了覆盖缺口:ACVP 解封装向量走 typed 入口,字节层 wrapper 只被单元测试覆盖。
研究:可核验的工程验证方法论
预印本 · 未经同行评审 · 2026-10-30 · CC BY 4.0
每个测量值都标注了仓库与 commit,读者可按附录的命令逐条重跑。
10.5281/zenodo.23808518 · 发布 2026-10-30 · 许可 CC BY 4.0。未投稿,未被任何会议或期刊录用。
核心特性
不只是加密,而是可验证的全栈密码学工程
kyber 变体未启用) · 路径 A (X25519MLKEM768 NamedGroup):✅ Active 2026-07-17(OpenSSL 3.x provider + systemd override,保留编译产出);路径 C-2 (SM2+ML-KEM-768):应用层混合 KEX 验证通过(E2E 测试页 5/5,API 端点就绪),当前 TLS Record 层仍为经典 ECDHE X25519 · 联合信任 ✓ + DigiCert ✓ 双源存证 · KAT 报告📊 SM2 TVLA v1.3 Montgomery Ladder N=5,000 · 1-4 阶矩高阶验证 · Welch's t-test 阈值 4.5
| 操作 | Masked |t| | 修复前 |t| | 结果 |
|---|---|---|---|
| 密钥生成 | 0.01 | ~1.4 | ✅ PASS |
| 签名 | 0.06 | ~1.4 | ✅ PASS |
| 验签 | 1.19 | 7.42 ❌ | ✅ PASS |
| 加密 | 0.34 | ~4 | ✅ PASS |
| 解密 | 2.06 | 8.22 ❌ | ✅ PASS |
📌 三重防护: Scalar Masking + Projective Randomization + Montgomery Ladder
🔗 N=5,000 · 5/5 一阶全 PASS + 20/20 高阶全 PASS · verify |t|=0.10 · decrypt |t|=0.16 · 恒时点乘
📅 2026-06-21 · FreeTSA 时间戳存证 · 571.7s (高阶)
标准参与与工具链保真
不假装完整,证据链优先,边界公开
--spec 1.6),交给 verifact 核对
npx cbom-tools scan --dir ./project --out cbom.json --spec 1.7
npm i -g verifact
npm i -g crypto-hallucination-detector
xdiff)
npm i -g fibemate-xdiff
ctime)
pip install crypto-time-machine
npm install fibemate-core
crypto-time-machine 0.1.2 的 wheel 与 sdist 均带 PEP 740 发布证明(publisher Lennonhaha/fibemate-tools · release-pypi.yml · environment pypi),可在 PyPI 的 /integrity/ 端点核验;npm 侧 provenance 已验证通过。2026-10-29 实测:
www 与 mixnet 运行时依赖 npm audit --omit=dev 均为 0 vulnerabilities,Dependabot 开放告警 0 条(qs / CVE-2026-110816 已修复至 6.16.1)。
按 OpenSSF 最佳实践标准自评达 Silver 银牌(自认证,非第三方认证)· Scorecard 主仓 8.1(2026-11-12)/ 桌面端 7.5(2026-11-11)/ 工具仓 6.8(2026-11-12)· 时间戳存证(TSR)链路持续运行
五个独立工具 · 一跳直达
独立仓库 Lennonhaha/fibemate-tools(Apache-2.0,与主仓 GPL‑3.0 分离)。 不实现任何密码学算法,只把「看起来对」变成「可复核」——给的是信号,不是判决。
扫描 JS/TS 代码里 AI 容易编出来的写法:声称常数时间却按秘密分支、用数组下标索引秘密、调用不存在的加密 API。
CI 13s · needs-human-review · 样本测试全过
npm crypto-hallucination-detector@0.1.2 · Sigstore 签名
把「某个密码学 API 在哪个 commit 引入、何时变更、影响了哪些文件」变成可查询的时间轴。
CI 7s · 基于 git log -S/-G 真实历史
PyPI
crypto-time-machine v0.1.2 · pip install crypto-time-machine
用康定斯基式几何把「AI 写密码代码时系统性栽在哪些算法 × 哪些幻觉类型」画成星图。数据来自 fibemate-tools 仓,Apache-2.0 公开。
10 算法 × 3 类命中 · 单 AI 当前切片
用 RFC 3161 时间戳把「某算法在某 commit 下被纳入账本」串成可验链,水墨手卷逐点展开。
3 block · 真 TSR 验签 · demo seed 非生产测量
SM2 · TVLA N=5,000 全绿 5/5 + 20/20 ✓ 三重防护 · 1-4 阶
Scalar Masking + Projective Randomization + Montgomery Ladder · N=5,000 · |t|≤0.38 一阶全项通过 · 1-4 阶矩 20/20 全绿 · 恒定时间点乘 · FreeTSA 存证
Montgomery Ladder v1.3 全绿 (N=5,000 · 1-4 阶)
| 操作 | Masked |t| | 修复前 |
|---|---|---|
| 密钥生成 | 0.01 | ~1.4 |
| 签名 | 0.06 | ~1.4 |
| 验签 | 1.19 | 7.42 ❌ |
| 加密 | 0.34 | ~4 |
| 解密 | 2.06 | 8.22 ❌ |
✅ 5/5 一阶 + 20/20 高阶 PASS · N=5,000 · 528s (一阶) + 571.7s (高阶) · verify ↓92% · decrypt ↓92%
SM4 S-box 位切片 · TVLA lg-080 ✅
| 操作 | |t| (位切片) | |t| (标准 S-box) | 结果 |
|---|---|---|---|
| 加密 | 通过 | 缓存泄漏 | ✅ 消除 |
| 解密 | 通过 | 缓存泄漏 | ✅ 消除 |
📌 位切片实现:S-box 查表 → 逐比特逻辑运算等效变换,零缓存时序依赖 · DigiCert lg-080 TSR 存证 ✅
测试配置
- 框架:TVLA v2 (Welch's t-test)
- 阈值:|t| < 4.5
- 样本量:N=5,000/项 (2.5× 增强)
- 掩码方案:k' = k + r·N (r∈64-bit random)
- 射影随机化:Jacoiban z 随机起始坐标
- 环境:Node.js v22 / Intel Xeon Ice Lake
技术突破
- 根因定位:标准掩码实现中存在模运算抵消漏洞
- 修复:独立随机掩码 (不参与模运算)
- 64-bit random r 扩至 ~320 double-and-add
- Projective Randomization 防 V8 JIT 特化
- 2026-06-18 FreeTSA 时间戳存证
密码学核心概念 · 三维交互演示
可拖拽旋转、缩放的三维可视化工具,直观理解 NTT 蝶形运算、格拓扑结构和挂谷集合的数学本质。
登录 → 密钥生成(晶体成形)→ P2P 信令建连
双棘轮握手 → 明文加密 → 对端解密与令牌碎裂
Bloom 泛光渲染 · 可拖拽旋转 · 键盘 ← → 切换
8 阶段 DIF 变换逐阶段展开
蝴蝶交叉连线 + 数据流动画
旋因子实时显示 ω₂₅₆^{2ˢ}
3D 密钥/签名大小 · 性能基准 · 安全等级
KAT+TVLA 覆盖率 · 风险矩阵 · 排序筛选
ML-KEM · ML-DSA · SLH-DSA · SM2/3/4
Voronoi 胞腔 + 短向量高亮
λ₁ · Hermite γ · 高斯启发式
基向量显示 · 正交/透视切换
S² 球面均匀方向采样 · 厚管渲染
Besicovitch 针问题旋转动画
Dvir 多项式方法 · F_q 类比面板
Perron 树构造(维度滑块·旧版)→
StaticPad · Per-Phase Jitter · Budget Pooling
X=延迟预算 Y=混淆强度 Z=带宽开销
帕累托曲面 · 最佳点标注 · 经验公式拟合
五维度雷达:加密资产盘点 · 算法敏捷性
密钥生命周期 · 协议耦合度 · 组织准备度
综合 77.30/100 · 改进路线 → 78
🛠️ 你的项目得几分?→ CARS 自评工具
🔍 密码资产审计仪表盘 → 扫描你的加密依赖
📦 CBOM 加密材料清单 → CycloneDX 1.6 标准格式,供应链合规
🕸 CBOM 3D 力导向图 → 12节点 · 14条加密依赖关系可视化
🔐 《密码法》合规自评 → 12条核心条文 · 综合 88/100
三层护盾球壳:通明(理论)· 木(工程)· 火(表现)
天文分野:井鬼·鹑首·未宫(西南)↔ 尾箕·析木·寅宫(东北)
天球星宿 · 分野流光 · 天人合一叙事
点击节点查看 TLA+ / ML-KEM / SM2 / FPGA 数据
黄道十二宫环 · 巨蟹(成都·西南)↔ 人马(哈尔滨·东北)
四星座星体呼吸脉动 · 流光粒子沿连线流动 · 星空入场动画
Click node for details: TLA+ / ML-KEM / SM2 / FPGA
ML-KEM / ML-DSA 实测延迟 · 吞吐 · 功耗
3 年折旧摊销 · 年电费 / 年总成本对比
liboqs v0.16.0 实测 + Artix-7 综合
自动扫描 370 个文件 · 12 类算法 · 目录热力图
CBOM 加密材料清单 · 量子就绪风险分析
以 FIBEMATE 为样本,展示 PQC 迁移第一步:完整的密码资产可见性
30+ 个交互式工具 · 代码证据驱动
评分审计 · 性能基准 · 依赖风险 · FPGA 硬件 · 时间轴演进 — 全部基于 git 仓库真实数据
ClientHello → HKDF → App Data · 10-step 3D
NIST Level 1/3/5 阈值面 · 经典/量子切换
Based on lattice-estimator README · 15 reference points
SM2 标量乘 / ML-KEM-768 / HMAC-SM3
3D 并排柱状图 · t-value 最大值对比
λ-sets 互异 · 100% 密集 · N=2k+1
热力图 + 3D 张量场 + λ 分布 + 幂次脊
数学基础: Vandermonde 矩阵 (多项式插值)
256×256 稀疏仿射变换 · 48 维活跃子空间
群表示分解 S₂→C₅→S₃→D₄→A₄→D₆→C_Q
层间连线 + 粒子流 + 步骤动画
蓝 = Standard · 金 = Substitute
双 session 分歧比例 · 差异层白脉冲
v1.2 |t|>4.5 FAIL → v1.3 Montgomery Ladder |t|<1 PASS
阈值面 |t|=4.5 · 三版本柱状图 · 拖拽旋转
支流 ⇄ 三角洲(河流网络哲学类比)
Wreath 核心旋转环 · 镜像对称输运线
六步 3D 教学 + 实时参数面板 + 维度滑块
纯科普 · 教学示意参数,非部署参数
参数生成 → 陷门生成 → 预图像采样 → Hash-and-Sign
自动播放 8 步 3D 动画 + 公式面板 + 源码引用
实验研究组件 · 与工程验证线隔离
实验性研究可视化与示例 — 非生产密码模块,仅供学术参考与安全研究。参考实现路径依赖 ML-KEM-768 + X25519 + AES-256-GCM,不依赖以下任何实验组件。 experimental/vwz-lg 分支 ↗;
切片因子提取 → 零位齐次系统 → 伪造成功
解释 2026-09-06 公开披露与 rank-2 修复(攻击 0/27 失效)
实验研究组件 · 非生产密码模块 · 仅供学术参考
16 份关键文档 · 从合规到应急
覆盖开源公告、变更记录、安全治理、合规自评 — 从工程验证到灾难恢复全覆盖
全部 16 份文档 · CARS 综合 77.30 · 📇 可视化索引
403 文件 · 269 加密文件 · 119 依赖边 · 12 算法
P-256: 101 文件爆炸半径 · ML-KEM: 137 文件覆盖
可视化算法依赖拓扑,精确回答\"改一个算法常量要改多少文件\"
147 npm 依赖 · 1,135 源码引用 · 量子就绪度 94/100
2 个量子脆弱包(@noble/curves + sm-crypto) · 23 处 PQC 引用 · 60 个 node_modules 加密包
可复用脚本 — 扫描任意 npm 项目的量子就绪度
7 维度交互式自评向导 · 3D 雷达图 · 与 FIBEMATE 63.70 对比
接口抽象 · 配置外部化 · 版本管理 · 格式耦合 · 协议协商 · 替换成本 · 可观测性
首个在真实 PQC 工程平台上的实证验证 — 导出自包含 HTML 报告
预填 OpenSSL / liboqs / Bouncy Castle 示例 · 差异热力图 · 导出报告
组织合规层 — 从"我们在哪"到"合规要求我们做到哪"
Europol 矩阵 — P-256 爆炸半径 103 · SM2 71 直接引用 · 迁移路径建议
合规层 — 基于 NIST CSWP 48,回答"具体差哪几个 NIST 控制项没做到"
PQC 工程验证 · 时间戳存证
FIBEMATE 使用 ML-KEM-768 (NIST FIPS 203) 作为后量子密钥封装机制。
所有核心实现已通过三线测试套件并完成 RFC 3161 时间戳存证。
正式验证
- KAT 向量 9/9 全通过
- IND-CPA roundtrip 14/14 全通过 ✅ · NTT 域完全重写 · 独立参照实现 200/200 交叉验证
- 隐式拒绝安全特性
- FIPS 203 常量一致性
确定性可重现
- 同种子 → 同密钥对
- 同密钥+同种子 → 同共享密钥
- 800/800 循环验证通过
- JS / WASM 双轨自洽
FIPS 140-3 自检
- 上电自检 (POST)
- 密码算法一致性测试 (PCT)
- 软件完整性度量 (SHA-256)
- 失败自锁机制
时间戳存证
- RFC 3161 标准时间戳
- FreeTSA 授时链
- 9 个核心文件已存证(2026-06-08 快照;当前累计 372 份)
/docs/tsa/2026-06-08/· 最新存证见docs/tsa/
外部认证与评分
- OpenSSF Best Practices · Silver(主仓,44/44 MUST)· Passing(桌面端)
- OpenSSF Scorecard · fibemate 8.1(v5.6.0,2026-11-12)/ tauri 7.5(v5.5.0,2026-11-11)/ tools 6.8(v5.6.0,2026-11-12)
- CII Best Practices 项目号 13695 · 15379
openssl ts -reply -in *.tsr -text | grep "Status: Granted"
许可分层
不同目录适用不同许可,按用途分层。以下为准确边界,集成前请对照仓库内 LICENSE 与 NOTICE。
- 可嵌入式核心 — fibemate-core / fibemate-tools:Apache-2.0
- 主仓 Web 应用与协议实现 — GPL-3.0-only
- 网络组件 mixnet/ — AGPL-3.0(仅该目录;entry/exit/middle 为 ISC)
- 文档与非代码内容 — CC BY-SA 4.0
- 原生 KEM 实现 packages/pqc-kem/native/ — Apache-2.0(上游 CC0-1.0 OR Apache-2.0,此处按 Apache-2.0 使用,见 NOTICE)
需要闭源集成时,Apache-2.0 的 core 与 tools 是集成面;GPL 与 AGPL 部分可独立部署,网络 copyleft 义务仅限 mixnet/。
准备好探索后量子密码了吗?
加入 FIBEMATE,探索后量子密码工程验证
下载:Verifact 样例审计报告(PDF) · FIBEMATE 项目简介(PDF) · FIBEMATE 技术白皮书(PDF)
归档与引用
形式化代码库、技术说明、方法学分析、一份负面结果报告与一篇英文预印本已归档到 Zenodo(由 CERN 运营),各自带独立 DOI,可长期引用。
- Preprint (English, 23 pages, CC BY 4.0) — Engineering Verification of PQC: A Case Study on Formalizing VWZ in Isabelle/HOL and Supply Chain Integration (CBOM) 10.5281/zenodo.23808518 · 2026-10-30 · not peer reviewed
- Formalization codebase (v1.0.1, Apache-2.0) — 10.5281/zenodo.23622795 · concept DOI 10.5281/zenodo.23622177
- Technical note: Engineering Verification of PQC(中文, CC BY 4.0) — 10.5281/zenodo.23632173
- Methodology & Analysis (preprint, CC BY 4.0) — Deterministic but Wrong: Why Behavior-Based Tests Miss Structural Errors in Keccak-f Implementations 10.5281/zenodo.23637405
- Negative result (technical report, CC BY 4.0) — An Empirical Study of Depth-Multiplicative Trapdoor Constructions: Model Correction and Negative Results 10.5281/zenodo.23638522 · not peer reviewed · no security claim
- Formalization repository —
github.com/Lennonhaha/vwz-formalization
· tag
paper-v1.0.0 - 历史快照仓
fibemate-vwz(18 sorry)已于 2026-11-10 废弃并归档,现行仓为vwz-formalization。 - Reference implementation (pure JS) — github.com/Lennonhaha/fibemate-core · ML-KEM-768, no native addon · npm 0.1.0 · Apache-2.0
- ORCID — 0009-0009-1407-686X · Tianhe Liu · 上述 DOI 与仓库的作者标识
DOI 表示已归档且引用稳定,不等同于同行评审或机构背书。