1024位公钥私钥对的生成使用了一个几率算法,它是通过一个控制参数,按照某个百分比,来控制RSA的p和q是素数的几率。也就是,我们RSA生成的不是绝对的素数
下面是我曾经生成的两个素数:
yes2! get p from private file: 31615278560310517224191487564522759656181954145997206274769356464583733664732821111365584118676960240766619142806693
yes2! get q from private file: 27159291810386103311544843797777708165587275427629110658759469792393446865976256377580615665169117874806611045875349
他们按照一种素数比率生成,不是绝对的,而且我通过控制certainty参数来控制,如下:
RSAKeyGenerationParameters rsaparam=
new RSAKeyGenerationParameters(BigInteger.valueOf(0x3),
new SecureRandom(), this.keylength, this.certainty);