2019獨角獸企業重金招聘Python工程師標準>>>
- 概念
? ?非對稱加密算法需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私鑰是一對,如果用公鑰對數據進行加密,只有用對應的私鑰才能解密;如果用私鑰對數據進行加密,那么只有用對應的公鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法,常見的算法有RSA。 - 優缺點
? ? 優點:安全性較高,理論上無法破解。
? ? 缺點:速度慢,只適合對少量數據加密 - 流程
如下圖所示,甲乙之間使用非對稱加密的方式完成了重要信息的安全傳輸。1、乙方生成一對密鑰(公鑰和私鑰)并將公鑰向其它方公開。
2、得到該公鑰的甲方使用該密鑰對機密信息進行加密后再發送給乙方。
3、乙方再用自己保存的另一把專用密鑰(私鑰)對加密后的信息進行解密。乙方只能用其專用密鑰(私鑰)解密由對應的公鑰加密后的信息。
在傳輸過程中,即使攻擊者截獲了傳輸的密文,并得到了乙的公鑰,也無法破解密文,因為只有乙的私鑰才能解密密文。
同樣,如果乙要回復加密信息給甲,那么需要甲先公布甲的公鑰給乙用于加密,甲自己保存甲的私鑰用于解密。
- 代碼實例
? ? ? 待續.....