- 对于RSA算法中
p、q: 首先取两个足够大的质数p、q
N: 令N=pq
L: L是(p-1)与(q-1)的最小公倍数
E: 使得E与L互质且1<E<L
D: 使得(D * E)%L=1且1<D<L
(N,E)为公钥,(N,D)为私钥
加密过程:密文=(明文^E)%N ,即 y=x^e%(qp)
解密过程:明文=(密文^D)%N
例题
现在请你利用JAVA,利用RSA值P=17,q=13,e=7,x=65,求加密后的Y的值
public class rsa {
public static void main(String[] args) {
BigInteger p=new BigInteger("17");
BigInteger q=new BigInteger("13");
BigInteger e=new BigInteger("7");
BigInteger x=new BigInteger("65");
BigInteger y;
BigInteger s;
//p.multiply(q)表示 p与q相乘
//modpow表示幂函数模,x^e% [p.multiply(q)]
//密文y=(明文x^e)% p与q相乘n
y=x.modPow(e,p.multiply(q));
System.out.println(y);
}
}