你还记得任何赛事的第二名吗?在未来,有人还会记得2022年世界杯上的法国队吗?
但是,在网络安全领域,仅次于赢家并不是一件坏事,因为我们需要确保自己有替代赢家的选择——以防赢家不能常胜。那么,让我们来看看PQC(后量子密码学)的第二名。
NIST PQC
NIST 定义了CRYSTALS-KYBER(密钥建立)和CRYSTALS-Dilithium(数字签名),并且FALCON和SPHINCS+也将成为数字签名的标准。为什么?是因为在数字签名中,根据我的评估,Dilithium 2(128-bit security)在其全面性能方面获得了28分(满分30分):

而且,对于KYBER-512性能(128-bit security),它是完美的30分:

但是,四种标准化方法中有三种是Lattice。如果我们发现Lattice方法的弱点会怎样?如果真的发生了这种事情,那么整个互联网都可能受到威胁。目前,我们可以选择密钥交换和签名方法(例如用于密钥交换的ECDH、RSA和DH,用于签名的ECDSA和RSA),但在仅限Lattice的世界中,我们可能依赖于LWE的基本安全性。
选择用于密钥交换的Lattice方法的主要原因之一是,它们可以适合TLS数据包,因为为了密钥交换而发送两个或多个数据包的开销太大了。因此,私钥、公钥和交换的密码大小是重要因素。从下图,我们可以看到KYBER-512的公钥为800字节,密码为718字节,私钥为1632字节。由于私钥不通过网络传递,所以我们不担心它超过1500字节(对于单个数据包)。事实上,我们有足够的空间在单个数据包中包含ECC密钥(以提供混合密钥交换方法):

对于数字签名,应该是SPHINCS+
很明显,Lattice方法在几乎所有方面都很强大,除了我们需要完全依赖它们这点之外。NIST 已将密钥交换与SPHINCS+一起定义为即将发布的标准。SPHINCS+是一种基于哈希的签名方法,SPHINCS+最大的优点之一是它提供了一个小的公钥(32字节):

我们看到SPHINCS+是所有竞争者中拥有最小的公钥和私钥大小的那个(但签名相对较大):

这样做的原因是由于私钥是一组随机的32字节值,而公钥是所有这些密钥的Merkle hash。不幸的是,SPHINCS+的性能并不像Lattice方法那么好,并且密钥生成速度比Dilithium慢10倍左右:

我们拥有 Dilithium 或 SPHINCS+ 的数字签名方法。如果相关的话,开发人员和安全架构师应该开始考虑在他们的堆栈中同时支持这两种。
密钥交换必须是BIKE或HQC
密钥交换呢?我们只有CRYSTALS-KYBER。因此,NIST现在已经开始了第四轮评估,包括BIKE, Classic McEliece, HQC和SIKE。两种比较常用的方法是BIKE和HQC。两者都不是Lattice方法,而是基于代码的,具有相似的性能级别和密钥大小。BIKE-L1(128-bit security)的公钥是1541字节,HQC-128的公钥是2249字节:

这将把公钥置于TLS数据包的限制之外,但开销可能不会太多。不幸的是,Classic McEliece几乎没有机会接近TLS,因为它有一个超过260KB的巨大公钥。对于基于同源性的方法(SIKE),它几乎没有机会被定义为替代方法,因为在一个周末使用一台笔记本电脑就破解了一种方法 (SIDH)。虽然这是选择的参数,但它带来了使用同源性的问题。但是,NIST仍然喜欢SIKE,所以它仍然在那里,并将被进行更多的探索。
结论
我们对数字签名进行了很好的分类,SPHINCS+提供了即将到来的Dilithium的替代品。密钥交换方法的过程还不太清楚,但BIKE和HQC很可能会与KYBER一起走向标准化。
关于
ChinaDeFi – ChinaDeFi.com 是一个研究驱动的DeFi创新组织,同时我们也是区块链开发团队。每天从全球超过500个优质信息源的近900篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。
Layer 2道友 – 欢迎对Layer 2感兴趣的区块链技术爱好者、研究分析人与Gavin(微信: chinadefi)联系,共同探讨Layer 2带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”。
