NIST发布四种抗量子密码算法
近日,美国商务部国家标准与技术研究所(NIST)公布了首批四种抗量子加密算法,这是自2016年启动后量子密码标准化项目以来,NIST首次发布入围标准的抗量子算法。
抢占抗量子算法的标准阵地
抗量子算法旨在抵御未来量子计算机的攻击,后者能够破解我们今天所依赖的数字系统(量子霸权),例如网上银行和电子邮件软件。四种选定的加密算法将成为NIST后量子密码标准的一部分,预计将在大约两年内完成。
“NIST不断展望未来,以预测美国工业和整个社会的需求,并防御未来可能强大到足以破解当今加密信息的量子计算机对我们的信息系统构成的严重威胁,”NIST主任Laurie E. Locascio说道:“我们的后量子密码学计划利用全球密码学领域的顶尖人才来生产第一组抗量子算法,从中产生相关标准并显著提高我们数字信息的安全性。”
NIST正在考虑将另外四种算法纳入标准,并计划在未来宣布第二拨决赛入围者。由于需要多种强大的防御工具,NIST分两个阶段宣布获胜算法。NIST的密码学家一开始就认识到,对于不同的系统和加密任务,一个适用的标准需要为不同的应用场景提供不同的加密方案并为每个用例提供不止一种算法,以防止其中一种算法失效。
加密技术使用数学方法来保护敏感的电子信息,包括我们浏览的网站和发送的电子邮件。目前广泛使用的公钥加密系统采用的数学方法即使是最快的传统计算机也难以破解,但量子计算动摇了这种加密方法的基石。
一台功能足够强大的量子计算机将基于与我们今天拥有的传统计算机不同的技术,可以快速解决这些数学问题,击败加密系统。为了应对这种威胁,四种抗量子算法依赖于传统计算机和量子计算机都难以解决的数学问题,从而保护现在和未来的隐私。
首批抗量子算法的两大用途
首批入围NIST后量子加密标准的四种抗量子算法(Crystals-Kyber、CRYSTALS-DILITHIUM、FALCON、SPHINCS+)主要有两大用途:通用加密,用于保护通过公共网络交换的信息;数字签名,用于身份认证。NIST表示所有四种算法都是由来自多个国家和机构的专家合作开发的。
对于访问安全网站时使用的一般加密,NIST选择了CRYSTALS-Kyber算法。它的优点之一是相对较小的加密密钥,双方可以轻松交换,以及它的操作速度。
对于数字签名,通常在需要在数字交易期间验证身份或远程签署文档时使用,NIST选择了三种算法CRYSTALS-Dilithium、FALCON和SPHINCS+。NIST评审专家强调了前两者的高效率,NIST推荐CRYSTALS-Dilithium作为主要算法,FALCON用于需要比Dilithium提供的更小的签名的应用程序。
第三个算法SPHINCS+比其他两个更大且速度稍慢,但它作为备份算法很有价值,主要原因是:它选择了与NIST推荐的其他三个算法不同的数学方法。
其中三个选定的算法基于称为结构化格(structured lattices)的一系列数学问题,而SPHINCS+使用散列函数。仍在考虑的另外四种算法是为通用加密而设计的,并且在其方法中不使用结构化格或散列函数。
虽然后量子加密标准正在开发中,但NIST鼓励安全专家探索新算法并考虑他们的应用程序将如何使用它们,但不要着急将它们应用到系统中,因为在标准最终确定之前算法可能会略有变化。
为了做好进入后量子时代的准备,用户可以先清点系统中使用公钥密码的应用程序资产,这些公钥在量子计算机出现前夕面临更换。用户还可以提醒他们的IT部门和供应商即将发生的变化。要参与制定迁移到后量子密码的指南,请参阅NIST的国家网络安全卓越中心项目页面。
NIST在网站上提供了所有(候选)算法(https://csrc.nist.gov/Projects/post-quantum-cryptography/post-quantum-cryptography-standardization/round-3-submissions)。