System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 利用批处理矩阵运算实现数论变换的两步计算方法及装置制造方法及图纸_技高网

利用批处理矩阵运算实现数论变换的两步计算方法及装置制造方法及图纸

技术编号:41797272 阅读:10 留言:0更新日期:2024-06-24 20:21
本发明专利技术公开一种利用批处理矩阵运算实现数论变换的两步计算方法及装置,属于计算机领域。所述方法包括:获取8个一阶段矩阵P1k和1个二阶段矩阵P2;基于8个一阶段矩阵P1k和1个二阶段矩阵P2,实现8个多项式的系数在NTT域与普通域之间的转换。本发明专利技术可以借助具有高性能矩阵运算能力的设备,提升多项式系数在NTT域与普通域之间的转换性能。

【技术实现步骤摘要】

本专利技术属于计算,尤其涉及一种利用批处理矩阵运算实现数论变换的两步计算方法及装置


技术介绍

1、得益于人工智能的发展,与之相关的应用越来越普及。为此,一些厂商研发了他们自己的ai处理器或者加速器,如google的tpu、英特尔的神经网络棒、特斯拉的无人驾驶汽车芯片,以及现在众多智能手机所带有的神经网络加速引擎等,为专门的业务提供强劲的性能处理能力。这些ai加速装置通常采用低精度、新颖数据流、内存内计算的架构,而且针对特定算法操作(如卷积操作)进行过优化,性能远高于一般的通用处理器,例如nvidiatesla v100的tensor core可以提供125tensor tflops的算力。随着技术的发展,此类强大的算力资源必然越来越常见,且更容易获得访问。如果能够将ai加速器的算力用于除人工智能应用外的其它领域,如密码计算,那一定也会大大提升该领域的计算效率。

2、另一方面,量子计算机给信息安全尤其是既有密码体制安全带来了巨大的挑战。格密码,作为一种抗量子密码,被广泛认为最有希望成为下一代的公钥密码标准的密码系统。在标准格中,环上多项式乘法计算是特别耗时间的操作。因此,解决环上多项式乘法的运算速度问题,对推动格密码乃至整个信息安全有重要的研究意义与价值。

3、2016年,美国国家标准技术研究院(national institute of standards andtechnology,nist)开始启动后量子密码标准化项目,于2022年选择kyber作为密钥封装机制优胜算法,随后对它进行标准化。kyber是一种基于模容错学习的密钥封装算法,其中运算在环上。

4、数论变换(number theoretic transform)是一种多项式乘法的加速方法,将多项式的系数由普通域转换到ntt域,多项式之间的乘法由卷积乘法优化为逐元素点乘。kyber中ntt定义如下,其中ζ=17为本原根,f为待变换的多项式,为ntt变换后的形式。

5、

6、

7、


技术实现思路

1、针对上述问题,本专利技术提供了一种利用批处理矩阵运算实现数论变换的两步计算方法及装置,该方法可以在支持矩阵运算的专用处理器加速下,提升多项式系数在ntt域与普通域之间的转换性能。

2、为达到上述专利技术目的,本专利技术的技术方案包括以下内容。

3、一种利用批处理矩阵运算实现数论变换的两步计算方法,所述方法包括:

4、获取8个一阶段矩阵p1k和1个二阶段矩阵p2,

5、基于8个一阶段矩阵p1k和1个二阶段矩阵p2,实现8个多项式的系数在ntt域与普通域之间的转换;其中,所述8个多项式是在环上选择,n=256。

6、进一步地,在所述多项式为普通域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(i)表示将输入的4比特i逐比特逆序,表示3比特逐比特逆序。

7、进一步地,实现8个多项式的系数由普通域转换到ntt域的过程,包括:

8、将普通域多项式fk中的系数按由低次到高次的顺序填入16×16的矩阵,得到矩阵ak;

9、基于8个矩阵ak进行矩阵的重组,得到8个矩阵yk;

10、计算矩阵zk=p1k×yk;

11、基于8个矩阵zk进行矩阵的重组,得到8个矩阵bk;

12、计算矩阵ck=bk×p2,并将矩阵ck中元素作为普通域多项式fk对应的ntt域多项式的系数。

13、进一步地,所述基于8个矩阵ak进行矩阵的重组,得到8个矩阵yk,包括:

14、将矩阵a0,a1,…,a7中第0列和第1列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z0;

15、将矩阵a0,a1,…,a7中第2列和第3列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z1;

16、将矩阵a0,a1,…,a7中第4列和第5列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z2;

17、将矩阵a0,a1,…,a7中第6列和第7列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z3;

18、将矩阵a0,a1,…,a7中第8列和第9列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z4;

19、将矩阵a0,a1,…,a7中第10列和第11列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z5;

20、将矩阵a0,a1,…,a7中第12列和第13列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z6;

21、将矩阵a0,a1,…,a7中第14列和第15列按照a0||a1||…||a7的顺序重组,得到16×16矩阵z7。

22、进一步地,在所述多项式为ntt域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(j)表示将输入的4比特j逐比特逆序,和2vr3(k)分别表示3比特和k逐比特逆序。

23、进一步地,实现8个多项式的系数由ntt域转换到普通域的过程,包括:

24、将普通域多项式fk中的系数按由低次到高次的顺序填入16×16的矩阵,得到矩阵ak;

25、基于8个矩阵ak进行矩阵的重组,得到8个矩阵yk;

26、计算矩阵zk=p1k×yk;

27、基于8个矩阵zk进行矩阵的重组,得到8个矩阵bk;

28、计算矩阵ck=bk×p2,并将矩阵ck中元素作为普通域多项式fk对应的ntt域表示的系数。

29、进一步地,所述基于8个矩阵ak进行矩阵的重组,得到8个矩阵yk,包括:

30、将矩阵a0,a1,…,a7中第0列和第1列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z0;

31、将矩阵a0,a1,…,a7中第2列和第3列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z1;

32、将矩阵a0,a1,…,a7中第4列和第5列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z2;

33、将矩阵a0,a1,…,a7中第6列和第7列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z3;

34、将矩阵a0,a1,…,a7中第8列和第9列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z4;

35、将矩阵a0,a1,…,a7中第10列和第11列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z5;

36、将矩阵a0,a1,…,a7中第12列和第13列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z6;

37、将矩阵a0,a1,…,a7中第14列和第15列按照a0∥a1∥…∥a7的顺序重组,得到16×16矩阵z7。

38、一种利用批处理矩阵运算实现数论变换的两步计算装置,本文档来自技高网...

【技术保护点】

1.一种利用批处理矩阵运算实现数论变换的两步计算方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述多项式为普通域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(i)表示将输入的4比特i逐比特逆序,表示3比特逐比特逆序。

3.根据权利要求2所述的方法,其特征在于,实现8个多项式的系数由普通域转换到NTT域的过程,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于8个矩阵Ak进行矩阵的重组,得到8个矩阵YK,包括:

5.根据权利要求1所述的方法,其特征在于,在所述多项式为NTT域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(j)表示将输入的4比特j逐比特逆序,和2br3(k)分别表示3比特和k逐比特逆序。

6.根据权利要求5所述的方法,其特征在于,实现8个多项式的系数由NTT域转换到普通域的过程,包括:

7.根据权利要求6所述的方法,其特征在于,所述基于8个矩阵Ak进行矩阵的重组,得到8个矩阵YK,包括:

8.一种利用批处理矩阵运算实现数论变换的两步计算装置,其特征在于,所述装置包括:

9.一种电子设备,其特征在于,所述电子设备包括:处理器以及存储有计算机程序指令的存储器;所述处理器执行所述计算机程序指令时实现如权利要求1-7任一项所述的利用批处理矩阵运算实现数论变换的两步计算方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任一项所述的利用批处理矩阵运算实现数论变换的两步计算方法。

...

【技术特征摘要】

1.一种利用批处理矩阵运算实现数论变换的两步计算方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述多项式为普通域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(i)表示将输入的4比特i逐比特逆序,表示3比特逐比特逆序。

3.根据权利要求2所述的方法,其特征在于,实现8个多项式的系数由普通域转换到ntt域的过程,包括:

4.根据权利要求3所述的方法,其特征在于,所述基于8个矩阵ak进行矩阵的重组,得到8个矩阵yk,包括:

5.根据权利要求1所述的方法,其特征在于,在所述多项式为ntt域多项式的情况下,所述一阶段矩阵所述二阶段矩阵其中,ζ表示本原根,br4(j)表示将输入的4比特j逐比特逆序,和2br3(k)分别表示3比特和k逐比特逆序。<...

【专利技术属性】
技术研发人员:郑昉昱周天荆继武王跃武林璟锵孙思维边毅
申请(专利权)人:中国科学院大学
类型:发明
国别省市:

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

1