-
题名环上多项式乘法在GPU上的优化实现
- 1
-
-
作者
赵新颖
袁峰
赵臻
王保仓
-
机构
西安电子科技大学空天地一体化综合业务网全国重点实验室
中国航天科工集团第二研究院
河南省网络密码技术重点实验室
-
出处
《密码学报(中英文)》
CSCD
北大核心
2024年第4期830-844,共15页
-
基金
国家自然科学基金(62272362,U19B2021,62102299)
河南省网络密码技术重点实验室研究课题(LNCT2022-A05)
陕西高校青年创新团队。
-
文摘
作为格密码算法的核心组件,环上多项式乘法的效率和准确性对于格密码方案的实用性和安全性至关重要.NTT及KNTT等现有的环上多项式乘法算法具有较高的并行性,其在CPU上运行时很难完全发挥优势.这也意味着,很多基于CPU实现的环上多项式乘法算法的效率仍有很大的提升空间.针对这一问题,本文基于Zhu等人提出的KNTT算法,利用GPU的众核特性以及强大的并行计算能力,实现了高效的环上多项式乘法运算.同时,将GPU线程模型中的线程块与KNTT算法中拆分出的小次数多项式一一对应,使得每个线程块负责一个多项式的NTT并行运算.由于GPU中的多个线程块可以被同时调度开始计算任务,因此多项式之间也可以实现并行处理,这进一步提高了KNTT算法在GPU上的实现效率.实验结果显示,GPU上实现的KNTT算法相较于NTT算法的GPU版本以及原始的CPU版本增速明显.在模多项式次数N为16384时,相对于原始C版本代码可以达到93.78%的增速.相较于GPU版本的NTT算法,在N=2048时,也可以达到40.62%的增速.
-
关键词
格密码
多项式乘法
NTT
kntt
-
Keywords
lattice-based cryptography
polynomial multiplication
NTT
kntt 1https://github.com/zxy1013/kntt
-
分类号
TP309.7
[自动化与计算机技术—计算机系统结构]
-
-
题名基于2KNTT的多项式乘法单元设计
- 2
-
-
作者
陈韬
李慧琴
吴艾青
李伟
南龙梅
-
机构
中国人民解放军战略支援部队信息工程大学
-
出处
《电子学报》
EI
CAS
CSCD
北大核心
2024年第2期455-467,共13页
-
基金
国家自然科学基金(No.61404175)
国家科技重大专项(No.2018ZX01027101-00)。
-
文摘
在格基抗量子公钥密码算法的基础运算中,多项式乘法在硬件实现上消耗大量的时间.为提高实际运算性能,本文通过分析多项式乘法运算中数论变换的快速实现算法,提出一种面向CRYSTALS-Kyber算法、适应硬件实现的2n次单位根预处理型快速数论变换算法架构,利用小位宽数论变换的并行处理与复杂度低的计算形式来减少运算时间.整体运算架构在结合算法特殊性质后,确定了32路并行的设计模型.在此基础上,设计了一种与该架构匹配的统一化运算单元和数据读写不冲突、地址分配最优的存储单元.实验结果表明,在65 nm的互补金属氧化物半导体(CMOS)工艺下,97 ns完成一组项数为256、模数为3329的多项式乘法运算,花费108个周期,最高工作频率可达到1.1 GHz,面积时间积为20.7(kGE·μs).
-
关键词
格基抗量子公钥密码算法
CRYSTALS-Kyber
多项式乘法
2kntt
硬件实现
-
Keywords
Lattice-based post-quantum public-key cryptography
CRYSTALS-Kyber
polynomial multiplication
2kntt
hardware design
-
分类号
TN402
[电子电信—微电子学与固体电子学]
TP309
[自动化与计算机技术—计算机系统结构]
-