用于数据安全通信的并行模乘方法

文档序号:1405574 发布日期:2020-03-06 浏览:27次 >En<

阅读说明:本技术 用于数据安全通信的并行模乘方法 (Parallel modular multiplication method for data security communication ) 是由 王晖 于 2019-10-22 设计创作,主要内容包括:本发明属于据安全通信技术领域,具体涉及一种用于数据安全通信的并行模乘方法。与现有技术相比较,本发明在保持有限域基本运算逻辑完整的情况下,相比于传统的蒙哥马利算法,理论速度得到了很大的提升。随着密码安全的发展,越来越需要并行的速度、更快的方法来实现有限域基本运算,本方案给出的并行模乘方法可以充分发挥出软硬件密码应用平台的性能。这对基于本方法构建的密码实现方案有极大的性能提升,尤其是在密码算法需要硬件实现的场景下,越来越多的方案对速度有较高的要求,所以如何利用好硬件实现平台,提高效率越来越重要的。而本方法将是一个很好的选择,将会为密码安全软硬件实现发展提供更好的保障。(The invention belongs to the technical field of secure communication, and particularly relates to a parallel modular multiplication method for secure data communication. Compared with the prior art, the method has the advantage that the theoretical speed is greatly improved compared with the traditional Montgomery algorithm under the condition of keeping the complete basic operation logic of the finite field. With the development of password security, a parallel speed and faster method is increasingly needed to realize finite field basic operation, and the parallel modular multiplication method provided by the scheme can fully exert the performance of a software and hardware password application platform. The performance of the cipher implementation scheme constructed based on the method is greatly improved, and especially under the condition that the cipher algorithm needs hardware to be implemented, more and more schemes have higher requirements on speed, so that how to utilize a hardware implementation platform is more and more important to improve the efficiency. The method is a good choice and provides better guarantee for the development of software and hardware for password security.)

用于数据安全通信的并行模乘方法

技术领域

本发明属于据安全通信技术领域,具体涉及一种用于数据安全通 信的并行模乘方法。

背景技术

在数据通信领域,密码安全技术能够保证数据的完整性和真实 性,并影响着整个通信系统的执行效率。有限域下的基本运算是构成 数据安全通信加解密技术的基石,其中大整数乘法取模(模乘)运算, 形如c≡a×b mod p,是基数据安全通信双方加解密操作的核心运算技 术,针对模乘的优化特别是效率优化对数据安全通信系统的构建意义 重大。

1985年美国数学家蒙哥马利最早提出了一种规避除法运算的模 乘方法:蒙哥马利模乘。该方法的设计思路是通过一个易于计算的剩 余系,将模乘中对特定模数(即有限域的特征值p)的取模转换成对 蒙哥马利常数r的取模。当蒙哥马利常数r设定为2的n次方时,取模操 作就转换为了容易实现的移位操作,加快了模乘的运行速度。其计算 输入为乘数A,B,模数N,蒙哥马利系数r-1,其中,r=2k,其中, k=log2N,算法能够计算出蒙哥马利模乘结果A*B*r-1mod N。

蒙哥马利模乘中A,B,N皆为k比特的二进制数,运行过程只包 括加减、乘法操作和移位取模操作。移位操作的实现非常简单,而且 几乎不占用硬件资源,相较于使用除法,蒙哥马利算法的运算复杂度 大大降低。

但是由于蒙哥马利模乘的预计算包括了模逆运算的步骤,其结果 比直接模乘多了个r-1的乘积项:R≡A×B×r-1mod N。因此利用 Montgomery算法实现模乘还需对操作数进行转换,即进行蒙哥马利 域的转换,对输入参数A,B,N,t,其中t=r2modN,需要计算 A'=Mont(A,t,N),B'=Mont(B,t,N),R'=Mont(A',B',N),最后需要多计 算一步R=Mont(R',1,N),将结果转换出蒙哥马利域。

因此,在提高数据安全通信运算中有限域下大整数模乘运算实现 速度,充分发挥软硬件实现方案中的计算资源提高系统计算能力方 面,目前还存在较大的提升需求。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是:为了提高数据安全通信运算中有限 域下大整数模乘运算实现速度,为了充分发挥软硬件实现方案中的计 算资源提高系统计算能力,如何提供一种基于蒙哥马利模乘的并行模 乘方法。要求该方法在保证模乘正确性的情况下,通过优化模乘运算 步骤和方法提高算法的并行性,以满足日益增长的数据安全通信对密 码安全应用方案的速度需求。

(二)技术方案

为解决上述技术问题,本发明提供一种用于数据安全通信的并行 模乘方法,所述并行模乘方法将两个操作乘数输入A,B都拆分为 (w0,w2,……wr)多比特位的表示形式,进行逐字扫描运算;将乘法和 约减操作分布在同一内循环之内,模乘运算就被分解为r-bit×r-bit乘 法器能够实现的操作。

其中,所述并行模乘方法针对256位的大数模乘,其模乘运算被 分解为r-bit×r-bit乘法器能够实现的操作,其中r取值为64。

其中,所述并行模乘方法包括如下步骤:

步骤1:设置存放模乘结果的数R=0,将操作数A拆分为 (A0,A1,A2,A3),操作数B拆分为(B0,B1,B2,B3),模数N也拆分为 (N0,N1,N2,N3);

步骤2:拆分出四个无数据依赖的乘法,t0到t3分别存放计算结 果:t0=B0A0mod2r,t1=B1A0mod2r,t2=B2A0mod2r,t3=B3A0mod2r

步骤3:对于计数值i从0到3执行以下步骤,Pi0到Pi3存放计算 结果:{Pi0=A0Bi,Pi1=A1Bi,Pi2=A2Bi,Pi3=A3Bi};

同样本步骤的四个乘法操作无数据依赖,可进行全部并行化运 行;

步骤4:对于计数值i从0到3执行以下步骤,si0到si3存放计算 结果:{si0=N0ti,si1=N1ti,si2=N2ti,si3=N3ti};

同样本步骤的四个乘法操作无数据依赖,可进行全部并行化运 行;

步骤5:计算临时计算结果变量的累加和:R=∑(pij+sij)2(i+j)r

其中,i=0,1,2,3;j=0,1,2,3;

步骤6:如果R>N,则进行计算R=R-N;

步骤7:最后,得到模乘运算的结果:R。

其中,所述步骤2中,四个乘法可进行并行化运算,64位乘法 运算的并行能够将运算时间减少为之前1/4。

其中,所述方法通过将蒙哥马利模乘的操作数进行拆分重排,避 免了原模乘运算各步间的数据依赖。

其中,所述方法中,每步运算均可由4个64-bit乘法器并行执行, 运算的结果作为模乘的部分积在步骤5中统一进行压缩。

其中,该方法同时也兼顾了系统对256-bit大数乘法和大数加法 的运算需求,对于非取模运算同样能通过数据拆分并行执行。

其中,该基于蒙哥马利模乘的并行模乘方法,能够设计出具有较 高并行性的密码加解密应用产品加速器,满足加密系统运算单元对计 算速度和硬件资源的要求。

(三)有益效果

与现有技术相比较,本发明提出一种用于数据安全通信的并行模 乘方法,在保持有限域基本运算逻辑完整的情况下,相比于传统的蒙 哥马利算法,理论速度得到了很大的提升。随着密码安全的发展,越 来越需要并行的速度、更快的方法来实现有限域基本运算,本方案给 出的并行模乘方法可以充分发挥出软硬件密码应用平台的性能。这对 基于本方法构建的密码实现方案有极大的性能提升,尤其是在密码算 法需要硬件实现的场景下,越来越多的方案对速度有较高的要求,所 以如何利用好硬件实现平台,提高效率越来越重要的。而本方法将是 一个很好的选择,将会为密码安全软硬件实现发展提供更好的保障。

由此,为了提高数据安全通信运算中有限域下大整数模乘运算实 现速度,为了充分发挥软硬件实现方案中的计算资源提高系统计算能 力,本发明提供一种基于蒙哥马利模乘的并行模乘方法。该方法在保 证模乘正确性的情况下,通过优化模乘运算步骤和方法提高算法的并 行性,以满足日益增长的数据安全通信对密码安全应用方案的速度需 求。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合实施例, 对本发明的具体实施方式作进一步详细描述。

加解密系统的速度由模乘技术的性能决定。因此,针对大数乘法 取模运算进一步优化蒙哥马利模乘方法并使其能够在有限的硬件资 源条件下运行就成了模乘方法优化的重要方向。蒙哥马利模乘已经衍 生出了许多改进的版本。这些方法大都是以原始蒙哥马利模乘为基 础,通过相应的优化策略而得出。

本方法提出的所述并行模乘方法将两个操作乘数输入A,B都拆 分为(w0,w2,……wr)多比特位的表示形式,进行逐字扫描运算;将乘 法和约减操作分布在同一内循环之内,模乘运算就被分解为r-bit× r-bit乘法器能够实现的操作。(本方法的方法为256位大数模乘,所 以r取值为64),具有明显的速度和面积上的优势。所述并行模乘方 法针对256位的大数模乘,其模乘运算被分解为r-bit×r-bit乘法器能 够实现的操作,其中r取值为64。

所述的用于数据安全通信的并行模乘方法,可通过软硬件技术实 现部署于数据安全通信系统中。

所述并行模乘方法包括如下步骤:

步骤1:设置存放模乘结果的数R=0,将操作数A拆分为 (A0,A1,A2,A3),操作数B拆分为(B0,B1,B2,B3),模数N也拆分为 (N0,N1,N2,N3);

步骤2:拆分出四个无数据依赖的乘法,t0到t3分别存放计算结 果:t0=B0A0mod2r,t1=B1A0mod2r,t2=B2A0mod2r,t3=B3A0mod2r,此 步骤中四个乘法可进行并行化运算,64位乘法运算的并行能够将运 算时间减少为之前1/4;

步骤3:对于计数值i从0到3执行以下步骤,Pi0到Pi3存放计算 结果:{Pi0=A0Bi,Pi1=A1Bi,Pi2=A2Bi,Pi3=A3Bi};

同样本步骤的四个乘法操作无数据依赖,可进行全部并行化运 行;

步骤4:对于计数值i从0到3执行以下步骤,si0到si3存放计算 结果:{si0=N0ti,si1=N1ti,si2=N2ti,si3=N3ti};

同样本步骤的四个乘法操作无数据依赖,可进行全部并行化运 行;

步骤5:计算临时计算结果变量的累加和:R=∑(pij+sij)2(i+j)r

其中,i=0,1,2,3;j=0,1,2,3;

步骤6:如果R>N,则进行计算R=R-N;

步骤7:最后,得到模乘运算的结果:R。

所述方法通过将蒙哥马利模乘的操作数进行拆分重排,避免了原 模乘运算各步间的数据依赖。所述方法中,每步运算均可由4个64-bit 乘法器并行执行,运算的结果作为模乘的部分积在步骤5中统一进行 压缩。

该方法同时也兼顾了系统对256-bit大数乘法和大数加法的运算 需求,对于非取模运算同样能通过数据拆分并行执行。

该基于蒙哥马利模乘的并行模乘方法,能够设计出具有较高并行 性的密码加解密应用产品加速器,满足加密系统运算单元对计算速度 和硬件资源的要求。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领 域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以 做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:变长数据到等长数据的映射系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类