NIST SP800-90A:确定性随机位生成器的推荐

4星 · 超过85%的资源 需积分: 39 44 下载量 101 浏览量 更新于2024-07-18 收藏 1.32MB PDF 举报
"NIST特殊出版物800-90A是关于使用确定性随机位生成器进行随机数生成的建议。这份2012年发布的文档在2015年6月被修订版1取代,其中删除了对 Dual_EC_DRBG 的规范,保留了 Hash_DRBG、HMAC_DRBG 和 CTR_DRBG 作为推荐的随机数生成机制。" NIST(美国国家标准与技术研究院)的SP800-90A标准是高级安全领域中涉及随机数生成的重要文档,它详细规定了如何利用确定性的随机位生成器(DRBG)来创建高质量的随机数。随机数在加密、密码学以及各种安全应用中扮演着至关重要的角色,因为它们用于生成密钥、初始化向量以及其他需要不可预测性的安全元素。 原版SP800-90A中包含了多种DRBG,但在2015年的修订版1中,由于安全问题, Dual_EC_DRBG 被移除。 Dual_EC_DRBG 曾被认为可能含有后门,这引起了广泛的关注和争议。其余的 DRBG 模型仍然被推荐使用,包括: 1. **Hash_DRBG**:基于散列函数的DRBG,它使用单向函数(如SHA-256)来生成随机序列。这种DRBG通过多次应用散列函数并结合种子值来产生随机位。 2. **HMAC_DRBG**:基于哈希消息认证码(HMAC)的DRBG,结合了散列函数和密钥来生成随机数。这种方法结合了哈希函数的安全性和密钥的随机性,提供了一种更为强大的随机数生成方式。 3. **CTR_DRBG**:基于计数器模式的DRBG,它使用块密码(如AES)以计数器模式操作,产生随机位流。这种方法依赖于块密码的不可预测性,并且可以提供高效的随机数生成。 修订版1还包含了一些其他变更,这些变更详细记录在附录中。这些修改可能是为了进一步增强DRBG的安全性,改进性能,或者响应新的安全威胁和研究发现。 随机数的质量直接影响到安全系统的强度,因此NIST的这些标准对于确保信息系统的安全性至关重要。遵循这些标准,开发者和系统管理员能够构建出更可靠的加密算法和安全协议,从而保护数据免受潜在攻击。在开发任何涉及随机数的系统时,理解和应用SP800-90A的最新版本是非常必要的。