前情提要 / 基础扫盲
必读:使用 PGP/GPG 进行数字签名加密解密 By 蠢黑
我们可以生成世界上唯一的一组公钥和密钥,公钥用于加密,密钥用于解密。我们一般(永远)只公开公钥,他人使用公钥加密后再通过任何方式发送给我。但是因为密钥只能解密使用与自己配对的公钥加密后的数据,这样就保证了 使用了我公钥加密后的数据只能由我解密查看 。这就是 PGP 加解密的基本原理。
数字签名则是用来校验文件完整性的它不具备加密功能,它在发送的信息末尾都会加上一个用于检验的字段(签名)。这个签名是基于发布者的信息和文件计算出来的,接收者使用发送者的公钥就可以 核对信息是否遭到篡改 。大部分支持 OpenPGP 协议的应用,都会在加密的同时默认开启这个特性。
正文
OpenKeychain 是 Android 平台上最优秀的 OpenPGP 工具,用它可以方便的管理密钥
安装
创建密钥
这里我杜撰了一个叫 LetPotFly 的家伙,他的邮箱是 LetPotFly@example.com
创建密钥前,在右上角选择「更改密钥配置」,在这里可以先设置密码。
注意:将公钥上传到公共服务器是不可逆的行为,并可能暴露一些你不想公开的信息(比如邮箱)
操作示例:加密
在侧边栏中选择「加密 / 解密」,然后就可以开始对文件或文本加密
- 飞锅想加密一张图片。如果他想为自己加密,就需要在「加密到」选择
LetPotFly
;如果想要加密后发给别人,就应该在「加密到」选择接收者的公钥。可以同时选择多个接收者。
注:加密文件时必须选择接收者。而加密文本可以不选择接收者,此时操作被视为仅对文本签名。
导出至 PC
侧边栏 > 备份/恢复 > Full backup (encrypted)
将备份文件存入电脑解密,此处使用 Kleopatra
或者……
gpg --decrypt [备份].pgp | gpg --import
解密后的证书文件即可导入
其他功能
示例密钥(By 蠢黑)
来试试使用PGP解密以下纯文本吧
附录