中文

CRYSTALS-Dilithium 的优化向量化实现

密码学与安全 2023-11-01 v3

摘要

CRYSTALS-Dilithium 是一种基于格的签名方案,将被 NIST 标准化为主要后量子签名算法。在这项工作中,我们通过利用高级向量扩展(AVX)指令(特别是 AVX2 和最新的 AVX-512)对 Dilithium 的实现优化进行了深入研究。我们首先提出一种带有定制早期求值的改进并行小多项式乘法(PSPM-TEE),以进一步加速签名过程。我们的 PSPM 算法在 AVX2 和 AVX-512 实现中比 NTT 快 47%-66%。然后我们提出一种比 Montgomery 约简更简单更快的定制约简方法。我们通过使用 AVX-512IFMA 将定制约简的 AVX-512 实现所需的 CPU 周期降至最小。最后,我们提出一种使用 AVX-512 的完全高度向量化 Dilithium 实现。这是通过仔细地将 Dilithium 的大部分函数用 AVX-512 指令向量化来实现的,以同时提高时间和空间效率。借助所有优化工作,我们的 AVX-512 实现在 Dilithium2/3/5 参数集上分别将密钥生成、签名和验证的性能提升了 43.2%/39.3%/45.6%、36.6%/41.6%/43.7% 和 45.3%/46.5%/47.4%。据我们所知,我们的 AVX-512 实现是迄今为止在 Intel x86-64 CPU 平台上 Dilithium 性能最佳的实现。

关键词

引用

@article{arxiv.2306.01989,
  title  = {Optimized Vectorization Implementation of CRYSTALS-Dilithium},
  author = {Jieyu Zheng and Haoliang Zhu and Zhenyu Song and Zheng Wang and Yunlei Zhao},
  journal= {arXiv preprint arXiv:2306.01989},
  year   = {2023}
}

备注

14 pages, 6 figures