rsa算法中找寻素数的概率测试算法
rsa算法中寻找素数的概率测试算法
用java 写的算法,是关于rsa中寻找素数的一个概率性测试算法???????????
------解决方案--------------------

------解决方案--------------------
是不是这个
------解决方案--------------------
RSA 中寻找素数?RSA 的公私钥都是由两个大素数生成的,不是很明白你提问的目的。
素性测试可以使用 Miller-Rabin 素性测试,写了段代码,供为参数:
用java 写的算法,是关于rsa中寻找素数的一个概率性测试算法???????????
测试
算法
RSA
Java
------解决方案--------------------
------解决方案--------------------
是不是这个
SecureRandom sr = SecureRandom.getInstance("SHA1PRNG");
------解决方案--------------------
RSA 中寻找素数?RSA 的公私钥都是由两个大素数生成的,不是很明白你提问的目的。
素性测试可以使用 Miller-Rabin 素性测试,写了段代码,供为参数:
public class MillerRabin {
public static void main(String[] args) {
long t0, t1;
t0 = System.nanoTime();
boolean b = !isComposite(479001599);
boolean c = !isComposite(456789012);
t1 = System.nanoTime();
System.out.println(t1 - t0);
System.out.println(b + " " + c);
}
/**
* <p>Miller-Rabin 测试某一个数是否是合数</p>
*
* @param n 需要测试的数
* @return true: 该数为合数;false: 该数为素数
*/
public static boolean isComposite(int n) {
if (n < 2) {
throw new IllegalArgumentException("number must greater than or equals 2");
}
// 排除 2、3、5、7 以加速测试
if (n == 2
------解决方案--------------------
n == 3
------解决方案--------------------
n == 5
------解决方案--------------------
n == 7) {
return false;
}
// 偶数
if ((n & 1) == 0) {
return true;
}
// 排除 3、5、7 的倍数,以加速测试
if (n % 3 == 0) {