某科学的 SSH 算号指南
关联阅读:
为什么你不应该继续使用PGP:
- The PGP problem
- Why Johnny Can’t Encrypt
- gpg.fail
- What To Use Instead of PGP
- Everything You Need to Know About Email Encryption in 2026
TLDR:不安全了,全是洞。
如何优雅的算号
ed25519
与RSA相比,ed25519的算号速度快了不止一个数量级。而且ed25519的密钥更短,更适合现代应用。还能够抵抗量子计算攻击。还有任何使用RSA的理由吗?所以,这里只考虑ed25519。
相关工具
刚开始我发现了这个。看上去挺好用的,但是只能使用CPU算号,速度不够快。我忍了,在大概大半天后我算出了第一个号。于是我兴冲冲的加到了GitHub里面。结果发现GitHub显示的是这个的SHA256指纹,而不是字面值。气抖冷,我受不了了,这意味着我算出来的靓号没有人能够看到!
但是我找不到其他能用的工具了,只能自己想办法。
蛤蛤!这才是GitHub上能用的算号器!由CUDA强力驱动,使用正则匹配的是SHA256指纹!这样子,我们终于能够让所有人看到我们的靓号了!
注意,CUDA目前不支持在Visual Studio 2026 Insider下编译,所以如果你和我一样,你需要安装一下VS 2022的生成工具。本项目使用的是vcpkg来做包管理,所以是不支持Linux的捏。有人闲的话可以帮忙支持一下。
基准和其他问题
在我本机上,RTX 3060的速度比CPU快了大概10倍。所以如果你真的不是没有N卡,千万别用CPU算号。目前随机数由libsodium的CSPRNG提供,理论上还挺安全的哈。
然后是最后一位的问题。因为SHA256的模式有限,所以最后一位只能是 A E I M Q U Y c g k o s w 0 4 8 这些字符中的一个。但是值得庆幸的是,一些神秘字符串刚好在里面,所以完全没有问题!
现在默认输出的Comment是密钥的SHA256指纹。这个可以用ssh-keygen -c -f <keyfile>来修改成你想要的Comment。不会影响具体的指纹,可以随便改。
我没有做对字面量的支持,因为很少有地方会看见字面量的SSH Key。但是可以改捏,有闲的人可以帮忙加个Option。以及最后的最后,我不是密码学仙人。使用靓号必然降低一定的安全性,我也不知道实现是否真正的安全,所以请谨慎使用。
祝大家算号愉快!