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

