# mimajingsai_3 一种高性能的DRBG设计方案 张栩嫣周子怡徐思琦密码竞赛项目 ```plaintext 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 ```bash mkdir build cd build cmake ..(如果是debug模式则cmake -DCMAKE_BUILD_TYPE=Debug ..) make ```