格密码加速器构建方法、装置、设备及计算机可读介质与流程

专利查询1月前  23


本技术涉及数字电路设计,尤其涉及一种格密码加速器构建方法、装置、设备及计算机可读介质。


背景技术:

1、用于隐私计算的格密码算法主要包括三种算子:用于多项式乘法的数论域变换(number theory transform,ntt),用于大整数分解运算的快速基转换(rns basisconversion,bconv),以及分解多项式乘法(decomposed polynomial multiplication,decomppolymult)。由于这三种算子运算流程复杂,并拥有各自独特的计算-访存模式,已有的加速器设计直接针对这三种算子做算子固化,即在加速器上形成多个运算模块,搭配统一或分布的存储模块,通过空分复用调度的策略,来执行隐私计算格密码运算。具体来说,假设存在一个bconv-ntt-decomppolymult的运算流,则数据先从存储模块传送进bconv运算模块,运算完成后再传送到ntt运算模块,然后再传送到decomppolymult运算模块。然后再传回存储模块。需要强调的是,硬件加速器中,每个模块的运算资源是固定的,处理能力也就是不变的。

2、然而,现有的隐私计算格密码加速器架构,在面对不同参数和不同方案的格密码运算时,运算效率会大幅降低。运算效率的降低主要来自于两个方面:一,不同算子间的数据传递导致性能浪费:由于隐私计算格密码算法的密文和密钥规模极大,且算子间存在数据依赖,在不同算子模块间传递数据会导致大量的实践开销;二,不同算子的运算负载与计算资源不匹配:在不同方案和不同参数的格密码运算中,ntt、bconv、decomppolymult这三种算子的运算开销比例是不同的(具体来说,在隐私计算格密码方案tfhe中,ntt的占比超过80%,decomppolymult的占比达到16%,没有bconv运算。而在另一种隐私计算格密码方案ckks中,在运算深度为24时,运算中ntt的占比约为58%,bconv占比约为34%,decomppolymult的占比约为8%),在这种情况下,使用任何一种参数占比来做运算模块的资源配置,都会在其他参数或方案下面临着运算负载与计算资源不匹配的现象。而由于密钥和密文规模大,算子间存在数据依赖,导致运算任务难以流水或并行处理,最终,运算负载与计算资源不匹配的现象最终导致加速器在运行不同方案或参数下的格密码运算时,性能大幅下降。

3、针对算子固化导致的运算负载与算力资源不匹配以及算子模块间数据搬运造成的大量性能浪费的问题,目前尚未提出有效的解决方案。


技术实现思路

1、本技术提供了一种格密码加速器构建方法、装置、设备及计算机可读介质,以解决现有加速器运算效率低的技术问题。

2、根据本技术实施例的一个方面,本技术提供了一种格密码加速器构建方法,包括:从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式,其中,所述预设格密码算子集合中包括多个格密码多项式算子,所述目标运算范式用于表示出所述预设格密码算子集合中的所有所述格密码多项式算子;按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器。

3、可选地,所述从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式包括:在所述格密码多项式算子的算术空间中搜索乘法运算、取模运算以及加法运算,其中,所述预设格密码算子集合中的每一个所述格密码多项式算子的算术空间均由所述乘法运算、所述取模运算以及所述加法运算组成;调整每一个所述格密码多项式算子的所述乘法运算、所述取模运算以及所述加法运算的调用顺序,以统一变形得到所述目标运算范式。

4、可选地,所述目标运算范式包括:(乘-加)n-模;其中,n为动态参数,表示所述格密码多项式算子中乘法运算和加法运算的次数,所述目标运算范式用于表示连续执行n次乘法运算操作、加法运算操作,执行完成后对产生的结果进行取模操作。

5、可选地,所述按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器包括:按照所述目标运算范式中乘法运算、加法运算以及取模运算的调用顺序,搭建相应的乘法阵列、加法阵列以及取模阵列,得到运算核;将所述运算核与局部缓存连接,得到运算单元;在芯片上放置多个并行的所述运算单元,以使不同所述运算单元的所述局部缓存接收不同系数的所述格密码多项式,使所述运算核按照所述目标运算范式加速所述格密码多项式的计算;在所有所述运算单元之间构建全连接网络,得到所述目标格密码加速器,以使所述目标格密码加速器中的所述运算单元通过所述全连接网络进行全连接数据交换。

6、可选地,所述方法还包括:确定与所述取模阵列等效的运算阵列组合,其中,所述运算阵列组合中包括乘法阵列、加法阵列以及移位阵列;使用所述运算阵列组合替换所述运算核中的所述取模阵列。

7、可选地,所述方法还包括:在接收到待计算的格密码多项式时,按照项索引将所述格密码多项式的系数分配到所述运算单元的所述局部缓存中,其中,不同所述局部缓存对应的所述项索引的范围不同,所述项索引用于表示每一项在所述格密码多项式中的顺序;确定所述目标运算范式中,乘法运算和加法运算的执行次数,记为n;在第一时刻至第n时刻分别执行乘法运算和加法运算,并对计算结果进行累加,得到第一累加结果;在所述第n时刻进入取模运算,其中,所述取模运算包括:在所述第n时刻将所述第一累加结果进行移位,得到第一移位结果,将所述第一移位结果寄存;在第n+1时刻对所述第一移位结果进行乘法运算,再对运算结果进行移位,得到第二移位结果;在第n+2时刻对所述第二移位结果进行乘法运算,再将运算结果与寄存的所述第一移位结果进行相加,得到取模结果,将所述取模结果寄存输出,作为所述格密码多项式的计算结果。

8、可选地,所述方法还包括:构建转置矩阵;将所述目标格密码加速器中的每一个所述运算单元均与所述转置矩阵连接,以将所述全连接数据交换转换为矩阵交换。

9、根据本技术实施例的另一方面,本技术提供了一种格密码加速器构建装置,包括:运算范式提取模块,用于从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式,其中,所述预设格密码算子集合中包括多个格密码多项式算子,所述目标运算范式用于表示出所述预设格密码算子集合中的所有所述格密码多项式算子;硬件架构搭建模块,用于按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器。

10、根据本技术实施例的另一方面,本技术提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。

11、根据本技术实施例的另一方面,本技术还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。

12、本技术实施例提供的上述技术方案与相关技术相比具有如下优点:

13、本技术提供了一种格密码加速器构建方法,包括:从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式,其中,所述预设格密码算子集合中包括多个格密码多项式算子,所述目标运算范式用于表示出所述预设格密码算子集合中的所有所述格密码多项式算子;按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器。本技术通过从格密码多项式算子集合中提取出统一运算范式,然后针对该统一运算范式进行统一硬件架构设计,实现更高的格密码加速效果,解决了算子固化导致的运算负载与算力资源不匹配以及算子模块间数据搬运造成的大量性能浪费的技术问题。


技术特征:

1.一种格密码加速器构建方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式包括:

3.根据权利要求1或2任一所述的方法,其特征在于,所述目标运算范式包括:

4.根据权利要求1所述的方法,其特征在于,所述按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述方法还包括:

7.根据权利要求4所述的方法,其特征在于,所述方法还包括:

8.一种格密码加速器构建装置,其特征在于,包括:

9.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的格密码加速器构建方法。

10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述的格密码加速器构建方法。


技术总结
本申请涉及一种格密码加速器构建方法、装置、设备及计算机可读介质。该方法包括:从预设格密码算子集合中提取出覆盖所有格密码运算的目标运算范式,其中,所述预设格密码算子集合中包括多个格密码多项式算子,所述目标运算范式用于表示出所述预设格密码算子集合中的所有所述格密码多项式算子;按照所述目标运算范式搭建针对每一个所述格密码多项式算子的通用统一化硬件架构,得到目标格密码加速器。本申请通过从格密码多项式算子集合中提取出统一运算范式,然后针对该统一运算范式进行统一硬件架构设计,实现更高的格密码加速效果,解决了算子固化导致的运算负载与算力资源不匹配以及算子模块间数据搬运造成的大量性能浪费的技术问题。

技术研发人员:穆嘉楠,韩虎生,叶靖
受保护的技术使用者:中科鉴芯(北京)科技有限责任公司
技术研发日:
技术公布日:2024/12/5

最新回复(0)