Page 328 - 《软件学报》2026年第7期
P. 328

软件学报 ISSN 1000-9825, CODEN RUXUEW                                        E-mail: jos@iscas.ac.cn
                 2026,37(7):3013−3032 [doi: 10.13328/j.cnki.jos.007559] [CSTR: 32375.14.jos.007559]  http://www.jos.org.cn
                 ©中国科学院软件研究所版权所有.                                                          Tel: +86-10-62562563




                 基于    CUDA Core 和        Tensor Core 的      CTRU-Prime 高吞吐量
                       *
                 实现

                 胡晓雯  1 ,    邹恒川  1 ,    沈诗羽  2 ,    李文倩  1 ,    赵运磊  1,3

                 1
                  (复旦大学 计算与智能创新学院, 上海 200433)
                 2
                  (香港城市大学 电气工程系, 香港 999077)
                 3
                  (密码科学技术国家重点实验室, 北京 100878)
                 通信作者: 赵运磊, E-mail: ylzhao@fudan.edu.cn

                 摘 要: 量子计算机的迅猛发展对现存密码体制造成了极大的威胁, 后量子密码算法的实现和迁移部署尤为重要.
                 其中, 基于  NTRU  格的密码方案因结构简洁、计算效率高等优点而备受瞩目. CTRU-Prime 方案基于                       NTRU  格构
                 造, 鉴于其在安全性、带宽和实现效率上的出色表现和                   GPU  在大规模并行处理任务上的强大能力, 在              Tensor
                 Core  和  CUDA (compute unified device architecture) Core  的基础上给出了  CTRU-Prime  的首个高吞吐量实现.
                 CTRU-Prime 的底层代数结构为素阶数域, 在抵御针对分圆环攻击的同时, 也为多项式乘法的实现带来挑战. 首先,
                 提出两种素阶数域上多项式乘法的            GPU  实现方案. 基于   CUDA Core 的伪梅森数不完整       NTT  的多项式乘法使用层
                 融合技术优化访存模式, 能够达到           256.98  倍吞吐量, 基于  Tensor Core 的教科书式多项式乘法, 将多项式乘法转化
                 为矩阵操作, 利用低精度       MMA (matrix-multiply-and-accumulate) 操作实现, 能够达到  177.24  倍吞吐量. 接着, 结合
                 批量模式和单一模式、多流技术和多线程技术, 给出了                  GPU  平台上面向吞吐量的       CTRU-Prime 总体架构, 使用融
                 合内核、合并全局内存访问、优化访存模式等优化策略, 加快各个核函数的访存和计算速度. 实验结果表明, 基于
                 RTX 3060  平台, CTRU-Prime-653、CTRU-Prime-761、CTRU-Prime-1277  每秒可以分别进行密钥生成         6.3  万、
                 5.4  万、1.6  万次, 密钥封装  63.5  万、274.5  万、160.1  万次, 密钥解封装  35.1  万、262.2  万、152.4  万次, 是  C  实现
                 版密钥生成吞吐量的        68.85、79.78、66.84  倍, 密钥封装吞吐量的     10.32、46.57、46.81  倍, 密钥解封装吞吐量的
                 11.43、89.19、90.32  倍. 与最新实现的  Kyber 相比, 密钥封装吞吐量达到       1.46  倍, 密钥解封装达到    1.74  倍, 是其他
                 NTRU  格基  GPU  高吞吐量实现的    26  倍.
                 关键词: 后量子密码; NTRU     格基密码; 密钥封装机制; 并行处理; 图形处理器
                 中图法分类号: TP309

                 中文引用格式: 胡晓雯, 邹恒川, 沈诗羽, 李文倩, 赵运磊. 基于CUDA Core和Tensor Core的CTRU-Prime高吞吐量实现. 软件学报,
                 2026, 37(7): 3013–3032. http://www.jos.org.cn/1000-9825/7559.htm
                 英文引用格式: Hu XW, Zou HC, Shen SY, Li WQ, Zhao YL. CTRU-Prime High-throughput Implementation Based on CUDA Core
                 and Tensor Core. Ruan Jian Xue Bao/Journal of Software, 2026, 37(7): 3013–3032 (in Chinese). http://www.jos.org.cn/1000-9825/7559.
                 htm

                 CTRU-Prime High-throughput Implementation Based on CUDA Core and Tensor Core
                                                      2
                                          1
                           1
                                                                 1
                 HU Xiao-Wen , ZOU Heng-Chuan , SHEN Shi-Yu , LI Wen-Qian , ZHAO Yun-Lei 1,3
                 1
                 (College of Computer Science and Artificial Intelligence, Fudan University, Shanghai 200433, China)
                 2
                 (Department of Electrical Engineering, City University of Hong Kong, Hong Kong 999077, China)
                 3
                 (State Key Laboratory of Cryptology, Beijing 100878, China)


                 *    基金项目: 上海市协同创新基金  (XTCX-KJ-2023-54); 上海市科委区块链关键技术攻关专项基金    (23511100300)
                  收稿时间: 2024-11-26; 修改时间: 2025-03-17; 采用时间: 2025-09-26; jos 在线出版时间: 2026-01-14
                  CNKI 网络首发时间: 2026-01-15
   323   324   325   326   327   328   329   330   331   332   333