使用对称加密算法时,密钥交换是个大难题,所以Diffie和Hellman提出了著名的Diffie-Hellman密钥交换算法。
Diffie-Hellman密钥交换算法原理:
1 2 3 4 5 6 7 8 |
|
RSA加密算法是基于这样的数学事实:两个大素数相乘容易,而对得到的乘积求因子则很难。加密过程如下:
(1)选择两个大素数P、Q
(2)计算N=P*Q
(3)选择一个公钥(加密密钥)E,使其不是(P-1)与(Q-1)的因子
(4)选择私钥(解密密钥)D,满足如下条件:
(D*E) mod (P-1)(Q-1)=1
(5)加密时,明文PT计算密文CT如下:
CT=PTE mod N
(6)解密时,从密文CT计算明文PT如下:
PT=CTDmodN 这也是SSL中会用一种密钥交换算法。
散列算法:
主要用于验证数据的完整性,即保证时消息在发送之后和接收之前没有被篡改对于SSL中使用到的散列算法有MD5、SHA-1。