-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.12 (GNU/Linux) mQGiBD0ZXm4RBADS59M4Dy4aOBUA59mKkNg+bWqeKenYs+zTk7O8QKfqgKxLBNya R9x1ZJ0WARCzjM6wbFvg/2cZyLEvGFqXdVXPuKlB9jR1cgKH+KClOLFWdIJng6B+ lwxw9ho7uE2Gf+faBOktvGaUWk5E8rAwdBkIuvYqDc1YwYcG3iN5zAdNpwCg2JS5 NUqwRMKEVd1q0qUGKuni9ykD/17kSo6XSnirbLE8I4hKt76G09XYaIGioCzyMAv6 kcHJ47yxVRpzTXH5K1Wq09HhHUnW1oZ1tRA0YxwrEESW/fns/U7IU4BgilXKF81m 0fo/NAHVrkgas5MuA0Tb5wR6KrJwvYrVF1JqKFjeswan+SfWsQ440R8xhnyNlUTN DICgBACcth1uXuUo5rciL7kETZ2ge+aK64SpEJzwhBZFgPsrNjLOGmIP9O3A9eWR fM/kghpBP0cBxryyojYTh9E+vqEsFFxPhNtqo7hMd7NDdHLqn4y1FbgbugpdZhpE h/L93EZzj9qRFRL4a8hsouroBw5IeTdg8cDwl49SqP4BilzVqLREQWxhbiBFbGlh c2VuIChodHRwOi8vZnV0dXJlYm95LmhvbWVpcC5uZXQvKSA8ZWxpYXNlbkBtaW5k c3ByaW5nLmNvbT6IVwQTEQIAFwUCPRlebgULBwoDBAMVAwIDFgIBAheAAAoJEOSB hLWwVnaxgnsAn1vhCRNK/4Qfb0OXfqy7JylWxWgbAJ42lrhz8XK5NOS7t29BDwem 0D+CfohFBBARAgAGBQI+I5z4AAoJEBQ6+k4y8bDkbEsAmOhZGZbyblTfYc//JyU/ 5GJxYdAAnjU1x/LPJ5o3HPnM63rvFnBS7SW9iEYEEhECAAYFAj7BwZ0ACgkQnN+4 1NpzKvdfGQCeME6xs7y4NR19xsrGuOTC7KDIkwUAn0A8JZR4s/HhbegcqWuQKBP4 uo88iEYEExECAAYFAkR+J1YACgkQ370QvkqtFkw+OQCfdrYDIBU0qD40LTNfOIbz pVb5jDYAnil88lTfVnriKsYUKHjhQ4uPWRPCuQENBD0ZXnEQBACrfxe432NVrvgV Yjas8SWLGEfBUeMqrIytcfm7TP6YNRyyzUufL2lnFpaREkO/mLN61bMfQSrmzaR1 wk/KNnwWTIp9UdVVxLhfQWJpG2b1GlwlHVEwEG8Dw2lxinPU7mg1OkceyizPjeRV hoxB9NCpV0L3aFb3+GQku4ZzMsDJBwAECwP+LVkqEJgPwz+AmhqveFVSbsy5yDBr oP814XMbNaw3IILQaBPwPKHa3xmOB16pb2MIzy0m3Vxq2qOITs6LAeUvtRS9ERI1 hJSchncL6Kl1D6eplVuoU5lIA1jfYmjGHrVNUkyjoPU+dLb0BJZ2PGLGxH0DwWIY gKaQz2CDCh/11WaIRgQYEQIABgUCPRlecQAKCRDkgYS1sFZ2sXzTAJ4ks2Z4eVtZ vDZvz3jlgBYAQFBx0gCgmINosOaFJGJlTwsALWhJGmXls3k= =MNy0 -----END PGP PUBLIC KEY BLOCK-----文本文件可以从 这里下载。
简单地说,公钥加密解决了一个古老的问题“在不与某人预先交换秘钥的条件下,如何与其进行安全的通信”,安全地交换共享秘钥是一个很难解决的问题。如果你的通信处于监听的情况下,你是无法保证交换的安全性。
有了公钥加密体系,通信的双方分别生成由公钥和“机密的”私钥组成的秘钥对,然后双方可以将各自的公钥发布到网上或直接发送给对方即可。
如果你有了用户B的公钥,那么你可以用它完成下面的工作:
你可以用你的私钥做下面的事情:
在Enigmail中,过去我最喜欢设置默认密钥服务器为pgp.mit.edu,但是现在没太大的必要了,因为现在Enigmail包含一个密钥服务器列表,而且比它之前使用的更加稳定。
Gnu隐私卫士FAQ罗列了一些其它兼容GPG的email程序。注意,配合命令行下的gpg可执行程序,你可以使用任意e-mail程序(只要它不篡改消息)。
对于苹果机,你可以从GPGTools中获取GPG。(我个人没有使用过,但是别人推荐这个。)
做为替换,有时候我在Emacs/XEmacs中使用pgg包,这个包是对个gpg功能的包装。你可以高亮一部分内容,执行: M-x pgg-encrypt-region直接加密文档。
对于加密文件或者其它更有趣的事情,我只是在命令行中使用gpg程序。如果你是个安全偏执狂,那么更少的可执行程序,更好。本文档的大部分内容就是教你使用gpg程序让你变得更安全,这是一件有趣而且重要的事情。GPG2的可执行文件名叫gpg2,两者都可以演示下面的例子,而且两个版本相互兼容。v1经受过了更多的测试,是庞大功能的集合体。v2使用了libgcryp之类的加密库进行编译的,可以与外部的密码工具良好的协作。从命令行中可以看出,我使用的是版本1。
从e-mail客户端(比如Enigmail)导入我的密钥最简单的方式是从密钥服务器导入。在Enigmail中,你可以使用OpenPGP | Key Management | Keyserver | Search for Keys搜索密钥,搜索的内容可以是我的名字、我的e-mail地址eliasen@mindspring.com、我的密钥ID E48184B5B05676B1或者是短ID B05676B1。然后从搜索结果中选择对应的复选框,点击“OK”。
从Enigmail中导入我的公钥更懒更危险的方式是直接尝试发给我一封加密的e-mail。(写邮件的时候,选择菜单项OpenPGP,同时勾选Sign Message和Encrypt message。)然后当你尝试发送的时候,Enigmail将会发现它没有我的公钥,接着就会出现密钥管理窗口。从这个窗口中,你可以选择Download Missing Keys。
另外还有一种导入的方式是将我的密钥的明文版本发送到你自己的邮箱,然后选择“Import PGP Key”。
如果你的e-mail客户端不允许你从e-mail消息中自动导入密钥,你需要将上述密钥的明文保存到一个文件中,然后手工导入密钥。对于GNU隐私卫士,执行:
gpg --import [filename]
我的密钥从pgp.mit.edu中是可获得的(虽然所有主要的密钥服务器都会互相做镜像,所有你可能可以从任意的密钥服务器获得,但是这个密钥服务器可能更可靠。)
你可以从pgp.mit.edu中浏览可获得的密钥,sks-keyservers.net也可以,只是有时比较慢。你知道谁已经发布公钥了么?
使用GNU隐私卫士,你可以按照下述操作导入我的密钥(看起来更安全)
gpg --keyserver pgp.mit.edu --search-keys eliasen@mindspring.com
注意在所有的例子中,无论何时你看到一个e-mail地址,你可以替换掉部分名字、部分地址或者部分密钥ID。大部分命令都可以进行子串搜索。
gpg --help是你最好的朋友。它会列出GPG最常用的选项,但不是全部。下面是其他的一些完备的文档:
这里的入门不会过于简单,因为这会让你误以为这些技能足以保护你的隐私了。然而最好的入门方式就是访问GNU Privacy Guard主页,阅读"Guides"小节的"GNU Privacy Handbook"(已有各种格式和语言的文档)部分。下面将会讲解如何设置GPG,包括如何创建自己的私钥。
运行下面的命令来创建私钥:
gpg --gen-key
你可以选择使用默认项,因为它不会让key的长度超过允许的最大长度(当前最大长度为4096位)。key的长度越大,生成key的时间越长,加密、解密也会慢一些,但这也会给试图破解密信的恶意用户带来更高的时间开销。
在生成完私钥后,首先要做的就是创建一个吊销证书:
gpg --gen-revoke your@email.address
如果你的私钥丢失或被盗,可以用此证书来吊销公钥。不要忽视它的重要性。不管是打印出来还是存储到硬盘上,总之要好好地保存起来。
如果私钥丢失或被盗,可以将吊销证书上传到公共keyserver上来吊销你的公钥,前提是你已经将你的公钥上传到keyserver上了。
如果让我看到你有多个未吊销的公钥并且说“私钥丢失,使用新的公钥来替换其他的公钥”(这话是从一个所谓具有保密经验的人口中说出的)之类的话,那么我会立马否决你,不会信任你,因为你没有遵循最佳实践,没能管理好你的机密信息。因此保护好吊销证书和保护好私钥一样的重要。请继续往下读,看看为什么当你看到“this key is my new key, ignore the others”这句话时就应立即想到这个人要么对加密不熟悉要么他就是假冒的。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务