SSL 协议的工作原理图解安全套接字 SSL 协议的工作原理1、密码学的相关概念 密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性.明文(plain text):发送人、接受人和任何访问消息的人都能理解的消息。密文(cipher text):明文消息经过某种编码后,得到密文消息。加密(encryption):将明文消息变成密文消息。解密(decryption):将密文消息变成明文消息.算法:取一个输入文本,产生一个输出文本。加密算法:发送方进行加密的算法.解密算法:接收方进行解密的算法。密钥(key):只有发送方和接收方理解的消息对称密钥加密(Symmetric Key Cryptography):加密与解密使用相同密钥.非对称密钥加密(Asymmetric Key Cryptography):加密与解密使用不同密钥. 2、相关的加密算法介绍 DES 算法即数据加密标准,也称为数据加密算法.加密过程如下: 在 SSL 中会用到分组 DES、三重 DES 算法等加密算法对数据进行加密。当然可以选用其他非 DES 加密算法,视情况而定,后面会详细介绍。 3、密钥交换算法 使用对称加密算法时,密钥交换是个大难题,所以 Diffie 和 Hellman 提出了著名的Diffie-Hellman 密钥交换算法。 Diffie—Hellman 密钥交换算法原理: (1)Alice 与 Bob 确定两个大素数 n 和 g,这两个数不用保密(2)Alice 选择另一个大随机数 x,并计算A 如下:A=gx mod n(3)Alice 将 A 发给 Bob(4)Bob 选择另一个大随机数 y,并计算 B 如下:B=gy mod n(5)Bob 将 B 发给 Alice(6)计算秘密密钥 K1 如下:K1=Bx mod n(7)计算秘密密钥 K2 如下:K2=Ay mod nK1=K2,因此 Alice 和 Bob 可以用其进行加解密 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 中会用一种密钥交换算法。 3、散列算法: 主要用于验证数据的完整性,即保证时消息在发送之后和接收之前没有被篡改对于 SSL中使用到的散列算法有 MD5、SHA-1。 4、数字证书: 数字证书其实就是一个小的计算机文件,其作...