MODULE m6 · 8.0 HOURS
性能评估与基准测试
已完成 0%
LEARNING OBJECTIVES
本模块目标
- 理解后量子密码算法 (ML-KEM) 的性能评估指标(时间、内存、处理量)。
- 分析在 TLS 1.3 握手过程中 KEM 运算对性能的影响。
- 利用 Liboqs 及 oqs-provider 框架对混合密码模式进行基准测试。
性能评估与基准测试
向后量子密码 (PQC) 的转换不仅是算法替换问题,更是直接关乎现有网络协议(如 TLS 1.3)性能的问题。特别是 KEM (Key Encapsulation Mechanism) 运算直接影响握手延迟 (latency) 以及服务器每秒处理连接数 (handshakes per second) [S2]。
性能指标
- 运算时间 (Computation Time): 密钥生成 (KeyGen)、封装 (Encaps)、反封装 (Decaps) 各自消耗的 CPU 周期或时间 (ms)。
- 数据大小: 公钥及封装后的密钥 (ciphertext) 大小。这决定了网络带宽消耗及产生碎片化的可能性。
- 处理量 (Throughput): 每秒可处理的握手次数。优化的实现(如利用 AVX-512)可以通过提升多项式乘法及模运算速度显著改善处理量 [S2]。
混合模式
转换期推荐采用传统算法 (ECDH) 与 PQC (ML-KEM) 并存的混合方法。此举旨在防范 PQC 可能存在的脆弱性,同时获取 PQC 的安全优势。由于混合模式增加了运算复杂度,必须缜密评估其性能损耗 [S2]。
WORKED EXAMPLES
讲解示例
- 示例 1:使用 Liboqs 进行单 KEM 运算基准测试 通过 Python 脚本,使用 `timeit` 模块测量 `ML-KEM-768` 的 `keypair`, `encaps`, `decaps` 动作时间,并将结果保存为 CSV 的方法。
- 示例 2:混合 TLS 1.3 握手处理量测量 在应用 oqs-provider 的本地服务器/客户端环境中,使用 `s_client` 和 `s_server` 测量 100 次连接所耗费的总时间,从而计算每秒握手次数 (TPS) 的分析流程。
LAB PROTOCOL
PQC 性能基准测试实操
- 1
在隔离开发环境中安装 liboqs 和 oqs-provider 并确认环境配置。
- 2
编写基准测试用 Python 脚本,测量 ML-KEM 算法的运算时间。
- 3
执行 Wireshark 捕获 TLS 握手数据包,分析混合模式下的数据大小变化。
- 4
基于测量数据,将运算时间与处理量指标进行图表化。
安全检查
- 实验仅在本地隔离环境内进行,绝对不得使用生产环境的证书或密钥。
- 由于基准测试过程可能产生高 CPU 负载,请监控系统资源。
- 注意确保捕获文件中不包含真实秘密值或密钥数据。
实验提交物
- 运算性能测量脚本 (.py)
- 测量结果 CSV 数据
- 各算法性能对比分析报告 (.md 或 .ipynb)
ASSIGNMENT
基于密码敏捷性的性能评估报告
提交物
评分标准
- 基准测试数据是否在可重现且独立的环境中测量?
- 是否准确分析了性能损耗的技术原因(密钥大小、运算复杂度)?
- 是否平衡讨论了混合模式的优势与成本?
KNOWLEDGE CHECK
理解检查
FIELD CHECK
完成标准
- 基准测试脚本运行及结果数据获取完毕
- 性能评估报告提交并审核通过
- 完成 TLS 混合模式性能分析
MODULE SOURCES
本模块参考资料
- Faster Post-Quantum TLS 1.3 Based on ML-KEM: Implementation ...arxiv.org · paper