CN108243002B - 模约减方法、装置、设备及计算机可读存储介质 - Google Patents

模约减方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN108243002B
CN108243002B CN201810026230.3A CN201810026230A CN108243002B CN 108243002 B CN108243002 B CN 108243002B CN 201810026230 A CN201810026230 A CN 201810026230A CN 108243002 B CN108243002 B CN 108243002B
Authority
CN
China
Prior art keywords
operand
final value
value
reduction
bit
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.)
Active
Application number
CN201810026230.3A
Other languages
English (en)
Other versions
CN108243002A (zh
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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201810026230.3A priority Critical patent/CN108243002B/zh
Publication of CN108243002A publication Critical patent/CN108243002A/zh
Application granted granted Critical
Publication of CN108243002B publication Critical patent/CN108243002B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明公开了一种模约减方法、装置、设备及计算机可读存储介质,本发明将第一操作数加0补足至512位并得到第二操作数,将第二操作数通过约减算法计算得到第一最终值,然后将第一最终值加0补足至288位并得到第三操作数,将第三操作数通过约减算法计算得到第二最终值,判断第二最终值是否小于预设阈值,若是,则输出第二最终值;若否,则将第二最终值减去预设阈值得到第三最终值并输出第三最终值。本发明经过两次约减算法后输出的结果只需要减一次或者不用减去SM2加密算法中规定的可操作数值范围的最大值,相比现有技术中需要减很多次该最大值,本发明大大减少了减去该最大值的次数,缩短了计算时间,提高了模约减的速度。

Description

模约减方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及加密算法技术领域,特别是涉及一种模约减方法。本发明还涉及一种模约减装置、设备及计算机可读存储介质。
背景技术
SM2加密算法是由中国国家密码管理局制定的商用密码算法,SM2加密算法基于ECC(Elliptic Curve Cryptosystem,椭圆曲线密码体制)算法改造而成,SM2加密算法的密钥长度为256位。目前,我国正在商用密码领域大力推广应用SM2系列商用密码算法。
SM2加密算法在实现上有许多需要考虑的因素,在SM2加密算法中,输入数据的长度必须是256位,在两个数据在进行点乘运算后可能会出现输出结果的数据长度大于256位的问题,为了符合SM2加密算法的运算规则,因此需要对数据长度大于256位的数据进行模约减运算,模约减运算就是将需要模约减的第一操作数进行约减得到一个数据长度接近256位的第一操作数,然后再通过该第一操作数对SM2加密算法中规定的可操作数值范围内的最大值(一个256位第一操作数)取模得到结果,即用这个数据长度接近256位的第一操作数不断地减去这个最大值,直到结果小于该最大值。现有技术中模约减运算进行约减后的结果的数据长度与256位还有一定差距,因此在进行取模运算的时候需要减去最大值的次数会比较多,导致计算时间长,整个模约减运算的计算速度慢。
因此,如何提供一种速度快的模约减方法、装置、设备及计算机可读存储介质是本领域技术人员需要解决的问题。
发明内容
本发明的目的是提供一种模约减方法,其能够提高模约减的速度;本发明的另一目的是提供一种包括上述方法的模约减装置、设备及计算机可读存储介质,其也能够提高模约减的速度。
为解决上述技术问题,本发明提供了一种模约减方法,包括:
接收待进行模约减的第一操作数;
在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
将所述第二操作数通过约减算法计算得到第一最终值;
在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
将所述第三操作数通过所述约减算法计算得到第二最终值;
判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值。
优选地,所述将所述第二操作数通过约减算法计算得到第一最终值的过程具体包括:
将所述第二操作数按位拆分成16个32位的第四操作数;
将所述第四操作数与0组成14个256位的第五操作数;
将所述第五操作数通过加法运算以及减法运算得到所述第一最终值。
优选地,所述将所述第三操作数通过所述约减算法计算得到第二最终值的过程具体包括:
将所述第三操作数按位拆分成9个32位的第六操作数;
将所述第六操作数与0组成3个256位的第七操作数;
将所述第七操作数通过加法运算以及减法运算得到第二最终值。
为了解决上述技术问题,本发明还提供了一种模约减装置,包括:
接收单元,用于接收待进行模约减的第一操作数;
第一处理单元,用于在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
第一约减单元,用于将所述第二操作数通过约减算法计算得到第一最终值;
第二处理单元,用于在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
第二约减单元,用于将所述第三操作数通过所述约减算法计算得到第二最终值;
第三处理单元,用于判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值。
优选地,所述第一约减单元包括:
第一拆分单元,用于将所述第二操作数按位拆分成16个32位的第四操作数;
第一组合单元,用于将所述第四操作数与0组成14个256位的第五操作数;
第一运算单元,用于将所述第五操作数通过加法运算以及减法运算得到所述第一最终值。
优选地,所述第二约减单元包括:
第二拆分单元,用于将所述第三操作数按位拆分成9个32位的第六操作数;
第二组合单元,用于将所述第六操作数与0组成3个256位的第七操作数;
第二运算单元,用于将所述第七操作数通过加法运算以及减法运算得到第二最终值。
为了解决上述技术问题,本发明还提供了一种模约减设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的模约减方法的步骤。
为了解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的模约减方法的步骤。
本发明提供的一种模约减方法、装置、设备及计算机可读存储介质,本发明在第一操作数不足512位时,将需要进行模约减的第一操作数加0补足至512位并得到第二操作数,将第二操作数通过约减算法计算得到第一最终值,然后在第一最终值不足288位时,将第一最终值加0补足至288位并得到第三操作数,将第三操作数通过约减算法计算得到第二最终值,判断第二最终值是否小于预设阈值,该预设阈值为SM2加密算法中规定的可操作数值范围内的最大值,若是,则说明第二最终值为符合SM2加密算法规定的操作数;若否,则将第二最终值减去预设阈值得到第三最终值,第三最终值为符合SM2加密算法规定的操作数。本发明经过两次约减算法后输出的结果只需要减一次或者不用减去SM2加密算法中规定的可操作数值范围的最大值,相比现有技术中需要减很多次该最大值,本发明大大减少了减去该最大值的次数,缩短了计算时间,提高了模约减的速度。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种模约减方法的流程图;
图2为本发明提供的一种模约减装置的结构示意图。
具体实施方式
本发明的核心是提供一种模约减方法,其能够提高模约减的速度;本发明的另一核心是提供一种包括上述方法的模约减装置、设备及计算机可读存储介质,其也能够提高模约减的速度。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种模约减方法,如图1所示,图1为本发明提供的一种模约减方法的流程图,该方法包括以下步骤:
步骤S1:接收待进行模约减的第一操作数。
需要说明的是,在SM2加密算法中规定了可操作数值的最大值为素域P,P是一个256位的二进制数,其具体数值可以写为2256-2224-296+264-1的形式,在SM2加密算法中在进行点乘运算时,得到的结果可能会超过P,因此超过P的值需要进行模约减至小于P的值,这里的第一操作数即为SM2加密算法中超过P的值。
步骤S2:在第一操作数最高位前添加0直至第一操作数达到512位并得到第二操作数。
需要说明的是,SM2加密算法中两个P相乘的结果最大不会超过512位,同时为了符合32位计算机的操作特性,将需要进行模约减的第一操作数进行规范化至符合计算机操作特性的数,即在第一操作数的最高位前面加0直至第一操作数达到512位,该512位的操作数为第二操作数,在第一操作数的最高位的前面添加0只会改变第一操作数的位数,不会改变第一操作数的数值。
步骤S3:将第二操作数通过约减算法计算得到第一最终值。
需要说明的是,第二操作数为512位的二进制数,通过约减算法,512位的第二操作数可以约减到位数大约不超过260位的二进制数,该二进制数即为第一最终值,其第一最终值的具体数值大约是0~15P。
步骤S4:在第一最终值最高位前添加0直至第一最终值达到288位并得到第三操作数。
需要说明的是,由于通过第一次约减算法计算后得到的第一最终值不会超过260位,并且为了满足32位计算机的计算特性,需要将第一最终值的位数补足至距离260最近的32的倍数,即在第一最终值的最高位的前面添加0直到第一最终值的位数达到288位,该288位的二进制数为第三操作数,在第一最终值的最高位的前面添加0只会改变第一最终值的位数,不会改变第一最终值的数值。
步骤S5:将第三操作数通过约减算法计算得到第二最终值。
需要说明的是,第三操作数为288位的二进制数,通过约减算法,512位的第三操作数可以约减到256位左右的二进制数,该二进制数即为第二最终值,其第二最终值的具体数值大约是0~2P,第二最终值与SM2加密算法中可操作数值范围的最大值P十分接近。
步骤S6:判断第二最终值是否小于预设阈值,若是,进入步骤S7,若否,则进入步骤S8。
步骤S7:输出第二最终值。
步骤S8:将第二最终值减去预设阈值得到第三最终值并输出第三最终值。
需要说明的是,由于第二最终值的范围大约是0~2P,因此需要判断第二最终值是否约减到SM2加密算法中可操作数值范围内,即判断第二最终值是否小于预设阈值,其中,预设阈值为SM2加密算法中规定的可操作数值范围内的最大值P,若是,则说明第二最终值的数值在0~P之内,已经符合SM2加密算法中可操作数值的范围,此时输出第二最终值即可,若否,则说明第二最终值的数值在1P~2P之内,此时,将第二最终值减去预设阈值P,得到一个数值范围在0~P之内的第三最终值,并输出第三最终值即可。第二最终值减去P的操作即为第二最终值对P取模的操作,第二最终值与第三最终值都是符合SM2加密算法的操作数。
作为优选的,将第二操作数通过约减算法计算得到第一最终值的过程具体包括:
将第二操作数按位拆分成16个32位的第四操作数;
将第四操作数与0组成14个256位的第五操作数;
将第五操作数通过加法运算以及减法运算得到第一最终值。
需要说明的是,在进行第一次约减运算时,需要将512位的第二操作数按照每32位为单位,从高位到低位拆分成16个32位的第四操作数,例如:拆分以后得到c15、c14、…、c1以及c0这16个32位的第四操作数。然后将这16个32位的第四操作数与0(注:此处包括后面叙述的用于重组的0,都指的是32位的0)按照约减算法的规则进行重组,得到14个256位的第五操作数,例如:重组后得到s14、s15、…、s2以及s1这14个256位的第五操作数,其中以s1为例,s1由8个32位的第四操作数重组得到的,s1从高位到低位依次为c7、c6、c5、c4、c3、c2、c1以及c0。详细重组过程如下:
s1={c7,c6,c5,c4,c3,c2,c1,c0}
s2={c15,0,0,0,0,0,0,0}
s3={c12,0,c15,c14,0,0,0,c13}
s4={c13,0,0,0,0,0,c14,c15}
s5={c14,0,0,0,c13,0,c15,c14}
s6={c8,c11,c13,c15,c14,0,c9,c10}
s7={c9,c14,c10,c13,c8,0,c11,c12}
s8={c10,c15,c14,c12,c11,0,c13,c8}
s9={c11,0,0,c9,c12,0,c10,c9}
s10={0,0,0,0,c15,0,c12,c11}
s11={0,0,0,0,0,c8,0,0}
s12={0,0,0,0,0,c9,0,0}
s13={0,0,0,0,0,c13,0,0}
s14={0,0,0,0,0,c14,0,0}
将这14个256位的第五操作数按照约减算法中的关系式进行14次加法运算和4次减法运算得到第一最终值R1,具体关系式如下:
R1=s1+s2+s2+s2+s3+s3+s4+s4+s5+s5+s6+s7+s8+s9+s10-s11-s12-s13-s14
其中,s1、s2、…、s14为14个256位的第五操作数。R1为0~15P范围内的数。
作为优选地,将第三操作数通过约减算法计算得到第二最终值的过程具体包括:
将第三操作数按位拆分成9个32位的第六操作数;
将第六操作数与0组成3个256位的第七操作数;
将第七操作数通过加法运算以及减法运算得到第二最终值。
需要说明的是,在进行第二次约减运算时,需要将288位的第三操作数按照每32位为单位,从高位到低位拆分成9个32位的第六操作数,例如:拆分以后得到d8、d7、…、d1以及d0这9个32位的第六操作数。然后将这9个32位的第六操作数与0按照约减算法的规则进行重组,得到3个256位的第七操作数,例如:重组后得到r1、r2以及r3三个256位的第七操作数,其中,以r1为例,r1由8个32位的第七操作数组成,从高位到低位依次为d7、d6、d5、d4、d3、d2、d1、d0。详细重组过程如下:
r1={d7,d6,d5,d4,d3,d2,d1,d0}
r2={d8,0,0,0,d8,0,0,d8}
r3={0,0,0,0,0,d8,0,0}
将这3个256位的第七操作数按照约减算法中的关系式进行1次加法运算和1次减法运算得到第二最终值R2,具体关系式如下:
R2=r1+r2-r3,其中,r1、r2、r3为3个256位的第七操作数,R2为0~2P范围内的数。
可以理解的是,在SM2加密算法中,可以认为操作数的拆分和组合是不需要时间的,相比于现有技术中进行第一次约减后的操作数需要减很多次P(平均需要减7次,最坏情况需要减14次),本发明提供的模约减算法在第一次快速模约减后得到的操作数只需要进行一次加法和一次减法就可以得到0~2P的第二最终值,第二最终值只需要减1次P,因此大大减少了计算的次数,加快了模约减的速度。
本发明提供的一种模约减方法,本发明在第一操作数不足512位时,将需要进行模约减的第一操作数加0补足至512位并得到第二操作数,将第二操作数通过约减算法计算得到第一最终值,然后在第一最终值不足288位时,将第一最终值加0补足至288位并得到第三操作数,将第三操作数通过约减算法计算得到第二最终值,判断第二最终值是否小于预设阈值,该预设阈值为SM2加密算法中规定的可操作数值范围内的最大值,若是,则说明第二最终值为符合SM2加密算法规定的操作数;若否,则将第二最终值减去预设阈值得到第三最终值,第三最终值为符合SM2加密算法规定的操作数。本发明经过两次约减算法后输出的结果只需要减一次或者不用减去SM2加密算法中规定的可操作数值范围的最大值,相比现有技术中需要减很多次该最大值,本发明大大减少了减去该最大值的次数,缩短了计算时间,提高了模约减的速度。
本发明还提供了一种模约减装置,如图2所示,图2为本发明提供的一种模约减装置的结构示意图,该装置包括:
接收单元,用于接收待进行模约减的第一操作数;
第一处理单元,用于在第一操作数最高位前添加0直至第一操作数达到512位并得到第二操作数;
第一约减单元,用于将第二操作数通过约减算法计算得到第一最终值;
第二处理单元,用于在第一最终值最高位前添加0直至第一最终值达到288位并得到第三操作数;
第二约减单元,用于将第三操作数通过约减算法计算得到第二最终值;
第三处理单元,用于判断第二最终值是否小于预设阈值,若是,则输出第二最终值;若否,则将第二最终值减去预设阈值得到第三最终值并输出第三最终值;
其中,预设阈值为SM2加密算法中规定的可操作数值范围内的最大值。
优选地,第一约减单元包括:
第一拆分单元,用于将第二操作数按位拆分成16个32位的第四操作数;
第一组合单元,用于将第四操作数与0组成14个256位的第五操作数;
第一运算单元,用于将第五操作数通过加法运算以及减法运算得到第一最终值。
优选地,第二约减单元包括:
第二拆分单元,用于将第三操作数按位拆分成9个32位的第六操作数;
第二组合单元,用于将第六操作数与0组成3个256位的第七操作数;
第二运算单元,用于将第七操作数通过加法运算以及减法运算得到第二最终值。
本发明提供的一种模约减装置,本发明在第一操作数不足512位时,将需要进行模约减的第一操作数加0补足至512位并得到第二操作数,将第二操作数通过约减算法计算得到第一最终值,然后在第一最终值不足288位时,将第一最终值加0补足至288位并得到第三操作数,将第三操作数通过约减算法计算得到第二最终值,判断第二最终值是否小于预设阈值,该预设阈值为SM2加密算法中规定的可操作数值范围内的最大值,若是,则说明第二最终值为符合SM2加密算法规定的操作数;若否,则将第二最终值减去预设阈值得到第三最终值,第三最终值为符合SM2加密算法规定的操作数。本发明经过两次约减算法后输出的结果只需要减一次或者不用减去SM2加密算法中规定的可操作数值范围的最大值,相比现有技术中需要减很多次该最大值,本发明大大减少了减去该最大值的次数,缩短了计算时间,提高了模约减的速度。
本发明还提供了一种模约减设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述任一项的模约减方法的步骤。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的模约减方法的步骤。
对于本发明提供的一种模约减设备及计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不在赘述。
以上对本发明所提供一种模约减方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (4)

1.一种用于加密的模约减方法,其特征在于,包括:
接收待进行模约减的第一操作数;第一操作数为超过素域的值;
在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
将所述第二操作数通过约减算法计算得到第一最终值;
在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
将所述第三操作数通过所述约减算法计算得到第二最终值;
判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;第二最终值与第三最终值都是符合SM2加密算法的操作数;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值;
其中,所述将所述第二操作数通过约减算法计算得到第一最终值的过程具体包括:
将所述第二操作数按位拆分成16个32位的第四操作数;
将所述第四操作数与0组成14个256位的第五操作数;
将所述第五操作数通过加法运算以及减法运算得到所述第一最终值;
其中,所述将所述第三操作数通过所述约减算法计算得到第二最终值的过程具体包括:
将所述第三操作数按位拆分成9个32位的第六操作数;
将所述第六操作数与0组成3个256位的第七操作数;
将所述第七操作数通过加法运算以及减法运算得到第二最终值。
2.一种用于加密的模约减装置,其特征在于,包括:
接收单元,用于接收待进行模约减的第一操作数;第一操作数为超过素域的值;
第一处理单元,用于在所述第一操作数最高位前添加0直至所述第一操作数达到512位并得到第二操作数;
第一约减单元,用于将所述第二操作数通过约减算法计算得到第一最终值;
第二处理单元,用于在所述第一最终值最高位前添加0直至所述第一最终值达到288位并得到第三操作数;
第二约减单元,用于将所述第三操作数通过所述约减算法计算得到第二最终值;
第三处理单元,用于判断所述第二最终值是否小于预设阈值,若是,则输出所述第二最终值;若否,则将所述第二最终值减去所述预设阈值得到第三最终值并输出所述第三最终值;第二最终值与第三最终值都是符合SM2加密算法的操作数;
其中,所述预设阈值为SM2加密算法中规定的可操作数值范围内的最大值;
其中,所述第一约减单元包括:
第一拆分单元,用于将所述第二操作数按位拆分成16个32位的第四操作数;
第一组合单元,用于将所述第四操作数与0组成14个256位的第五操作数;
第一运算单元,用于将所述第五操作数通过加法运算以及减法运算得到所述第一最终值;
其中,所述第二约减单元包括:
第二拆分单元,用于将所述第三操作数按位拆分成9个32位的第六操作数;
第二组合单元,用于将所述第六操作数与0组成3个256位的第七操作数;
第二运算单元,用于将所述第七操作数通过加法运算以及减法运算得到第二最终值。
3.一种用于加密的模约减设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述的模约减方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述的模约减方法的步骤。
CN201810026230.3A 2018-01-11 2018-01-11 模约减方法、装置、设备及计算机可读存储介质 Active CN108243002B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810026230.3A CN108243002B (zh) 2018-01-11 2018-01-11 模约减方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810026230.3A CN108243002B (zh) 2018-01-11 2018-01-11 模约减方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108243002A CN108243002A (zh) 2018-07-03
CN108243002B true CN108243002B (zh) 2021-03-16

Family

ID=62699533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810026230.3A Active CN108243002B (zh) 2018-01-11 2018-01-11 模约减方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108243002B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763241A (zh) * 2010-01-20 2010-06-30 西安电子科技大学 实现ecc密码体制中签名算法的大整数求模运算装置及求模方法
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107147495A (zh) * 2017-05-25 2017-09-08 广东工业大学 二元扩域上sm2加密算法的实现方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763241A (zh) * 2010-01-20 2010-06-30 西安电子科技大学 实现ecc密码体制中签名算法的大整数求模运算装置及求模方法
US8971528B2 (en) * 2013-01-29 2015-03-03 Certicom Corp. Modified elliptic curve signature algorithm for message recovery
CN107147495A (zh) * 2017-05-25 2017-09-08 广东工业大学 二元扩域上sm2加密算法的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
国密SM2在SoPC上快速运算的研究和实现;邵梦丽;《中国优秀硕士学位论文全文数据库 信息科技辑》;20171115;全文 *

Also Published As

Publication number Publication date
CN108243002A (zh) 2018-07-03

Similar Documents

Publication Publication Date Title
US7908641B2 (en) Modular exponentiation with randomized exponent
US20150063561A1 (en) Protection of a calculation against side-channel attacks
CN107004084B (zh) 用于加密操作的乘法掩码
US20210391975A1 (en) Exponent splitting for cryptographic operations
US11003769B2 (en) Elliptic curve point multiplication operation method and apparatus
CN106681690A (zh) 基于蒙哥马利模乘的数据处理方法、模乘运算方法及装置
CN111092718A (zh) 加密方法、装置及电子设备
RU2680761C1 (ru) Безопасные преобразования данных
US8538017B2 (en) Encryption device
CN108243002B (zh) 模约减方法、装置、设备及计算机可读存储介质
CN112737778B (zh) 数字签名生成、验证方法及装置、电子设备及存储介质
CN114465728B (zh) 攻击椭圆曲线签名算法的方法、装置、设备及存储介质
CN114584285A (zh) 安全多方处理方法及相关设备
CN114760055A (zh) 基于梅森素数的秘密分享方法、***、存储介质及设备
US20140355755A1 (en) Apparatus and method for performing compression operation in hash algorithm
CN110505051B (zh) 字符串哈希处理方法及装置
CN109947393B (zh) 基于求余器的运算方法及装置
CN114868175A (zh) 最终幂计算装置、配对运算装置、加密处理装置、最终幂计算方法和最终幂计算程序
CN108075889A (zh) 一种降低加解密运算时间复杂度的数据传输方法及***
JP2011081594A (ja) データ処理装置及びデータ処理プログラム
US20240171401A1 (en) Method for calculating using an one-way function effienct in a zero knowledge proof, and apparatus implementing the same method
US20240007292A1 (en) Calculating method using zero-knowledge proof-friendly one-way function, and apparatus for implementing the same
CN117009723B (zh) 一种多方计算方法、装置、设备及存储介质
CN108804883B (zh) 一种混淆代码的运行方法和装置
KR101524661B1 (ko) 재배치를 통한 트리플-베이스 체인 기반 타원곡선 스칼라 곱셈을 위한 연산 장치 및 방법

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
GR01 Patent grant
GR01 Patent grant