本发明涉及一种加速装置及加速方法,尤其是一种适于隐私计算的加速装置及加速方法。
背景技术:
1、目前,在许多隐私计算方案中,大量使用了多项式算术操作,其中,最为耗时的算术操作一般为多项式的乘法操作。为了降低乘法的计算复杂度、提高计算效率,多采用ntt(number theoretic transformation)辅助的方式进行多项式乘法操作。
2、研究发现,ntt主要对序列或者说多项式进行一个快速求值,从而获得另一个序列,而此求值得到的序列能够显著降低多项式乘法的计算复杂度。在隐私计算领域,多项式乘法多为环上多项式乘法,如基于负包卷积(negative wrapped convolution)的隐私计算。对环上多项式乘法,简单来说,期望的乘法运算为:多项式乘积后对另一个多项式进行取模,由于模的多项式具有特殊性,因此,可以基于预处理和后处理,依然可利用ntt计算简化环上多项式乘法的计算。
3、目前,常用的预处理与后处理过程,可表示为:
4、
5、其中,w2n为预处理参数,为后处理参数,[a0,a1,…,an-1]、[b0,b1,…,bn-1]分别为预处理的输入数据,apre为对输入数据[a0,a1,…,an-1]进行预处理后的结果,bpre为对输入数据[b0,b1,…,bn-1]进行预处理后的结果,c为后处理的结果,为后处理的输入数据,nttn(apre)为对apre进行ntt运算,(bpre)为对bpre进行ntt运算,θ表示逐点相乘,inttn为逆itt运算。
6、上述的预处理、后处理涉及的运算,一般均为模运算,模数为q;需要说明的是,模数q在上述的预处理、后处理过程中未示出。
7、目前,采用ntt辅助进行多项式乘法操作时,多采用软件方式执行ntt运算,但采用软件方式执行ntt运算时,存在处理速度较慢,占用cpu资源较多的问题,无法有效提升隐私计算效率。
技术实现思路
1、本发明的目的是克服现有技术中存在的不足,提供一种适于隐私计算的加速装置及加速方法,其能有效提高隐私计算的效率,减少资源占用。
2、按照本发明提供的技术方案,一种适于隐私计算的加速装置,所述加速装置包括:
3、处理器,用于执行隐私计算中的预处理计算和/或后处理计算,其中,执行预处理计算时,生成对应的预处理结果数据;
4、ntt计算单元,与处理器适配连接,用于执行ntt计算和/或intt计算,其中,
5、执行ntt计算时,接收由处理器传输的预处理结果数据,并对所述预处理结果数据进行ntt计算,以在ntt计算后生成对应的ntt计算结果数据;
6、执行intt计算时,生成作为后处理输入的后处理源数据,并将所述后处理源数据传输至处理器;
7、处理器对接收的后处理源数据执行后处理计算,以在后处理计算后生成对应的后处理结果数据。
8、所述处理器内包括至少一个用于执行预处理计算和/或后处理计算的处理子单元,其中,
9、处理器内处理子单元的数量不少于2个时,所有的处理子单元间相互独立;
10、对任一处理子单元,独立执行一次的预处理计算或后处理计算。
11、对任一处理子单元,均包括计数器、文件存储器、模乘模块、模幂模块以及数据存储器,其中,
12、文件存储器,用于存储计算处理工作参数,其中,所述计算处理工作参数至少包括预处理参数w2n和/或后处理参数
13、计数器,用于对模幂模块的模幂计算状态进行计数,以在计数后生成模幂计算计数值;
14、模幂模块,基于模幂计算计数值对预处理参数w2n或后处理参数进行模幂计算,以得到对应的预处理模幂值或后处理模幂值;
15、模乘模块,读取数据存储器内存储的预处理源数据或后处理源数据,并将预处理源数据内的预处理源子数据与对应的预处理模幂值进行模乘计算,或者,将后处理源数据的后处理源子数据与对应的后处理模幂值进行模乘计算,其中,
16、基于预处理源子数据与对应的预处理模幂值进行模乘计算,生成相应的预处理模乘计算数据,且基于所有的预处理模乘计算数据生成预处理结果数据;
17、基于后处理源子数据与对应的后处理模幂值进行模乘计算,生成相应的后处理模乘计算数据,且基于所有的后处理模乘计算数据生成后处理结果数据。
18、文件存储器内的计算处理工作参数还包括源数据长度n,其中,所述源数据长度n为预处理源数据的长度或后处理源数据的长度;
19、模幂模块内包括m个模幂计算子单元,当计数器的模幂计算计数值为时,则模幂模块停止对预处理参数w2n或后处理参数的模幂计算,并将计数器的模幂计算计数值清零,其中,为对n/m进行取整运算。
20、文件存储器内的计算处理工作参数还包括模数q以及计算状态标志位,其中,
21、当计算状态标志位为表征计算开始的第一状态值时,则计数器启动计数;
22、计数器计数时,每经过t个时钟周期,计数器的模幂计算计数值累加1;
23、第i个模幂计算子单元进行模幂计算时,则计算得到的模幂值为x^(counter*m+i)mod q,其中,执行预处理计算时,x为预处理参数w2n,执行后处理计算时,x为后处理参数counter为模幂计算计数值。
24、模乘模块包括m个模乘计算子单元,其中,模乘计算子单元与模幂计算子单元间呈一一对应;
25、第i个模乘计算子单元进行模乘计算时,则模乘值为:y^(counter*m+i)*rmod q,其中,y为接收第i个模幂计算子单元的模幂值,r为基于当前的模幂计算计数值counter在数据存储器内读取对应的源子数据,且模乘计算数据的类型与第i个模幂计算子单元的模幂计算类型相一致。
26、文件存储器内的计算处理工作参数还包括工作模式信息,其中,
27、基于工作模式信息,配置处理子单元在执行预处理计算或后处理计算时的数据存储模式,所述工作模式信息包括暂存模式或直通模式,其中,
28、工作模式信息为暂存模式时,将预处理结果数据和/或后处理结果数据存储在数据存储器内;
29、工作模式信息为直通模式时,将预处理结果数据和/或后处理结果数据直接传输至目的端,并将预处理结果数据和/或后处理结果数据存储在数据存储器内。
30、所述隐私计算包括基于负包卷积的计算操作,其中,
31、加速装置执行负包卷积的计算操作时,包括依次执行的预处理计算、ntt计算、逐点相乘计算、intt计算以及后处理计算,其中,
32、执行负包卷积的计算操作时,至少提供负包卷积第一源数据以及负包卷积第二源数据,并将所提供的负包卷积第一源数据、负包卷积第二源数据加载到处理器内;
33、处理器调配至少一个处理子单元对负包卷积第一源数据、负包卷积第二源数据分别执行预处理计算,以在预处理计算后得到负包卷积第一预处理结果数据、负包卷积第二预处理结果数据;
34、处理器将负包卷积第一预处理结果数据、负包卷积第二预处理结果数据传输至ntt计算单元,以利用ntt计算单元对负包卷积第一预处理结果数据、负包卷积第二预处理结果数据分别执行ntt计算,并分别得到对应的负包卷积第一ntt计算结果数据、负包卷积第二ntt计算结果数据;
35、对负包卷积第一ntt计算结果数据、负包卷积第二ntt计算结果数据执行逐点相乘计算,以在逐点相乘后生成intt计算源数据;
36、ntt计算单元对intt计算源数据执行intt计算,以在intt计算后生成后处理源数据,并将生成的后处理源数据传输至处理器内;
37、处理器调配至少一个处理子单元对接收的后处理源数据执行后处理计算,以在后处理计算后生成后处理结果数据。
38、所述处理器通过第一接口与ntt计算单元间适配连接;
39、所述加速装置还包括数据总线,其中,处理器通过第二接口与所述数据总线适配连接,且ntt计算单元通过第三接口与所述数据总线适配连接;
40、作为预处理输入的预处理源数据从数据总线以及第二接口加载到处理器内,处理器对预处理源数据执行预处理计算,并生成对应的预处理结果数据;
41、预处理结果数据通过第一接口传输至ntt计算单元内,以利用ntt计算单元对预处理结果数据执行ntt计算,其中,对预处理结果数据执行ntt计算后,生成对应的ntt计算结果数据;
42、执行intt计算时,ntt计算单元内基于ntt计算结果数据生成intt计算数据源,或者,ntt计算单元通过数据总线以及第三接口接收intt计算源数据,
43、ntt计算单元对intt计算源数据执行intt计算后,生成对应的后处理源数据;
44、所述后处理源数据通过第一接口传输至处理器内。
45、一种适于隐私计算的加速方法,提供隐私计算源数据,其中,对计算计算源数据进行的目标隐私计算包括ntt计算操作时,利用上述所述的加速装置执行计算加速;
46、利用加速装置执行加速计算时,配置所述加速装置对隐私计算源数据执行ntt计算操作包括的预处理计算、后处理计算、ntt计算和/或intt计算。
47、本发明的优点:加速装置包括处理器以及ntt计算单元,其中,利用处理器可执行预处理计算、后处理计算,利用ntt计算单元可执行ntt计算、intt计算,处理器以及ntt计算单元均采用硬件实现,可减少资源占用,提高隐私计算的效率。
1.一种适于隐私计算的加速装置,其特征是,所述加速装置包括:
2.根据权利要求1所述的适于隐私计算的加速装置,其特征是:所述处理器内包括至少一个用于执行预处理计算和/或后处理计算的处理子单元,其中,
3.根据权利要求2所述的适于隐私计算的加速装置,其特征是:对任一处理子单元,均包括计数器、文件存储器、模乘模块、模幂模块以及数据存储器,其中,
4.根据权利要求3所述的适于隐私计算的加速装置,其特征是:文件存储器内的计算处理工作参数还包括源数据长度n,其中,所述源数据长度n为预处理源数据的长度或后处理源数据的长度;
5.根据权利要求4所述的适于隐私计算的加速装置,其特征是:文件存储器内的计算处理工作参数还包括模数q以及计算状态标志位,其中,
6.根据权利要求5所述的适于隐私计算的加速装置,其特征是:模乘模块包括m个模乘计算子单元,其中,模乘计算子单元与模幂计算子单元间呈一一对应;
7.根据权利要求3所述的适于隐私计算的加速装置,其特征是:文件存储器内的计算处理工作参数还包括工作模式信息,其中,
8.根据权利要求2至7任一项所述的适于隐私计算的加速装置,其特征是:所述隐私计算包括基于负包卷积的计算操作,其中,
9.根据权利要求1至7任一项所述的适于隐私计算的加速装置,其特征是:所述处理器通过第一接口与ntt计算单元间适配连接;
10.一种适于隐私计算的加速方法,其特征是:提供隐私计算源数据,其中,对计算计算源数据进行的目标隐私计算包括ntt计算操作时,利用上述权利要求1~权利要求9中任一项所述的加速装置执行计算加速;