GunPG实用教程 (RSA加密解密)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内容目录
一. GunPG的概念 (2)
二. GunPG的应用 (2)
三. GunPG的配置及钥匙数据库/钥匙环 (3)
四. 使用流程 (3)
五. Email中使用GunPG的配置流程 (5)
1.Outlook Express (5)
2.Mozilla Thunderbird (5)
3.Gmail、MSN Hotmail、Yahoo Webmail (8)
六. GunPG的前端UI集成 (9)
1.Ubuntu Gnome 桌面环境下的“密码和加密钥匙” (9)
2.Ubuntu Gnome 桌面环境下文件浏览器的右键菜单 (10)
七. 快速指令查询 (13)
一. GunPG的概念
PGP(Pretty Good Privacy)是最为有名的加密工具之一。

从9.0版开始,PGP已经发展成为个人计算机数据保护的一个全面的解决方案。

它除了可以对Outlook、 Outlook Express、Eudora以及Entourage中的电子邮件进行加密和解密以外,还能对AOL即时消息工具中的对话进行加密。

不仅如此,PGP甚至 可以对整个硬盘进行加密,阻止非法访问。

还有,使用PGP Zip模块,你还能对文档和目录进行压缩和加密。

现在,在PGP的网上商城 , PGP的最新版—PGP Desktop Home 9.5售价为95欧元(约合950人民币)
GNU Privacy Guard(GnuPG)是一个完全免费的公钥加密技术软件包( 基于PKI原理,PGP的开源方案 ),在企业网络应用中,使用GunPG对在公共网络或者局域网内传输的信息进行数字签名或加密保护,有利于提高企业网络的安全并降低安全验证成本,下载可以从GunPG官方网站上下载。

GunPG是完全免费的公钥加密技术软件包,其有4个含义:
1.如所有其他GUN产品一样,可以免费获得它。

2.可以得到它的源代码,并安装GUN库一般公共许可(LGPL)规定,任何人都可以自由修改它并可以重新发布。

与一般的公共许可协议(GPL)不同,LGPL也允许商业销售商编写建立在GunPG上的专用软件产品,而无须被迫发布它们的源代码
3.避免了如IDEA和RSA这样的受专利制约的算法,因此,不必向任何一方支付许可费就可以使用它。

4.GnuPG是在德国开发的,因此,它逃避了美国的出口限制
二. GunPG的应用
1.生成标识自己身份的密钥对,公钥和私钥,公钥可以在网络上对外公布,用于代表自己的身份,别人通过公钥加
密发送给你的数据或者通过公钥验证你的对数据产生的数字签名;私钥必须自己妥善保存,用于解密别人发送给你的数据,同时用来对数据产生数字签名。

2.非对称加密:公钥加密的数据必须由私钥来解密。

当你想把数据安全地传输到另一方,可以使用对方的公钥对数
据进行加密,这样加密后的数据就只有对方(拥有私钥的一方 )才能解密,这样就不怕数据在传输过程中被截获。

3.身份确认:当数据接收方不能确定或怀疑接收到的数据是否由你本人发出时,此时你可以使用你的私钥对数据进
行数字签名(签名后只有用你的公钥才能验证签名的正确性),对方就可以通过你的公钥验证数据是否由你本人发出。

4.加密数据+签名确认:如果你想安全把数据发送到另一方,使用对方的公钥对数据进行加密,同时再用自己的私
钥对加密后的数据进行签名,这样对方就可以用你的公钥验证数据是否由你本人所发送,签名验证后(相信数据是发自你本人)才对数据进行解密,以防数据在传输过程中被截获且同时更改加密数据及签名数据,确保不被欺骗。

注意:通过可信的渠道把自己的公钥安全交到对方手上是整个安全数据通讯的首要条件!!!同PKI的CA机构一样,你也可以使用或建立可信的CA( 信用中介),再集中用这个CA对所有用户的公钥进行数字签名,然后所有用户都导入及使用此CA的公钥对其他用户的公钥进行信任验证( 确认对方是否由此CA签发以及来检查对方“声称他是他自己”的正确性)。

三. GunPG的配置及钥匙数据库/钥匙环
1.正常安装了GunGP后,程序二进制文件:/usr/bin/gpg
2.配置文件目录:~/.gnupg
~/.gnupg/gpg.conf– 配置文件
~/.gnupg/trustdb.gpg – 信任库
~/.gnupg/pubring.gpg – 公钥库
~/.gnupg/secring.gpg – 私钥库
备份时只需要把~/.gnupg整个目录备份即可,恢复时覆盖整个目录即可
四. 使用流程
1.生成钥匙对“ gpg --gen-key”,生成过程中采用默认值即可,gpg会使用“真实姓名,Email地址以及注释”来组
成一个UserID,以标识钥匙对,如下例子:
真实姓名: MyName
电子邮件地址: myname@
注释: MyIdentification
您选择了这个用户标识:
MyName (MyIdentification) <myname@>
同时会提示输入私钥的保护密码,以降低私钥被盗使用的危险,以后每次访问私钥( 签名或解密 )时gpg都会提示输入保护密码进行身份验证
2.导出钥匙对中的公钥
# --armor 表示加内容转换成可见的ASCII码输出,否则是二进制不可见内容
gpg --export --armor MyName > myname.gpg.pub.asc
或者
gpg --export --armor myname@ > myname.gpg.pub.asc
3.把导出的公钥通过安全的途径发送给对方
4.对方收到公钥后:
○先通过“gpg --import myname.gpg.pub.asc”导入公钥到自己的公钥库
○“gpg --fingerprint MyName”打印出导入后公钥的指纹( 此时可通过第三方途径,如:EMail,电话等方式向对方确认指纹的正确性,此步聚称“验证公钥的有效性” ,当然如公钥的传输途径是可靠的话
可以直接忽略此步聚)
○当确认公钥的正确性后,必须对此公钥进行签名(使用对方自己的私钥对导入公钥进行签名,以告诉gpg此公钥是可靠的经过验证的,可用于以后的加密及签名验证用途):
gpg --edit-key MyName
>sign
>check
>quit
5.用对方的公钥加密发送给对方的数据(任何类型的文件 或 Console输入的内容),加密后只有对方(持有私钥的一
方才能解密):
# --encrypt 表示执行加密
# --armor 表示加密后的内容转换成可见的ASCII码输出,否则是二进制不可见内容
# --recipient 表示使用谁的公钥进行加密(要发送给哪个人),可以指定对方的名称或者email(UserID的一部分) gpg --encrypt --armor --recipient MyName 待加密的文件名
# 在不添加—output的情况下,生成的密文文件在原文件名后加上”.asc”
gpg --encrypt --armor --recipient MyName --output ./toMyNameEncryptData.pgp.asc 待加密的文件名
# 如果对方希望在收到密文时可以确认是否由你本人发出的话,你应该同时对密文进行数字签名( 用你自己的私钥对加密后的数据进行签名并把签名数据附加在密文里)
# --sign 表示对加密后的数据进行签名并把签名数据附加在密文里
gpg --encrypt --armor --recipient MyName --sign --output
./toMyNameEncryptData.pgp.signed.asc 待加密的文件名
6.对方收到加密文件后就可以通过gpg进行解密,解密时gpg会提示输入对应的私钥的保护密码,解密过程中同时
会验证对方的签名(如果有的话),如果签名不正确,那证明数据来源不可靠,不可信任!
gpg --decrypt --output decrypt.txt ./toMyNameEncryptData.pgp.asc
●普通加密的特殊用途:
急着发送数据但未收到对方的公钥(且资料不是太重要的时候),此时还可以使用简单的对称加密方式(加密及解密都使用相同的密钥/密码),加密过程中提示输出对称密钥/密码,注意:此密码是临时用的密码,不要设置和自己的私钥保护密码一样,以防别人猜测及盗用!
gpg --armor --output ./toMyNameEncryptData.pgp.asc --symmetric 待加密的文件名
对方收到后输入加密时的密码就可以解密( 当然你必须以安全的途径告诉对方该密码 )
gpg --decrypt --output ./decrypt.txt ./toMyNameEncryptData.pgp.asc
五. Email中使用GunPG的配置流程
1.O u tlook Express
要使用GnuPG对Outlook Express中的邮件进行加密,你需要使用GPGOE插件。

首先要安装GnuPG,注意不要更改其默认的安装路径;然后将GPGOE文档解压到你选定的 一个文件夹中,双击gnupg-w32.reg文件生成新的注册表项,该注册表项就为GPGOE和GnuPG建立了连接。

如果GnuPG被安装到了其他目 录而不是C:GnuPG,那么你必须更改注册表文件中的路径。

要对邮件进行加密,你需要启动initgpgoe.exe文件,最好为该程序创建一个桌面快捷方式。

启动后,该程序的图标将显示在系统托盘处,表明现在可以使用了。

启动Outlook Express,你将看到工具栏上出现了一个加密按钮
2.Mozilla Th un derbird
下载Enigmail插件()( 设置完后你需要启动Thunderbird ),本地安装已下载的XPI文件
打开OpenPGP的选项
发送邮件时指定PGP安全,同时勾上数据签名及加密邮件选项
对方收到邮件并阅读邮件时,OpenPGP会提示输入解密用的私钥的保护密码,输入正确后自动对邮件进行签名验证及解密:
当输入的私钥的保护密码不正确的,就无法解密,只看到密文
3.G mail、MSN Hotmail、Yahoo Webmail
如果你使用的是Firefox,你可以使用Freenigma保护你的Google、Microsoft和Yahoo Webmail邮箱,虽然使用的还是GnuPG加密技术,但不需要在本地安装。

Freenigma目前还处于Beta测试版阶段,因此你必须先在
注册才能使用。

通过Firefox插件,Freenigma用户可以相互发送加密邮件。

在 你登录到支持的Webmail服务后,该插件将自动在屏幕上生成一个工具栏。

你可以向其他Freenigma用户发送普通邮件,也可以点击 “Encrypt(加密)”按钮,对它们进行加密。

点击“解密(Decrypt)”按钮给收到的邮件解密,然后输入你的Freenigma密码;这样,你 就可以在Webmail中阅读该邮件了
六. GunPG的前端UI集成
1.Ub un t u Gn ome 桌面环境下的“密码和加密钥匙”
通过界面操作更使密钥的生成与管理更简单易用
2.Ub un t u Gn ome 桌面环境下文件浏览器的右键菜单
同样文件浏览器下的操作更简单易用
支持文件夹的自动打包
七. 快速指令查询
注意:以下的[user]指钥匙中的UserID,可以使用某人的真实名称 或 Email地址来替换
●生成新的钥匙对
gpg --gen-key
●导出公钥到ASCII文本文件( 导出公钥包含可带头像数据,如果已设置的话 )
gpg --export --armor [user] > xxx.gpgpub.asc
gpg --export --armor [user] --output xxx.gpgpub.asc
●通过文件导出其他人的公钥
gpg --import myname.gpg.pub.asc
●列出已经安装的公钥匙 或 查找某人的公钥
gpg --list-keys [user]
●列出已经安装的公钥匙的头像 或 查找某人的公钥头像( 如果公钥中包含的话 )
gpg --list-keys --list-options show-photos [user]
●列出已经安装的私钥 或 查找某人的私钥
gpg --list-secret-keys [user]
●提出一个公钥的指纹
gpg --fingerprint [user]
●编辑某用户的钥匙( 进行编辑状态后可以输入help来列出可操作指令 )
gpg --edit-key [user]
●使用接收人的公钥加密数据,同时用自己私钥签名加密后的数据( 可用 --ouput 指定生成的文件名 )
gpg --encrypt --armor --recipient [user] --sign 待加密的文件
●收到加密文件后对其进行数字签名验证并解密( 可用 --ouput 指定生成的文件名 )
gpg --decrypt 待解密的文件
其实更详细的使用方法,请man gpg, 上述如有错误要更正或技术交流,随时EMail:wisonye@。

相关文档
最新文档