中文

Dilithium后量子数字签名的高吞吐GPU实现

密码学与安全 2023-04-25 v2 分布式、并行与集群计算

摘要

数字签名是各种协议中提供完整性与真实性的基本构建模块。量子计算的发展引发了人们对经典签名方案所提供安全保证的担忧。CRYSTALS-Dilithium是一种基于格密码的高效后量子数字签名方案,已被美国国家标准与技术研究院选为标准化的主要算法。在本工作中,我们提出了Dilithium的高吞吐GPU实现。对于单个操作,我们采用一系列计算与内存优化来克服顺序约束、减少内存占用与IO延迟、解决存储体冲突并缓解流水线停顿。这使得每个操作都实现了高且均衡的计算吞吐量与内存吞吐量。在并发任务处理方面,我们利用任务级批处理以充分利用并行性,并实现内存池机制以进行快速内存访问。考虑到Dilithium中不同重复次数对整体执行时间与硬件利用率的影响,我们提出了一种动态任务调度机制,以提高多处理器占用率并显著减少执行时间。此外,我们应用异步计算并启动多个流来隐藏数据传输延迟,并最大化CPU与GPU的计算能力。在所有三个安全级别上,我们的GPU实现在商用与服务器级GPU上均能在少于32毫秒内并发计算一万个签名任务、少于15毫秒内完成验证任务。这为每项任务实现了微秒级平摊执行时间,提供了一种高吞吐且抗量子的解决方案,适用于实际系统中广泛的应用场景。

关键词

引用

@article{arxiv.2211.12265,
  title  = {High-Throughput GPU Implementation of Dilithium Post-Quantum Digital Signature},
  author = {Shiyu Shen and Hao Yang and Wangchen Dai and Hong Zhang and Zhe Liu and Yunlei Zhao},
  journal= {arXiv preprint arXiv:2211.12265},
  year   = {2023}
}