近日,美国国家标准与技术研究院(NIST)发布了2022年选定的四种算法中的三种算法的标准草案:CRYSTALS–KYBER、CRYSTALS–Dilithium和SPHINCS+,第四种算法FALCON的标准草案将在大约一年内发布。
近年关于量子计算机的研究得到大量关注,量子计算机利用量子力学现象来解决传统计算机难以解决的数学问题。如果大规模量子计算机建成,它们能够破解当前使用的众多公钥密码系统。这将严重威胁到互联网和其他平台上数字通信的机密性和完整性。PQC的目标是开发既能抵抗量子计算机又能抵抗传统计算机的密码系统,并且可以与现有的通信协议和网络进行互操作。
虽然过去不太清楚大型量子计算机是否具有物理可能性,但现在许多科学家认为这只是一个重大的工程挑战。一些工程师甚至预测,在未来二十年左右的时间内,将建造出足够大的量子计算机,破解目前使用的所有公钥方案。从历史上看,部署现代公钥加密基础设施花了近二十年的时间。因此,无论能否预测出量子计算时代到来的确切时间,现在都必须开始准备信息安全系统,使其能够抵抗量子计算。
NIST于2016年12月公开呼吁提交后量子密码学标准化流程。在2017年11月截止日期之前,总共提交了82个候选算法。此后不久,满足提交要求和最低可接受标准的69名候选者被接受进入第一轮标准化流程。
经过对候选算法长达一年的审查,NIST选择了26种算法进入2019年1月的第二轮评估。这些算法被认为是最终标准化最有希望的候选算法,并根据内部分析和公开结果进行选择。在第二轮中,NIST和更广泛的密码学界继续进行评估。在考虑了这些分析和整个评估过程中收到的其他公众意见后,NIST选择了7名决赛选手和8名候补选手,进入2020年7月的第三轮。
第三轮于2020年7月开始,持续约18个月。在第三轮中,对用于证明候选算法的安全性理论和经验证据进行了更彻底的分析。还使用各种软件和硬件平台上的优化对其性能进行仔细的基准测试。与前两轮类似,NIST也于2021年6月举行了第三次NIST PQC标准化会议。
经过三轮评估和分析,NIST共选择了四种算法,将作为PQC标准化流程的结果。选择的公钥封装机制是CRYSTALS–KYBER,以及三种数字签名方案:CRYSTALS-Dilithium、FALCON和SPHINCS+。这些算法的目的是在可预见的未来,包括在量子计算机出现之后,能够保护敏感信息。
虽然这三个标准将构成NIST创建的第一组后量子加密标准,但它们不会是最后一个。除了NIST去年选择的四种算法外,项目团队还选择了第二组算法进行持续评估,旨在补充第一组算法。NIST将于明年针对这些选定用于标准化的算法发布标准草案。这些额外的算法是为通用加密而设计的,但它们基于与CRYSTALS-Kyber不同的数学问题,如果所选算法之一在未来表现出弱点,它们将提供替代的防御方法。
从选择算法到完全批准标准需要多个步骤。在算法选择后,将发布该算法的标准文件草案,然后是为期三个月的公众评议期,供公众要求更改或澄清。之后NIST将根据意见更新该标准,并提交给美国商务部长最终批准。目前,NIST发布了选定的四种算法中的三种算法的标准文件草案。
FIPS 203草案基于模块晶格的密钥封装机制标准,该方案源自CRYSTALS-KYBER提交的内容。密钥封装机制(或KEM)是一种特殊类型的密钥建立方案,可用于在通过公共通道进行通信的两方之间建立共享密钥。当前NIST批准的密钥建立方案在SP 800-56A使用离散对数加密的成对密钥建立方案建议和SP 800-56B《使用整数分解加密的成对密钥建立方案建议》中指定。
FIPS 204指定了带有错误的模块学习数字签名算法(ML-DSA),该方案源自CRYSTALS-Dilithium提交的内容。
FIPS 205指定了基于无状态哈希的数字签名算法或SLH-DSA,源自SPHINCS+提交。
当前NIST批准的数字签名方案在FIPS 186-5(数字签名标准)和SP 800-208(基于状态哈希的签名方案的建议)中指定。用于数字签名的第四种算法Falcon 的标准草案预计将于2024年发布。对于上面列出的三种算法,公众可以在2023年11月22日之前提交意见,预计这些算法将得到正式批准2024年。毫无疑问,2024年还会选择更多算法,并在NIST 完成评估后几年内最终确定。
在相关进展中,国家安全局(NSA)、网络安全和基础设施安全局(CISA)以及美国国家标准与技术研究所(NIST)为各组织发布了一份名为《量子就绪迁移到后量子密码学》的指南,其中提供了关于组织如何为过渡做好准备的建议。
参考链接:
[1]https://thequantuminsider.com/2023/08/24/nist-releases-four-pqc-algorithms-for-standardization/
[2]https://csrc.nist.gov/projects/post-quantum-cryptography