mimajingsai_3
一种高性能的DRBG设计方案 张栩嫣周子怡徐思琦密码竞赛项目
DRBG (Deterministic Random Bit Generator):
DRBG 是一种确定性随机比特生成器,它基于初始种子(种子值)和确定性算法生成伪随机数。这种生成器通常用于密码学、安全通信和随机数的加密应用。
DRBG 的优点是可以通过控制种子值和算法来重现生成的随机数序列,这使得它适用于安全应用,可以验证和复现随机性。
一个常见的DRBG实现是NIST的HMAC_DRBG,它使用HMAC(Hash-based Message Authentication Code)算法来生成伪随机数。
TRNG (True Random Number Generator):
TRNG 是一种真随机数生成器,它利用物理过程中的随机性事件来生成随机数。这些随机性事件可以是基于物理现象的,例如电子噪声、热噪声、光电效应等。
TRNG 的优点是生成的随机数是真正随机的,不受算法的影响,因此适用于需要高度随机性的应用,如密码学中的密钥生成。
TRNG 通常比DRBG更难以实现,因为它需要物理设备来捕获随机性事件,并且可能需要更多的硬件成本。
在本仓库中,使用了aes,sm4,chacha20算法做DRBG。
How to Compile
mkdir build
cd build
cmake ..(如果是debug模式则cmake -DCMAKE_BUILD_TYPE=Debug ..)
make
Description
Languages
C
69.9%
Python
28.9%
CMake
1.2%