Web信息安全实践_1.6 RSA

非对称加密示例

(SSL.SSL工作过程.非对称加密)
  • Alice和Bob进行加密传输
  • Bob公开自己的公钥91
  • Alice把三位数123乘以91,将乘积的末三位发给Bob
    • 如123×91=11193;将193发送给Bob
  • Bob将收到的数乘11,取后三位,得到原始信息
    • 如:193×11=2123,;得到123,解密成功
原理:91×11=1001  

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, 那么密文是Web信息安全实践_1.6 RSA
  • 解密,Web信息安全实践_1.6 RSA

*注:通过大数分解,从3233解析出p、q,然后可得到3120,最后可算出私钥d。但是实际上,大数分解非常困难。

浏览器中的N、密钥d
Web信息安全实践_1.6 RSA

 

HTTPS

HTTPS能保证访问网站的正确性,所有的数据传输都是加密的。        
上一篇:比特币支付协议


下一篇:Scrum未完待续