MODULE m2 · 8.0 HOURS

ML-KEM 与 ML-DSA 标准理解

已完成 0%

LEARNING OBJECTIVES

本模块目标

  1. 解释格密码体系的数学基础与安全性依据。
  2. 理解 NIST 标准 ML-KEM(密钥封装机制)的运行原理。
  3. 掌握 NIST 标准 ML-DSA(数字签名算法)的结构特性。
  4. 分析格密码相比其他密码方式(代码基、哈希基)具有实务优势的原因。

理解 ML-KEM 与 ML-DSA 标准

1. 格密码的兴起

目前主导实务标准化的系统是基于格 (Lattice-based) 的系统。这是因为它们在最坏情况 (worst-case) 到平均情况 (average-case) 之间存在强大的数学归约 (reductions),且能够高效实现 [S4]。另一方面,基于代码 (Code-based) 或基于哈希 (Hash-based) 的方式起着保守锚点 (conservative anchors) 的作用,具备更长的安全历史或仅需最低限度假设的特性 [S4]。

2. ML-KEM (Module-Lattice Key Encapsulation Mechanism)

ML-KEM 基于以前称为 Kyber 的算法。它基于模格难题 (Module Learning With Errors, MLWE),流程如下:

  • KeyGen: 在模格中生成公钥和私钥。
  • Encapsulation: 使用公钥生成共享秘密值 (Shared Secret) 和封装后的密钥 (Ciphertext)。
  • Decapsulation: 使用私钥从封装后的密钥中恢复出原始共享秘密值。

3. ML-DSA (Module-Lattice Digital Signature Algorithm)

ML-DSA 基于 Dilithium,使用了“带中止的 Fiat-Shamir (Fiat-Shamir with Aborts)”技术。它通过格难题的难度提供防伪能力,是兼顾签名大小与公钥大小的实用标准。

4. 安全假设

格密码系统的安全性与寻找最短向量问题 (Shortest Vector Problem, SVP) 密切相关。与量子计算机的 Shor 算法能高效破解传统 RSA 或 ECC 不同,格难题被认为即使使用量子算法也无法在多项式时间内求解。

WORKED EXAMPLES

讲解示例

  1. 示例 1:格基 KEM 的安全强度对比。ML-KEM-512, 768, 1024 分别对应 NIST 安全强度 1, 3, 5 级别。其目标是达到类似于传统密码 AES-128, 192, 256 的安全水平。
  2. 示例 2:应用模格 (Module Lattice) 概念。通过使用向量和矩阵优化运算,从而在保持安全强度的情况下优化性能,优于普通格结构。

LAB PROTOCOL

ML-KEM 与 ML-DSA 算法基础实验

  1. 1

    安装 liboqs 并设置环境变量。

  2. 2

    使用 Python 示例代码执行 ML-KEM 密钥对生成及封装过程。

  3. 3

    执行使用 ML-DSA 对消息进行签名与验证的脚本。

  4. 4

    测量并记录每项运算所需的时间。

安全检查
  • 不得访问实验用虚拟环境以外的系统证书或真实密钥文件。
  • liboqs 库仅供研究与测试使用,不得将其误认为是运行环境的安全解决方案。
  • 所有实验数据保留在本地虚拟环境中,不得传输至外部网络。

实验提交物

  • 包含运算时间测量数据的 CSV 文件
  • 算法实现执行结果截图
  • 实操过程总结日志

ASSIGNMENT

后量子密码标准分析报告

提交物

评分标准

  • 是否准确描述了标准算法的数学依据?
  • 是否分析了格密码系统的优势与局限?
  • 是否展示了对安全威胁模型的正确理解?

KNOWLEDGE CHECK

理解检查

1下列哪项是格密码系统主导实务标准化的主要原因?
2ML-KEM 基于哪种数学问题类型?

FIELD CHECK

完成标准

  • 理论学习评估测验全部答对
  • 提交包含实验过程及测量数据的报告
  • 提交确认已遵守实验安全指南并在隔离环境中进行测试的检查清单

MODULE SOURCES

本模块参考资料

  1. Post-Quantum Cryptography and Quantum-Safe Security: A ...arxiv.org · paper