摘要 - ML-KEM和ML-DSA是基于NIST标准的基于晶格后的加密算法。在这两种算法中,K ECCAK是广泛用于得出敏感信息的指定哈希算法,使其成为攻击者的宝贵目标。在故障注射攻击领域,很少有针对K ECCAK的作品,并且尚未完全探讨其对ML-KEM和ML-DSA安全性的影响。因此,许多攻击仍未发现。在本文中,我们首先确定k eccak的各种故障漏洞,这些漏洞通过在实用的循环锻炼模型下操纵控制流来确定(部分)输出。然后,我们系统地分析了错误的K ECCAK输出的影响,并提出了六次针对ML-KEM的攻击,以及针对ML-DSA的五次攻击,包括钥匙恢复,签名伪造和验证旁路。这些攻击涵盖了关键产生,封装,拆卸,签名和验证阶段,使我们的计划成为第一个应用于ML-KEM和ML-DSA的所有阶段。在嵌入式设备上运行的PQClean库的ML-KEM和ML-DSA的C实现中,提出的攻击已验证。实验表明,可以在ARM Cortex-M0+,M3,M4和M33微处理器上使用具有低成本电磁断层注射设置的ARM Cortex-M0+,M3,M4和M33微处理器,可实现89的成功率。5%。一旦断层注射成功,所有提议的攻击都可以通过100%的概率成功。
摘要 — NIST 后量子密码 (PQC) 标准化项目可能是迄今为止规模最大、最雄心勃勃的密码标准化工作,因此它成为密码标准化项目的绝佳案例研究。预计随着 2022 年初第三轮的结束,NIST 将宣布第一组推进标准化的原语,因此现在似乎是回顾并看看可以从这项工作中吸取什么教训的好时机。在本文中,我们研究了 NIST PQC 项目的一个特定方面:软件实现。我们观察到,作为提交包的强制性部分包含的许多实现质量很差,并且忽略了软件工程中数十年历史的标准技术,以保证一定的基线质量水平。因此,如果不先花费大量时间来清理提交的参考实现,就不可能在后量子协议迁移和软件优化工作的实验中轻易使用这些实现。我们并不是要批评向 NIST PQC 提交包括软件实现在内的提案的密码学家:毕竟,不能合理地期望每个密码学家都具备软件工程方面的专业知识。相反,我们建议 NIST 等标准化机构如何在未来的努力中改进软件提交流程,以避免提交的软件出现此类问题。更具体地说,我们提出了 PQClean,这是一个用于 PQC 软件的广泛(持续集成)测试框架,现在还包含 NIST 第 3 轮候选方案的“干净”实现。我们认为,如果在提交截止日期之前很久就提供这样的框架(无论是在线持续集成设置,还是离线测试系统),那么 NIST PQC 提交中将包含更好的实现,并且总体上将为社区和 NIST 节省大量时间和精力。
