non*_*237 11 encryption primes rsa public-key
我正在玩并尝试编写RSA的实现.问题在于我不得不生成生成密钥对所涉及的大量素数.有人能指出我快速生成巨大的素数/可能的素数吗?
mox*_*ox1 18
您没有准确生成素数.你随机生成一个大的奇数,然后测试该数是否是素数,如果不是随机生成另一个.有一些素数定律基本上表明你通过随机尝试"击中"素数的几率是(2/ln n)
例如,如果你想要一个512位的随机素数,你会发现一个2 /(512*ln(2))所以你尝试的每177个数字中大约有1个将是素数.
有多种方法可以测试一个数字是否为素数,一个好的方法是"Miller-Rabin测试",如另一个答案中所述.
此外,OpenSSL有一个很好的实用程序来测试素数:
$ openssl prime 119054759245460753
1A6F7AC39A53511 is not prime
Run Code Online (Sandbox Code Playgroud)