我正在做一些密碼學實驗,現在我正在嘗試做一個確定性的隨機數發生器(DRBG)。它應該是一個基於計數器模式的確定性隨機位發生器,使用在 NIST SP 800-90中指定的AES-128分組密碼。我有openSSL的源代碼。在openssl中,有兩個函數Rand_bytes()
和RAND_pseudo_bytes()
用作隨機數生成器。如何製作確定性的隨機數發生器?
如何使用AES-128分組密碼將此openssl隨機數發生器配置爲基於計數器模式的DRBG?
我正在做一些密碼學實驗,現在我正在嘗試做一個確定性的隨機數發生器(DRBG)。它應該是一個基於計數器模式的確定性隨機位發生器,使用在 NIST SP 800-90中指定的AES-128分組密碼。我有openSSL的源代碼。在openssl中,有兩個函數Rand_bytes()
和RAND_pseudo_bytes()
用作隨機數生成器。如何製作確定性的隨機數發生器?
如何使用AES-128分組密碼將此openssl隨機數發生器配置爲基於計數器模式的DRBG?
如果這是戲,製作DRBG並不困難(即使是符合NIST的)。如果你想更高效地工作,那麼你可以借用其中的一個[DRBG](http://github.com/TomMD/DRBG)實現。如果這是爲了生產,那麼問問自己,爲什麼你要關心RNG是否是確定性的? –
它必須是確定性的,而且是爲了生產性目的 – jithin
它是否是開源(GPL)?你需要回溯抵抗嗎?你需要任何程度的預測阻力? –