如何使用GPG(GnuPG)进行加密

Ytyzx讨论 | 贡献2022年3月24日 (四) 20:26的版本 (恢复45.77.171.9讨论)的编辑至Ytyzx的最后版本)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

GnuPG(GNU Privacy Guard,简称:GPG)为一款免费开源的使用非对称密钥加密(asymmetric cryptography)之软件,最初由Werner Koch开发,该软件使用非对称密钥(亦称公开密钥加密)提高加密速度,使用公钥便于交换。 GnuPG是自由软件基金会的GNU计划的一部份,与2000年开始接受德国政府资助。以GNU通用公共许可证第三版授权,详细请点击中文维基,下面为在Windows操作系统(Windows 7或Windows XP)下使用方法。

目录

加密过程

加密过程需要双方均安装GnuPG,大致过程为A在本地生成公钥和私钥,将公钥上传到公钥服务器或者直接发送给B,B接受到公钥后对文件进行加密(加密后B无法解密)并将加密文件发送给A,A使用私钥解密,从而避免直接传送密码。

下载及安装

1.首先到官方网站(https://www.gnupg.org/) 下载安装源程序。

GnuPG1.png

2.拖动网站右侧的滑动条,点击“Gpg4win”开始下载。

GnuPG2.png

3.下载完毕后点击安装源程序进行安装,弹出“用户帐户控制”对话框,点击“是(Y)”继续。

GnuPG3.png

4.点击“Next>”继续。

GnuPG4.png

5.弹出许可协议,点击“Next>”继续。

GnuPG5.png

6.弹出组件选择窗口,一般选择“Kleopatra”和“GpgEX”即可,选择完毕后点击“Next>”继续。

GnuPG6.png

7.选择安装路径,不建议安装到系统盘,点击“Next>”继续。

GnuPG7.png

8.选择是否在桌面建立快捷方式,选择完毕后点击“Next>”继续。

GnuPG8.png

9.选择开始菜单文件夹,点击“Next>”继续。

GnuPG9.png

10.开始安装GPG。

GnuPG10.png

11.安装完毕,点击“Finish”即可。

GnuPG11.png

密钥对生成

12.在开始菜单里点击“Kleopatra”(亦可直接点击桌面快捷方式)运行软件。

GnuPG12.png

13.软件开始初始化。

GnuPG13.png

14.软件主界面如下。

GnuPG37.png

15.点击“File”并选择“New Certificate...”。

GnuPG15.png

16.在下图中点击第一项(Create a personal OpenPGP key pair)。

GnuPG16.png

17.分别在对应栏输入相应内容(输入真实邮件地址),如需做进一步设置,则点击“Advanced Settings...”。

GnuPG17.png

18.一般选择RSA,详情请点击维基百科,默认为2048bits,本例中设置为4096bits,安全起见在下面设置Vaild until(失效期),设置完毕后点击“OK”回到上图,点击“Next>”继续。

GnuPG18.png

19.显示出所有参数设置,点击“Create Key”继续。

GnuPG19.png

20.输入一个密码(建议尽量复杂),此Passphrase为在使用私钥之前输入的密码短语。

GnuPG20.png

21.再次输入密码并点击“OK”。

GnuPG21.png

22.密钥对创建完毕,点击“Make a Backup Of Your Key Pair...”进行备份。

GnuPG22.png

23.在下图中蓝色框内输入路径并点击“OK”进行保存(本例中保存为ytyzx2014.gpg)。

GnuPG23.png

24.提示已经成功导出。

GnuPG24.png

25.回到主界面在“My Certificates”可看到已生成密钥对。

GnuPG25.png

26.选中密钥并点击鼠标右键,选择“Export Certificates...”。

GnuPG26.png

27.选择路径将密钥文件保存到本地(扩展名为asc)。

GnuPG27.png

28.用记事本或者NotePad++打开此文件,此即为公钥。

GnuPG38.png

29.亦可将公钥上传到公共或私有服务器上,选中公钥并点击鼠标右键,选择“Export Certificates to Server...”。

GnuPG48.png

30.提示没有配置目录服务,将默认使用“keys.gnugp.net”服务器,点击“Continue”继续。

GnuPG49.png

31.提示已经上传成功。

GnuPG50.png

加密文件

32.告知对方您公钥的名称及存储公钥服务器,对方打开Kleopatra,点击“Lookup Certificates on Server”。

GnuPG51.png

33.如出现下图提示则表明未配置目录服务。

GnuPG52.png

34.在主界面依次点击“Settings-->Configure Kleopatra”。

GnuPG53.png

35.在下图中点击“New”。

GnuPG54.png

36.默认将增加“keys.gnupg.net”服务器,点击“OK”返回主界面。

GnuPG55.png

37.重新点击“Lookup Certificates on Server”,输入公钥名称(本例中为ytyzx)并点击“Search”。

GnuPG56.png

38.选择正确的公钥并点击“Import”。

GnuPG57.png

39.提示已经导入成功。

GnuPG58.png

40.在主界面选择“File”并点击“Sign/Encrypt Files...”(亦可直接拖动需要加密之文件到“My Certificates”栏)。

GnuPG28.png

41.选择您需要加密的文件并点击“打开(O)”。

GnuPG29.png

42.如需加密完毕后直接删除原文件则选择“Remove unencrypted original file when done”,点击“Next>”继续。

GnuPG30.png

43.选择已生成之密钥并点击“Add”按钮后将密钥添加,然后点击“Encrypt”。

GnuPG31.png

44.弹出警告提示因为您不是密钥的拥有者将只能加密无法解密,直接点击“Continue”继续。

GnuPG32.png

45.提示加密后原文件将被删除,点击“Continue”继续。

GnuPG33.png

46.开始加密文件(本例中5G文件大约需要50分钟)。

GnuPG34.png

47.加密完毕,提示原文件已被删除。

GnuPG35.png

48.在原目录里可发现原文件已被删除,新增一个文件名为“原文件名.gpg”的文件(本例中为jiaoxue.db.gpg),对方将此文件发送给我们即可。

GnuPG36.png

解密文件

49.收到对方发送的加密文件后,在加密文件(本例中为jiaoxue.db.gpg)点击鼠标右键,选择“Decrypt and verify”。
   亦可在Kleopatra主界面依次点击“File-->Decrypt/Verify Files...”,找到对方发送的加密文件打开。

GnuPG42.pngGnuPG43.png

50.因没有设置签名故下图中直接点击“Decrypt/Verify”继续。

GnuPG44.png

51.弹出输入密码提示,输入原来设置的密码短语(Passphrase),并点击“OK”开始解密。

GnuPG45.png

52.具体解密时间因文件大小及电脑处理速度等条件各异,解密完毕后弹出解密成功对话框,点击“OK”即可。

GnuPG46.png

53.在加密文件同路径下可看到解密文件(本例中为桌面)。

GnuPG47.png