對稱加密:主要特點是加密和解密使用同一個密鑰。
常用的對稱加密算法:DES、3DES、Blowfish、IDEA、RC4、RC5、RC6 和 AES
非對稱加密:加密時使用了兩個密鑰,加密和解密過程中分別使用不同的密鑰,這兩個密鑰分別為“公鑰”和“私鑰”,想要正常完成加密解密過程,就必須配對使用,而在使用過程中,“公鑰”是公開的,“私鑰”則必須有發(fā)送人保密,同時只能由持有人所有。
常用的非對稱加密算法:RSA、ECC(移動設備用)、Diffie-Hellman、El Gamal、DSA(數(shù)字簽名用)
對稱加密和非對稱加密的使用:對稱加密的方法用于通過網絡傳輸加密文件,那么不管使用任何方法將密鑰告訴對方,都有可能被竊聽,而非對稱加密的方面則具有一定的優(yōu)越性,因為它包含兩個密鑰,且僅有其中的“公鑰”是可以被公開的,接收方只需要使用自己已持有的私鑰進行解密,這樣就可以很好的避免密鑰在傳輸過程中產生的安全問題。
一張圖了解對稱加密、非對稱加密

image.png
優(yōu)缺點:
對稱加密:安全性低,加密解密速度快、效率高
非對稱加密:安全性高,加密解密速度慢、效率低
HTTPS的加密原理
HTTPS在加密過程中使用了非對稱加密和對稱加密兩者并用的混合加密機制。
由于非對稱加密處理起來比對稱加密方式更為復雜,因此在通信的時候使用非對稱加密的方式,效率很低。于是,需要使用非對稱加密的方式來保證密鑰共享的過程中密鑰的安全性,而后在通信的過程中使用對稱加密,這是最合理的設計方式,在保證安全性的同時又保證了性能。
使用證書保證公鑰的正確性