摘要。数字签名是各种协议中提供完整性和真实性的基本构建块。量子计算的发展引发了人们对传统签名方案所提供的安全保障的担忧。CRYSTALS-Dilithium 是一种基于格密码学的高效后量子数字签名方案,已被美国国家标准与技术研究所选为标准化的主要算法。在这项工作中,我们提出了 Dilithium 的高吞吐量 GPU 实现。对于单个操作,我们采用一系列计算和内存优化来克服顺序约束、减少内存使用和 IO 延迟、解决银行冲突并缓解管道停顿。这为每个操作带来了高且平衡的计算吞吐量和内存吞吐量。在并发任务处理方面,我们利用任务级批处理来充分利用并行性并实现内存池机制以实现快速内存访问。我们提出了一种动态任务调度机制来提高多处理器占用率并显着缩短执行时间。此外,我们采用异步计算并启动多个流来隐藏数据传输延迟,并最大限度地发挥 CPU 和 GPU 的计算能力。在所有三个安全级别中,我们的 GPU 实现在商用和服务器级 GPU 上实现了超过 160 倍的签名加速和超过 80 倍的验证加速。这为每个任务实现了微秒级的摊销执行时间,提供了一种适用于实际系统中各种应用的高吞吐量和抗量子解决方案。
主要关键词