一级标题
第一步,取两个大质数p,q;
第二步,计算 n = p*q;
第三步,计算 m = (p-1)*(q-1);
第四步,找一个合适的数e,e要满足以下条件:
1)0<e<m;
2) e要与m互质;
第五步,找一个合适的数d,d要满足以下条件:e*d%m = 1(意思是e乘以d除以m余数为1),等效过来即为e*d = k*m+1,其中k = 1, 2 ,3…
那么公钥就是(n,e),私钥就为(n,d)
举个例子:
取p = 11, q = 17
则n = p*q = 11*17 = 187,m = (p-1)*(q-1) = 160
取e = 23(e与m互质)
求d,很明显d = (k*m+1)/e = (160+1)/23 = 7
那么公钥为(187,23),私钥为(187,7)
假如需要用这个密钥对进行加解密,明文为8,
则加密过程 8^7 %187 = 134,即计算8的7次方对187取余,得到的134即为加密后的密文
解密过程 134^23 % 187 = 8,即计算密文134的23次方对187取余,得到的8即为原始的明文