我需要計算Diffie-Hellman密鑰交換的私鑰(privateKey)。我給了一個大素數,現在我只需要選擇一個小於p的數字。這是我的代碼:Diffie-Hellman密鑰交換的C++ GMP隨機數生成
mpz_class privateKey;
unsigned long seed;
mpz_init(privateKey.get_mpz_t());
gmp_randstate_t rstate;
gmp_randinit_mt(rstate);
gmp_randseed_ui(rstate, seed);
mpz_urandomm(privateKey.get_mpz_t(), rstate, prime.get_mpz_t());
我真的不明白爲什麼我總是得到相同的「隨機」數字。