Rsa加密算法
public class Rsa{
public static void main(String[] args){
long p=10,q=10,e,n,fain;
double d;
while(!(isP(p)&&isP(q))){
p=(long)(Math.random()*1000000+1);
q=(long)(Math.random()*1000000+1);
}
System.out.println("P= "+p+"/t"+"Q= "+q);
n=p*q;
fain=(p-1)*(q-1);
System.out.println("N= "+n+"/t"+"Fain= "+fain);
do{
e=(long)(Math.random()*fain+1);
}while(e<=1||e>=fain||!Echo(fain,e,1));
System.out.println("E= "+e);
d=Math.pow(e,-1)%fain;
System.out.println("D= "+d);
}
static boolean isP(long p){
boolean b=true;
for(int i=2;i<p;i++)
if(p%i==0){
b=false;
break;
}
return b;
}
static boolean Echo(long fain,long e,long t){
boolean b=true;
while(t!=0){
t=fain%e;
if(t!=0){
fain=e;
e=t;
}
}
if(e!=1) b=false;
return b;
}
}
Rsa加密算法
最新推荐文章于 2020-11-21 21:14:05 发布