C Библиотека для не менее 256-битного случайного числа - PullRequest
0 голосов
/ 17 мая 2018

Я реализую deffie hellman в c и хочу использовать 256-битное случайное число в качестве личного ключа.Я не уверен, если это возможно с библиотекой gmp.Так какая-нибудь другая мощная библиотека, которая может произвести мое требование?

1 Ответ

0 голосов
/ 18 мая 2018

Чтение библиотеки gmp руководство для функций случайных чисел, мы можем увидеть условие для вывода в соответствии с нашим запрошенным размером битов.

Модификация '14' в mpz_urandomb (rand_Num, r_state, 14) в соответствии с нашим количеством битов req дает случайное число такого количества бит (14-> 256).Но даже в цикле for они производят одинаковый набор случайных чисел.

Итак, измените предел (условие) 'i' в цикле на функцию rand (), которая зависит от функции srand (), которая, в свою очередь, принимает текущее системное время в качестве начального значения и в конечном итоге производит различные случайные числа.в рэнде ().Таким образом, каждый раз создаются разные итерации, и поэтому последнее число в последней итерации (с хорошей случайностью) в конечном итоге находится в переменной 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
...