PGP
編輯PGP 是由 Phil Zimmermann 開發的數據加密和簽名程序。
PGP屬性
編輯PGP 使用所謂的公鑰程序,其中有一對xxx分配的密鑰:
它使用一個公鑰,任何人都可以使用它來為收件人加密數據并驗證他們的簽名,以及一個只有收件人擁有并且通常受密碼保護的私鑰。 發給收件人的消息使用他們的公鑰加密,然后只能使用他們的私鑰解密。 這些方法也稱為非對稱方法,因為發送方和接收方使用兩個不同的密鑰。
xxx個版本寫于 1991 年,使用 RSA 算法對數據進行加密。 后來的版本使用了 Elgamal 算法。
但是,使用 PGP 時,不會對整個消息進行非對稱加密,因為這樣計算量太大,而且將同一消息發送給多個收件人是不切實際的。 相反,實際消息是對稱加密的,只有使用的密鑰是非對稱加密的(混合加密)。 為此,每次都會隨機生成一個對稱密鑰(會話密鑰)。
這個對稱密鑰就是 z。 B. 使用 RSA 或 Elgamal 密碼系統和收件人的公鑰加密并添加到消息中。 這使得同時為多個收件人加密消息成為可能。 為多個收件人加密的消息如下所示:
PGP 基于所謂的 Web of Trust,其中沒有中央認證機構,但信任由用戶自己管理。
由于 PGP 旨在持久解密消息,如果攻擊者設法獲得私鑰,則該密鑰的整個通信歷史將受到損害。 對于即時消息,開發了 Off-the-Record Messaging (OTR) 作為 PGP 的替代方案; 即使私鑰后來被泄露,加密的通信對于攻擊者(以及合法的密鑰所有者)來說仍然是不可讀的。
工作原理
編輯使用 PGP,您可以選擇僅對消息進行簽名、僅對消息進行加密或同時對消息進行簽名和加密。 簽名用于保證消息的真實性,即它來自聲稱的發件人(真實性)并且在簽名后未被更改(完整性)。 實際上,如果消息被加密,它們通常也會被簽名。
創建數字簽名
為了稍后確保收到的消息沒有被操縱或替換(完整性)并且也來自聲稱的發件人(真實性),發件人必須為消息(或其中的一部分)創建數字簽名。密碼哈希函數已應用(過去通常使用 SHA-1,但現在已過時并被 SHA-256 等取代)。 這會創建比消息本身短得多的消息摘要(xxx指紋),從而簡化數字簽名的生成。 然后使用發件人的私鑰從消息摘要中生成簽名。
加密
作為第二步(如果不進行簽名,則為xxx步),發件人現在可以加密消息。 在這里,純文本消息和來自xxx步的數字簽名被組合成一個數據集并進行壓縮以減小大小并使密碼分析更加困難。 該壓縮數據現在使用與密文對稱的隨機生成的會話密鑰 KM 進行加密。 由于這是隨機生成的一次性密鑰,因此必須將此通知接收者。 為此,密鑰 KM 使用接收方的公鑰進行非對稱加密,并放置在加密消息的前面。 因此,加密消息的安全性取決于由被加密的非對稱密鑰和會話密鑰組成的較弱元素。 最后,密文和加密的密鑰字節必須是電子郵件友好的。 為此,這些(就像電子郵件發送中的其他二進制數據一樣)使用 Base64 變體 (Radix-64) 編碼為某些可打印的 ASCII 字符。現在 PGP 消息可以發送給收件人。 除了用于電子郵件之外,PGP 還可以通過簽名和/或加密文件或文本用于其他消息通道(由于操作之間的行尾編碼不一致,因此有一個單獨的簽名程序)系統)。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/351325/