CN110865794A - 用于数据安全通信的并行模乘方法 - Google Patents

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

Info

Publication number
CN110865794A
CN110865794A CN201911005389.8A CN201911005389A CN110865794A CN 110865794 A CN110865794 A CN 110865794A CN 201911005389 A CN201911005389 A CN 201911005389A CN 110865794 A CN110865794 A CN 110865794A
Authority
CN
China
Prior art keywords
modular multiplication
parallel
multiplication
bit
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201911005389.8A
Other languages
English (en)
Inventor
王晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Jinhang Computing Technology Research Institute
Original Assignee
Tianjin Jinhang Computing Technology Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Jinhang Computing Technology Research Institute filed Critical Tianjin Jinhang Computing Technology Research Institute
Priority to CN201911005389.8A priority Critical patent/CN110865794A/zh
Publication of CN110865794A publication Critical patent/CN110865794A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

用于数据安全通信的并行模乘方法
技术领域
本发明属于据安全通信技术领域,具体涉及一种用于数据安全通 信的并行模乘方法。
背景技术
在数据通信领域,密码安全技术能够保证数据的完整性和真实 性,并影响着整个通信系统的执行效率。有限域下的基本运算是构成 数据安全通信加解密技术的基石,其中大整数乘法取模(模乘)运算, 形如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大数乘法和大数加法的运算 需求,对于非取模运算同样能通过数据拆分并行执行。
该基于蒙哥马利模乘的并行模乘方法,能够设计出具有较高并行 性的密码加解密应用产品加速器,满足加密系统运算单元对计算速度 和硬件资源的要求。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领 域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以 做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (8)

1.一种用于数据安全通信的并行模乘方法,其特征在于,所述并行模乘方法将两个操作乘数输入A,B都拆分为(w0,w2,……wr)多比特位的表示形式,进行逐字扫描运算;将乘法和约减操作分布在同一内循环之内,模乘运算就被分解为r-bit×r-bit乘法器能够实现的操作。
2.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,所述并行模乘方法针对256位的大数模乘,其模乘运算被分解为r-bit×r-bit乘法器能够实现的操作,其中r取值为64。
3.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,所述并行模乘方法包括如下步骤:
步骤1:设置存放模乘结果的数R=0,将操作数A拆分为(A0,A1,A2,A3),操作数B拆分为(B0,B1,B2,B3),模数N也拆分为(N0,N1,N2,N3);
步骤2:拆分出四个无数据依赖的乘法,t0到t3分别存放计算结果:t0=B0A0 mod 2r,t1=B1A0 mod 2r,t2=B2A0 mod 2r,t3=B3A0 mod 2r
步骤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.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,所述步骤2中,四个乘法可进行并行化运算,64位乘法运算的并行能够将运算时间减少为之前1/4。
5.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,所述方法通过将蒙哥马利模乘的操作数进行拆分重排,避免了原模乘运算各步间的数据依赖。
6.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,所述方法中,每步运算均可由4个64-bit乘法器并行执行,运算的结果作为模乘的部分积在步骤5中统一进行压缩。
7.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,该方法同时也兼顾了系统对256-bit大数乘法和大数加法的运算需求,对于非取模运算同样能通过数据拆分并行执行。
8.如权利要求1所述的用于数据安全通信的并行模乘方法,其特征在于,该基于蒙哥马利模乘的并行模乘方法,能够设计出具有较高并行性的密码加解密应用产品加速器,满足加密系统运算单元对计算速度和硬件资源的要求。
CN201911005389.8A 2019-10-22 2019-10-22 用于数据安全通信的并行模乘方法 Pending CN110865794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911005389.8A CN110865794A (zh) 2019-10-22 2019-10-22 用于数据安全通信的并行模乘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911005389.8A CN110865794A (zh) 2019-10-22 2019-10-22 用于数据安全通信的并行模乘方法

Publications (1)

Publication Number Publication Date
CN110865794A true CN110865794A (zh) 2020-03-06

Family

ID=69652476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911005389.8A Pending CN110865794A (zh) 2019-10-22 2019-10-22 用于数据安全通信的并行模乘方法

Country Status (1)

Country Link
CN (1) CN110865794A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070222A (zh) * 2020-11-10 2020-12-11 深圳致星科技有限公司 用于联邦学习的处理架构、加速器及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN105871552A (zh) * 2016-06-14 2016-08-17 天津大学 双核并行rsa密码处理方法及协处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102207847A (zh) * 2011-05-06 2011-10-05 广州杰赛科技股份有限公司 基于蒙哥马利模乘运算的数据加解密处理方法及装置
CN105871552A (zh) * 2016-06-14 2016-08-17 天津大学 双核并行rsa密码处理方法及协处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郝中源: ""双线性对密码算法研究及其FPGA实现",", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112070222A (zh) * 2020-11-10 2020-12-11 深圳致星科技有限公司 用于联邦学习的处理架构、加速器及方法
CN112070222B (zh) * 2020-11-10 2021-01-29 深圳致星科技有限公司 用于联邦学习的处理装置、加速器及方法
US11521129B2 (en) 2020-11-10 2022-12-06 Clustar Technology Co., Ltd. Processing device, accelerator, and method for federated learning

Similar Documents

Publication Publication Date Title
Bisheh-Niasar et al. Cryptographic accelerators for digital signature based on Ed25519
Zhang et al. Pipezk: Accelerating zero-knowledge proof with a pipelined architecture
CN110351087B (zh) 流水线型的蒙哥马利模乘运算方法
Pornin et al. More efficient algorithms for the NTRU key generation using the field norm
US20070198824A1 (en) Cryptography system and elliptic curve operation method
US20100011047A1 (en) Hardware-Based Cryptographic Accelerator
CN113628094A (zh) 一种基于gpu的高吞吐量sm2数字签名计算系统及方法
Bisheh Niasar et al. Efficient hardware implementations for elliptic curve cryptography over Curve448
US20220166614A1 (en) System and method to optimize generation of coprime numbers in cryptographic applications
CN107992283B (zh) 一种基于降维实现有限域乘法的方法和装置
Tan et al. High-speed modular multiplier for lattice-based cryptosystems
Bajard et al. RNS arithmetic approach in lattice-based cryptography: Accelerating the" rounding-off" core procedure
CN102393812A (zh) 椭圆曲线密码体制中的快速点乘算法的实现方法
Hossain et al. Efficient fpga implementation of modular arithmetic for elliptic curve cryptography
CN114895870A (zh) 基于fpga实现的高效可重构sm2点乘方法及系统
Awaludin et al. A high-performance ecc processor over curve448 based on a novel variant of the karatsuba formula for asymmetric digit multiplier
CN110865794A (zh) 用于数据安全通信的并行模乘方法
De Oliveira et al. High performance of hash-based signature schemes
US9025766B2 (en) Efficient hardware architecture for a S1 S-box in a ZUC cipher
CN104572012A (zh) 一种基于aop的多项式基gf(2227)高速模乘法器
CN117155572A (zh) 一种基于gpu并行实现密码技术中大整数乘法的方法
Takaki et al. An optimized implementation of aes-gcm for fpga acceleration using high-level synthesis
Martins et al. Programmable RNS lattice-based parallel cryptographic decryption
Valencia et al. The design space of the number theoretic transform: A survey
De Stefani Communication-optimal parallel standard and karatsuba integer multiplication in the distributed memory model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200306