概述
- GPG(RSA) 作用在于1).建立互相信任的通信线路。 2).发布可信任的作品
- RSA 算法的一个应用
- 由公钥,私钥组成。私钥,公钥成对使用,公钥可以由私钥生成。公钥可以用来验证签名。
生成自己的密钥
根据提示填写不知道的默认
gpg --gen-key
列出
gpg --list-keys
删除
gpg --delete-key [用户ID]
生成文本公钥, 私钥
gpg --armor --output public-key.txt --export [用户ID]
gpg --armor --output private-key.txt --export-secret-keys
通信方法
比如给用户A发送加密文件 hello.txt
- 先导入用户A的公钥ID userA_pub_key.asc
gpg --import userA_pub_key.asc
- 查看获得userA的ID
gpg --list-key
查到userA的ID为 USERA - 用userA的公钥加密hello.txt
gpg --recipient USERA --output hello.en.txt --encrypt hello.txt
- 用常用方式可以是不安全的邮件,IM等发送 hello.en.txt 文件
- 用户A收到后解密
gpg --decrypt hello.en.txt
或者gpg hello.en.txt
解密的时候需要输入使用私钥, 私钥的使用的需要输入当时设置的密码。
作品签名与签名校验
签名与作品放在一起
gpg --sign artwork.txt
或者 gpg --clearsign artwork.txt
这一步也要输入密码
签名作品分开
gpg --detach-sign art.exe
或者 gpg --armor --detach-sign art.exe
校验
gpg --verify art.txt.asc
或者 gpg --verify art.txt.asc art.txt
先签名后加密
gpg --local-user [发信者ID] --recipient [接收者ID] --armor --sign --encrypt art.txt