什么是 PGP 公钥块?

什么是 PGP 公钥块?

一些网站上发布了 PGP 公钥块(例如http://phrack.org/index.html)。

它不是十六进制代码。它使用更多的字母字符。它是什么?

为什么要发布此信息?我如何使用它?

答案1

Pretty Good Privacy (PGP) 是一种数据加密和解密计算机程序,可为数据通信提供加密隐私和身份验证。PGP 通常用于对文本、电子邮件、文件、目录和整个磁盘分区进行签名、加密和解密,以提高电子邮件通信的安全性。

密码学是利用数学来加密和解密数据的科学。密码学使你能够存储敏感信息或将其通过不安全的网络(如互联网)传输,这样除了预期接收者之外的任何人都无法读取它。

密码学是保护数据的科学,而密码分析则是分析和破解安全通信的科学。传统密码分析涉及分析推理、数学工具的应用、模式发现、耐心、决心和运气的有趣组合。密码分析员也称为攻击者。

密码学是如何工作的?

加密算法或密码是加密和解密过程中使用的数学函数。加密算法与密钥(单词、数字或短语)结合使用,以加密明文。使用不同的密钥,相同的明文可以加密为不同的密文。加密数据的安全性完全取决于两个因素:加密算法的强度和密钥的保密性。加密算法加上所有可能的密钥以及使其工作的所有协议构成了密码系统。PGP 就是一种密码系统。

公钥加密是一种非对称加密方案,使用一对密钥进行加密:一个公钥,用于加密数据,另一个私钥,用于解密。你可以向全世界公布你的公钥,同时保密你的私钥。任何拥有你的公钥副本的人都可以加密只有你才能读取的信息。即使是你从未见过的人。

从公钥推导出私钥在计算上是不可行的。任何拥有公钥的人都可以加密信息,但不能解密。只有拥有相应私钥的人才能解密信息。

PGP 如何工作?

PGP 结合了传统和公钥加密技术的一些最佳特性。PGP 是一种混合加密系统。当用户使用 PGP 加密明文时,PGP 首先会压缩明文。数据压缩可节省调制解调器传输时间和磁盘空间,更重要的是,可增强加密安全性。大多数密码分析技术利用在明文中发现的模式来破解密码。压缩可减少明文中的这些模式,从而大大增强对密码分析的抵抗力。(太短而无法压缩或压缩效果不佳的文件不会被压缩。)然后,PGP 会创建一个会话密钥,这是一个一次性的密钥。此密钥是根据鼠标的随机移动和您键入的按键生成的随机数。此会话密钥与非常安全、快速的传统加密算法配合使用来加密明文;结果是密文。数据加密后,会话密钥将加密为收件人的公钥。此公钥加密的会话密钥将与密文一起传输给收件人。

http://www.pgpi.org/doc/pgpintro/

前列腺特发性硬化症

答案2

“PGP 公钥块”格式复杂。已回答https://stackoverflow.com/questions/27893569/what-is-a-pgp-secret-key

要查看“PGP 公钥块”里面的内容,请使用:

gpg --list-packets keyfile | less

以十六进制查看:

gpg --dearmor keyfile > keyfile.bin; hexdump -C keyfile.bin

答案3

这是一个非常古老的话题,但我想在答案中添加一些细节......

pgp 公钥块是公钥(在本例中由 phrack.org 使用)。您可以将其与自己的 pgp 私钥一起使用,以只有公钥所有者才能解释的方式加密消息(或其他任何内容)。许多组织发布 gpg 公钥以方便错误报告。例如,请参阅https://services.google.com/corporate/publickey.txt

如何使用它?我将使用 gpg 示例,因为它在大多数平台上都可用:

首先,如果您还没有密钥,您需要拥有自己的密钥。

gpg --full-generate-key

这将启动一个交互式对话框来指导您完成整个过程。接受默认设置。您还需要输入您的姓名(或任何您想用作姓名的内容)和您的电子邮件地址(这实际上应该是您的实际电子邮件地址)。您还需要提供密码(记住这一点 - 如果您忘记了密码,您将无法使用您的密钥!)

接下来,导入公钥。首先创建一个文件 phrack.txt,然后将网站上的公钥粘贴到文件中。然后,

gpg --import phrack.txt

密钥将被导入,您还将看到该密钥属于名为“[电子邮件保护]

现在您可以加密您的文档。我们将纯文本文档称为“your_document.txt”,加密文档称为“your_document.gpg”:

gpg --output your_document.gpg --encrypt --recipient [email protected] your_document.txt

您需要将加密的文档发送给收件人。您还应该发送您的公钥或包含公钥的 URL,以便他们可以加密对您的回复。获取您的公钥:

gpg --list-keys #will list all keys, note the fingerprint of your key
gpg --output PUBLIC.gpg --export --armor YOUR_KEY_FINGERPRINT

相关内容