1.公私钥计算逻辑
步骤 | 说明 | 条件 | 示例 |
---|---|---|---|
1 | 随机给出质数 | P、Q | P:3 Q:11 |
2 | 计算公共模数 N | N = P*Q | N= 3*11 = 33 |
3 | 计算出欧拉φ(N) | φ(N) = (P-1)(Q-1) | φ(N) =(3-1)*(11-1)=20 |
4 | 随机选择一个公钥 E | 1 < E < φ(N) 并且E不是φ(N) 因子 | 1<E<20并且E不是20的因子, 这里我选择E=7 |
5 | 计算私钥D | ( E * D )% φ(N) = 1 | (7*D)%20=1; D=3 |
最后的出
公钥=(E , N) = (7,33)
私钥=(D, N) = (3,33)
其中公钥E是对外的,如果要反推私钥D,那就必须要算出欧拉φ(N),而算出欧拉φ(N)就必须知道P、Q,而如果P、Q设置的比较大,计算出来的欧拉φ(N)和公共模数 N都会非常巨大,所以即使公开N也会很难找到P、Q这个两个质数
2.加解密过程
由1中第4步和第5步可以知道公钥和私钥是可以互换的,故加解密的过程也是公钥也可以解私钥加密的密文
以上就是RSA加解密的原理