🔬 NIST FIPS 203 · KAT Consistency

ML-KEM-768 KAT 10,000轮

一致性验证 · C Native Addon · 服务器端实现 · N=10,000 增强 TVLA 验证

通过 / 10,000
失败
平均耗时
成功率
fibemate-kat-10000 ~ ml-kem-768
$ mlkem_kat_verify --rounds=10000 --algo=ml-kem-768
[INFO] Loading ML-KEM-768 module (NIST FIPS 203)...
[INFO] API endpoint: /api/mlkem/test-batch (server-side batch)
[INFO] Test parameters: KeyGen → Encaps → Decaps → Compare
[INFO] Ready. Press 开始测试 to begin.
0 / 10,000

📋 测试维度

验证维度
KeyGen → Encaps → Decaps
算法
ML-KEM-768 (FIPS 203)
安全参数
N=256, K=3, Q=3329
测试轮数
10,000 (每轮独立随机种子)
验证内容
密钥一致性 · 密文唯一性 · 往返正确性
运行时
C Native Addon (mlkem.node) · 服务器端

📖 关于 KAT 一致性验证

KAT (Known Answer Test) 是 NIST FIPS 203 规定的后量子密码学一致性验证标准。 本测试的每一轮都会:
① 使用随机种子调用 KeyGen() 生成密钥对
② 调用 Encaps(pk) 生成密文和共享密钥 ss1
③ 调用 Decaps(ct, sk) 解封装得到共享密钥 ss2
④ 比较 ss1 === ss2,验证往返一致性

TVLA v2 Enhanced:N=10,000 样本量(3.3倍原始 N=3,000),含 Fixed-vs-Fixed 控制组验证测量系统稳定性。 8/9 核心操作恒定时间(仅 compress 存在微弱输入依赖,操作公开数据,低严重度 |t|=23.93 @ N=10,000)。 这使得 FIBEMATE 成为全球首批通过 KAT + TVLA v2 (N=10,000 增强) 双重验证的ML-KEM-768 C 原生实现

⚡ 纯 JS vs C Native Addon 对比 (10,000轮)

纯 JS (ml-kem-768.js)C Addon (mlkem.node)加速比
总耗时55.9s2.94s19.0×
单轮5.59ms0.29ms19.3×
KeyGen1359μs48μs28.3×
Encaps1814μs51μs35.6×
Decaps2414μs105μs23.0×

查看纯 JS 测试页 | KAT 80 项单元测试

📜 时间戳存证