GPG是一种开源的加密技术,可以对文件、邮件等进行加密和数字签名。GPG加密使用了非对称加密算法,即使用公钥加密的消息只能使用私钥解密,使用私钥签名的数据可以通过公钥验证。
你可以将你的公钥发布出去,并将私钥保留,当别人希望与你进行端到端加密通信时,可以使用你公开的公钥信息对消息加密,你收到加密消息后,使用私钥即可对消息解密。
gpg4win是一个GPG的一个实现,软件可以在这里下载:Gpg4win - Thanks for downloading
密钥对生成&导入CanoKey
软件安装后会有一个叫做Kleopatra的GUI界面,点击文件-新建OpenPGP密钥对,输入你的信息,即可创建密钥对
回到主界面,插入CanoKey,点击证书-更多详情,右键密钥,点击转移到智能卡,即可将私钥信息存储到CanoKey上。
注意,存入CanoKey上的私钥将永远无法导出,如有需要,请提前备份私钥
应用
消息加密
点击记事本,输入要加密的消息
点击收件人,选择为我加密
点击加密记事本,即可完成加密
要想解密该消息,需要先插入Canokey,接着点击 解密/验证记事本内容 ,即可完成解密
消息签名
和消息加密类似,在收件人界面勾选签名身份
插入CanoKey,点击签名记事本,即可完成签名
此时,任何人导入你的公钥后,都可以对该消息进行验证。如果消息没有被篡改,则会提示签名有效,反之会提示签名错误。
使用公开的GPG公钥进行安全通信
在一些需要隐私保护的场景,通信方会公开自己的公钥,例如Synology在这个页面:Synology 产品安全顾问 | 群晖科技 Synology Inc. 公开了自己的公钥。向Synology提交安全漏洞时,可以使用这个公钥对消息加密,保证机密信息不泄露。
这里以使用我的GPG公钥给我发送加密消息为例,展示如何使用别人的公钥加密消息或文件。
首先,复制我的GPG公钥到剪贴板
接着,打开gpg4win的Kleopatra程序,点击 工具 - 剪贴板 - 证书导入
会提示导入成功
接着点击记事本,输入消息
点击收件人-为他人加密
点击加密记事本,即可完成加密
此时,该加密后的字符串只有持有我的私钥的人才能解开。
加密文件与加密消息类似,点击签名/加密即可对文件加密