C库至少256位随机数

时间:2018-05-17 17:58:35

标签: cryptography diffie-hellman

我在c中实现了deffie hellman,并希望使用256位随机数作为私钥。我不确定,如果它可能与gmp库。那么任何其他强大的库可以产生我的要求吗?

1 个答案:

答案 0 :(得分:0)

读取gmp库manual的随机数函数,我们可以看到根据我们要求的位大小产生输出的规定。

根据我们的req比特数在mpz_urandomb(rand_Num,r_state,14)中修改'14'给出了那么多比特的兰特数(14-> 256)。但即使在for循环中,它们也会产生相同的随机数。

因此,将循环中的'i'限制(条件)修改为rand()函数,这取决于srand()函数,srand()函数又将当前系统时间作为种子值,最终在rand中生成不同的随机数( )。因此每次都会产生不同的迭代,因此最后一次迭代中的最后一个数字(具有良好的随机性)最终位于rand_Num变量中。

 #include<time.h>

//代码的其余部分,如手册//

 srand(time(0));

    for (i=0;i<rand();i++)

    {mpz_urandomb(rand_Num,r_state,256);} // for 256 bits random number




enter code here