PGP
我鼓励读者使用 GnuPG 向我发送加密的信息。不要说你的信息不重要根本没必要加密,等你要用加密的时候就已经太晚了 —— 对于互联网。
- 指纹:2552 11B2 395A 5A3E 0E48 A0F1 FAD3 EB05 E88E 8D6D
- 导入:
- 从本博客:
gpg --fetch-keys https://tomli.blog//pubkey.asc
- 从 Keybase:
gpg --fetch-keys https://keybase.io/biergaizi/key.asc
- 从公钥服务器:
gpg --keyserver hkp://pgp.mit.edu --recv-key 255211b2395a5a3e0e48a0f1fad3eb05e88e8d6d
- 从本博客:
你可以直接分别运行这三条命令,以防止单独一个地方的密钥被篡改。如果分别运行三个命令后,GnuPG 提示密钥无变化 (unchanged),则说明密钥没有问题。另外,你可以看到,我的密钥 ID 为 E88E8D6D。但请永远不要直接使用密钥 ID 导入密钥,永远使用 255211b2395a5a3e0e48a0f1fad3eb05e88e8d6d
导入我的密钥。目前技术社区中发现疑似有人在进行短 ID 碰撞攻击。
Codecrypt
当量子计算机研发成功后,RSA 与 ECC 等传统的公钥密码学将被破解。如果 NSA 拥有能存储 50 年互联网通讯的数据库,那么今日的通讯在量子计算机建成后就不再安全。因此,学术界当前正在积极开发后量子密码学(Post-Quantum Cryptography)。Codecrypt 就是这样的一个加密工具,欢迎使用 GnuPG + Codecrypt 向我发送加密信息。由于 Codecrypt 的密码学还没有安全性保证,因此务必双重加密。加密算法是 McEliece 的一个变体(「类循环矩阵(QCM)上基于中等密度奇偶校验代码(MDPC)的 256 位版本 McEliece(MCE)并以藤崎英一郎-冈本龙明(FO)方案填充的加密算法」)。
虽然我对 NTRU 更有信心,但是作者不实现啊,囧rz。但愿不要太快就被破解……
盖子没有使用 Codecrypt 的数字签名功能,如果你收到了 Codecrypt 签名的数据,绝非本人!盖子也不推荐读者使用 Codecrypt 进行数字签名,因为 FMTSeq 签名算法是有状态的。当你进行一次签名后,计数器的值就会 +1。如果你在两台不同的计算机上同时使用同一个密钥进行签名,就会导致计数器重复,从而泄漏私钥!这有点像 DSA 的随机数陷阱,但是情况更为严重。为了解决这个问题,Daniel J. Bernstein 提出了无状态的 SPHINCS-256 签名算法,Codecrypt 也表示会在下一个版本中实现,然而它已经快一年没发布新版本了……在量子计算机出现之前,RSA 数字签名都是安全的,因为不可能有未来人用量子计算机伪造签名,然后让这段假信息穿越时空,欺骗现在的我们。
- 指纹:E89A 1333 F5EF 4068 FCF7 8D0A C50B 689F 3562 34EC 480D ACC8 6BF2 603F 2306 1D16
- 导入:
- 从本博客:
wget -O- https://tomli.blog/pqc.txt | ccr --import --armor
- 从本博客:
如何使用:
# 下载公钥
wget https://tomli.blog/pqc.txt
# 校验 PGP 签名(注意:公钥本身没有签名,请对比指纹!)
gpg --verify pqc.txt
# 阅读文件内容,获得指纹
vim pqc.txt
# 导入公钥
ccr --import --armor < pqc.txt
# 对比指纹
ccr -k -f
# 为了保险起见,先用 GnuPG 加密数据(或者加密并签名)
gpg --encrypt secret
# 再用 Codecrypt 加密 GnuPG 数据,以 ASCII 输出,重定向到 secret.ccr
# 并将数据发送给我
ccr --encrypt -r "Tom Li" --armor < secret.gpg > secret.ccr
# 生成你自己的密钥,名称为 Your Name,并设置密码加密保护(-L)
# 只能用来加密
ccr -g MCEQCMDPC256FO-SHA512-CHACHA20 -N "Your Name" -L
# 查看你的公钥指纹
ccr -k
OTR
- 指纹 1:DE6DBC57 8AEC6FE0 AD8B8EE9 42E019AA 10410408
- 指纹 2:7FFDBA19 326EAC64 4586B33A 6931A212 00B1E3AF
- 可通过校验文本文件 https://tomli.blog/otr.txt 的数字签名得以证实。
PGP 公钥签名
如果你能够出席北京 GNU/Linux 用户组或其他社区举办的线下活动,并当面向我验证公钥身份,我们则可以交换 PGP 公钥签名。否则,目前(2018)我不会对任何公钥进行签名。换言之,请勿模仿以下评论者在这里请求 PGP 公钥签名。
2018年01月31日 — 20:58
PGP Exchange:
https://yiyangwang.us/contect/
2017年04月09日 — 06:37
PGP Exchange:
https://shadowrz.wordpress.com/2017/02/07/pgp%e5%85%ac%e9%92%a5%e5%8f%91%e5%b8%83/