NIST确定四种后量子密码算法标准
上个月,美国国家标准与技术研究所(NIST)选择了四种抗量子密码算法,用于通用加密和数字签名。NIST经过六年的时间评估了用于公钥加密、数字签名和密钥交换的抗量子(QR)密码算法替代方案后,宣布了这四种算法。
当今的密钥算法包括用于对称密钥加密的AES-256、用于哈希函数的SHA-256和SHA-3、用于数字签名和密钥建立的RSA公钥加密、椭圆曲线加密和用于数字签名和密钥交换的DSA公钥加密。
2016年,NIST邀请全球密码学家设计并审查可能的抗量子方法,以确保从网站到电子邮件的所有通信安全。前不久NIST宣布,仅选择CRYSTALS-Kyber算法用于后量子世界的通用加密。
互联网公司Cloudflare已经在其后量子类库CIRL(即Cloudflare可互操作、可重用密码库,该库使用Go语言编写)中使用了Kyber算法。除了Cloudflare,自2020年以来亚马逊也一直支持Kyber作为其传输层安全TLS 1.2的后量子密钥交换算法之一。还有IBM,将Kyber用于其第一款抗量子磁带机。
除了CRYSTALS-Kyber用于通用加密,NIST还选择了CRYSTALS-Dilithium,FALCON和SPHINCS+用于后量子时代的数字签名。
选定的四种加密算法将成为NIST后量子密码标准的一部分,预计将在2024年左右最终确定。这一选择标志着NIST后量化密码标准化项目的开始。
基于美国电话电报公司贝尔实验室研究员彼得·肖尔的算法Shor,算力强大的量子计算机将使所有主流的公钥加密算法不安全,这一评估导致NIST在2016年开始寻找后量子加密算法。AES-256只需要更长的密钥即可达到后量子标准,但SHA-256和SHA-3则需要较大的散列输出。
虽然投入实际正常使用的量子计算机还有几年的时间,但根据以往的历史来看,部署现代公钥密码基础设施却需要将近20年的时间。除此之外,当下还可以收集大量数据,等到足够强大的量子计算机可用后再对其进行解密。
破解主流加密的算力需要多大?
美国国土安全部(DHS)和NIST在其“2021关于后量子密码的常见问题”中指出,一台能够运行Shor算法来破解公钥的量子计算机将需要大约6000个稳定的量子比特位(Qbit),但众所周知,Qbit量子比特非常的不稳定。
DHS认为,今天的加密算法在像谷歌54Qbit量子梧桐芯片这样的计算机上仍然非常安全,该公司声称该芯片已实现“量子至权”(尽管这一点存有争议)。去年,IBM表示,到2025年,它的目标是4000Qbit。
“可以破解我们当前密码算法的计算机,在规模和功率上比现在所实现的‘量子至权’要大得多。”——DHS
尽管如此,白宫在今年5月份出于国家安全担忧,公布了几项加快美国量子计算研发的建议,以及联邦机构部署抗量子密码的大致时间表,以领先于中国、俄罗斯等竞争对手。包括澳大利亚、法国、英国等其他国家及地方政府,也已经认识到未来网络通信中的后量子风险。
白宫希望关键的联邦机构将现有的密码迁移到那些能够抵抗“密码分析相关量子计算机”(CRQC)的系统,以便在2035年前“尽可能减少量子风险”。
NIST建议CRYSTALS-Dilithium作为数字签名的主要算法,而FALCON适用于计算量小于Dilithium的签名应用。SPHINCS+比其他两种算法的计算量更大、计算时间更慢,但基于的是与其他三种算法不同的数学方法,因此作为备份的抗量子密码标准。
“选定的三种算法基于一系列称为结构格的数学问题,而Spincs+使用哈希函数。仍在考虑的另外四种算法是为通用加密设计的,在其方法中不使用结构格或哈希函数。”
NIST打算在新的公钥密码标准中指定“一个或多个额外的非保密、公开披露的数字签名、公钥加密和密钥建立算法,这些算法在全球范围内可用”,可以在强大的量子计算机出现之后保护敏感的政府信息。
参考阅读