FIBEMATE 目前处于 PQC-Ready(抗量子就绪),和 PQC-Active(抗量子正式启用)有着严格边界区分。
| 组件 | 状态 | 补充说明 |
|---|---|---|
| ML-KEM-768 算法实现 | ✅ 完成 | 纯 JS + WASM 双版本,完全兼容 FIPS 203 标准 |
| 10,000 轮 KAT 一致性测试 | ✅ 完成 | 三函数全覆盖,100% 匹配官方向量 |
| SM2-MLKEM-768 混合协议 | ✅ 设计定稿 | 持有 IANA #4590 编号,配套论文已发表 |
| SM2 国密性能多级优化 | ✅ 完成 | 五轮迭代优化,wNAF(w=4) 已合并主干 |
| FPGA NTT 硬件运算单元 | ✅ 原型完成 | SM2 与 ML-KEM 共享 NTT 硬件算力 |
| pq-wasm 编译产物 | ✅ 完成 | Rust 编译,优化等级 s+LTO+精简剥离,压缩后 27KB,单次运算 1.87ms |
| 应用层 PQC 混合密钥交换 路径 C: TLS Exporter + ML-KEM-768 + HKDF |
✅ 上线 | 不改 Nginx/OpenSSL,TLS 1.3 Session ID 绑定,会话密钥实时混合 |
| TLS 1.3 混合握手对接 路径 A: NamedGroup 原生集成 | ⬜ 待启动 | 需要改造 Nginx 与 Node.js 底层 TLS 库 |
| ClientHello 新增 #4590 扩展 | ⬜ 待启动 | 依赖 TLS 库支持自定义命名组 |
| 浏览器到服务端全链路 TLS 测试 | ⬜ 待启动 | 完整三节点联调环境 |
| 官网生产环境开启混合加密 | ⬜ 待启动 | 当前仅部署基础 SM2 证书 |
核心密码算法模块:100% 完工;应用层 PQC 混合密钥交换:100% 上线;Pre-key 协议闭环・异步 X3DH:100% 完成;网络 TLS 握手集成:0% 启动。
从 PQC-Ready 升级至 PQC-Active,瓶颈集中在 TLS 1.3 握手层,具体技术路径如下。
Client Server | | |--- ClientHello -------------> | | supported_groups: [4590, …] | | key_share[4590]: 公钥 | | | | ServerHello <------------- | | key_share[4590]: 密文 | | | | shared_secret = Decaps(…) | | = Encaps(pk) 的输出 | | | <==== SM2-MLKEM-768 混合 TLS 1.3 ===>
| 风险 | 影响范围 | 缓解手段 |
|---|---|---|
| 原生 OpenSSL 不识别 #4590 命名组 | 无法发起混合握手 | 维护 OpenSSL 定制分支,注入自定义 NamedGroup 扩展 |
| ClientHello 报文超长被网关丢弃 | 握手直接失败 | 开启 TCP 分段传输;同时保留纯 SM2 降级兜底方案 |
| ML-KEM 公钥增加 1.2KB 载荷 | 小幅提升首包体积 | 数据包增量等同于一张极小图片,现有带宽完全可承载 |
| 混合运算耗时超标 | 拖慢 HTTPS 握手 | 启用 WASM 加速,后续接入 FPGA 硬件卸载运算 |
| 阶段 | 工作内容 | 预估工时 | 前置依赖 |
|---|---|---|---|
| 第 1 周 | 发布本透明度文档 + 研读 TLS 底层源码 | 2–4 小时 | 无 |
| 第 1–2 周 | TLS 栈兼容性评估 + ClientHello 扩展原型开发 | 3–5 天 | 文档调研完成 |
| 第 2–3 周 | 首包网络测试 + 服务端混合密钥交换逻辑开发 | 5–7 天 | 完成握手报文扩展开发 |
| 第 3–4 周 | 端到端联调 + 性能压测 + 生产环境灰度部署 | 3–5 天 | 服务端密钥交换开发完毕 |
⏱ 整体工期:2–4 周,最终工期取决于 TLS 底层库的修改工作量。
A:客观如实说明:已完成基础能力部署。ML-KEM-768 算法已经实现并通过 KAT 严格校验。路径 C(应用层混合密钥交换)已上线:每次 HTTP 请求可实时混合 PQC 会话密钥,绑定 TLS 1.3 Session ID。但这不等于完整的抗量子正式管网(PQC-Active),因为 TLS 握手本身仍使用经典 SM2 椭圆曲线。后续路径 A(TLS 1.3 NamedGroup 原生集成)仍在规划中,届时才可实现全链路 PQC 保护。本页面会持续更新部署进度。
A:预计 2–4 周内完成 TLS 1.3 混合握手集成,届时官网将全面启用 SM2-MLKEM-768 国密后量子混合加密。最终上线时间取决于 OpenSSL、Nginx 的源码改造难度。
A:后量子升级不只是单纯调用密码库函数。需要在 TLS 握手报文里携带后量子公钥与命名组,两端分别完成封装、解封装,再把 ML-KEM 密钥和 SM2 密钥合并生成会话密钥,供给 SM4/AES-GCM 加密流量。整套流程必须修改底层 TLS 协议栈,无法只靠上层业务代码实现。
A:当前采用 TLS 1.3 + SM2 椭圆曲线 + ECDHE 密钥交换,安全等级为传统 128 位安全强度,不具备抗量子破解能力,详细内容可以查阅 安全性验证文档。
A:代表我们的代码实现和 NIST FIPS 203 官方参考实现完全一致,一万轮随机测试向量全部命中标准答案,保证算法无逻辑漏洞。但算法实现正确,不等于已经部署到线上通信链路。可查阅 完整 KAT 测试报告。
A:二者后量子安全强度一致,底层共用 ML-KEM-768;区别在于经典密钥交换算法:
A:FIBEMATE 目前暂未开源,开源计划定于 2026 年 8 月。你可以持续跟踪本页面进度,技术建议可发送至项目官方邮箱。
⚠ 实验性模块 · 默认关闭 · 不影响生产加密
FIBEMATE 研究线包含两条独立子线——LookingGlass(DMTH 多嵌套 Kronecker 镜面防御)和 VWZ(格-张量混合签名方案)——它们独立于 SM2/ML-KEM/Cheshire Cat 底盘运行,即使数学假设不成立,也不会影响已有加密服务。
FIBEMATE 研究线的核心目标是在标准后量子密码(PQC)之上探索「正交防御」——通过不同于主流 PQC 的数学结构,为通信安全提供与标准方案计算独立的额外保护层。
LookingGlass 的核心思路是在无结构格(LWE)之上叠加一层「陷门隐藏」——通过多嵌套 Kronecker 镜像层,使攻击者在即便突破标准 LWE 后,仍需逆向工程额外 d-1 层结构才能完成解密。
| 验证项 | 方法 | 结果 | 存证 |
|---|---|---|---|
| 核心模块开发 | 自研 6 模块 951 行 (TensorOps / MirrorLayer / InfiniteMirror / TrapdoorGenerator) | ✅ 完成 | lg-001~020 |
| 单元测试 | Jest 36 项功能覆盖 | 36/36 全绿 | lg-001~020 |
| 集成测试 | FIBEMATE 主线集成 Smoke 35 + E2E 31 | 64/64 全绿 | lg-023~032 |
| 层间独立性 | χ² 拟合优度, 7 参数扫描 (n=8/16/32, σ=1/3/5, α=0.01, 5×10⁴ 样本) | Cohen's w ≤ 0.258 (可忽略) | lg-018~020 |
| BKZ 结构分析 | Kannan 格嵌入 + LLL 规约 (n=4–8) | 确认公钥为标准 LWE 实例 | lg-033~034 |
| 安全模型修正 | DMH→DMTH (深度可乘性硬度→深度可乘性陷门硬度) | ✅ 完成, 论文 v2 | lg-035~038 |
| FIBEMATE 集成 | 透明嵌入, ENABLE_LOOKINGGLASS=false 默认 | ✅ 零侵入 | lg-023~032 |
| 张量运算 TVLA 仿真 | Hamming Weight 模型, N=10,000, 掩码版 max|t|=0.72, 0/320 fail | ✅ 全绿 | lg-040 |
VWZ(Vandermonde-Wang-Zhang)是 FIBEMATE 的独立研究子线——基于 Vandermonde 结构的格-张量混合签名方案。核心创新:公钥稀疏 Rank-1 压缩(64.5×),签名尺寸 36B (k=8)。与 LookingGlass 的 DMTH 假设正交,VWZ 的安全性依赖于 Vandermonde 编码的纠错困难性。
| 验证项 | 方法 | 结果 | 存证 |
|---|---|---|---|
| Hash-and-Sign 原型 | Python 参考实现, k=8 公钥 468B/签名 36B, k=16 公钥 1.7KB/签名 68B, k=32 公钥 6.3KB/签名 132B | 6/6 全绿 | lg-039 |
| VWZ 常数表预计算 | Vandermonde 全局常数表 (k=2/4/8/16/32), k=32 崩溃修复 (col3 平方碰撞, safe_alphas() 拒绝 ± 对) | 14/14 全绿 | lg-039 |
| Rust/WASM 双轨实现 | constants.rs 345行 + structured.rs 128行, cargo test 29/29, wasm-pack build 96.9KB (gzip ~46KB) | ✅ 编译通过 | lg-039 |
| Rank-1 稀疏压缩 | 公钥 8.16MB→129.5KB (64.5×), 验签 4.28M→66K 次运算, JS 小规模验证零误差 | ✅ 等价性通过 | lg-041 |
| Hull 攻击评估 | Couvreur & Levrat (Inria 2025/596), 对 VWZ κ=128: Õ(q¹³⁰) ≥ 2²⁰⁸⁰ | ✅ 不可行 | lg-041 |
| FPGA BRAM 求解器 | Artix-7 A7-35T, vwz_lambda_rom.v + vwz_solve_preimage.v, 行为模型 5/5 PASS, ~503 cycles = 10μs @50MHz | ✅ 综合就绪 | lg-041 |
| 双签名路径 | solve_preimage_sparse (通用随机 Λ) + solve_preimage_fast (固定 Vandermonde Λ, 零 pow) | ✅ 闭合 | lg-041 |
| 参数 | DMTH 陷门结构 | 实际安全强度 (标准 LWE bound) |
|---|---|---|
| n=8, d=2, q=3329 | 浅层嵌套 (d=2) | ~81 bits |
| n=16, d=2, q=3329 | 浅层嵌套 (d=2) | ~162 bits |
| n=32, d=3, q=3329 | 中层嵌套 (d=3) | ~323 bits |
DMTH 列仅为定性结构复杂度分级(浅层/中层/深层),不分配具体安全 bit 数。实际安全强度仅由标准 LWE bound 决定 | → 非专业语言说明。
研究线共享 FIBEMATE 的「柴郡猫」侧信道防护体系:
→ 详见 SM2 TVLA 侧信道检测报告
| 结局 | 场景 | FIBEMATE 的价值 |
|---|---|---|
| A. 假设成立 | DMTH 陷门确实为 LWE 公钥提供了额外的结构混淆 | FIBEMATE 成为第一个拥有「正交安全层」的 PQC 通信系统——即使 LWE 被量子算法攻破,DMTH 陷门维持结界 |
| B. 假设被攻破 | 密码分析发现 Kronecker 嵌套在 LWE 下可被多项式时间剥离 | FIBEMATE 依然是一个经过 TVLA 验证的混合 PQC 通信系统(ML-KEM-768 + SLH-DSA + SM2)- 工程线不受任何影响。同时,「为什么这种陷门不工作」的分析本身是一篇有价值的负结果论文 |
| C. 长期悬置 | 像许多密码学假设一样,DMTH 既未被证明也未被推翻 | LookingGlass 作为「探索性模块」持续存在,每个新版本保留其代码但不默认启用——这是学术透明度的实践:不隐藏失败过的尝试,也不假装确定未验证的假设 |
FIBEMATE 不是「量子安全通信」的又一个实现——它是在标准 PQC 之上叠加「正交防御」的实验
| 项目 | 策略 | FIBEMATE 的不同 |
|---|---|---|
| Signal / WhatsApp | ML-KEM-768 替换 ECDH(natively via PQXDH) | Signal 做的是密钥交换替换——在现有协议中用 PQC 算法替换经典 ECDH。FIBEMATE 做的是架构叠加——在标准 PQC 之上增加计算正交的防御维度 |
| QRL (Quantum Resistant Ledger) | XMSS 一次性签名 + Dilithium/Sphincs+ | QRL 解决的是「区块链签名」问题,且使用状态化方案(XMSS 需跟踪签名次数)。FIBEMATE 解决的是「即时通信」问题,使用无状态方案 + 独立研究线 |
| Algorand / Q blockchain | Falcon 后量子签名实现 | 这些项目在移植已知的后量子算法。FIBEMATE 在探索标准 PQC 之外的数学方向 |
| Open Quantum Safe (liboqs) | PQC 算法的统一 C 库实现 | FIBEMATE 使用了 liboqs 的部分参考,但不依赖它——所有核心原语有独立实现,便于 TVLA 测试和学术复现 |
一句话:如果 PQC 标准化竞赛在明天结束,Signal 和 QRL 已经部署了标准答案;FIBEMATE 在问「标准答案之后还有什么」。
✅ 代码验证已完成 · 实验验证已完成 · 安全模型已修正 · 数学假设正在公开检验中
DMTH 假设无已知反例。LookingGlass 默认关闭,不影响生产加密。VWZ 签名方案已完成全链路 Rust→WASM→前端部署。论文 v2 已发布,等待同行评议。
LookingGlass 全系列 43 份 DigiCert/FreeTSA TSR 存证 · 2026-06-28 · 批次 lg-001~lg-043 全部 Granted ✅ (含 v2 独立存证)
⚠ v2 为独立实验分支 · 默认关闭 · 不写入生产加密 · 在私仓维护
v2 与 v1 (DMTH) 的核心区别:v1 的普通 Kronecker 嵌套在 d≥4 时可被合并为单一矩阵 → 失效;v2 通过舒尔引理 + 六层互不等价不可约群表示,在数学上证明层间永远不会被合并。但底层 LWE 安全强度不变 — BKZ 仍然可破最内层格。
| 层 | 群 | 维度 | 说明 |
|---|---|---|---|
| L1 | S₂ (对称群) | 1 | 平凡表示 |
| L2 | C₅ (循环群) | 1 | ω⁵=1 旋转 |
| L3 | S₃ (置换群) | 2 | 符号 + 置换 |
| L4 | D₄ (二面体群) | 2 | 90° 旋转 + 反射 |
| L5 | A₄ (交错群) | 3 | 四面体旋转 |
| L6 | D₆ (二面体群) | 2 | 60° 旋转 + 反射 |
commuting_matrix_test.py → 零空间 = 0。| 验证项 | 方法 | 结果 | 存证 |
|---|---|---|---|
| Rust 核心实现 | Kronecker 递归嵌套 (kron_recursive), expand_to_256 identity padding, mat_vec_mul over Z₃₃₂₉ | ✅ 完成 | lg-042 |
| 单元测试 | cargo test --release | 6/6 全绿 | lg-042 |
| Python roundtrip | 256 维正向→逆向循环验证 | 零误差 | lg-042 |
| 无公共交换矩阵证明 | commuting_matrix_test.py 构建对易方程 → 零空间维度 | 零空间 = 0 ✅ | lg-042 |
| WASM 编译 | wasm-pack build --target web --release, wasm-opt -Oz | 17.89KB (gzip <5KB) | lg-042 |
| 线上部署 | fibemate.net/wasm/lookingglass_v2_bg.wasm | HTTP 200, application/wasm | lg-042 |
| 时间戳存证 | 数学证明 + 源码哈希 + WASM 哈希 → FreeTSA (RFC 3161) | ✅ Verified OK | lg-043 |
| 攻击者 | 星等 | 结论 |
|---|---|---|
| 自动化批量破解 | ★★★★★ | 无全局合并矩阵,一键拆解完全阻断 |
| 普通密码分析师 | ★★★★☆ | 能算 LWE 解但写不出逐层逆变换代码 |
| 顶尖代数密码人员 | ★★★☆☆ | 可逐层剥离但 d=6 工时成倍拉长,无法批量化简 |
| 侧信道碎片拼接 | ★★★★★ | 张量置换打乱比特排布,碎片无法拼接 |
本页面属于 FIBEMATE 透明度公开承诺,状态发生变更将即时修订正文。
DigiCert/FreeTSA 可信时间戳存证 · 2026-06-28 · pqc-readiness.tsr