加速单元、相关装置和方法与流程

文档序号:30948985发布日期:2022-07-30 06:35阅读:来源:国知局

技术特征:
1.一种加速单元,包括:一个或多个数论变换单元,用于执行同态加密过程中的数论变换;一个或多个算术逻辑单元,用于执行同态加密过程中的算术运算;调度器,用于将待执行同态加密指令中的运算分配给所述一个或多个数论变换单元和所述一个或多个算术逻辑单元中的至少一个。2.根据权利要求1所述的加速单元,还包括:指令缓冲器,用于接收控制信号,所述控制信号包括所述待执行同态加密指令;取指令单元,用于从所述指令缓冲器取出所述待执行同态加密指令;指令译码单元,用于对所述取指令单元取回的所述待执行同态加密指令进行译码,并将译码后的所述待执行同态加密指令发送给所述调度器。3.根据权利要求2所述的加速单元,其中,所述控制信号还包括访问存储器地址;所述加速单元还包括:存储器接口,与存储器进行数据传输;直接存储器访问单元,用于接收所述指令缓冲器发来的访问存储器地址,指示所述存储器接口按照所述访问存储器地址取所述待执行同态加密指令需要的数据。4.根据权利要求1所述的加速单元,其中,所述调度器将所述待执行同态加密指令分成以下运算中的至少一个:模乘运算、模加运算、数论变换、逆数论变换、模交换、密钥交换、重新伸缩。5.根据权利要求4所述的加速单元,其中,对于所述模乘运算或模加运算,所述调度器分配给所述一个或多个算术逻辑单元中的至少一个。6.根据权利要求4所述的加速单元,其中,对于所述数论变换,所述调度器分配给所述一个或多个数论变换单元中的至少一个。7.根据权利要求4所述的加速单元,其中,对于所述逆数论变换,所述调度器将所述逆数论变换分解成数论变换与模乘运算的组合,将分解成的数论变换分配给所述一个或多个数论变换单元中的至少一个,分解成的模乘运算分配给所述一个或多个算术逻辑单元中的至少一个。8.根据权利要求7所述的加速单元,其中,对于所述模交换,所述调度器将所述模交换分解成模加和模乘的组合,分配给所述一个或多个算术逻辑单元中的至少一个。9.根据权利要求8所述的加速单元,其中,对于所述密钥交换,所述调度器将所述密钥交换分解成数论变换、逆数论变换、模乘、模交换,并按照分解结果分配给所述一个或多个数论变换单元或所述一个或多个算术逻辑单元中的至少一个。10.根据权利要求8所述的加速单元,其中,对于所述重新伸缩,所述调度器将所述重新伸缩分解成数论变换、逆数论变换、模交换,并按照分解结果分配给所述一个或多个数论变换单元或所述一个或多个算术逻辑单元中的至少一个。11.根据权利要求1所述的加速单元,其中,所述一个或多个数论变换单元中的至少一个包括:第一多项式系数存储子单元;第二多项式系数存储子单元;旋转因子存储子单元,用于存储所述数论变换中的旋转因子;
蝴蝶处理子单元,用于执行第一蝴蝶处理和第二蝴蝶处理,其中,所述第一蝴蝶处理包括:从所述第一多项式系数存储子单元读取第一多项式系数对,从所述旋转因子存储子单元中获取该第一多项式系数对所对应的旋转因子,基于该第一多项式系数对和所述旋转因子得到第二多项式系数对,写入所述第二多项式系数存储子单元;所述第二蝴蝶处理包括:从所述第二多项式系数存储子单元读取第三多项式系数对,从所述旋转因子存储子单元中获取该第三多项式系数对所对应的旋转因子,基于该第三多项式系数对和所述旋转因子得到第四多项式系数对,写入所述第一多项式系数存储子单元。12.根据权利要求11所述的加速单元,其中,所述一个或多个数论变换单元中的至少一个还包括:控制单元,用于控制所述第一多项式系数存储子单元、所述第二多项式系数存储子单元、所述旋转因子存储子单元和所述蝴蝶处理子单元的运行。13.根据权利要求11所述的加速单元,其中,所述第一多项式系数存储子单元和所述第二多项式系数存储子单元各包括多个存储体,每个存储体具有相应索引,所述第一多项式系数对与所述第三多项式系数对来自相同索引的存储体,所述第二多项式系数对与所述第四多项式系数对来自相同索引的存储体。14.根据权利要求13所述的加速单元,其中,所述第一多项式系数存储子单元或所述第二多项式系数存储子单元中的存储体有m个,所述蝴蝶处理子单元有m/2个,且对于单个蝴蝶处理子单元,所述第一多项式系数对来自的一对存储体的索引与所述第三多项式系数对来自的一对存储体的索引相同,且该对存储体中的两个存储体的索引相差m/2;所述第二多项式系数对来自的一对存储体的索引与所述第四多项式系数对来自的一对存储体的索引相同,且该对存储体中的两个存储体的索引相邻。15.根据权利要求14所述的加速单元,其中,在经过log2m次的第一蝴蝶处理或第二蝴蝶处理后,所述控制单元将所述第一多项式系数存储子单元或所述第二多项式系数存储子单元转置,再由所述蝴蝶处理子单元进行log2m的第一蝴蝶处理或第二蝴蝶处理,其中,所述转置包括:将转置前所述第一多项式系数存储子单元或所述第二多项式系数存储子单元的各存储体中排队在同一序号的多项式系数取出,按照存储体索引顺序放置在转置后的一个存储体中。16.根据权利要求11所述的加速单元,其中,所述蝴蝶处理子单元包括第一多路选通器、第二多路选通器、第三多路选通器、第四多路选通器、第一加法器、第二加法器、第一减法器、第二减法器、第一乘法器。17.根据权利要求16所述的加速单元,其中,所述第一多项式系数对或第三多项式系数对中的第一系数输入到所述第一多路选通器的第一输入端,并与所述第一多项式系数对或第三多项式系数对中的第二系数经第一加法器相加后输入到所述第一多路选通器的第二输入端,由所述第一多路选通器的第一选通信号选通所述第一输入端和第二输入端中的一路到输出端;所述第二系数输入到所述第三多路选通器的第二输入端,并与第一系数经第一减法器相减后输入到所述第三多路选通器的第一输入端,由所述第三多路选通器的第三选通信号选通所述第一输入端和第二输入端中的一路到输出端,经第一乘法器与相应旋转因子相乘,得到积信号。18.根据权利要求16所述的加速单元,其中,所述第一多路选通器的输出端输出的信号输入到所述第二多路选通器的第一输入端,并与所述积信号经第二加法器相加后输入到所
述第二多路选通器的第二输入端,由所述第二多路选通器的第二选通信号选通所述第一输入端和第二输入端中的一路到输出端,作为第二多项式系数对或第四多项式系数对中的一个系数;所述积信号输入到所述第四多路选通器的第二输入端,并与所述第一多路选通器输出的信号经第二减法器相减后输入到所述第四多路选通器的第一输入端,由所述第四多路选通器的第四选通信号选通所述第一输入端和第二输入端中的一路到输出端,作为第二多项式系数对或第四多项式系数对中的另一个系数。19.根据权利要求1所述的加速单元,其中,所述算术逻辑单元包括模加器、模乘器、第五多路选通器、第六多路选通器、第七多路选通器,其中,第一输入信号输入到第五多路选通器和第六多路选通器的第一输入端,所述模加器的输出输入到第六多路选通器的第二输入端,所述模乘器的输出输入到第五多路选通器的第二输入端,由第五多路选通器的第五选通信号选通所述第五多路选通器的第一输入端和第二输入端中的一路到输出端,由第六多路选通器的第六选通信号选通所述第六多路选通器的第一输入端和第二输入端中的一路到输出端,所述第五多路选通器的输出端连接所述模加器的第一输入端,所述模加器的第二输入端输入第二输入信号,所述第六多路选通器的输出端连接所述模乘器的第一输入端,所述模乘器的第二输入端输入第三输入信号,所述模加器的输出端连接到第七多路选通器的第一输入端,所述模乘器的输出端连接到第七多路选通器的第二输入端,由第七多路选通器的第七选通信号选通所述第七多路选通器的第一输入端和第二输入端中的一路到输出端。20.根据权利要求19所述的加速单元,其中,通过将所述第五选通信号置位成选通第一输入端,将所述第七选通信号置位成选通第一输入端,所述算术逻辑单元用于模加运算。21.根据权利要求19所述的加速单元,其中,通过将所述第六选通信号置位成选通第一输入端,将所述第七选通信号置位成选通第二输入端,所述算术逻辑单元用于模乘运算。22.根据权利要求19所述的加速单元,其中,通过将所述第五选通信号置位成选通第二输入端,将所述第六选通信号置位成选通第一输入端,将所述第七选通信号置位成选通第一输入端,所述算术逻辑单元用于先模乘后模加运算。23.根据权利要求19所述的加速单元,其中,通过将所述第五选通信号置位成选通第一输入端,将所述第六选通信号置位成选通第二输入端,将所述第七选通信号置位成选通第二输入端,所述算术逻辑单元用于先模加后模乘运算。24.一种计算装置,包括:存储器,用于存储待执行同态加密指令;根据权利要求1-23中任一个所述的加速单元;处理单元,用于加载所述待执行同态加密指令,将所述待执行同态加密指令分配到所述加速单元执行。25.一种片上系统,包括用于根据权利要求1-23中任一个所述的加速单元。26.一种数据中心,包括根据权利要求24所述的计算装置。27.一种同态加密方法,包括:接收待执行同态加密指令;将所述待执行同态加密指令分解成运算;将所述运算所包含的数论变换分配到一个或多个数论变换单元中的至少一个执行,将
所述运算所包含的算术运算分配到一个或多个算术逻辑单元中的至少一个执行。

技术总结
本公开提供了一种加速单元、相关装置和方法。该加速单元包括:一个或多个数论变换单元,用于执行同态加密过程中的数论变换;一个或多个算术逻辑单元,用于执行同态加密过程中的算术运算;调度器,用于将待执行同态加密指令中的运算分配给所述一个或多个数论变换单元和所述一个或多个算术逻辑单元中的至少一个。本公开实施例提高了同态加密硬件部署的通用性、全局性能、和可扩展性。全局性能、和可扩展性。全局性能、和可扩展性。


技术研发人员:任轩乐
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2021.01.19
技术公布日:2022/7/29
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1