2024年4月20日发(作者:)
背景介绍
最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协
议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 n
K1=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、数字证书:
数字证书其实就是一个小的计算机文件,其作用类似于我们的身份证、护照,用于证明身份,
在SSL中,使用数字证书来证明自己的身份,而不是伪造的。
5、简单的总结:
在SSL中会使用密钥交换算法交换密钥;使用密钥对数据进行加密;使用散列算法对数据
的完整性进行验证,使用数字证书证明自己的身份。好了,下面开始介绍SSL协议。
SSL介绍:
发布评论