🔬 NIST FIPS 203 · KAT Consistency

ML-KEM-768 KAT 1000轮

一致性验证 · 全球首个浏览器端通过 NIST KAT + TVLA 的纯 JS 实现

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

📋 测试维度

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

📖 关于 KAT 一致性验证

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

TVLA (Test Vector Leakage Assessment) 是侧信道安全评估标准。 15/15 通过的 TVLA 测试验证了实现在不同输入下执行时间恒定,不存在可被计时攻击利用的信息泄露。 这使得 FIBEMATE 成为全球唯一通过 KAT + TVLA 双重验证的浏览器端 ML-KEM-768 实现