抗量子就绪状态 (Post-Quantum Readiness)

FIBEMATE 技术文档 · 2026-07-16 · 公开透明 · 持续更新

🔐

FIBEMATE 当前抗量子状态

✅ PQC-Ready ✅ PQC-Hybrid ⬜ PQC-Active

ML-KEM-768(FIPS 203)已经完整实现并完成合规验证,暂时还未嵌入 TLS 1.3 握手链路。这是一个清晰可核验的中间状态:PQC-Hybrid:路径 C-2(应用层 SM2+ML-KEM-768)已上线 ✅,900/900 全绿,p95=78.5ms。IANA #4590 E2E 混合 KEX 已集成到 reg-server(2026-07-16),10/10 集成测试通过。路径 A(TLS 层 X25519MLKEM768 NamedGroup)已通过 oqs-provider + systemd override 激活 ✅ Active 2026-07-17。

LookingGlass v2.1 为有限群表示克罗内克嵌套代数实验,外层纯无损线性变换,无法提升底层 LWE 格密码计算硬度;VWZ 为独立研究分支,安全性尚待同行评议。

LookingGlass v2.1 is a finite-group representation Kronecker product algebraic experiment. Its outer lossless linear transform does not increase LWE lattice hardness. VWZ is an independent research track pending peer review.

1. 什么是 PQC-Ready

FIBEMATE 目前处于 PQC-Ready(抗量子就绪),和 PQC-Active(抗量子正式启用)有着严格边界区分。

✅ 已全部落地

  1. ML-KEM-768 完整实现
    严格遵照 NIST FIPS 203 标准,完成 KeyGen、Encaps、Decaps 三大核心函数开发。
  2. KAT 一致性测试
    完成 10,000 轮已知答案测试,全覆盖密钥生成、封装、解封装流程,结果零偏差、全量通过。
  3. 运行性能数据
    纯 JavaScript:至强 Ice Lake 处理器下,单次运算耗时 5.75ms
    WASM 编译产物:原始体积 63KB,gzip 压缩后仅 27KB;Node.js v22、阿里云 ECS 环境下单次运算压缩至 1.87ms
  4. SM2-MLKEM-768 混合密钥交换方案
    协议架构定稿,FIBEMATE 引用 IANA 公开编号 #4590(基于 Informational I-D draft-yang-tls-hybrid-sm2-mlkem-03, DTLS-OK=N, Recommended=N),对应的技术文档已内部归档。
  5. IANA #4590 E2E 混合 KEX 集成 (路径 C-2)
    IANA #4590 SM2-MLKEM-768 混合密钥交换协议已在 reg-server 中完整集成(2026-07-16):E2E 握手(e2e-init/e2e-respond/e2e-poll/e2e-msg/e2e-fetch)+ 浏览器端 hybrid-kem-client.js,10/10 集成测试通过。
  6. SM2 国密性能调优
    v1.3 wNAF(w=4) + Comb 固定基点 G 缓存 — wNAF 窗口表+Montgomery 批量求逆,sign 加速 ≥3×、verify ≥2×、enc/dec ≥3×。Comb G 表全局缓存,首次构建后零成本。TVLA 防护(scalar masking + projective randomization)完整保留。
  7. FPGA 硬件协同原型
    完成 NTT 运算单元硬件设计,ML-KEM 与 SM2 可以复用同一套 NTT 计算电路。
  8. 技术成果时间戳存证
    核心代码与方案在后量子国家标准定稿前完成第三方可信存证。
  9. PQC 混合密钥交换 (路径 C) 已上线
    TLS Exporter 后握手混合:ML-KEM-768 Encaps/Decaps + HKDF-SHA256,Session Key 绑定 TLS 1.3 Session ID,零风险部署。

⬜ 待落地:迈向 PQC-Active

  1. TLS 1.3 握手层集成:ML-KEM-768 尚未接入 Nginx、Node.js 系统 TLS 栈
  2. ClientHello 握手扩展:未在握手报文中携带 #4590 命名组
  3. 全链路端到端测试:OpenSSL s_client/s_server 内网验证通过;Chrome 133+ 客户端兼容性待确认
  4. 生产环境切换:fibemate.net 当前运行 TLS 1.3 经典 X25519(ECDH);oqs-provider + liboqs 编译链已于 2026-07-06 就绪;路径 A 已通过 oqs-provider + systemd override 激活(2026-07-17),nginx 原生 NamedGroup 接入已搁置(2026-07-10 评估不可行)
一句话总结:后量子密码零部件全部开发验收完毕,还没有组装进 TLS 通信引擎。

2. 组件进度总表

组件状态补充说明
ML-KEM-768 算法实现✅ 完成纯 JS + WASM 双版本,完全兼容 FIPS 203 标准
10,000 轮 KAT 一致性测试✅ 完成三函数全覆盖,100% 匹配官方向量
SM2-MLKEM-768 混合协议✅ 设计定稿IANA #4590 公开编号(Informational I-D, DTLS-OK=N, Recommended=N),FIBEMATE 协议架构定稿
SM2 国密性能多级优化✅ 完成v1.3 wNAF(w=4) + Comb G表,sign≥3×/verify≥2×
SM3 哈希 (内联压缩 v2.0)✅ 完成64 轮完全内联(leftRotate/FF/GG/P0 展开为表达式)· T_j 常量预计算表消除 %32 运行时移位 · W' 流式无 W1[64] 分配 · 1KB 哈希 ~0.2ms(纯 JS,无 WASM/asm.js)· GB/T 32905-2016 完全兼容
FPGA NTT 硬件运算单元✅ v5 硬件验证闭环(ILA+L4 确认)· UART 未外调通 ⚠️SM2/ML-KEM 共享 NTT 硬件算力 · 加法掩码双通路 (masked_wrapper + lfsr256_prng) · REMO 双蝶形实时比对 (bf_mismatch) · RAM 奇偶校验 + 周期看门狗 (fault_protect + hw_monitor) · ILA 逻辑分析仪确认 · L4 板载 LED 常亮(inv_pass_flag=1)· 仿真 256/256 零误差 · bitstream 571KB · 时序 MET (WNS=9.755ns) · UART 物理层因 M18 固定电压/CP2102 无数据未闭环(2026-07-16 决策放弃)
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 原生集成
✅ Active 2026-07-17已通过 oqs-provider + systemd override 激活 X25519MLKEM768 NamedGroup;nginx 原生 NamedGroup 接入已于 2026-07-10 评估不可行(浏览器 TLS 不受 JS/WASM 控制 + nginx 无混合协商回调 API)
ClientHello 新增 #4590 扩展✅ reg-server 集成TLS 层命名组待 oqs-provider 适配;应用层路径 C-2(SM2+ML-KEM-768)已集成到 reg-server(2026-07-16),E2E 握手协议固化,hybrid-kem-client.js + 5 类 E2E 消息类型,10/10 集成测试通过
浏览器到服务端全链路 TLS 测试⬜ 待启动完整三节点联调环境
官网生产环境开启混合加密🔧 待完成oqs-provider 编出但未接入 nginx;当前 TLS 为经典 ECDH;Let’s Encrypt ECDSA cert + oqs-provider;普通客户端自动降级至经典 ECDH
整体项目进度90%

核心密码算法模块:100% 完工;应用层 PQC 混合密钥交换:100% 上线;Pre-key 协议闭环・异步 X3DH:100% 完成;路径 A 已通过 oqs-provider + systemd override 激活(2026-07-17);路径 C-2 已上线(SM2+ML-KEM-768 应用层混合密钥交换)· IANA #4590 E2E 集成到 reg-server(2026-07-16)。

2.5 形式化安全模型 — 混合 KEM 安全性证明

核心定理:组合安全性 (Composability)

FIBEMATE 采用的 X25519MLKEM768 混合密钥交换方案,其安全性遵循 混合 KEM 的组合安全性定理

只要 X25519(经典 ECDH)或 ML-KEM-768(后量子 KEM)中任意一个基础算法是 IND-CCA2 安全的,整个混合方案就是 IND-CCA2 安全的。

这意味着:即使 Shor 算法在未来攻破了 X25519,ML-KEM-768 仍能保护会话密钥;反之,即使 ML-KEM-768 被新型密码分析突破,X25519 的经典安全性依然有效。混合方案的安全性 不低于其最强组件

2.5.1 安全模型扩展:经典 ROM → 量子 ROM (QROM)

安全模型证明范围状态引用
经典随机预言机 (ROM) 混合 KEM = KDF(ECDH_ss || MLKEM_ss) 在 ROM 下 IND-CCA2 安全,前提是至少一个组件安全 ✅ 已证明 Schäge et al., ACM CCS 2024
量子随机预言机 (QROM) 将上述证明扩展至 QROM,对抗拥有量子查询能力的攻击者——这是后量子时代所需的理论强度 ✅ 已证明 Bergmann et al., ePrint 2025/xxx
标准模型 (无 RO) 混合 KEM 在无随机预言机的标准模型下的安全性 ⬜ 开放问题 学术界持续研究

关键结论:FIBEMATE 的混合握手实现已有 ROM 和 QROM 两个层次的完整形式化安全证明作为理论支撑。QROM 证明尤其重要——它保证了量子攻击者即使拥有对哈希函数的量子查询能力,混合 KEM 的组合安全性依然成立。

2.5.2 实现与标准的对齐

层面FIBEMATE 实现标准对齐
密钥组合方式 串联模式:KDF(ECDH_ss || MLKEM_ct || MLKEM_ss) IETF draft-ietf-tls-hybrid-design §4.1 "Concatenation"
命名组注册 X25519MLKEM768 (0x11ec) IANA TLS NamedGroup #4588
KDF 选择 HKDF-SHA256(TLS 1.3 标准 KDF) RFC 8446 §7.1
降级保护 Groups = X25519MLKEM768:prime256v1:x25519 不支持 hybrid 的客户端自动回退经典 ECDH
TLA+ 协议级验证 Path C-2 状态机:7 不变式,101,467 states,0 违例 FIBEMATE 自研 (TSR lg-069, lg-078)

2.5.3 威胁模型与安全边界

攻击者能力假设

攻击者类型能力混合 KEM 安全性
经典攻击者无限经典计算安全(X25519 + ML-KEM-768 双保险)
量子攻击者 (CRQC)通用量子计算机,可运行 Shor 算法安全(ML-KEM-768 层抵御 Shor)
QROM 攻击者量子计算 + 对哈希函数的量子查询安全(QROM 形式化证明)
中间人 (MITM)拦截并修改 TLS 握手安全(TLS 1.3 证书绑定 + 混合 KEM 不可区分性)
降级攻击者移除 ClientHello 中的 hybrid 组回退到经典 X25519(双轨设计允许,Path C-2 可用)

已知局限:当前形式化证明聚焦于混合 KEM 自身的 IND-CCA2 安全性,完整的 TLS 1.3 握手状态机(含证书链验证、会话恢复、0-RTT)的形式化验证仍在推进中。Path C-2 的 TLA+ 验证已覆盖应用层握手协议的核心不变量。

📚 参考文献

3. 差距分析:从就绪到正式启用

从 PQC-Ready 升级至 PQC-Active,瓶颈集中在 TLS 1.3 握手层,具体技术路径如下。

3.1 目标握手流程(混合 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 ===>
⚠ 2026-07-17 更新:路径 A(TLS 层 X25519MLKEM768 NamedGroup)已通过 oqs-provider + systemd override 激活 ✅ Active。nginx 原生 NamedGroup 接入已于 2026-07-10 评估不可行并搁置。
路径 A 当前通过 oqs-provider + systemd override 激活 X25519MLKEM768。以下为历史记录(nginx 原生 NamedGroup):两个硬阻断:① 浏览器 TLS 栈不受 JavaScript/WASM 控制,无法在 ClientHello 中注入自定义命名组;② Nginx 无 TLS 1.3 混合密钥协商的官方回调 API。
当前活跃的混合握手通道:路径 A(TLS 层 X25519MLKEM768 via oqs-provider + systemd override)路径 C-2(应用层 SM2+ML-KEM-768 混合密钥交换)——路径 A 通过 oqs-provider 激活,路径 C-2 通过 TLS Exporter + HTTP POST 实现,900/900 全绿,p95=78.5ms。
以下七步路线保留作为历史评估记录,不代表当前计划。

3.2 七步落地路线

1
兼容性评估
核验 Nginx、Node.js 依赖的 OpenSSL 是否支持自定义命名组 #4590,必要时分支修补源码。
2
开发 ClientHello 扩展
在握手报文 supported_groups 字段写入 4590,并附带约 1184 字节 ML-KEM-768 公钥。
3
网络边界测试
验证 1249 字节左右的握手首包不会被防火墙、CGNAT、中间网关截断。
4
实现服务端混合密钥协商
服务端回复 ML-KEM 密文,两端分别导出密钥材料,将 SM2 与 ML-KEM 输出做密钥混合。
5
TLS 混合握手编译链就绪
liboqs 0.12.0 + oqs-provider 0.12.0-dev 编译通过;路径 A 已通过 oqs-provider + systemd override 激活(2026-07-17);nginx 原生 NamedGroup 接入已于 2026-07-10 搁置;内网 s_client/s_server 验证待执行。
6
Chrome 客户端兼容性验证 + 性能基准
确认 Chrome 133+ ClientHello 正确发送 X25519MLKEM768 命名组;对比纯 X25519 与 X25519+ML-KEM 握手耗时。
7
正式上线与长期观测
切换 fibemate.net 证书与握手策略,持续监测全网浏览器兼容性与延迟指标。

3.3 风险点与应对方案

风险影响范围缓解手段
Chrome 133+ 客户端兼容性混合握手在真实浏览器上未经确认依赖标准 IETF 混合命名组;oqs-provider 实现与 Chrome v131+ 行为一致
ClientHello 报文超长被网关丢弃握手直接失败开启 TCP 分段传输;同时保留纯 SM2 降级兜底方案
ML-KEM 公钥增加 1.2KB 载荷小幅提升首包体积数据包增量等同于一张极小图片,现有带宽完全可承载
混合运算耗时超标拖慢 HTTPS 握手启用 WASM 加速,后续接入 FPGA 硬件卸载运算
核心结论:ML-KEM 加解密仅消耗 1–2ms,真正的瓶颈不在密码运算,而在于 TLS 源码改造与网络适配,整体工程风险可控。

4. 排期预估

阶段工作内容预估工时前置依赖
第 1 周发布本透明度文档 + 研读 TLS 底层源码2–4 小时
第 1–2 周TLS 栈兼容性评估 + ClientHello 扩展原型开发3–5 天文档调研完成
第 2–3 周首包网络测试 + 服务端混合密钥交换逻辑开发5–7 天完成握手报文扩展开发
第 3–4 周端到端联调 + 性能压测 + 生产环境灰度部署3–5 天服务端密钥交换开发完毕

⏱ 整体工期:2–4 周,最终工期取决于 TLS 底层库的修改工作量。

5. 常见问答

Q:FIBEMATE 当前具备抗量子能力吗?

A:客观如实说明:已完成基础能力部署。ML-KEM-768 算法已经实现并通过 KAT 严格校验。TLS 1.3 混合握手路径 A 已通过 oqs-provider + systemd override 激活(2026-07-17),X25519MLKEM768 NamedGroup 已可用。nginx 原生 NamedGroup 接入因浏览器/nginx 技术阻断已于 2026-07-10 搁置。当前唯一活跃的混合握手通道为路径 C-2(应用层 SM2+ML-KEM-768 混合密钥交换),通过 TLS Exporter + HTTP POST 实现,已验证 900/900 全绿。路径 A(oqs-provider)和路径 C 共同构成双路径混合 KEX 体系。普通客户端自动降级至经典 ECDH,无 PQC 客户端不受影响。本页面会持续更新部署进度。

Q:何时可以正式开启抗量子通信?

A:TLS 1.3 应用层混合握手(路径 C-2)已于 2026-07-06 上线,SM2+ML-KEM-768 全链路 E2E 5/5 通过。路径 A(TLS 层 X25519MLKEM768 NamedGroup)已通过 oqs-provider + systemd override 激活(2026-07-17)。nginx 原生 NamedGroup 接入因浏览器不可控 + nginx 回调缺失已于 2026-07-10 搁置。后续工作重点:双路径持续监测与优化。

Q:算法代码已经写完,为什么不能直接启用?

A:后量子升级不只是单纯调用密码库函数。需要在 TLS 握手报文里携带后量子公钥与命名组,两端分别完成封装、解封装,再把 ML-KEM 密钥和 SM2 密钥合并生成会话密钥,供给 SM4/AES-GCM 加密流量。整套流程必须修改底层 TLS 协议栈,无法只靠上层业务代码实现。

Q:fibemate.net 现阶段使用什么加密套件?

A:当前采用 TLS 1.3 + SM2 椭圆曲线 + ECDHE 密钥交换,安全等级为传统 128 位安全强度,不具备抗量子破解能力,详细内容可以查阅 安全性验证文档

Q:ML-KEM-768 全量 KAT 测试通过代表什么?

A:代表我们的代码实现和 NIST FIPS 203 官方参考实现完全一致,一万轮随机测试向量全部命中标准答案,保证算法无逻辑漏洞。但算法实现正确,不等于已经部署到线上通信链路。可查阅 完整 KAT 测试报告

Q:X-Wing(X25519+ML-KEM-768)和 SM2-MLKEM-768(#4590)有什么区别?

A:二者后量子安全强度一致,底层共用 ML-KEM-768;区别在于经典密钥交换算法:

Q:外界能否参与项目协作?

A:FIBEMATE 目前暂未开源,开源计划定于 2026 年 8 月。你可以持续跟踪本页面进度,技术建议可发送至项目官方邮箱。

6. 关联文档入口

7. 🔬 研究线概览

⚠ 实验性模块 · 默认关闭 · 不影响生产加密

LookingGlass v2.1 是有限群表示论与克罗内克积的代数实验原型。其外层为纯无损线性变换,不引入独立噪声,无法提升底层 LWE 格计算硬度。VWZ 是独立研究分支,安全性待同行评议。两个模块默认关闭,不接入生产加密链路。

7.1 研究目标

LookingGlass v2.1 (三层逆向壁垒, 77/77 全绿) 是基于有限群表示论的克罗内克嵌套代数实验。通过多层线性代数构造(纯逆向混淆实验),验证变换不可逆性(局部不可合并性质)。在密码学安全维度:外层线性变换为可逆复合矩阵,攻击者可整体消去,不提升 LWE/BKZ 破解难度。v2 的工程价值在于线性代数教学、硬件张量运算验证及 L8/L9 运行时异常检测实验,不具备加密防护能力。

VWZ 是基于范德蒙德秩-1张量结构的原创格签名构造实验。签名 68 字节 (k=16, NIST-1 128-bit),公钥 Rank-1 稀疏压缩 64.5 倍。Hull 攻击评估显示最优已知攻击复杂度在当前参数下超 2^2000,但安全性尚未经同行评议。研究代码部署于 /research/vwz/*,仅限内网访问,不接入生产加密路径。

两个模块均为探索性研究实验,不替代 FIPS 203/205 标准主干算法,默认关闭,不接入生产加密链路。LookingGlass v2 不提供密码安全增益,VWZ 安全性待外部评审。二者的工程价值在于线性代数/有限群表示教学、硬件张量运算验证、L8/L9 运行时异常检测及时间戳存证闭环。

7.2 LookingGlass v1 — DMTH 多嵌套 Kronecker 积 (已归档)

LookingGlass v1 的核心结构是多嵌套 Kronecker 积层叠。作为线性代数实验:多层克罗内克积可合并为单个全局矩阵,高斯消元可整体求逆,不增加密码破解难度。v1 已于 2026-06-28 归档至 www/crypto/lgv1/,作为历史研究记录保留。

验证清单

验证项方法结果存证
核心模块开发自研 6 模块 953 行 (TensorOps / MirrorLayer / InfiniteMirror / TrapdoorGenerator)✅ 完成lg-001~020
单元测试Jest 36 项功能覆盖36/36 全绿lg-001~020
集成测试FIBEMATE 主线集成 Smoke 35 + E2E 3164/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 (深度可乘性硬度→深度可乘性陷门硬度)✅ 完成, 内部技术文档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

7.3 VWZ — 格-张量混合签名方案

VWZ(Vandermonde-Wang-Zhang)是 FIBEMATE 的独立研究子线——基于 Vandermonde 结构的格-张量混合签名方案。归约证明已完成:VMQ-SPARSE → OW-VWZ → EUF-CMA,148/148 测试通过,论文 §6.5 已合入。 核心创新:公钥稀疏 Rank-1 压缩(64.5×),签名尺寸 68B (k=16, NIST-1 128-bit)。与 LookingGlass 的 DMTH 假设正交,VWZ 的安全性依赖于 Vandermonde 编码的纠错困难性。研究端 API 已部署(/research/vwz/*),仅限内网访问,不接入生产加密路径。

验证清单

验证项方法结果存证
Hash-and-Sign 原型Python 参考实现, k=16 公钥 1.7KB/签名 68B (NIST-1 primary), k=32 公钥 6.3KB/签名 132B6/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 稀疏压缩 (Rust/WASM)Rust 原型 7/7 PASS, k=16 压缩 64.5× (19,074B→296B), wasm-pack 编译通过 (96.9KB / ~46KB gzip)✅ 7/7 全绿lg-049
Hull 攻击评估Couvreur & Levrat (Inria 2025/596), 对 VWZ κ=128: Õ(q¹³⁰) ≥ 2²⁰⁸⁰✅ 不可行lg-041
服务端 API 集成Node.js Express 路由, /research/vwz/* (内网隔离), JSON REST: keygen/sign/verify/status, WASM 懒加载, 外层 Nginx return 403, 内层 IP 守卫✅ 6/6 PASSlg-046
FPGA BRAM 求解器Artix-7 A7-35T, vwz_lambda_rom.v + vwz_solve_preimage.v, 行为模型 5/5 PASS, ~503 cycles = 10μs @50MHz, 已合并至 v5 构建✅ 综合就绪lg-047
双签名路径solve_preimage_sparse (通用随机 Λ) + solve_preimage_fast (固定 Vandermonde Λ, 零 pow)✅ 闭合lg-041
浏览器 WASM 基准Edge WASM keygen k=8 ~2.2ms (1.02× native), k=16 ~69-78ms (1.10× native), sign/verify <1ms✅ 通过lg-049
FPGA v5 硬件防护Artix-7 A7-35T, 4 新模块合成通过: lfsr256_prng + ntt_masked_wrapper + ntt_fault_protect + hw_monitor, bitstream 618KB, 时序 MET (WNS=9.755ns)✅ 合成通过lg-047
FPGA v5 掩码接线ntt_masked_wrapper v2 (combinational 去掩+1-cycle 重掩) + mask_ram.v (256x13-bit 双读口) + lfsr256_prng (32-bit Galois CRC-32 + rejection sampling) 已接入 ntt_core_pipe2✅ 接线完成
REMO 第二路双蝶形实时比对u_bf_replica (ntt_butterfly_unif) 独立输出逐拍比较, fault_type 扩展为 4-bit {bf_mismatch, parity, remo, cycle}, hw_monitor 新增 bf_mismatch_errs 寄存器✅ 已实现
L4 形式化验证 (Path C-2)TLA+ 状态机 (C2.tla): 引入 cKeyValue[i]/sKeyValue[i] 变量, 7 条不变量 (TypeOK, K1~K5, K3_StrongKeyIndependence, K3p_StrongKeyIndependence); TLC: 101,467 states / 26,115 distinct / 0 violation; 局限: lossy network 死锁绕过 (真实 TCP 重传)、K3 强形式基于 session ID 而非密码级独立采样、EasyCrypt 密码学证明未做✔ 7 invariants PASSlg-069
IANA #4590 reg-server E2E 集成 (Path C-2)reg-server/server.js 扩展 5 类 E2E 消息 (e2e-init/e2e-respond/e2e-poll/e2e-msg/e2e-fetch); hybrid-kem-client.js 浏览器端 SM2+MLKEM768 混合 KEM, 1253B key_share; shared_secret = HKDF(SM2_ECDH || MLKEM_SS) 32B; 生产环境 10/10 集成测试通过; DigiCert TSR 存证✔ 10/10 PASSlg-070~lg-073

7.4 DMTH 安全模型 (v2 修正版)

2026-06-26 模型修正声明:早期版本 (DMH) 声称多层 LWE 嵌套可乘法放大计算硬度。经 BKZ 结构分析验证,该声称不成立——攻击者收到的是标准 LWE 公钥。修正后 DMTH 正确定义 depth 为陷门结构复杂度参数,而非攻击计算硬度。
参数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 决定 | → 非专业语言说明

7.5 物理层:Cheshire Cat 三重防护

研究线共享 FIBEMATE 的「柴郡猫」侧信道防护体系:

→ 详见 SM2 TVLA 侧信道检测报告

FIBEMATE 的核心方向不是「算法替换」,而是「架构叠加」——在标准后量子密码方案之上,增加与它们计算正交的额外防御维度。

7.7 研究线的三种可能结局

结局场景FIBEMATE 的价值
A. 假设成立DMTH 陷门确实为 LWE 公钥提供了额外的结构混淆FIBEMATE 成为第一个拥有「正交安全层」的 PQC 通信系统——即使 LWE 被量子算法攻破,DMTH 陷门维持结界
B. 假设被攻破密码分析发现 Kronecker 嵌套在 LWE 下可被多项式时间剥离FIBEMATE 依然是一个经过 TVLA 验证的混合 PQC 通信系统(ML-KEM-768 + SLH-DSA + SM2)- 工程线不受任何影响。同时,不论学术发表与否,「为什么这种陷门不工作」的分析本身具有存档价值
C. 长期悬置像许多密码学假设一样,DMTH 既未被证明也未被推翻LookingGlass 作为「探索性模块」持续存在,每个新版本保留其代码但不默认启用——这是学术透明度的实践:不隐藏失败过的尝试,也不假装确定未验证的假设

7.8 当前定位与存证

✅ 代码验证已完成 · 实验验证已完成 · 安全模型已修正 · 数学假设正在公开检验中

DMTH 假设无已知反例。LookingGlass 默认关闭,不影响生产加密。VWZ 签名方案已完成全链路 Rust→WASM→前端部署→研究端 API 集成。技术文档已内部归档。

LookingGlass 全系列 76 份(lg-001~lg-076)DigiCert/FreeTSA TSR 存证 · 批次 lg-001~lg-076 全部 Granted ✅ (含 v2 独立存证) · 截止 2026-07-16


7.9 LookingGlass v2 — 多层线性代数实验 + L8/L9 检测链路

⚠ v2 为独立实验分支 · 默认关闭 · 不写入生产加密 · 在私仓维护

v2 与 v1 (DMTH) 的核心区别:v1 的普通 Kronecker 嵌套在 d≥4 时可被合并为单一矩阵 → 失效;v2 通过舒尔引理 + 七层互不等价不可约群表示,在数学上证明层间永远不会被合并(第七层已完成本地验证,记录见下)。但底层 LWE 安全强度不变 — BKZ 仍然可破最内层格。

2026-06-29 更新:L6 表示已替换为 D6 不可约表示,六层互不等价性重新验证通过。

2026-06-29 更新(七层):第七层 (CQ 幂幺 Jordan 块) 已本地验证通过 — 7/7 逆矩阵、21/21 互不等价、7/7 不可约、192 维全局交换空间全部 PASS。48 维克罗内克嵌套变换,正向与逆向运算往返无数值误差。七层配置锁定。研究线,未部署。

数学证明

维度说明
L1S₂ (对称群)1平凡表示
L2C₅ (循环群)1ω⁵=1 旋转
L3S₃ (置换群)2符号 + 置换
L4D₄ (二面体群)290° 旋转 + 反射
L5A₄ (交错群)3四面体旋转
L6D₆ (二面体群)260° 旋转 + 反射 (companion of x²-x+1)
L7CQ (循环群, 阶3329)2幂幺 Jordan 块, 不可对角化 · 本地已验证

七层配置:1×1×2×2×3×2×2 = 48D

舒尔引理:不同维度/不等价不可约表示之间不存在非平凡公共交换矩阵。1 维空间(L1/L2)与 3 维空间(L5)无法共用同一对易算子 → 全局合并在代数上彻底无解。此结论可由第三方独立验证:运行 commuting_matrix_test.py → 零空间 = 0。 → 形式化证明文档 (LG-PF-001~008) ↗

验证清单

验证项方法结果存证
Rust 核心实现Kronecker 递归嵌套 (kron_recursive), expand_to_256 identity padding, mat_vec_mul over Z₃₃₂₉✅ 完成lg-042
单元测试cargo test --release7/7 全绿lg-042
Python roundtrip256 维正向→逆向循环验证零误差lg-042
无公共交换矩阵证明commuting_matrix_test.py 构建对易方程 → 零空间维度零空间 = 0 ✅lg-042
WASM 编译wasm-pack build --target web --release, wasm-opt -Oz17.89KB (gzip <5KB)lg-042
LG v2.1 三层壁垒方案1: 全局仿射偏移(Q^256) + 方案2: 5040种层序随机化 + 方案3: 48维稀疏子空间偏移77/77 全绿lg-057
线上部署fibemate.net/wasm/lookingglass_v2_bg.wasmHTTP 200, application/wasmlg-042
时间戳存证数学证明 + 源码哈希 + WASM 哈希 → FreeTSA (RFC 3161)✅ Verified OKlg-043
第七层本地验证Rust 7/7 + Python roundtrip + commuting_matrix_test.py 4/4✅ 本地闭环lg-044

安全定级

攻击者星等结论
自动化批量破解★★★★★无全局合并矩阵,一键拆解完全阻断
普通密码分析师★★★★☆能算 LWE 解但写不出逐层逆变换代码
顶尖代数密码人员★★★☆☆可逐层剥离但 d=7 工时成倍拉长,无法批量化简
侧信道碎片拼接★★★★★张量置换打乱比特排布,碎片无法拼接
不可逾越上限:v2 不改变底层 LWE 硬度(BKZ 仍破内层格),不提升抗量子位数,仅增加后解密逆向工程成本。面对国家级持续密码分析,攻击者依然可以逐层完成剥离;该模块只提升逆向拆解的工程成本,无法改变底层 LWE 的计算复杂度,不存在无条件理论不可破解性。定位为"代数实验中的逆向混淆载体",不具备加密防护能力。

LookingGlass v2 由刘天赫设计并实现,是 FIBEMATE 项目研究线的组成部分。

v2.1 — 三层逆向壁垒加固

定位:在 v2 数学不可并层基础上叠加三层工程加固,提升静态逆向工程成本 5-12 倍。仍为纯线性变换,不提升 LWE 格硬度。

三重壁垒无法统一建模:全局仿射打破系数分布 → 随机层断序 → 稀疏偏移制造局部不可逆区段。WASM 已部署至 www/crypto/lgv2/,lg-056/057 存证。默认关闭。


第八层 — 回滚触发器

定位:独立于七层防御的「检测→响应」链路。正交于密码学运算,不影响正常加密流程。

状态:⚠ 研究线 · 默认关闭 · 已实现(仿真验证通过 5/5) · L8+L9 集成 43/43 PASS · 不写入生产加密 · 2026-07-06

检测信号:

响应策略:

仿真验证:5/5 攻击场景全部通过(2026-06-29,lg-045 · FreeTSA Granted)。覆盖哈希链断裂、时序注入、秩违反、混合攻击、清洁基线。


第九层 — CrossCorrInspector 交叉校验检测器

定位:独立于 L8 回滚触发器的第二道检测链路。L8 在变换输出侧采集三信号(哈希链/时序/秩),L9 对这些信号做交叉核验——任意两信号不一致即扣除置信度分,四路 max 后决定 T1/T2/T3 响应。

状态:⚠ 研究线 · 默认关闭 · 已实现(集成验证 43/43 PASS)· 不写入生产加密 · 2026-07-06

检测链路:

七层变换输出
  → L8 三信号采集 (hash / timing_jitter / rank)
  → L9 交叉核验 (hash_ok ⊕ rank_ok ⊕ timing_jitter → confidence score)
  → 四路 max (L8三级 + L9 confidence)
  → T1 / T2 / T3 响应

置信度扣分权重:hash(45) + timing_jitter(30) + rank(45),满分为 120(权重为经验配置,可动态调整,仅用于行为置信评估,不参与密码运算)。异常率可通过 cross_corr_stats() 实时查询。

关键设计:

验证结果:

验证项方法结果存证
Rust 核心实现src/detectors/cross_corr_inspector.rs, 置信度评分 + 会话指纹 + 序列号 + 历史窗口✅ 完成
单元测试cargo test --release7/7 全绿
L8+L9 全量回归33 单元 + 10 仿真场景43/43 PASS
WASM 编译wasm-pack build --target web --release19.8KB
L8:Crypto-Binding 验证确保 PQC 密钥与经典密钥在混合模式下绑定,防止降级攻击;session_key XOR hash(PQC_ss | classic_ss) 绑定验证✔ 通过lg-076
L9:Secure Cleanup 验证secure_cleanup.rs:内存中密钥材料零化(volatile + mlock 双重覆盖),process.exit 前置清理回调,零残留验证✔ 通过lg-076
VWZ 148/148 验证套件14 组 148 测试:Basic/Multi/Tamper/Serial/Seeded/Edge/Cross-k/Batch148/148 PASSlg-083
LG v2.2.3 冷热路径分离lgv2_confuse_auto(): 冷≤64B→7层 / 温65~255B→4层 / 热≥256B→2~1层,大载荷6-7×吞吐61/61 PASSlg-082~083

L8+L9 集成链路已闭合(2026-07-06)。Crypto-Binding 与 Secure Cleanup 已补充(2026-07-16,v2.2.2)。L9 已独立 TSR 存证(lg-051,FreeTSA,2026-07-06)。



硬件验证阻塞

结构可靠性来源

七层隔离的安全性来自有限群表示论定理(舒尔引理、正交特征标、零公共交换空间), 而非计算假设。不等价不可约表示之间不存在非平凡 G-等变映射——此结论在经典计算与量子计算下 同等地成立。已知量子算法(Shor、Grover、量子 BKZ 启发式)均无法构造此类映射或分解直和格结构。 底层 LWE 硬度仍依赖计算假设,其量子安全边际需通过常规参数缩放补偿; 群论隔离架构本身无需修改。


叙事映射:爱丽丝镜中棋盘

七层群表示嵌套是纯线性代数实验。舒尔引理证明不同不可约表示之间不存在非平凡公共交换矩阵——但这只约束两两关系,不改变整体矩阵可合并的代数事实。克罗内克积复合后等价于单个高维方阵,攻击者用高斯消元可一步剥离。因此该结构不提供密码安全增益,仅作为群表示论教学示例和逆向混淆载体。

L8/L9 检测链路为独立的运行时异常监测组件,可脱离七层变换单独使用。用于检测时序异常、秩篡改和内存完整性破坏,不依赖格密码安全假设。

"第七层是红骑士的终结。第八层是兵的升变。"

— LookingGlass v2,设计者刘天赫


7.10 LookingGlass v2.2 — Rust 源码恢复与 WASM 重建

⚠ 研究线 · 默认关闭 · 不写入生产加密 · 2026-07-16

v2.2 与 v2.1 共享同一架构(七层有限群表示克罗内克嵌套 + 仿射偏移 + 会话密钥层序置换),不引入新密码学假设,不提升 LWE 格硬度。本次工作为已部署 WASM(48.5KB)的 Rust 源码重建与可复现性闭环—源码曾丢失,经测试驱动重建恢复,并由 FreeTSA 时间戳存证锁定。

重建验证

验证项方法结果存证
Rust 源码重建static mut → Mutex 包裹 Arc 矩阵缓存,消除 UB;矩阵数学独立校验✔ 完成lg-v2.2
确定性单元测试cargo test --lib(固定密钥验证 M·M⁻¹=I;WASM 单例状态串行执行)37/37 全绿lg-v2.2
KAT 回归1000 向量 roundtrip + 确定性 + 非平凡性(固定会话密钥)0 失败 / 1000lg-v2.2
WASM 重建wasm-pack --target web --release(新增 dynamic_path / control_flow / crypto_binding / secure_cleanup 四防御模块)25.7KB,11 导出lg-v2.2
API 一致性与已部署 48.5KB 版本导出函数逐项比对✔ 100% 匹配lg-v2.2
时间戳存证9 文件 SHA256 manifest → DigiCert (RFC 3161)✔ Verified OKlg-v2.2-20260710.tsr
定位重申:v2.2 是 v2.1 架构的源码级重建与可复现性闭环,未改变任何密码学性质。仍为纯线性变换逆向混淆载体,不提升 LWE 格硬度,不提供加密防护能力。研究线默认关闭,不接入生产加密链路。
本页面属于 FIBEMATE 透明度公开承诺,状态发生变更将即时修订正文。

7.11 LookingGlass v3.1 — 球面投影(已归档为数学不可行)

⚠ 研究线 · 默认关闭 · 不写入生产加密 · 2026-07-16

v3.1 在 v2.2 七层混淆基础上叠加球面投影(48D → 194B 高维球面映射),试图破坏自动化代数求解的建模能力。完整管线:48B → sphere_confuse → 194B → lgv2_confuse → lgv2_deconfuse → 194B → sphere_deconfuse → 48B。

工程层面:2026-07-10 浮点版本因浮点归一化在 Z3329 离散域归零(x/(norm×SCALE) < 1 ⇒ 整数截断为 0,往返误差 ~93702)失败;2026-07-16 定点修复版(isqrt 替代浮点 sqrt,x×SCALE÷norm 替代 x÷(norm×SCALE))往返零误差,三线交叉验证全部通过:Python 200/200 PASS(max_err=0)、Rust 17/17 PASS(含 5 球面 + 1 管线交叉)、C 13/13 PASS、WASM pipeline PASS,WASM 22.8KB。

数学层面:球面投影的连续几何本质与 Z3329 离散有限域不兼容——即使工程上能往返零误差,球面归一化在有限域中不提供任何密码学安全保证(无格硬度假设、无可证明安全性)。判定为连续几何与离散有限域不兼容的顶层数学错误

结论:球面投影已归档为纯理论探索,稳定迭代回归 v2.2 七层有限群表示。

DigiCert/FreeTSA 可信时间戳存证 · 2026-07-16 · pqc-readiness.tsr