一、什么是GPG?
GPG是基于OpenPGP标准的加密工具,采用非对称加密算法(如RSA、ECC),通过公钥与私钥的配合实现:
-
公钥:可自由分享,用于加密数据或验证签名
-
私钥:必须严格保密,用于解密或生成签名
二、快速安装GPG
-
Linux
sudo apt install gnupg sudo yum install gnupg
-
macOS
brew install gnupg
-
Windows:下载Gpg4win
三、实战操作指南
1、创建gpg密钥
首先需要生成一对密钥,包括公钥和私钥,指令如下,
gpg --gen-key
随后,需要输入用户名和邮箱,
接下来,需要输入一个密码来保护生成的密钥,
完成以上操作后,便生成了密钥,信息如下,红框里面的信息为密钥的fingerprint
2、gpg密钥管理
1、查看密钥列表
gpg --list-keys
2、导出公钥
gpg --output <output-file> --export <email>
如果希望导出的文件是可读的文本格式,可以使用--armor,
gpg --output <output-file> --armor --export <email>
3、导入公钥
gpg --import <input-file>
4、导出私钥
gpg --output <output-file> --export-secret-keys <email>
gpg --armor --output <output-file> --export-secret-keys <email>
5、删除公钥和密钥
gpg --delete-secret-key <email>
gpg --delete-key <email>
6、加密文件
gpg --output <output-file> --encrypt --recipient <recipient-email> <input-file>
-
<output-file> 是加密后的文件名
-
<recipient-email> 是接收者的电子邮件地址,用于指定接收者的公钥
-
<input-file> 是要加密的原始文件名
使用签名,添加--sign选项,
gpg --output document.txt.gpg --encrypt --sign --default-key <your-email> --recipient recipient@example.com document.txt
7、解密文件
确保导入加密文件对应的公钥,
gpg --import public_key.gpg
在解密文件之前,验证公钥的指纹以确保其真实性,
gpg --fingerprint <email>
解密,
gpg --output report_decrypted.pdf --decrypt report.gpg