c-如何制作确定性随机数生成器



我在做一些密码学实验,现在我正在尝试制作一个确定性随机数生成器(DRBG)。它应该是一个基于计数器模式的确定随机位生成器,使用中指定的AES-128分组密码NIST SP 800-90。

我有OpenSSL的源代码。在OpenSSL中,有两个函数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

最新更新