【发布时间】:2017-05-22 12:20:57
【问题描述】:
我正在用 Java 实现 RSA 公钥加密算法。它需要生成两个随机素数。我一直在使用 SecureRandom 类来生成两个 1024 位数字来创建一个 2048 位密钥。我使用 BigInteger 类处理数字。我使用 isProbablePrime() 函数来确定它是否是素数,确定性为 100。但是,我注意到这个函数对负数返回 true,即使根据定义,素数不能是负数。
【问题讨论】:
-
所以您使用的是随机数生成器,只是希望达到 1024 位素数?你应该看看这个:crypto.stackexchange.com/questions/71/…
-
也许是读取该加密链接的正确方法,但对我来说听起来很遥远!
-
请注意,没有理由手动生成随机数。 BigInteger 类有一个 constructor,它完全符合您的要求。
标签: java rsa biginteger secure-random