定義
PGP(Pretty Good Privacy)是一個混合加密算法。由一個對稱加密算法,一個非對稱加密算法,一個單向hash散列算法,一個隨機數(shù)生成器組成。
工作流程
認證算法
1. 發(fā)送方創(chuàng)建消息
2. 發(fā)送方創(chuàng)建消息的160位散列碼
3. 發(fā)送方用私鑰對散列碼進行加密,附加到消息上
4. 傳輸數(shù)據(jù)
5. 接收方用發(fā)送方提供的公鑰對密文進行解密獲取散列值
6. 接收方對剩余數(shù)據(jù)計算160位散列值
7. 接收方將生成的散列值與解密后的散列值進行比較,如果匹配則認證成功。
加密過程
1. 發(fā)送方創(chuàng)建消息
2. 發(fā)送方隨機生成128位對稱密鑰
3. 發(fā)送方用密鑰對消息內容進行加密得到密文
4. 發(fā)送方使用私鑰對密鑰進行加密附加到密文上
5. 傳輸數(shù)據(jù)
6. 接收方用發(fā)送方提供的公鑰進行解密獲取對稱密鑰
7. 接收方使用密鑰解密剩余密文獲得消息內容。
總結
由于非對稱加密適合傳輸過程中的認證,但是對大塊內容加密效率低下,而對稱加密適合內容加密,但是不適合長期保存,也不適合多方都知道。還算法結合了兩者的優(yōu)勢,屏蔽了兩者的弊端,廣泛用于郵件等互聯(lián)網傳輸業(yè)務。