System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数论变换NTT的加速执行方法和处理器技术_技高网

数论变换NTT的加速执行方法和处理器技术

技术编号:40483666 阅读:5 留言:0更新日期:2024-02-26 19:16
本说明书实施例提供一种数论变换NTT的加速执行方法和处理器。该方法包括,针对待执行NTT变换的输入数据的点数N,确定第一数目N1,第二数目N2,第一基数k1,第二基数k2,使得维度N为N1和N2之积,且第一数目N1为第一基数k1的幂次,第二数目N2为第二基数k2的幂次。利用支持矩阵运算的AI计算核心对输入数据执行第一变换,得到第一变换结果;其中第一变换包括N2组N1点NTT变换,单组N1点NTT变换通过基k1的NTT计算实现。然后利用普通计算核心对第一变换结果进行线性变换及转置重排,得到中间数据。再利用AI计算核心对中间数据执行第二变换,所述第二变换包括N1组N2点NTT变换,单组N2点NTT变换通过基k2的NTT计算实现。

【技术实现步骤摘要】

本说明书一个或多个实施例涉及隐私计算中的ntt变换,尤其涉及利用ai计算核心加速ntt变换的执行。


技术介绍

1、随着人们对数据安全和隐私保护意识的不断提高,隐私计算作为一种新型的安全计算模式,正在逐渐成为数据处理和分析的主流方法之一。隐私计算通过不暴露原始数据,而直接对加密或匿名数据进行计算,实现了数据隐私和安全的保护,有着广泛的应用前景。目前,隐私计算技术已经被广泛应用于人工智能、金融、医疗等领域,成为未来数字化社会的重要支撑技术。

2、隐私计算的一个重要方向是基于公钥密钥学的加密体系。现代公钥密码学是信息安全领域中的重要技术之一,它是一种基于数学和计算机科学的密码学技术,旨在确保安全的通信和交换数据。公钥密码学使得信息传输的安全性大大提高,因为对于攻击者而言,通过公钥并不能推算出私钥,从而保证了信息的机密性。公钥密码学使得信息安全的保证更加可行,但安全性依赖于数学算法的难度,因此在处理大规模数据时会面临性能的巨大挑战。

3、快速数论变换(ntt)是公钥密码学领域中的一种重要算法,该算法主要用于计算环上多项式的点值表示,以加速环上多项式的乘法运算,在基于格的后量子加密算法、哈希函数、数字签名以及隐私计算技术中的全同态加密、零知识证明等领域中都会使用到ntt算法。在隐私计算的场景中,ntt运算的效率是隐私计算性能的重要影响因素。

4、因此,期望能有改进的方案,充分利用计算硬件的特点,加速ntt计算的速度,提升隐私计算和加密相关场景的计算性能。


技术实现思路

1、本说明书一个或多个实施例描述了一种加速执行数论变换ntt的方案,该方案可以充分利用不同计算硬件的特点,加速ntt计算的速度,提升隐私计算和加密相关场景的计算性能。

2、根据第一方面,提供了一种快速数论变换ntt的加速执行方法,包括:

3、针对待执行ntt变换的输入数据的点数n,确定第一数目n1,第二数目n2,第一基数k1,第二基数k2,使得维度n为第一数目n1和第二数目n2之积,第一数目n1为第一基数k1的幂次,第二数目n2为第二基数k2的幂次;

4、利用支持矩阵运算的ai计算核心对所述输入数据执行第一变换,得到第一变换结果;所述第一变换包括n2组n1点ntt变换,单组n1点ntt变换通过基k1的ntt计算实现;

5、利用普通计算核心对所述第一变换结果进行线性变换及转置重排,得到中间数据;

6、利用所述ai计算核心对所述中间数据执行第二变换,所述第二变换包括n1组n2点ntt变换,单组n2点ntt变换通过基k2的ntt计算实现。

7、在不同实施例中,ai计算核心可以为gpu中的张量处理核心,所述普通计算核心为gpu中的cuda核心;或者,ai计算核心为ai专用芯片的核心,所述普通计算核心为cpu的核心。

8、在一个实施例中,确定第一数目n1,第二数目n2,第一基数k1,第二基数k2,具体包括:根据所述ai计算核心支持的矩阵运算的维度,确定第一基数k1和第二基数k2;根据第一基数k1和第二基数k2,分别确定第一数目n1和第二数目n2。

9、根据一种实现方式,ai计算核心执行的单组n1点ntt变换包括:执行多组k1点ntt变换,得到多组结果;其中单组k1点ntt变换基于所述ai计算核心中的矩阵乘法实现;对所述多组结果加权求和。

10、根据另一种实现方式,ai计算核心执行的单组n1点ntt变换包括:执行多组k1点ntt变换,得到多组结果;其中单组k1点ntt变换基于所述ai计算核心中的矩阵乘法实现;普通计算核心执行的线性变换包括,对所述多组结果加权求和。

11、在一个具体例子中,第一数目n1为第一基数k1的l1次幂;所述多组结果的组数为k1的(l1-1)次幂;对所述多组结果加权求和包括,执行(l1-1)轮次的加权求和。

12、在一个具体示例中,ai计算核心支持k1*2k1维度的矩阵乘法;所述执行多组k1点ntt变换包括,将两组k1点ntt变换对应的两个k1维方阵拼接,输入所述ai计算核心进行矩阵运算。

13、根据一种实施方式,单组n2点ntt变换具体包括:执行若干组k2点ntt变换,得到若干组结果;其中单组k2点ntt变换基于所述ai计算核心中的矩阵乘法实现;对所述若干组结果加权求和。

14、在一个实施例中,第一变换结果包括多组k1点ntt变换的多个结果,所述普通计算核心执行的线性变换包括,对所述多个结果进行加权求和与旋转因子乘法的组合操作。

15、根据第二方面,提供了一种处理器,用于加速执行快速数论变换ntt,所述处理器包括支持矩阵运算的ai计算核心,以及普通计算核心,其中:

16、所述普通计算核心配置为,针对待执行ntt变换的输入数据的点数n,确定第一数目n1,第二数目n2,第一基数k1,第二基数k2,使得维度n为第一数目n1和第二数目n2之积,第一数目n1为第一基数k1的幂次,第二数目n2为第二基数k2的幂次;

17、所述ai计算核心配置为对所述输入数据执行第一变换,得到第一变换结果;所述第一变换包括n2组n1点ntt变换,单组n1点ntt变换通过基k1的ntt计算实现;

18、所述普通计算核心还配置为,对所述第一变换结果进行线性变换及转置重排,得到中间数据;

19、所述ai计算核心还配置为,对所述中间数据执行第二变换,所述第二变换包括n1组n2点ntt变换,单组n2点ntt变换通过基k2的ntt计算实现

20、根据第三方面,提供了一种计算设备,包括存储器和如第二方面所述的处理器。

21、在本说明书的实施例中,提出一种数论变换ntt的加速执行方法和处理器。在这些实施例中,结合基k分解以及乘子分解,对长序列的n点ntt变换进行适当拆解。先将其分解为中等长度序列,并将中等长度序列进行基k分解,从而利用ai计算核心支持度较好的矩阵乘法执行基k的ntt变换。在此过程中,充分利用ai计算核心和普通计算核心的性能优势进行联合运算,以此提升ntt执行效率。

本文档来自技高网...

【技术保护点】

1.一种数论变换NTT的加速执行方法,包括:

2.根据权利要求1所述的方法,其中,

3.根据权利要求1所述的方法,其中,确定第一数目N1,第二数目N2,第一基数k1,第二基数k2,具体包括:

4.根据权利要求1所述的方法,其中,所述AI计算核心执行的单组N1点NTT变换包括:

5.根据权利要求1所述的方法,其中,所述AI计算核心执行的单组N1点NTT变换包括:执行多组k1点NTT变换,得到多组结果;其中单组k1点NTT变换基于所述AI计算核心中的矩阵乘法实现;

6.根据权利要求4或5所述的方法,其中,所述第一数目N1为第一基数k1的l 1次幂;所述多组结果的组数为k1的(l 1-1)次幂;

7.根据权利要求4或5所述的方法,其中,所述AI计算核心支持k1*2k1维度的矩阵乘法;所述执行多组k1点NTT变换包括,将两组k1点NTT变换对应的两个k1维方阵拼接,输入所述AI计算核心进行矩阵运算。

8.根据权利要求1所述的方法,其中,单组N2点NTT变换包括:

9.根据权利要求1所述的方法,其中,所述第一变换结果包括多组k1点NTT变换的多个结果,所述普通计算核心执行的线性变换包括,对所述多个结果进行加权求和与旋转因子乘法的组合操作。

10.一种处理器,用于加速执行快速数论变换NTT,所述处理器包括支持矩阵运算的AI计算核心,以及普通计算核心,其中:

11.一种计算设备,包括存储器,以及,如权利要求10所述的处理器。

...

【技术特征摘要】

1.一种数论变换ntt的加速执行方法,包括:

2.根据权利要求1所述的方法,其中,

3.根据权利要求1所述的方法,其中,确定第一数目n1,第二数目n2,第一基数k1,第二基数k2,具体包括:

4.根据权利要求1所述的方法,其中,所述ai计算核心执行的单组n1点ntt变换包括:

5.根据权利要求1所述的方法,其中,所述ai计算核心执行的单组n1点ntt变换包括:执行多组k1点ntt变换,得到多组结果;其中单组k1点ntt变换基于所述ai计算核心中的矩阵乘法实现;

6.根据权利要求4或5所述的方法,其中,所述第一数目n1为第一基数k1的l 1次幂;所述多组结果的组数为k1的(l 1-1)次幂;

7.根...

【专利技术属性】
技术研发人员:宋宜轩邹银超
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1