比尔盖子 博客

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 公钥签名。

发表评论

Your email address will not be published.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Copyright © 2018 比尔盖子 博客

Theme by Anders NorenUp ↑