非对称加密示例
(SSL.SSL工作过程.非对称加密)- Alice和Bob进行加密传输
- Bob公开自己的公钥91
- Alice把三位数123乘以91,将乘积的末三位发给Bob
- 如123×91=11193;将193发送给Bob
- Bob将收到的数乘11,取后三位,得到原始信息
- 如:193×11=2123,;得到123,解密成功
RSA算法示例
- 挑选两个质数,如 p=61和 q=53(在实际应用中,RSA要求是大质数)
- 计算N = p×q = 3233
- 计算(p-1)× (q-1) = 60×52 = 3120
- 这一步可以计算 (p-1) 和 (q-1) 的最小公倍数,从而使得计算的d比较小;
- 17关于780的模逆是413,比2753要小
- 选择与3120互质的一个数 e = 17
- e(encryption, 加密密钥),作为公钥
- 计算得出d, 使得d是e关于3120的模逆,得出d = 2753
- d(decryption, 解密密钥),作为私钥
- 模逆可以使用Euclid扩展算法,证明略
- 如果明文是5, 那么密文是
- 解密,
*注:通过大数分解,从3233解析出p、q,然后可得到3120,最后可算出私钥d。但是实际上,大数分解非常困难。
浏览器中的N、密钥d |