FIBEMATE 当前处于 "PQC-Ready"(抗量子就绪)状态——这与"PQC-Active(正在抗量子)"有明确区别:
简单来说:我们已经造好了零件(ML-KEM-768、SM2 优化),但还没把它们装进汽车引擎(TLS 1.3 握手)。
| 组件 | 状态 | 说明 |
|---|---|---|
| ML-KEM-768 实现 | ✅ 完成 | 纯 JS + WASM 双版本,PQC 标准 FIPS 203 兼容 |
| KAT 验证 (10,000 轮) | ✅ 完成 | 100% 通过,KeyGen / Encaps / Decaps 全覆盖 |
| SM2-MLKEM-768 混合协议 | ✅ 设计完成 | IANA #4590 已分配,IEEE 论文已发表 |
| SM2 性能优化 | ✅ 完成 | 5 阶段优化,wNAF (w=4) 已集成 |
| FPGA NTT 单元 | ✅ 原型完成 | 硬件侧 ML-KEM / SM2 共享 NTT 计算单元 |
| WASM 移植 (pq-wasm) | ✅ 完成 | Rust → WASM 编译管线,1.87ms/轮 |
| TLS 1.3 混合握手集成 | ⬜ 待开始 | Nginx / Node.js TLS 栈集成 |
| ClientHello #4590 扩展 | ⬜ 待开始 | 依赖 TLS 栈对 NamedGroup 4590 的原生支持 |
| 端到端 TLS 测试 | ⬜ 待开始 | 浏览器 ↔ Nginx ↔ Node.js 全链路 |
| 生产 fibemate.net 启用 | ⬜ 待开始 | 当前使用标准 SM2 证书 |
整体进度:约 65%(核心算法 100%,系统集成 0%)
从 PQC-Ready 到 PQC-Active 的差距集中在 TLS 1.3 握手层。以下是具体的技术路径:
Client Server
| |
|--- ClientHello ──────────────────────────────────> |
| (supported_groups: [4590, ...]) |
| (key_share[4590]: ML-KEM-768 public key) |
| |
| ServerHello ─────────────────> |
| (key_share[4590]: ciphertext) |
| |
| shared_secret = Decaps(ct, sk) |
| = Encaps(pk) 的 output |
| |
| <========== SM2-MLKEM-768 Hybrid TLS 1.3 ========> |
| 风险 | 影响 | 缓解措施 |
|---|---|---|
| Nginx/Node.js 不支持 #4590 | 需 patch TLS 库 | 预研 OpenSSL fork 或自定义 TLS 扩展 |
| ClientHello 被中间件截断 | 握手失败 | 准备 TCP 分段策略;降级到纯 SM2 |
| ML-KEM-768 公钥过大 | 首包载荷增加 ~1.2KB | 可接受——等效于一张小图片 |
| 混合密钥交换性能不达标 | 用户体验受影响 | WASM 加速;FPGA 硬件卸载 |
| 阶段 | 内容 | 预估 | 依赖 |
|---|---|---|---|
| 第 1 周 | 发布本页面 + 研读 TLS 栈文档 | 2-4 小时 | 无 |
| 第 1–2 周 | 步骤 1-2:TLS 栈评估 + ClientHello 扩展原型 | 3-5 天 | 文档查阅 |
| 第 2–3 周 | 步骤 3-4:ClientHello 测试 + 服务端混合密钥交换 | 5-7 天 | 步骤 1-2 |
| 第 3–4 周 | 步骤 5-7:端到端测试 + 性能基准 + 部署 | 3-5 天 | 步骤 3-4 |
⏱ 总计:2–4 周(取决于 TLS 栈适配复杂度)
A: 诚实回答:还不是。ML-KEM-768 算法已完整实现并通过 KAT 验证,但尚未集成到 TLS 1.3。这意味着我们"做好了准备",但当前实际的网络通信仍依赖于经典密码学(SM2)。请关注本页面的进度更新。
A: 预计 2–4 周内完成 TLS 1.3 混合握手集成,届时 fibemate.net 将提供 SM2-MLKEM-768 混合加密。具体时间取决于 TLS 栈(Nginx/Node.js)的适配复杂度。
A: 因为抗量子不只是一个"算法库"问题——它需要在 TLS 握手的真实网络环境中运行。ClientHello 需要正确携带 ML-KEM-768 公钥,ServerHello 需要回复密文,双方需要用混合密钥材料导出 AES-GCM / SM4 会话密钥。这些都需要 TLS 栈的原生支持或定制扩展。
A: 当前使用 SM2 ECC + ECDHE 进行密钥交换,TLS 1.3。这是经典安全级别(~128-bit),不能抵抗量子计算机攻击。详见 安全性验证页面。
A: 意味着我们的 ML-KEM-768 实现与 NIST FIPS 203 参考实现严格一致——10,000 轮随机输入的 KeyGen / Encaps / Decaps 结果与官方已知答案 100% 匹配。这证明了算法实现的正确性,但不等同于"已经在用了"。查看 KAT 报告 →
A: X-Wing(IANA #4588)是国际路线,X25519 + ML-KEM-768 混合。SM2-MLKEM-768(IANA #4590)是中国自主路线,满足国密合规(等保 2.0 / 密评要求)。两者后量子安全强度相同(共享 ML-KEM-768),经典部分不同(X25519 vs SM2)。详见 安全性页面第 8 节 →
A: FIBEMATE 尚未开源(计划 2026 年 8 月)。目前您可以关注本页面的进度,或通过社区渠道了解最新动态。技术反馈欢迎发送至项目邮箱。