SP 800-22 针对 RNG 的比特流输出定义了十五项统计测试。确定性 DRBG(如 CC23xx AESCTRDRBG 驱动等)适用的规范标准为 NIST SP 800-90A 修订版 1,而不是 SP 800-22,原因如下:
- SP 800-90A 规定了机制结构(CTR_DRBG,Hash_DRBG,HMAC_DRBG)。SP 800-90A 是驱动实施的规范,同时也是验证合规性所需依据的标准。
- NIST 的加密模块验证程序 (CMVP) 根据 FIPS 140-3 标准对 DRBG 进行了 SP 800-90A/90B 验证。SP 800-22 未在验证过程中使用(请参阅 FIPS 140-3 实施指南)。
- SP 800-22 评估输出流的统计属性。通过 SP 800-22 全套检测仅为必要非充分判定依据:存在密码学层面存在缺陷的随机数生成器可通过该全套检测。同行评审分析 (Saarinen,PQShield,2022) 在随 SP 800-22 一起提供的参考生成器上证明了这一点。
- CC23xx AESCTRDRBG 驱动为确定性生成机制,可接收外部输入的种子值。已知答案测试 (KAT) 可根据 NIST CAVP CTR_DRBG 向量验证驱动的正确性,该机制是 SP 800-90A 通过验证的。
因此,本说明中的验证依据采用基于 NIST CAVP CTR_DRBG 向量完成的 SP 800-90A 合规性验证结果。