买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:粤港澳大湾区数字经济研究院(福田)
摘要:本发明公开了一种NTT算法的GPU加速方法、装置、设备及计算机可读存储介质,涉及信息安全技术领域,方法包括:获取多项式的系数序列和模数,获取第一数值和第二数值;根据第一数值和第二数值计算目标容量;在多项式的模数小于阈值且显存容量大于目标容量时,根据第一数值和第二数值将旋转因子矩阵拆分成多个子矩阵,对系数序列和子矩阵采用GPU矩阵乘法操作计算得到多项式的点值序列;在多项式的模数大于或等于预设阈值或显存容量小于或等于目标容量时,对系数序列采用GPU多线程并行执行蝴蝶变换,以计算得到多项式的点值序列。本发明提出一种NTT算法的GPU加速方案,提高全同态加密算法中NTT算法的计算效率。
主权项:1.一种NTT算法的GPU加速方法,其特征在于,所述NTT算法的GPU加速方法包括以下步骤:获取NTT算法中多项式的系数序列和所述多项式的模数,以及获取基于所述多项式的模数分解得到的第一数值和第二数值;根据所述第一数值和所述第二数值计算GPU显存的目标容量;在所述多项式的模数小于预设阈值,且GPU的显存容量大于所述目标容量的情况下,根据所述第一数值和所述第二数值将NTT算法中的旋转因子矩阵拆分成多个子矩阵,对所述系数序列和所述子矩阵采用GPU矩阵乘法操作计算得到所述多项式的点值序列;在所述多项式的模数大于或等于所述预设阈值,或所述显存容量小于或等于所述目标容量的情况下,对所述系数序列采用GPU多线程并行执行NTT算法中的蝴蝶变换,以计算得到所述多项式的点值序列;所述根据所述第一数值和所述第二数值将NTT算法中的旋转因子矩阵拆分成多个子矩阵的步骤包括:将所述旋转因子矩阵拆分成第一子矩阵、第二子矩阵和第三子矩阵,其中,所述第一子矩阵的维度根据所述第一数值确定,所述第二子矩阵的维度根据所述第一数值和所述第二数值确定,所述第三子矩阵的维度根据所述第二数值确定;所述对所述系数序列和所述子矩阵采用GPU矩阵乘法操作计算得到所述多项式的点值序列的步骤包括:将所述系数序列转换为系数矩阵,所述系数矩阵的维度根据所述第一数值和所述第二数值确定;通过GPU第一矩阵乘法操作对所述第一子矩阵与所述系数矩阵进行计算,得到第一中间矩阵,通过GPU第二矩阵乘法操作对所述第一中间矩阵与所述第二子矩阵进行计算,得到第二中间矩阵,通过GPU第一矩阵乘法操作对所述第二中间矩阵与所述第三子矩阵进行计算,得到第三中间矩阵;根据所述多项式的模数对所述第三中间矩阵进行模运算,得到点值矩阵,将所述点值矩阵转换得到所述多项式的点值序列。
全文数据:
权利要求:
百度查询: 粤港澳大湾区数字经济研究院(福田) NTT算法的GPU加速方法、装置、设备及存储介质
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。