簡易版本的RSA系統中,假設質數p=13, q=17
n=?
phi(n)=?
假設公鑰指數e=5,私鑰指數d=?
明文代碼m=100,密文c=?
提示:可用Java中的BigInteger 中的方法modInverse, modPow求d與c的解,或者是用筆算。參閱http://anwendeng.blogspot.tw/2013/10/java1024-bit-rsa.html
herrDeng網內搜尋
自訂搜尋
Ads
訂閱:
張貼留言 (Atom)
熱門文章
-
11!=?
-
產生50個元素的陣列並排序
-
請輸出如下 * ** *** **** ***** ******
-
借錢500萬,年利18%,每月複利計算,請問連本帶利的金額 5, 10, 15, 20, 25, 30, 35, 40, 45, 50年的金額。並比較公式: A*exp(0.18n) A*(1+0.18/12)^(12*n), n=年數, A=本金 hint: math.h, p...
-
請問你所使的電腦,CPU的規格 Cache多大?其他硬體配置...... 另外, "INTEL® XEON PHI™ 處理器 7230F"的大致規格為?
-
寫一個是否上學期成績2/3的程式
-
金鑰總數159*10^18 億=10^8 兆=10^12 京=10^16 垓=10^20 秭=10^24 穣=10^28 溝=10^32 澗=10^36 正=10^40 載=10^44 極=10^48 恆河沙=10^52 阿僧祇=10^56 那由...
-
用 C/C++算上學期加權平均
-
計算你上學期加權平均
52 則留言:
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CAI {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger m1=c.modPow(d, n);
System.out.println("m1="+m1);
System.out.println(m.equals(m1));
}
}
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
d=77
c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
b10041032 林佳雯
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
N=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
d=77
c=172
n=221
phi(n)=192
d=77
c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
N=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CAI {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger m1=c.modPow(d, n);
System.out.println("m1="+m1);
System.out.println(m.equals(m1));
}
}
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CAI {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger m1=c.modPow(d, n);
System.out.println("m1="+m1);
System.out.println(m.equals(m1));
}
}
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
n=221
phi(n)=192
私鑰指數d=77
密文c=172
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CAI {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger m1=c.modPow(d, n);
System.out.println("m1="+m1);
System.out.println(m.equals(m1));
}
}
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CA {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger n1=c.modPow(d, n);
System.out.println("n1="+n1);
System.out.println(m.equals(n1));
}
}
package go;
import java.math.BigInteger;
import java.security.SecureRandom;
public class CKI {
public static void main(String[] args)throws Exception
{
System.out.println("My name is RAMBO!");
SecureRandom rnd=new SecureRandom();
BigInteger p,q,n,phiN,e,d;
int b=512, u=128;
p=new BigInteger("13");
System.out.println("p="+p);
q=new BigInteger("17");
System.out.println("q="+q);
n=p.multiply(q);
System.out.println("n="+n);
BigInteger one=new BigInteger("1");
phiN=p.subtract(one).multiply(q.subtract(one));
System.out.println("phiN="+phiN);
e=new BigInteger("5");
System.out.println("e="+e);
d=e.modInverse(phiN);
System.out.println("d="+d);
BigInteger m=new BigInteger("100");
System.out.println("m="+m);
BigInteger c=m.modPow(e, n);
System.out.println("c="+c);
BigInteger K=c.modPow(d, n);
System.out.println("K="+K);
System.out.println(m.equals(K));
}
}
n=221
phi(n)=192
d=77
c=172
n = 221
phi(n) = 192
私鑰指數d = 77
密文c = 172
張貼留言