【发布时间】:2021-05-15 07:54:06
【问题描述】:
我正在尝试为公钥和私钥生成大随机数。我对在客户端生成随机 256 位私钥的初始种子有疑问。
如您所知,我们不应该在 C 中使用 rand 或 srand 函数,因为它很容易被破坏。
如何生成随机种子来生成随机 256 位私钥?
我使用 GMP 的线性同余算法在 C 中生成随机数。
【问题讨论】:
-
Re“我使用 GMP 的线性同余算法在 C 中生成随机数”:你是说你想为种子使用高质量的真正随机源,然后你将使用简单的线性同余算法从中生成数字?这不是一个好主意。
-
@EricPostpischil 感谢您的评论。你对高质量的随机数有什么建议?我应该使用哪种算法?
-
您是否有理由不为此使用加密库?它应该使用最好的可用随机源来生成其密钥。
-
@Barmar 感谢您的评论。你推荐哪个图书馆?我知道的唯一好的库是 openssl。
标签: c public-key-encryption private-key gmp diffie-hellman