参考链接
《 https://blog.csdn.net/wenxiaohua_113/article/details/18145305 》
随机数在密码学中的具有十分重要的地位,被广泛用于密钥产生、初始化向量、时间戳、认证挑战码、密钥协商、大素数产生等等方面。随机数产生器就是用于产生随机数的算法、函数以及设备。因此它的安全性也就对密码系统的安全性带来重要影响。
随机数产生器包括非确定性(真随机)数产生器(Non-deterministic Random Bit Generators (NRBG))和确定性(伪随机)数产生器(Deterministic Random Bit Generators (DRBG))两类。
真随机数产生器一般基于物理或化学熵源,比如原子运行轨迹、环境噪音、电路噪声,空气中颗粒数等等,这种随机数产生器的特点是随机性非常好,完全不可预测和回溯,但这些方法一般需要依靠特定的物理系统环境条件才能获取,所以应用范围有限。
一般系统使用的随机数产生器都是伪随机的。伪随机数产生器之所以被称为确定性随机数产生器,是因为在确定输入(种子)的情况下,它的输出也就确定了,相同的输入必然导致相同的输出,这类随机数产生器一般只依赖软件算法实现,对系统要求较低,应用范围广泛。
根据NIST SP800-90 标准算法,提供了4 种标准算法。即,Hash_DRBG、HMAC_DRBG、CTR_DRBG、Dual_EC_DRBG。
发表评论