理解SSL、HTTPS原理中的对称加密与非对称加密

1.对称性加密
双方使用的同一个密钥,既可以加密又可以解密,这种加密方法称为对称加密,也称为单密钥加密。
简单来说就是:加密与解密都是同一个秘钥。
 
优点:通常在消息发送方需要加密大量数据时使用,算法公开,计算量小,加密速度快,加密效率高。
 
缺点:在数据传送前,发送方和接收方必须商定好秘钥,然后 使双方都能保存好秘钥。其次如果一方的秘钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘 钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。
 
在对称加密的算法中常用的算法:DES、AES等
 
AES:秘钥长度可以是128、192、256位,即16字节 、24字节、32字节
DES:  秘钥长度64位,即8字节
 
2.非对称性加密
与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
私钥只能由一方保管,不能外泄。公钥可以交给任何请求方。
在非对称加密算法中常用的算法有: RSA等
优点:安全
缺点:速度慢(每次加密的数据量小)
 
3.HTTPS中是如何应用对称加密与非对称加密(原理图)

SSL ( Secure Sockets Layer) 是用来保障你的 浏览器和网站服务器之间安全通信,免受网络“中间人”窃取信息。
1.当你的浏览器向服务器请求一个安全的网页(通常是 https://)
2.服务器就把它的证书和公匙发回来
3.浏览器检查证书是不是由可以信赖的机构颁发的,确认证书有效和此证书是此网站的。
4. 浏览器使用公钥加密了一个随机对称密钥,包括加密的URL一起发送到服务器
5.服务器用自己的私匙解密了你发送的钥匙。然后用这把对称加密的钥匙给你请求的URL链接解密。
6.服务器用你发的对称钥匙给你请求的网页加密。你也有相同的钥匙就可以解密发回来的网页了
 
4.数字证书原理图
 
    
 

猜你喜欢

转载自www.cnblogs.com/wang-yaz/p/10604403.html