随机素数素数

2023-09-12 21:17:20 作者:听丶那散落一地的忧伤

我如何快速生成一个随机的素数,这是肯定的1024位长?

解决方案

1024生成随机位。使用随机源是您预期的目的不够强。

设置最高和最低位为1,这样可以确保没有前导零(总理候选人是足够大),它是不是偶数(绝对不是素数)。

测试素性。如果它不是一个素数,再回到1。

另外,使用的库函数生成素数给你。

How do I quickly generate a random prime number, that is for sure 1024 bit long?

解决方案 质数

Generate 1024 random bits. Use a random source that is strong enough for your intended purpose.

Set the highest and lowest bits to 1. This makes sure there are no leading zeros (the prime candidate is big enough) and it is not an even number (definitely not prime).

Test for primality. If it's not a prime, go back to 1.

Alternatively, use a library function that generates primes for you.