我正在做一些密码学实验,现在我正在尝试制作确定性随机数生成器(DRBG)。它应该是使用指定于AES-128分组密码的基于计数器模式的确定性随机位生成器NIST SP 800-90。
我有OpenSSL的源代码。在OpenSSL中,有两个函数RAND_bytes()和RAND_pseudo_bytes()用作随机数生成器。
RAND_bytes()
RAND_pseudo_bytes()
如何使用AES-128分组密码将此OpenSSL随机数生成器配置为基于计数器模式的DRBG?
您应该可以指定随机种子:
http://www.openssl.org/docs/crypto/RAND_add.html#
似乎您也可以保存并重新加载生成的序列:
http://www.openssl.org/docs/crypto/rand.html