Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

用于全长数论变换的硬件加速方法、装置及安全芯片 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:无锡芯光互连技术研究院有限公司

摘要:本发明涉及隐私计算中的数论变换技术领域,具体公开了一种用于全长数论变换的硬件加速方法、装置及安全芯片,包括:接收全长待正变换序列或全长待逆变换序列;将全长待正变换序列或全长待逆变换序列输入至数论变换计算单元获得全长正变换序列或全长逆变换序列,数论变换计算单元能够对全长待正变换序列或全长待逆变换序列进行预处理后获得半长正变换待加速序列或半长逆变换待加速序列,以及能够将半长正变换待加速序列或半长逆变换待加速序列通过半长硬件加速器进行加速计算,获得全长正变换序列或全长逆变换序列。本发明提供的用于全长数论变换的硬件加速方法能够在现有NTT硬件加速器配置的可执行项数不变的情况下实现更长序列的NTT变换。

主权项:1.一种用于全长数论变换的硬件加速方法,其特征在于,包括:接收全长待正变换序列或全长待逆变换序列;将所述全长待正变换序列输入至数论变换计算单元进行计算处理获得全长正变换序列,或者,将所述全长待逆变换序列输入至数论变换计算单元进行计算处理获得全长逆变换序列,其中所述数论变换计算单元能够对所述全长待正变换序列进行预处理后获得半长正变换待加速序列,以及能够将所述半长正变换待加速序列通过半长硬件加速器进行加速计算获得全长正变换序列,或者,所述数论变换计算单元能够对所述全长待逆变换序列进行预处理后获得半长逆变换待加速序列,以及能够将所述半长逆变换待加速序列通过半长硬件加速器进行加速计算获得全长逆变换序列;所述半长正变换待加速序列的序列长度为所述全长待正变换序列的序列长度的一半,所述半长逆变换待加速序列的序列长度为所述全长待逆变换序列的序列长度的一半;输出所述全长正变换序列或全长逆变换序列;其中,所述全长正变换序列的表达式为: , ,其中,表示全长正变换序列,N表示序列长度为半长,和均表示半长待正变换逆序重排序列经过半长硬件加速器后的正变换计算结果,表示半长硬件加速器的正变换计算参数,表示模数;所述全长逆变换序列的表达式为: , ,其中,表示全长逆变换序列,N表示序列长度为半长,和均表示半长待逆变换逆序重排序列经过半长硬件加速器后的逆变换计算结果,表示半长硬件加速器的逆变换计算参数,表示模数;其中,将全长待正变换序列进行拆分计算处理后获得两个半长待正变换序列,两个半长待正变换序列的表达式分别表示为: , ,其中,表示一个半长待正变换序列,表示另一个半长待正变换序列,N表示序列长度为半长,和均表示全长待正变换序列,表示半长硬件加速器的正变换计算参数,表示模数;将全长待逆变换序列进行拆分计算处理后获得两个半长待逆变换序列,两个半长待逆变换序列的表达式分别表示为: , ,其中,表示一个半长待逆变换序列,表示另一个半长待逆变换序列,N表示序列长度为半长,和均表示全长待逆变换序列,表示半长硬件加速器的逆变换计算参数,表示模数;其中,所述数论变换计算单元包括:第一存储器、第二存储器、第三存储器、第四存储器、二进制翻转器、第一半长硬件加速器、第二半长硬件加速器、多路选择器、乘法器和两路模乘计算单元;当所述数论变换计算单元为DIT计算单元时:所述第一存储器用于存储全长待正变换序列或全长待逆变换序列;所述二进制翻转器的输入端连接所述第一存储器的输出端,所述二进制翻转器用于对所述全长待正变换序列进行逆序重排处理获得全长待正变换逆序重排序列,或者,用于对所述全长待逆变换序列进行逆序重排处理获得全长待逆变换逆序重排序列;所述第二存储器的输入端连接所述二进制翻转器的输出端,所述第二存储器用于存储所述全长待正变换逆序重排序列或全长待逆变换逆序重排序列;所述第一半长硬件加速器的输入端和所述第二半长硬件加速器的输入端均与所述第二存储器的输出端连接,所述第一半长硬件加速器用于对一个半长待正变换逆序重排序列或者一个半长待逆变换逆序重排序列进行加速计算,所述第二半长硬件加速器用于对另一个半长待正变换逆序重排序列或者另一个半长待逆变换逆序重排序列进行加速计算;所述第三存储器的输入端分别连接所述第一半长硬件加速器的输出端以及第二半长硬件加速器的输出端,所述第三存储器用于存储半长待正变换逆序重排序列经过半长硬件加速器后的正变换计算结果或半长待逆变换逆序重排序列经过半长硬件加速器后的逆变换计算结果;所述乘法器的一个输入端连接所述第三存储器的输出端,所述乘法器的另一个输入端连接所述多路选择器的输出端,所述多路选择器的两个输入端分别用于输入半长硬件加速器的正变换计算参数和半长硬件加速器的逆变换计算参数;当所述多路选择器选择输入半长硬件加速器的正变换计算参数时,所述乘法器用于将所述半长待正变换逆序重排序列经过半长硬件加速器后的正变换计算结果与所述半长硬件加速器的正变换计算参数进行乘法计算,获得半长正变换中间乘法计算结果;当所述多路选择器选择输入半长硬件加速器的逆变换计算参数时,所述乘法器用于将所述半长待逆变换逆序重排序列经过半长硬件加速器后的逆变换计算结果与所述半长硬件加速器的逆变换计算参数进行乘法计算,获得半长逆变换中间乘法计算结果;两路模乘计算单元用于分别根据两个半长正变换中间乘法计算结果进行模乘运算,获得全长正变换序列;或者,用于分别根据两个半长逆变换中间乘法计算结果进行模乘运算,获得全长逆变换序列;所述第四存储器的输入端连接两路模乘计算单元的输出端,用于存储全长正变换序列或全长逆变换序列;当所述数论变换计算单元为DIF计算单元时:所述第一存储器用于存储全长待正变换序列或全长待逆变换序列;所述乘法器的一个输入端连接两路模乘计算单元的减法计算结果中间输出端,所述乘法器的另一个输入端连接所述多路选择器的输出端,所述多路选择器的两个输入端分别用于输入半长硬件加速器的正变换计算参数和半长硬件加速器的逆变换计算参数;当所述多路选择器选择输入半长硬件加速器的正变换计算参数时,所述乘法器用于将全长待正变换序列的减法计算序列结果与所述半长硬件加速器的正变换计算参数进行计算,获得半长待正变换中间乘法计算结果;当所述多路选择器选择输入半长硬件加速器的逆变换计算参数时,所述乘法器用于将全长待逆变换序列的减法计算序列结果与所述半长硬件加速器的逆变换计算参数进行计算,获得半长待逆变换中间乘法计算结果;两路模乘计算单元中的一路模乘计算单元用于根据全长待正变换序列的加法序列计算结果进行模乘运算获得一个半长待正变换序列,或者用于根据全长待逆变换序列的加法序列计算结果进行模乘运算获得一个半长待逆变换序列;另一路模乘计算单元用于根据半长待正变换中间乘法计算结果进行模乘运算获得另一个半长待正变换序列,或者,用于根据半长待逆变换中间乘法计算结果进行模乘运算获得另一个半长待逆变换序列;所述第二存储器用于存储两个半长待正变换序列或两个半长待逆变换序列;所述第一半长硬件加速器的输入端和所述第二半长硬件加速器的输入端均与所述第二存储器的输出端连接,所述第一半长硬件加速器用于对一个半长待正变换序列进行加速计算获得一个半长正变换序列,或者,用于对一个半长待逆变换序列进行加速计算获得一个半长逆变换序列,所述第二半长硬件加速器用于对另一个半长待正变换序列进行加速计算获得一个半长正变换序列,或者,用于对另一个半长待逆变换序列进行加速计算获得一个半长逆变换序列;所述第三存储器的输入端分别连接所述第一半长硬件加速器的输出端以及第二半长硬件加速器的输出端,所述第三存储器用于存储两个半长正变换序列或两个半长逆变换序列;所述二进制翻转器的输入端连接所述第三存储器的输出端,所述二进制翻转器用于对两个半长正变换序列拼接后的正变换拼接序列进行逆序重排处理,获得全长正变换序列,或者对两个半长逆变换序列拼接后的逆变换拼接序列进行逆序重排处理,获得全长逆变换序列;所述第四存储器的输入端连接所述二进制翻转器的输出端,用于存储所述全长正变换序列或全长逆变换序列。

全文数据:

权利要求:

百度查询: 无锡芯光互连技术研究院有限公司 用于全长数论变换的硬件加速方法、装置及安全芯片

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。