CN117544297A - 数据加密方法、装置、系统、电子设备及存储介质 - Google Patents

数据加密方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN117544297A
CN117544297A CN202311325072.9A CN202311325072A CN117544297A CN 117544297 A CN117544297 A CN 117544297A CN 202311325072 A CN202311325072 A CN 202311325072A CN 117544297 A CN117544297 A CN 117544297A
Authority
CN
China
Prior art keywords
parameter
initial value
shift
shifting
coefficient
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
CN202311325072.9A
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.)
Pingtouge Shanghai Semiconductor Co Ltd
Original Assignee
Pingtouge Shanghai Semiconductor Co Ltd
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 Pingtouge Shanghai Semiconductor Co Ltd filed Critical Pingtouge Shanghai Semiconductor Co Ltd
Priority to CN202311325072.9A priority Critical patent/CN117544297A/zh
Publication of CN117544297A publication Critical patent/CN117544297A/zh
Pending legal-status Critical Current

Links

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例提供一种数据加密方法、装置、系统、电子设备及存储介质,其中,所述数据加密方法,包括:获取待加密数据;根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取第一参数移位完成时,第二求逆等式中第二参数的初始值的第一初始值系数,得到目标模逆运算结果,第一初始值系数以在模逆运算的过程中满足第二求逆等式的成立,且在第一参数移位完成前,第一求逆等式和第二求逆等式中的系数均为正整数;根据目标模逆运算结果确定密钥信息,以对待加密数据进行加密,得到加密数据。本发明实施例所提供的技术方案,可提升目标模逆运算结果的可靠性和获取效率,提升数据加密算法的数据加密性能。

Description

数据加密方法、装置、系统、电子设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种数据加密方法、装置、系统、电子设备及存储介质。
背景技术
数据加密是指使用数据加密算法将明文数据进行加密保护,对数据安全具有重要意义。数据加密算法可以利用密钥信息完成数据的加解密,从而实现数据安全。密钥信息利用模逆运算结果生成,而生成的密钥信息的可靠性与模逆运算结果的准确性相关,密钥信息的可靠性影响数据加密算法对数据加密的加密性能,因此如何提供技术方案,以提升目标模逆运算结果的可靠性和获取效率,进而提升数据加密算法的数据加密性能,成为了本领域技术人员亟需解决的技术问题。
发明内容
有鉴于此,本发明实施例提供一种数据加密方法、装置、系统、电子设备及存储介质,以提升目标模逆运算结果的可靠性和获取效率,进而提升数据加密算法的数据加密性能。
为实现上述目的,本发明实施例提供如下技术方案。
第一方面,本发明实施例提供一种数据加密方法,包括:
获取待加密数据;
根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;
根据所述目标模逆运算结果确定密钥信息;
利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
第二方面,本发明实施例提供一种数据加密装置,包括:
待加密数据获取模块,用于获取待加密数据;
模逆运算结果获取模块,用于根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;
密钥信息确定模块,用于根据所述目标模逆运算结果确定密钥信息;
数据加密模块,用于利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
第三方面,本发明实施例提供一种数据加密系统,包括:
如第二方面所述的数据加密装置;
模逆单元,用于根据所述数据加密装置提供的初始值进行模逆运算,并将目标模逆运算结果发送至所述数据加密装置。
第四方面,本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如第一方面所述的数据加密方法。
第五方面,本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如第一方面所述的数据加密方法。
第六方面,本发明实施例还提供一种计算机程序,所述计算机程序被执行时实现如第一方面所述的数据加密方法。
本发明实施例提供了一种数据加密方法,包括:获取待加密数据;根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;根据所述目标模逆运算结果确定密钥信息;利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。可以看出,本发明实施例所提供的数据加密方法,在进行模逆运算获得目标模逆运算结果之前,即计算目标模逆运算结果的过程中,保证第二求逆等式中的第一初始值系数均为正整数,从而可以保证在模逆运算的过程中,避免对于出现负数情况下的第一初始值系数进行符号调整,增加模拟运算过程的计算量,提升获得目标模逆运算结果的效率;同时保证第一求逆等式和第二求逆等式中的系数均为正整数,还可以避免由于出现负数情况下的系数时所需要的符号调整所带来的符号判断,以及判断后的分支执行的操作,降低模拟运算过程中的计算难度,从而可以提高最终获得的目标模逆运算结果的可靠性,达到提升数据加密算法的数据加密性能的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明实施例所提供的非对称数据加密的一过程示意图;
图2是基于二进制扩展欧几里得算法进行数据加密的一流程示意图;
图3是本发明实施例所提供的数据加密方法的一流程示意图;
图4是本发明实施例所提供的数据加密方法的另一流程示意图;
图5是本发明实施例提供的数据加密方法中在第一种情况下进行模逆运算的一流程示意图;
图6是本发明实施例提供的数据加密方法中基于第一判断条件进行模逆运算的一流程示意图;
图7是本发明实施例提供的数据加密方法中基于第二判断条件进行模逆运算的一流程示意图;
图8是本发明实施例所提供的数据加密装置的一结构示意图;
图9是本发明实施例所提供的数据加密系统的一结构示意图;
图10是本发明实施例提供的电子设备的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在数据的传输过程中,存在数据被篡改的风险,可能对发送方或者接收方造成一定的损失。因此,对于数据的安全保护是非常重要的。数据加密算法通过对数据进行加密来实现对于数据的保护。
在数据加密算法中的对称加密算法只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以利用对称数据加密算法保证数据的安全性就是保证密钥的安全性。在数据加密算法中的非对称加密算法,在对数据进行保护时,需要两个密钥:公钥(public key)和私钥(private key)。公钥和私钥是一对,称为密钥信息,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称数据加密算法。非对称数据加密算法有两个密钥,其中一个密钥是公开的,这样就可以不需要像对称加密算法那样传输对方的密钥了。因此非对称数据加密算法相较于对称数据加密算法具有较高的安全性。
例如,非对称数据加密算法中的椭圆曲线密码编码学算法(ECC,Elliptic CurvesCryptography),是基于椭圆曲线数学理论实现的一种非对称数据加密算法。相比RSA公共密钥算法(RSA,RSA Public Key System),ECC优势是可以使用更短的密钥,来实现与RSA相当或更高的安全。其中,RSA加密算法也是一种非对称加密算法,在公开密钥加密和电子商业中广泛使用。
在利用非对称数据加密算法对数据进行保护的过程中(即利用非对称数据加密算法对数据进行加解密),发送方使用公钥对信息进行加密,接收方收到密文后,使用私钥进行解密,其中公钥和私钥为非对称数据加密算法产生的密钥信息。
为方便理解,请参考图1,图1是本发明实施例所提供的非对称数据加密的一过程示意图。
如图1所示,首先,要求接收消息的端系统,产生一对用来加密和解密的密钥信息,如图1中的密钥对为接收者B预先产生的一对密钥信息(PKB,SKB)以便于后续发送者A与接收者B进行数据传输的过程中,传输的数据需要进行数据保护时使用,其中,PKB是公开密钥,SKB是秘密密钥。产生密钥对之后,接收者B可以将加密密钥(如图中的PKB)予以公开。另一个密钥则被保密(图中的SKB)。
当系统端A(为发送者A)要想向系统端B(为接收者B)发送消息m时,则利用数据加密算法(例如椭圆曲线非对称数据加密算法),使用系统端B的公开密钥PKB加密m。
接着,系统端B收到密文c后用自己的秘密密钥SKB解密,得到解密后的明文m。
攻击者会在发送者A利用数据加密算法对数据进行加密的过程中,监听加密所利用到的加密密钥,从而破解出对应的解密密钥KB和利用破解出的解密密钥解密后得到的明文,从而实现对加密过程进行攻击。
因此,在上述利用非对称数据加密算法对数据保护的过程中,最重要的环节之一是密钥信息的生成,以RSA算法中产生密钥信息的过程为例进行说明。
在RSA算法中,密钥信息的产生过程为:
首先,选两个保密的大素数p和q;其次,计算n=p×q,φ(n)=(p-1)(q-1),其中φ(n)是n的欧拉函数值;选择一个整数e,该整数e满足1<e<φ(n),且gcd(φ(n),e)=1,gcd表示最大公约数。
然后,计算d,满足d·e≡1modφ(n),即d是e在模φ(n)下的逆元(乘法逆元),因e与φ(n)互素,由模逆运算可知,它的模逆运算结果即逆元一定存在。
最后,以{e,n}为公开密钥PKB,{d,n}为秘密密钥SKB。
可以看到,模逆运算结果的获得过程为求逆过程,在产生密钥信息的过程中,模逆运算结果即逆元是直接关系密钥信息的生成的,在非对称数据加密算法中,模逆运算是重要的步骤,模逆运算结果(逆元)的获取速度与密钥信息的获得速度正相关,因此加快模逆运算结果的获取速度,就可以加快密钥信息的获得速度,进而可以提升数据加密的效率。
进行模逆运算求解模逆运算结果的方法主要包括模幂算法、扩展欧几里得算法、二进制扩展欧几里得算法等。其中,模幂算法以费马小定理为基础,将模逆运算转换成模幂运算,但是模幂算法无法确定模逆结果是否存在。扩展欧几里得算法通过辗转相除计算最大公因子求解模逆,当最大公因子为非1整数时无法获取模逆的计算结果。二进制扩展欧几里得算法将除法转换成移位和加减法,但是,在移位的过程中,操作数的权值发生了改变,最终运算结果中包含有2n(n为操作数的位长)项权重因子,去除权重因子需进行多次除2的操作,因此,要求得模逆运算结果就必须使得模数为奇数。但是,二进制扩展欧几里得算法方法在进行模逆运算时仍存在一定的限制,无法针对任意非零整数求模,并且计算过程较为复杂,求逆时间长。
本发明实施例以二进制扩展欧几里得算法进行模逆运算,求解逆元得到目标模逆运算结果为例进行说明。首先,为便于理解二进制扩展欧几里得的算法来源,对二进制扩展欧几里得算法的原理进行介绍。
二进制扩展欧几里得算法的原理为:
述给定整数a、b,若gcd(a,b)=1,则存在c,满足ac=1modb,c即为a模b的乘法逆元。
利用二进制扩展欧几里得算法求得满足条件的c的过程为:
先做辗转相除,当a、b互素时,最后一步得到的余数为1,再从1出发,对前面得到的所有除法算式进行变形,将余数用除数和被除数表示,最终便可将1表示为a与b的一种线性组合,即ax+by=1。从而x就是a模b的乘法逆元。因此寻找乘法逆元的过程就是求x和y的过程。
基于上述二进制扩展欧几里得算法的原理的说明,对采用二进制扩展欧几里得算法进行数据加密的过程进行介绍,请参考图2,图2是基于二进制扩展欧几里得算法进行数据加密的一流程示意图。
如图2所示,该流程可以包括以下步骤:
步骤S001,获取待加密数据。
所述待加密数据为需要进行安全保护的数据。
步骤S002,获得二进制扩展欧几里得算法的目标模逆运算结果。
利用二进制扩展欧几里得算法进行模逆运算,得到求逆运算结束时的逆元,即所述目标模逆运算结果。
步骤S003,基于所述目标模逆运算结果确定密钥信息。
所述密钥信息可以为前述所述的,利用模逆运算结果d计算得到的公开密钥PKB即{e,n}和秘密密钥SKB即{d,n}。
步骤S004,利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
在得到密钥信息之后,则可以对需要保护的数据即待加密数据进行加密,得到加密数据。
在二进制扩展欧几里得算法中,进行求逆即求解目标模逆运算结果时虽然二进制扩展欧几里得算法支持模数(二进制扩展欧几里得算法中的初始参数,为具有256比特位的固定值)为奇数和偶数,但其流程里面,所使用到的第一求逆等式和第二求逆等式,在进行求解目标模逆运算结果的过程中,会出现带符号的减法运算,使得第一求逆等式和第二求逆等式中包含的系数在一次的移位之后所得的结果可能为负数;当某一次移位之后得到的系数的结果为负数时,在后续继续进行移位求解目标模逆运算结果时,则需要带符号位进行后面的运算;或者需要加上相应的数据维持数据为正数,但是无论是增加符号位还是加上相应的数据保证数据为正数的处理方式都会带来后续执行时的判断分支、计算资源的消耗。使得获得目标模逆运算结果的时间较长且计算量较大。基于此,本发明实施例提供了一种数据加密方法,通过第一参数移位完成时,保证模逆运算过程中的第一参数的初始值的系数即第一初始值系数始终为正整数,以减小获得目标模逆运算结果的计算量和加快获得目标模逆运算结果的速度,进而提升数据加密的数据加密性能。
请参考图3,图3是本发明实施例所提供的数据加密方法的一流程示意图。
如图3所示,该流程可以包括以下步骤:
步骤S100,获取待加密数据。
所述待加密数据为需要进行保护的数据,为发送者和接收者之间进行传输的数据。
步骤S101,根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数。
其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立。
所述目标模逆运算结果为数据加密过程中,为了获得密钥信息而进行模逆运算时,所得到的求逆结果。所述第一参数和所述第二参数为模逆运算过程中使用的参与移位的参数。例如在前述实施例所述的利用二进制扩展欧几里得算法计算目标模逆运算结果中,参与移位的第一参数可以用u表示,所述第二参数可以用v表示,第一参数u的初始值可以为具有256比特位的固定参数即前述所述模数;所述第二参数v的初始值可以为参数模逆运算过程中的随机输入参数,具有随机的比特位,且v的初始值的比特位的数量小于等于u的初始值的比特位的数量。
所述第一参数u对应的第一求逆等式可以表示为:
u=A×p-B×a
其中,p为第一参数的初始值,a为第二参数的初始值,A为第一求逆等式中,第一参数的初始值p的系数即第三初始值系数,B为第一求逆等式中,第二参数的初始值a的系数即第四初始值系数。
所述第二参数v对应的第二求逆等式可以表示为:
v=-C×p+D×a
其中,p为第一参数的初始值,a为第二参数的初始值,C为第二求逆等式中,第一参数的初始值p的系数即第二初始值系数,D为第二求逆等式中,第二参数的初始值a的系数即第一初始值系数。
在进行目标模逆运算的求解即模逆运算过程中,返回的逆元为第一参数移位完成时(可以表示为u==0),所对应返回的第二求逆等式中的第一初始值系数D。
因此,在模逆运算过程中,所述第一参数u和所述第二参数v为求解最终的目标模逆运算结果的变量,而为了保证第一求逆等式和第二求逆等式的恒成立,因此所述第一初始值系数D、所述第二初始值系数C、所述第三初始值系数A以及所述第四初始值系数B同样均为变量,直到第一参数u为移位完成时,得到此时移位结束对应的最终的第一初始值系数D,作为目标模逆运算结果。也就是说,在进行模逆运算的过程中,在第一求逆等式和第二求逆等式中,第一参数的初始值p和第二参数的初始值a为常量。
可以看到,第一求逆等式和第二求逆等式是基于二进制扩展欧几里得算法计算目标模逆运算结果的基础,因此,至少保证第二求逆等式中的第一初始值系数D为正整数,可以避免在基于第二求逆等式进行目标模逆运算的过程中,出现负数情况的第一初始值系数时,所需要的计算量和计算难度。
步骤S102,根据所述目标模逆运算结果确定密钥信息。
基于模逆运算结果确定密钥信息的方式可以利用前述实施例中的计算方式进行密钥信息的计算。
当得到目标模逆运算结果时,则可以基于目标模逆运算结果得到对应的密钥信息,例如前述所述的{e,n}为公开密钥PKB,{d,n}为秘密密钥SKB的密钥信息。
步骤S103,利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
发送者可以利用密钥信息中的公开密钥信息待加密数据进行加密,接收者相应的使用对应的秘密密钥信息加密数据进行解密,实现对于待加密数据的保护。
可以看出,本发明实施例所提供的数据加密方法,在进行模逆运算获得目标模逆运算结果之前,即计算目标模逆运算结果的过程中,保证第二求逆等式中的第一初始值系数均为正整数,从而可以保证在模逆运算的过程中,避免对于出现负数情况下的第一初始值系数进行符号调整,增加模拟运算过程的计算量,提升获得目标模逆运算结果的效率;同时保证第一求逆等式和第二求逆等式中的系数均为正整数,还可以避免由于出现负数情况下的系数时所需要的符号调整所带来的符号判断,以及判断后的分支执行的操作,降低模拟运算过程中的计算难度,从而可以提高最终获得的目标模逆运算结果的可靠性,达到提升数据加密算法的数据加密性能的目的。
为了能够进一步降低在基于二进制扩展欧几里得算法,计算目标模逆运算结果时的计算量和计算难度,提升获得目标模逆运算结果的效率和增强目标模逆运算结果的可靠性,在一种实施方式中,还可以将上述第一求逆等式和第二求逆等式中的各个初始值系数均设置为正整数。
请参考图4,图4是本发明实施例所提供的数据加密方法的另一流程示意图。
如图4所述,所述流程可以包括以下步骤:
步骤S200,获取待加密数据。
所述待加密数据为需要进行保护的数据,为发送者和接收者之间进行传输的数据。
步骤S201,对所述第一参数和所述第二参数中的至少一者进行移位,并对进行移位的参数所对应的求逆等式中的系数进行移位,在所述第一参数移位完成前,进行移位的参数所对应的求逆等式中的系数均为正整数。
其中,所述系数包括:所述第二求逆等式中,第一初始值系数D和第二初始值系数C,以及所述第一求逆等式中,第三初始值系数A和第四初始值系数B;所述第二初始值系数C为所述第二求逆等式中第一参数u的初始值p对应的系数,所述第三初始值系数A为所述第一求逆等式中所述第一参数u的初始值p对应的系数,所述第四初始值系数B为所述第一求逆等式中所述第二参数v的初始值a对应的系数。
在获取目标模逆运算结果之前,对第一参数和第二参数进行不断的移位,直至第一参数移位完成,获得此时返回的第二求逆等式中的第一初始值系数D,得到目标模逆运算结果。
在进行模逆运算时,首先为第一参数u和第二参数v进行初始赋值,即将第一参数的初始值p赋值给第一参数,将第二参数的初始值a赋值给第二参数v,以基于赋值之后的第一参数u和第二参数v进行移位。
所述第一参数的初始值p可以为前述所述的模数,是具有256比特位的固定值,所述第二参数的初始值a可以为前述所述的随机输入参数,是具有小于等于256比特位的随机数。
在对第一参数u和第二参数v赋值之后,则可以根据第一求逆等式和第二求逆等式进行模逆运算,本发明实施例中将第一初始值系数D、第二初始值系数C、第三初始值系数A和第四初始值系数B,在第一参数u完成移位前,即模逆运算的过程中,始终保持为大于0的数,即正整数,从而可以降低模逆运算过程中的计算量和计算难度,减少由于初始值系数为负数时的判断分支的操作,提高获得目标模逆运算结果的效率和增强目标模逆运算结果的可靠性。
步骤S202,判断所述第一参数是否移位完成,如果是,则执行步骤S203,如果否,则执行步骤S201。
步骤S203,根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果。
在模逆运算过程中,所述第一参数u和所述第二参数v为求解最终的目标模逆运算结果的变量,而为了保证第一求逆等式和第二求逆等式的恒成立,因此所述第一初始值系数D、所述第二初始值系数C、所述第三初始值系数A以及所述第四初始值系数B同样均为变量,直到第一参数u为移位完成时,得到此时移位结束对应的最终的第一初始值系数D,作为目标模逆运算结果。也就是说,在进行模逆运算的过程中,在第一求逆等式和第二求逆等式中,第一参数的初始值p和第二参数的初始值a为常量。
可以看到,第一求逆等式和第二求逆等式是基于二进制扩展欧几里得算法计算目标模逆运算结果的基础,因此,保证第二求逆等式和第一求逆等式中的系数始终为正整数,可以避免在基于第二求逆等式进行目标模逆运算的过程中,出现负数情况的初始值系数时,所需要的计算量和计算难度。
步骤S204,根据所述目标模逆运算结果确定密钥信息。
基于模逆运算结果确定密钥信息的方式可以利用前述实施例中的计算方式进行密钥信息的计算。
当得到目标模逆运算结果时,则可以基于目标模逆运算结果得到对应的密钥信息,例如前述所述的{e,n}为公开密钥PKB,{d,n}为秘密密钥SKB的密钥信息。
步骤S205,利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
发送者可以利用密钥信息中的公开密钥信息待加密数据进行加密,接收者相应的使用对应的秘密密钥信息加密数据进行解密,实现对于待加密数据的保护。
为了能够对第一参数和第二参数进行模逆运算,在一种实施方式中,步骤S201的实现过程可以包括:
获取当前次移位发生前,所述第一参数的第一移位前参数值和所述第二参数的第二移位前参数值;根据预定的移位条件,确定当前次移位的参数和对应的移位规则;根据所述移位规则对所述第一参数和所述第二参数中的一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,得到所述第一参数的第一移位后参数值和所述第二参数的第二移位后参数值,直至所述第一参数移位完成。
由于模逆运算过程中,只要第一参数没有移位完成即u不等于0,就对第一参数和第二参数中的一个参数进行不断的移位,因此,每一次移位都要根据上一次移位得到的移位结果,如第一参数的第一移位前参数值,第二参数的第二移位前参数值。
在确定进行移位的参数之后,将上一次移位后得到的第一移位前参数值或上一次移位后得到的第二移位前参数值进行当前次的移位,并对移位完成后的结果继续进行第一参数是否移位完成的判断,直至第一移位参数移位完成。
所述预定的移位条件可以用于对第一移位前参数值和第二移位前参数值进行判断,以根据判断结果确定当前此需要移位的参数。且不同的移位条件对应有不同的移位规则,以在确定移位的参数之后,根据移位规则对进行移位的参数移位。由于在二进制扩展欧几里得算法中,模逆运算的基础为第一求逆等式和第二求逆等式,因此,在确定当前次移位的参数和对于移位的参数对应的移位规则之后,为保证第一求逆等式和第二求逆等式的恒成立,可以根据参数的移位规则,对第一求逆等式和第二求逆等式中的系数进行移位。例如当确定当前次移位的参数为第一参数和对应的移位规则时,则按照移位规则对第一参数的第一移位前参数值进行移位,并根据第一参数对应的第一求逆等式,对当前次移位前,第三初始值系数对应的数值和第四初始值系数对应的数值进行移位;当确定当前次移位的参数为第二参数和对应的移位规则时,则按照移位规则对第二参数的第二移位前参数值进行移位,并根据第二参数对应的第二求逆等式,对当前次移位前,第一初始值系数对应的数值和第二初始值系数对应的数值进行移位,直至第一参数为移位完成。
根据移位的参数和对应的移位规则,对第一参数和第二参数中的至少一者进行不断的移位,从而在第一参数u移位完成时,得到目标模逆运算结果。
在一种实施方式中,所述第一移位前参数值包括第一参数的初始值,所述第二移位前参数值包括第二参数的初始值;所述系数包括:所述第二求逆等式中,第一初始值系数的第一系数初始值和第二初始值系数的第二系数初始值,以及所述第一求逆等式中,第三初始值系数的第三系数初始值和第四初始值系数的第四系数初始值。
由于确定下一次进行移位的参数的过程可以是在未进行移位即初始时确定的,此时第一移位前参数值为第一参数的初始赋值,如前述所述的固定参数p(模数);第二移位前参数值为第二参数的初始赋值,如前述所述的随机输入参数a。当已经进行模逆运算,处于移位的过程中时,所述第一移位前参数值则可以为上一次移位之后得到的移位结果,所述第二移位前参数值则可以为上一次移位之后得到的移位结果。
当所述第一移位前参数值为初始赋值即第一参数的初始值p时,对应的当前次移位的系数为第一参数对应的第一求逆等式中,第三初始值系数A的初始赋值和第四初始值系数B的初始赋值,即第三系数初始值和第四系数初始值。在一种实施方式中,所述第三系数初始值可以为1,所述第四系数初始值可以为0,即A被赋值为1,B被赋值为0。
同样的,当所述第二移位前参数值为初始赋值即第二参数的初始值a时,对应的当前次移位的系数为第二参数对应的第二求逆等式中,第一初始值系数D的初始赋值和第二初始值系数C的初始赋值,即第一系数初始值和第二系数初始值。在一种实施方式中,所述第一系数初始值可以为1,所述第二系数初始值可以为0,即D被赋值为1,C被赋值为0。
也就是说,在未进行移位的开始时刻,为第一参数u赋值,得到第一参数的初始值p,并为第二参数v赋值,得到第二参数的初始值a。然后,对赋值后的第一参数u和第二参数v进行移位。在开始进行模逆运算即进行参数的移位时,第一参数u和第二参数v在每次移位后得到的参数作为下一次移位的第一移位前参数和第二移位前参数,由于每次移位后得到的第一参数u或每次移位后的第二参数v会发生变化,为满足模逆运算所基于的求逆等式,基于变化之后的第一参数u和第二参数v以及对应的第一求逆等式和第二求逆等式,确定此时第一求逆等式中的第三初始值系数A和第四初始值系数B,或确定此时第二求逆等式中的第一初始值系数D和第二初始值系数C,确保第一求逆等式和第二求逆等式恒成立;直至第一参数u为移位完成时,停止模逆运算,得到此时的第二求逆等式中的第一初始值系数D作为逆元,获得目标模逆运算结果。
为便于理解基于移位条件和移位规则对移位的参数进行不断移位的过程,请参考图5,图5是本发明实施例提供的数据加密方法中在第一种情况下进行模逆运算的一流程示意图。
如图5所示,该流程可以包括以下步骤:
步骤S300,获取当前次移位发生前,所述第一参数的第一移位前参数值和所述第二参数的第二移位前参数值。
由于第一参数u和第二参数v均为模逆运算过程中的变量,因此本发明实施例中所提到的第一参数,第一参数的第一移位前参数值均可以使用u表示,第二参数,第二参数的第二移位前参数值均可以使用v表示。
同样的,在基于当前次移位所确定的移位的参数,进一步确定的移位的参数对应的求逆等式中的系数时,由于系数在模逆运算过程中均为变量,因此后续本文所述的第一求逆等式中的第三初始值系数、当前次移位前,第三初始值系数的第三移位前初始值系数均可以使用A表示,第四初始值系数、当前次移位前,第四初始值系数的第四移位前初始值系数均可以使用B表示;以及第二求逆等式中的第一初始值系数、当前次移位前,第一初始值系数的第一移位前初始值系数均可以使用D表示,第二初始值系数、当前次移位前,第二初始值系数的第二移位前初始值系数均可以使用C表示。
步骤S301,判断所述第一移位前参数值是否满足第一判断条件,如果是,则执行步骤S302,如果否,则执行步骤S303。
所述第一判断条件可以为第一移位前参数值是否为偶数(even)或所述第二移位前参数值是否为偶数,如果第一移位前参数值为偶数则执行步骤S302,如果第一移位前参数值不是偶数,且第二移位前参数值为偶数,则执行步骤S303,从而根据不同的判断结果确定对应的移位的参数和移位规则。
步骤S302,确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数,以及确定所述第一移位前参数值对应的移位规则。
在确定第一移位前参数值满足第一判断条件即第一移位前参数值为偶数时,则确定当前次进行移位的参数为第一参数,由于此时移位是在上一次移位的结果的基础上进行的移位,因此此时的移位的参数值则为第一参数的第一移位前参数值。
在确定移位的参数之后,则确定移位的参数对应的移位规则,所述移位规则与当前所基于的判断条件对应。例如当此时第一移位前参数值满足第一判断条件时,可以确定对应的移位规则为移位一位。
步骤S303,判断所述第二移位前参数值是否满足第一判断条件,如果是,则执行步骤S304,如果否,则执行步骤S305。
步骤S304,确定移位参数为所述第二移位前参数值,和当前次移位发生前,所述第二求逆等式中的第一初始值系数的第一移位前初始值系数和第二初始值系数的第二移位前初始值系数,以及确定所述第二移位前参数值对应的移位规则。
在确定第一移位前参数值不满足第一判断条件即第一移位前参数值不是偶数,且第二移位前参数值满足第一判断条件即第二移位前参数为偶数时,则确定当前次进行移位的参数为第二参数,由于此时移位是在上一次移位的结果的基础上进行的移位,因此此时的移位的参数值则为第二参数的第二移位前参数值。
在确定移位的参数之后,则确定移位的参数对应的移位规则,所述移位规则与当前所基于的判断条件对应。由于基于每次的判断条件所确定的参数为第一参数和第二参数两者中的一者,因此,可以基于不同的判断条件的判断结果,确定对应的第一参数和第二参数两者中的一者;进而在基于此时所基于的判断条件确定对应的移位规则。例如当此时第二移位前参数值满足第一判断条件时,可以确定对应的移位规则为移位一位。
步骤S305,根据第二判断条件对所述第一移位前参数值和所述第二移位前参数值进行判断。
在第一移位前参数值和第二移位前参数值均不满足第一判断条件,即均不是偶数的时候,则继续对第一移位前参数值和第二移位前参数值进行下一步的第二判断条件的判断。
所述第二判断条件可以为第一移位前参数值是否大于等于第二移位前参数值,当基于第二判断条件确定了第一参数和第二参数两者中的一者作为当前次移位的参数之后,则根据第二判断条件确定此时对应的移位规则。例如在第二判断条件的基础上,确定的移位规则可以表示为将第一参数的第一移位前参数值和第二移位前参数值的差值,赋值给第一参数的第一移位前参数值和第二参数的第二移位前参数值中的较大者。第一移位前参数值和第二参数的第二移位前参数值中的较大者即根据第二判断条件确定的当前次移位的参数的参数值。
从而可以根据不同的判断条件确定每一次移位的参数和对应的移位规则,使得模逆运算能够顺利进行。
为在保证所述第一参数移位完成前,进行移位的参数所对应的求逆等式中的系数均为正整数的同时,满足二进制扩展欧几里得算法的模逆运算,在一种实施方式中,所述第一参数的初始值为奇数或所述第一参数的初始值为偶数。
所述第一参数的初始值为奇数或所述第一参数的初始值为偶数即本发明实施例所提供的数据加密方法中,在模数为奇数或者模数为偶数的情况下均可以进行模逆运算。
为不影响模逆运算的计算,即满足求逆等式恒成立且求逆等式中的系数在模逆运算的过程中,始终为正整数,本发明实施例对每次移位时,移位的参数所对应的求逆等式中的系数进行同步调整,使得在模逆运算过程中,减少模逆运算的计算量,且能够正常进行模逆运算。请参考图6,图6是本发明实施例提供的数据加密方法中基于第一判断条件进行模逆运算的一流程示意图。
如图6所示,该流程可以包括以下步骤:
步骤S400,获取当前次移位发生前,第一参数的第一移位前参数值和第二参数的第二移位前参数值。
使用u表示当前次移位发生前,第一参数的第一移位前参数值,v表示当前次移位发生前,第二参数的第二移位前参数值。
步骤S401,判断第一移位前参数值是否满足第一判断条件,如果是,则执行步骤S402,如果否,则执行步骤S407。
步骤S402,确定移位参数为第一移位前参数值,第三移位前初始值系数和第四移位前初始值系数,以及确定对应的移位规则为移动一位。
所述第三移位前初始值系数为当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数;所述第四移位前初始值系数为当前次移位发生前,所述第一求逆等式中的第四初始值系数的第四移位前初始值系数;移动一位为确定所述第一移位前参数值对应的移位规则为移动一位。
移动一位表示对移动的参数值除以2。
步骤S403,根据移位规则,将第一移位前参数值调整为第一移位前参数值的一半,以实现第一移位前参数值移动一位。
在确定u为偶数时,由于此时移位规则为移动一位,因此在u为偶数时,可以直接基于移位规则进行移位,表示为u=u/2。
步骤S404,判断第三移位前初始值系数和第四移位前初始值系数是否均为偶数,如果是,则执行步骤S405,如果否,则执行步骤S406。
步骤S405,将第三移位前初始值系数调整为第三移位前初始值系数的一半,以及将第四移位前初始值系数调整为第四移位前初始值系数的一半,以使第一求逆等式成立。
在当前次移位发生前,确定u为偶数的情况下,由于对u进行了移位,因此为了满足u对应的第一求逆等式恒成立,对第一求逆等式中的系数进行同步调整,此时为满足u的移位规则,即u除以2,第一求逆等式中a和p为常量,则a对应的第三初始值系数的第三移位前初始值系数A,和p对应的第四初始值系数的第四移位前初始值系数B也要除以2。因此进一步对第三移位前初始值系数A和第四移位前初始值系数B进行判断,在确定第三移位前初始值系数A和第四移位前初始值系数B均为偶数时,则可以直接对第三移位前初始值系数A和第四移位前初始值系数B进行移动一位的操作,表示为A=A/2,B=B/2。
步骤S406,将第三移位前初始值系数调整为,第三移位前初始值系数与所述第二参数的初始值之和的一半,将第四移位前初始值系数调整为,第四移位前初始值系数与第一参数的初始值之和的一半,以使第一求逆等式成立。
在确定第三移位前初始值系数A和第四移位前初始值系数B不全为偶数时,为满足移位规则且保证第三移位前初始值系数A和第四移位前初始值系数B均为大于0的整数,即正整数,本发明实施例对第三移位前初始值系数A和第四移位前初始值系数B的移位进行了调整,将第三移位前初始值系数A在移位时的移位情况调整为,第三移位前初始值系数A与所述第二参数的初始值a之和的一半,表示为A=(A+a)/2,同时对第四移位前初始值系数B在移位时的移位情况调整为,第四移位前初始值系数B与所述第一参数的初始值p之和的一半,表示为B=(B+p)/2。
可以看到,A=(A+a)/2和(B+p)/2的调整方式中,均使用的加法,因此可以使得第三移位前初始值系数A和第四移位前初始值系数B在当前次移位的过程中均为正整数,由于在二进制扩展欧几里得算法中,可以满足模数为偶数或者模数为奇数的情况下的模模逆运算,即模逆运算过程中求逆等式可以恒成立,因此为了证明上述调整方式能够使得求逆等式恒成立,即满足模数为奇数或者模数为偶数的情况下,二进制扩展欧几里得算法可以正常顺利的进行模逆运算,下面对上述调整方式能够满足第一求逆等式恒成立进行论述证明。
基于上述调整方式,得到的此时的第一求逆等式为:(A/2)×p+(a/2)×p-(B/2)×a-(p/2)×a=u/2,可以看到第一求逆等式是成立的。下面对调整方式满足除以2的计算,即A+a和B+p均为偶数进行证明。
当第三移位前初始值系数A和第四移位前初始值系数B不全为偶数时,则A和B有两种情况,即A和B存在一奇一偶的情况,以及A和B存在全奇数的情况。
首先,对A和B存在一奇一偶的情况进行证明:
例如,令A为奇数,B为偶数,因为初始的第一求逆等式为A×p-B×a=u成立,且u为偶数,则在B为偶数的情况下,B×a一定为偶数;因为只有偶数与偶数的差得到的差值才是偶数,因此在u为偶数,B×a为偶数的情况下,A×p一定为偶数;而A此时为奇数,因此p一定为偶数,a一定为奇数,因此A+a与B+p均为偶数,可以满足移位规则,除以2。同理可证A为偶数,B为奇数的情况。
然后,对A和B存在全奇数的情况进行证明:
因为初始的第一求逆等式A×p-B×a=u成立,且u为偶数,所以p与a只能同奇或者同偶,因为在二进制扩展欧几里得算法中p,a互素,所以p,a只能同奇,则A+a与B+p均为偶数。
综上所述,本发明实施例所提出的对A调整为A+a,对B调整为B+p可以满足在A和B不全为偶数时对应的u=u/2的调整。
将上述第三移位前初始值系数调整为A=(A+a)/2和第四移位前初始值系数调整为B=(B+p)/2的方式,使得本发明实施例所提供的数据加密方法,在进行模逆运算时,系数均为正整数的同时,支持二进制扩展欧几里得算法的运算,即支持模数为奇数或者模数为偶数的计算。
步骤S407,判断第二移位前参数值是否满足第一判断条件,如果是,则执行步骤S408,如果否,则执行步骤S413。
需要说明的是,每次移位后的数值均要在判断移位后u是否为移位完成,在确定u未完成移位时,判断第一移位前参数值不是偶数的情况下,进一步对第二移位前参数值是否为偶数进行判断。
步骤S408,确定移位参数为第二移位前参数值,第一移位前初始值系数和第二移位前初始值系数,以及确定移位规则为移动一位。
第一移位前初始值系数为当前次移位发生前,所述第二求逆等式中的第一初始值系数的第一移位前初始值系数;第二移位前初始值系数为当前次移位发生前,第二初始值系数的第二移位前初始值系数,以及移动一位为确定所述第二移位前参数值对应的移位规则为移动一位。
在确定第一移位前参数值不为偶数时,确定第二移位前参数值是否为偶数,当第二移位前参数值为偶数时,则直接对第二移位前参数值v进行除以2的移位,表示为v=v/2。
步骤S409,根据移位规则,将第二移位前参数值调整为第二移位前参数值的一半,以实现第二移位前参数值移动一位。
即将此时的v调整为v=v/2。
步骤S410,判断第一移位前初始值系数和第二移位前初始值系数均是否为偶数,如果是,则执行步骤S411,如果否,则执行步骤S412。
为满足第二求逆等式的成立,在将v调整为v/2之后,相应的对第二求逆等式中的系数进行调整,因此对第一移位前初始值系数D和所述第二移位前初始值系数C的奇偶性进行判断,以确定此时是否可以直接进行除以2的移位,或者需要进行其他调整,使得D和C能够除以2,即在当前次移位发生前的第一移位前初始值系数D和所述第二移位前初始值系数C无论是奇数还是偶数均可以执行除以2的操作,保证第二求逆等式恒成立。
步骤S411,将第二移位前初始值系数调整为第二移位前初始值系数的一半,将第一移位前初始值系数调整为第一移位前初始值系数的一半。
在确定此时的第一移位前初始值系数D和所述第二移位前初始值系数C均为偶数时,则可以直接对第一移位前初始值系数D和所述第二移位前初始值系数C除以2。
步骤S412,将所述第二移位前初始值系数调整为,第二移位前初始值系数与第一参数的初始值之和的一半,将所述第一移位前初始值系数调整为,第一移位前初始值系数与第二参数的初始值之和的一半。
在确定第一移位前初始值系数D和第二移位前初始值系数C不全为偶数时,为满足移位规则且保证第一移位前初始值系数D和第二移位前初始值系数C均为大于0的整数,即正整数,本发明实施例对第一移位前初始值系数D和第二移位前初始值系数C的移位进行了调整,将第一移位前初始值系数D在移位时的移位情况调整为,第一移位前初始值系数D与所述第一参数的初始值p之和的一半,表示为D=(D+p)/2,同时对第四移位前初始值系数B在移位时的移位情况调整为,第二移位前初始值系数C与所述第二参数的初始值a之和的一半,表示为C=(C+a)/2。
其奇偶性的证明可以参考前述第三移位前初始值系数A和第四移位前初始值系数的证明论述,在此不再赘述。
步骤S413,根据第二判断条件对所述第一移位前参数值和所述第二移位前参数值进行判断。
在第一移位前参数值和第二移位前参数值均不满足第一判断条件,且u为未移位完成时,继续对第一移位前参数值和第二移位前参数值进行判断,并确定对应的移位规则。请参考图7,图7是本发明实施例提供的数据加密方法中基于第二判断条件进行模逆运算的一流程示意图。
如图7所示,该流程可以包括以下步骤:
步骤S500,在第一参数未移位完成时,获取不满足第一判断条件的当前次移位发生前,所述第一参数的第一移位前参数值和所述第二参数的第二移位前参数值。
步骤S501,判断第一移位前参数值是否大于等于第二移位前参数值,如果是,则执行步骤S502,如果否,则执行步骤S505。
步骤S502,确定移位参数为第一移位前参数值,第三移位前初始值系数和第四移位前初始值系数,以及确定对应的移位规则为将所述第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值。
所述第三移位前初始值系数为当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数;所述第四移位前初始值系数为当前次移位发生前,第四初始值系数的第四移位前初始值系数,以及移位规则为确定所述第一移位前参数值的移位规则。
在确定第一移位前参数值大于等于第二移位前参数值时,则第一移位前参数值为移位的参数,由于第一移位前参数值u进行移位,为满足第一求逆等式成立,当前次移位发生前,第一求逆等式中的系数:第三移位前初始值系数A和第四移位前初始值系数B也要调整。
步骤S503,根据移位规则,将第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值。
将u调整为u=u-v。
步骤S504,将第三移位前初始值系数调整为第三移位前初始值系数与第二移位前初始值系数之和与第二参数的初始值的余数,将所述第四移位前初始值系数调整为,所述第四移位前初始值系数与第一移位前初始值系数之和与第一参数的初始值的余数。
第二移位前初始值系数为当前次移位发生前,所述第二求逆等式中的第二初始值的第二移位前初始值系数;第一移位前初始值系数为当前次移位发生前,所述第二求逆等式中第一初始值系数的第一移位前初始值系数。
由于u调整为u=u-v,为满足第一求逆等式的成立,第三移位前初始值系数A和第四移位前初始值系数B也要进行调整。
本发明实施例为满足第三移位前初始值系数A和第四移位前初始值系数B始终为正整数,将第三移位前初始值系数A调整为,第三移位前初始值系数与当前次移位发生前,所述第二求逆等式中的第二移位前初始值系数之和与第二参数的初始值的余数,表示为A=(A+C)%a,其中“%”表示求余数,以及将第四移位前初始值系数B整为,所述第四移位前初始值系数与当前次移位发生前,所述第二求逆等式中第一移位前初始值系数之和与第一参数的初始值的余数,表示为B=(B+D)%p。
可以看到,上述调整方式中,均使用的加法,因此可以使得第三移位前初始值系数A和第四移位前初始值系数B在当前次移位的过程中均为正整数。为说明上述调整方式能够可以满足等式恒成立,使得二进制扩展欧几里得算法能够进行模逆运算。下面对上述调整方式进行证明。
以第一移位前参数值大于等于第二移位前参数值的情况,即u>=v的情况为例进行证明:
此时第一求逆等式表示为:(A+C)%a×p-(B+D)%p*×a=u-v
未进行调整前,原始二进制扩展欧几里得算法为两个等式相减:(A+C)×p-(B+D)×a=u-v。
当A+C和B+D都没有进位的情况下,两个等式等价,显然第一求逆等式是成立的;在A+C和B+D有进位的情况下,等式则变为(A+C-a)×p-(B+D-p)×a=u-v,可以看到第一求逆等式依然成立,综上u>=v能够满足第一求逆等式恒成立。
步骤S505,确定移位参数为第二移位前参数值,第一移位前初始值系数和第二移位前初始值系数,以及确定对应的移位规则为将所述第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值。
第一移位前初始值系数为当前次移位发生前,所述第一求逆等式中的第一初始值的第二移位前初始值系数;第二移位前初始值系数为当前次移位发生前,所述第一求逆等式中第二初始值系数的第二移位前初始值系数。
在确定第一移位前参数值小于第二移位前参数值即u<v时,则第二移位前参数值v为移位的参数,由于第二移位前参数值v进行移位,为满足第二求逆等式成立,当前次移位发生前,第二求逆等式中的系数:第一移位前初始值系数D和第二移位前初始值系数C也要调整。
步骤S506,根据移位规则,将第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值。
即将v调整为v=v-u。
步骤S507,将第二移位前初始值系数调整为第二移位前初始值系数与第三移位前初始值系数之和与第二参数的初始值的余数,将第一移位前初始值系数调整为第一移位前初始值系数与第四移位前初始值系数之和与第一参数的初始值的余数。
第三移位前初始值系数为当前次移位发生前,所述第一求逆等式中的第三初始值的第三移位前初始值系数;第四移位前初始值系数为当前次移位发生前,所述第一求逆等式中第四初始值系数的第四移位前初始值系数。
本发明实施例为满足第一移位前初始值系数D和第二移位前初始值系数C始终为正整数,将第一移位前初始值系数D调整为,第一移位前初始值系数与当前次移位发生前,所述第一求逆等式中的第四移位前初始值系数之和与第一参数的初始值的余数,表示为D=(D+B)%p,其中“%”表示求余数,以及将第二移位前初始值系数C整为,所述第二移位前初始值系数与当前次移位发生前,所述第一求逆等式中第三移位前初始值系数之和与第二参数的初始值的余数,表示为C=(C+A)%a。
可以看到,上述调整方式中,均使用的加法,因此可以使得第一移位前初始值系数D和第二移位前初始值系数C在当前次移位的过程中均为正整数。上述调整方式的证明可以参考对于U>=V的情况下的证明,在此不再赘述。
本发明实施例还提供了一种数据加密装置,用以实现前述实施例所提供的数据加密方法,请参考图8,图8是本发明实施例所提供的数据加密装置的一结构示意图。
如图8所示,该数据加密装置60可以包括:
待加密数据获取模块600,用于获取待加密数据;
模逆运算结果获取模块601,用于根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;
密钥信息确定模块602,用于根据所述目标模逆运算结果确定密钥信息;
数据加密模块603,用于利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
在一种实施方式中,所述第一参数的初始值为奇数或所述第一参数的初始值为偶数。
可以看出,本发明实施例所提供的数据加密装置,在进行模逆运算获得目标模逆运算结果之前,即计算目标模逆运算结果的过程中,保证第二求逆等式中的第一初始值系数均为正整数,从而可以保证在模逆运算的过程中,避免对于出现负数情况下的第一初始值系数进行符号调整,增加模拟运算过程的计算量,提升获得目标模逆运算结果的效率;同时保证第一求逆等式和第二求逆等式中的系数均为正整数,还可以避免由于出现负数情况下的系数时所需要的符号调整所带来的符号判断,以及判断后的分支执行的操作,降低模拟运算过程中的计算难度,从而可以提高最终获得的目标模逆运算结果的可靠性,达到提升数据加密算法的数据加密性能的目的。
本发明实施例还提供了一种数据加密系统,用以基于前述实施例提供的数据加密装置执前述实施例所提供的数据加密方法,对待加密数据完成加密,请参考图9,图9是本发明实施例所提供的数据加密系统的一结构示意图。
如图9所示,该系统可以包括:
如前述实施例所述的数据加密装置60;
模逆单元70,用于根据所述数据加密装置提供的初始值进行模逆运算,并将目标模逆运算结果发送至所述数据加密装置。
所述模逆单元70可以对所述第一参数和所述第二参数中的至少一者进行移位,并对进行移位的参数所对应的求逆等式中的系数进行移位,直至所述第一参数移位完成,且在所述第一参数移位完成前,进行移位的参数所对应的求逆等式中的系数均为正整数;
其中,所述系数包括:所述第二求逆等式中,第一初始值系数和第二初始值系数,以及所述第一求逆等式中,第三初始值系数和第四初始值系数;所述第二初始值系数为所述第二求逆等式中第一参数的初始值对应的系数,所述第三初始值系数为所述第一求逆等式中所述第一参数的初始值对应的系数,所述第四初始值系数为所述第一求逆等式中所述第二参数的初始值对应的系数。
在一种实施方式中,所述模逆单元70,用于对所述第一参数和所述第二参数中的至少一者进行移位,并对进行移位的参数所对应的求逆等式中的系数进行移位,直至所述第一参数移位完成,包括:
获取当前次移位发生前,所述第一参数的第一移位前参数值和所述第二参数的第二移位前参数值;
根据预定的移位条件,确定当前次移位的参数和对应的移位规则;
根据所述移位规则对所述第一参数和所述第二参数中的一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,得到所述第一参数的第一移位后参数值和所述第二参数的第二移位后参数值,直至所述第一参数移位完成。
在一种实施方式中,所述第一移位前参数值包括第一参数的初始值,所述第二移位前参数值包括第二参数的初始值;所述系数包括:所述第二求逆等式中,第一初始值系数的第一系数初始值和第二初始值系数的第二系数初始值,以及所述第一求逆等式中,第三初始值系数的第三系数初始值和第四初始值系数的第四系数初始值。
在一种实施方式中,所述模逆单元70,用于根据预定的移位条件,确定当前次移位的参数和对应的移位规则,包括:
当所述第一移位前参数值至少满足第一判断条件时,确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数,以及确定所述第一移位前参数值对应的移位规则;
或者,当所述第一移位前参数值不满足第一判断条件,且所述第二移位前参数值至少满足所述第一判断条件时,确定移位参数为所述第二移位前参数值,和当前次移位发生前,所述第二求逆等式中的第一初始值系数的第一移位前初始值系数和第二初始值系数的第二移位前初始值系数,以及确定所述第二移位前参数值对应的移位规则。
在一种实施方式中,当所述第一移位前参数值满足第一判断条件时,所述模逆单元70,用于确定所述第一移位前参数值对应的移位规则,包括:
确定所述第一移位前参数值对应的移位规则为移动一位;
所述模逆单元70,用于根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第一移位前参数值调整为第一移位前参数值的一半,以实现所述第一移位前参数值移动一位;
在确定所述第三移位前初始值系数和第四移位前初始值系数均为偶数时,将所述第三移位前初始值系数调整为第三移位前初始值系数的一半,以及将第四移位前初始值系数调整为第四移位前初始值系数的一半,以使所述第一求逆等式成立;
在确定所述第三移位前初始值系数和第四移位前初始值系数不均为偶数时,将所述第三移位前初始值系数调整为,第三移位前初始值系数与所述第二参数的初始值之和的一半,将所述第四移位前初始值系数调整为,第四移位前初始值系数与第一参数的初始值之和的一半,以使所述第一求逆等式成立。
在一种实施方式中,所述模逆单元70,用于确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数,包括:
在所述第一移位前参数值和所述第二移位前参数值均不满足第一判断条件,且所述第一移位前参数值大于等于所述第二移位前参数值时,确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数;
所述模逆单元70,用于确定所述第一移位前参数值对应的移位规则,包括:
确定所述第一移位前参数值对应的移位规则为,将所述第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值;
所述模逆单元70,用于根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值;
以及将第三移位前初始值系数调整为第三移位前初始值系数与当前次移位发生前,所述第二求逆等式中的第二移位前初始值系数之和与第二参数的初始值的余数;
将所述第四移位前初始值系数调整为,所述第四移位前初始值系数与当前次移位发生前,所述第二求逆等式中第一移位前初始值系数之和与第一参数的初始值的余数。
在一种实施方式中,所述模逆单元70,用于当所述第一移位前参数值不满足第一判断条件,且所述第二移位前参数值满足所述第一判断条件时,确定所述第二移位前参数值对应的移位规则,包括:
确定所述第二移位前参数值对应的移位规则为移动一位;
所述模逆单元70,用于根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第二移位前参数值调整为第二移位前参数值的一半,以实现所述第二移位前参数值移动一位;
在确定所述第一移位前初始值系数和所述第二移位前初始值系数均为偶数时,将所述第二移位前初始值系数调整为第二移位前初始值系数的一半,将第一移位前初始值系数调整为第一移位前初始值系数的一半;
在确定所述第一移位前初始值系数和所述第二移位前初始值系数不均为偶数时,将所述第一移位前初始值系数调整为,第一移位前初始值系数与第一参数的初始值之和的一半,将所述第二移位前初始值系数调整为,第二移位前初始值系数与第二参数的初始值之和的一半。
在一种实施方式中,所述模逆单元70,用于确定移位参数为所述第二移位前参数值,和第二参数对应的第二求逆等式中的第一初始值系数和第二初始值系数,包括:
在所述第一移位前参数值和第二移位前参数值均不满足第一判断条件,且所述第一移位前参数值小于所述第二移位前参数值时,确定移位参数为所述第二移位前参数值,和第二参数对应的第二求逆等式中的第一初始值系数和第二初始值系数;
所述模逆单元70,用于确定所述第二移位前参数值对应的移位规则,包括:
确定所述第二移位前参数值对应的移位规则为,将所述第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值;
所述模逆单元70,用于根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值;
以及将第二移位前初始值系数调整为第二移位前初始值系数与当前次移位发生前,所述第一求逆等式中的第三移位前初始值系数之和与第二参数的初始值的余数;
将第一移位前初始值系数调整为第一移位前初始值系数与当前次移位发生前,所述第一求逆等式中的第四移位前初始值系数之和与第一参数的初始值的余数。
可以看出,本发明实施例所提供的数据加密系统,在进行模逆运算获得目标模逆运算结果之前,即计算目标模逆运算结果的过程中,保证第一求逆等式和第二求逆等式中的系数均为正整数,从而可以保证在模逆运算的过程中,避免对于出现负数情况下的系数进行符号调整,增加模拟运算过程的计算量,提升获得目标模逆运算结果的效率;同时保证求逆过程中第一求逆等式和第二求逆等式中的系数均为正整数,还可以避免由于出现负数情况下的系数时所需要的符号调整所带来的符号判断,以及判断后的分支执行的操作,降低模拟运算过程中的计算难度,从而可以提高最终获得的目标模逆运算结果的可靠性,达到提升数据加密算法的数据加密性能的目的。
本发明实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行前述实施例所述的数据加密方法。
可选地,图10是本发明实施例提供的电子设备的架构图,该电子例如服务器设备或者终端设备;参照图10,该电子设备可以包括:至少一个处理器41,至少一个通信接口42,至少一个存储器43和至少一个通信总线44。
在本申请实施例中,处理器41、通信接口42、存储器43、通信总线44的数量为至少一个,且处理器41、通信接口42、存储器43通过通信总线44完成相互间的通信。
可选的,通信接口42可以为用于进行网络通信的通信模块的接口。
可选的,处理器41可能是CPU(中央处理器),GPU(Graphics Processing Unit,图形处理器),NPU(嵌入式神经网络处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),TPU(张量处理单元),AI芯片,特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等。
存储器43可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
作为本发明实施例公开内容的一种可选实现,存储器43可以存储程序,处理器41可调用所述程序,以执行本发明上述实施例提供的数据加密方法。
本发明实施例还提供了一种存储介质,所述存储介质存储有程序,所述程序被执行时实现如前述实施例所述的数据加密方法。
本发明实施例还提供一种计算机程序,所述计算机程序被执行时实现如前述实施例所述的数据加密方法。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种数据加密方法,其中,包括:
获取待加密数据;
根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;
根据所述目标模逆运算结果确定密钥信息;
利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
2.如权利要求1所述的数据加密方法,其中,在所述根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果的步骤之前,还包括:
对所述第一参数和所述第二参数中的至少一者进行移位,并对进行移位的参数所对应的求逆等式中的系数进行移位,直至所述第一参数移位完成,且在所述第一参数移位完成前,进行移位的参数所对应的求逆等式中的系数均为正整数;
所述系数包括:所述第二求逆等式中,第一初始值系数和第二初始值系数,以及所述第一求逆等式中,第三初始值系数和第四初始值系数;所述第二初始值系数为所述第二求逆等式中第一参数的初始值对应的系数,所述第三初始值系数为所述第一求逆等式中所述第一参数的初始值对应的系数,所述第四初始值系数为所述第一求逆等式中所述第二参数的初始值对应的系数。
3.如权利要求2所述的数据加密方法,其中,所述对所述第一参数和所述第二参数中的至少一者进行移位,并对进行移位的参数所对应的求逆等式中的系数进行移位,直至所述第一参数移位完成,包括:
获取当前次移位发生前,所述第一参数的第一移位前参数值和所述第二参数的第二移位前参数值;
根据预定的移位条件,确定当前次移位的参数和对应的移位规则;
根据所述移位规则对所述第一参数和所述第二参数中的一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,得到所述第一参数的第一移位后参数值和所述第二参数的第二移位后参数值,直至所述第一参数移位完成。
4.如权利要求3所述的数据加密方法,其中,所述第一移位前参数值包括第一参数的初始值,所述第二移位前参数值包括第二参数的初始值;所述系数包括:所述第二求逆等式中,第一初始值系数的第一系数初始值和第二初始值系数的第二系数初始值,以及所述第一求逆等式中,第三初始值系数的第三系数初始值和第四初始值系数的第四系数初始值。
5.如权利要求3所述的数据加密方法,其中,所述根据预定的移位条件,确定当前次移位的参数和对应的移位规则,包括:
当所述第一移位前参数值至少满足第一判断条件时,确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数,以及确定所述第一移位前参数值对应的移位规则;
或者,当所述第一移位前参数值不满足第一判断条件,且所述第二移位前参数值至少满足所述第一判断条件时,确定移位参数为所述第二移位前参数值,和当前次移位发生前,所述第二求逆等式中的第一初始值系数的第一移位前初始值系数和第二初始值系数的第二移位前初始值系数,以及确定所述第二移位前参数值对应的移位规则。
6.如权利要求5所述的数据加密方法,其中,所述当所述第一移位前参数值满足第一判断条件时,确定所述第一移位前参数值对应的移位规则,包括:
确定所述第一移位前参数值对应的移位规则为移动一位;
所述根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第一移位前参数值调整为第一移位前参数值的一半,以实现所述第一移位前参数值移动一位;
在确定所述第三移位前初始值系数和第四移位前初始值系数均为偶数时,将所述第三移位前初始值系数调整为第三移位前初始值系数的一半,以及将第四移位前初始值系数调整为第四移位前初始值系数的一半,以使所述第一求逆等式成立;
在确定所述第三移位前初始值系数和第四移位前初始值系数不均为偶数时,将所述第三移位前初始值系数调整为,第三移位前初始值系数与所述第二参数的初始值之和的一半,将所述第四移位前初始值系数调整为,第四移位前初始值系数与第一参数的初始值之和的一半,以使所述第一求逆等式成立。
7.如权利要求5所述的数据加密方法,其中,所述确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数,包括:
在所述第一移位前参数值和所述第二移位前参数值均不满足第一判断条件,且所述第一移位前参数值大于等于所述第二移位前参数值时,确定移位参数为所述第一移位前参数值,和当前次移位发生前,所述第一求逆等式中的第三初始值系数的第三移位前初始值系数和第四初始值系数的第四移位前初始值系数;
所述确定所述第一移位前参数值对应的移位规则,包括:
确定所述第一移位前参数值对应的移位规则为,将所述第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值;
所述根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第一移位前参数值调整为第一移位前参数值和第二移位前参数值的差值;
以及将第三移位前初始值系数调整为第三移位前初始值系数与当前次移位发生前,所述第二求逆等式中的第二移位前初始值系数之和与第二参数的初始值的余数;
将所述第四移位前初始值系数调整为,所述第四移位前初始值系数与当前次移位发生前,所述第二求逆等式中第一移位前初始值系数之和与第一参数的初始值的余数。
8.如权利要求7所述的数据加密方法,其中,所述当所述第一移位前参数值不满足第一判断条件,且所述第二移位前参数值满足所述第一判断条件时,确定所述第二移位前参数值对应的移位规则,包括:
确定所述第二移位前参数值对应的移位规则为移动一位;
所述根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第二移位前参数值调整为第二移位前参数值的一半,以实现所述第二移位前参数值移动一位;
在确定所述第一移位前初始值系数和所述第二移位前初始值系数均为偶数时,将所述第二移位前初始值系数调整为第二移位前初始值系数的一半,将第一移位前初始值系数调整为第一移位前初始值系数的一半;
在确定所述第一移位前初始值系数和所述第二移位前初始值系数不均为偶数时,将所述第一移位前初始值系数调整为,第一移位前初始值系数与第一参数的初始值之和的一半,将所述第二移位前初始值系数调整为,第二移位前初始值系数与第二参数的初始值之和的一半。
9.如权利要求8所述的数据加密方法,其中,所述确定移位参数为所述第二移位前参数值,和第二参数对应的第二求逆等式中的第一初始值系数和第二初始值系数,包括:
在所述第一移位前参数值和第二移位前参数值均不满足第一判断条件,且所述第一移位前参数值小于所述第二移位前参数值时,确定移位参数为所述第二移位前参数值,和第二参数对应的第二求逆等式中的第一初始值系数和第二初始值系数;
所述确定所述第二移位前参数值对应的移位规则,包括:
确定所述第二移位前参数值对应的移位规则为,将所述第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值;
所述根据所述移位规则对所述第一参数和所述第二参数中的至少一者进行移位,以及根据所述移位规则对进行移位的参数所对应的求逆等式中的系数进行移位,包括:
根据所述移位规则,将所述第二移位前参数值调整为第二移位前参数值和第一移位前参数值的差值;
以及将第二移位前初始值系数调整为第二移位前初始值系数与当前次移位发生前,所述第一求逆等式中的第三移位前初始值系数之和与第二参数的初始值的余数;
将第一移位前初始值系数调整为第一移位前初始值系数与当前次移位发生前,所述第一求逆等式中的第四移位前初始值系数之和与第一参数的初始值的余数。
10.如权利要求1所述的数据加密方法,其中,所述第一参数的初始值为奇数或所述第一参数的初始值为偶数。
11.一种数据加密装置,其中,包括:
待加密数据获取模块,用于获取待加密数据;
模逆运算结果获取模块,用于根据模逆运算中的第一参数对应的第一求逆等式和第二参数对应的第二求逆等式,获取所述第一参数移位完成时,所述第二求逆等式的第一初始值系数,得到目标模逆运算结果,其中,所述第一初始值系数为第二求逆等式中第二参数的初始值对应的系数,以在模逆运算的过程中满足第二求逆等式的成立,在所述第一参数移位完成前,所述第一求逆等式和所述第二求逆等式中的系数均为正整数;
密钥信息确定模块,用于根据所述目标模逆运算结果确定密钥信息;
数据加密模块,用于利用所述密钥信息,对所述待加密数据进行加密,得到加密数据。
12.一种数据加密系统,其中,包括:
如权利要求11所述的数据加密装置;
模逆单元,用于根据所述数据加密装置提供的初始值进行模逆运算,并将目标模逆运算结果发送至所述数据加密装置。
13.一种电子设备,其中,包括存储器和处理器,所述存储器存储有程序,所述处理器调用所述存储器中存储的程序,执行如权利要求1-10任一项所述的数据加密方法。
14.一种存储介质,其中,所述存储介质存储有程序,所述程序被执行时实现如权利要求1-10任一项所述的数据加密方法。
CN202311325072.9A 2023-10-12 2023-10-12 数据加密方法、装置、系统、电子设备及存储介质 Pending CN117544297A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311325072.9A CN117544297A (zh) 2023-10-12 2023-10-12 数据加密方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311325072.9A CN117544297A (zh) 2023-10-12 2023-10-12 数据加密方法、装置、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117544297A true CN117544297A (zh) 2024-02-09

Family

ID=89792672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311325072.9A Pending CN117544297A (zh) 2023-10-12 2023-10-12 数据加密方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117544297A (zh)

Similar Documents

Publication Publication Date Title
Amara et al. Elliptic curve cryptography and its applications
Paar et al. Introduction to public-key cryptography
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US8379844B2 (en) Methods and apparatus for performing an elliptic curve scalar multiplication operation using splitting
JP4662802B2 (ja) 計算方法、計算装置及びコンピュータプログラム
JP2002533787A (ja) 楕円曲線上での暗号操作の速度を高める方法
KR20150107784A (ko) 스칼라 또는 멱수와의 곱셈 연산을 포함하는 암호화 방법
US8050403B2 (en) Method and apparatus for generating a public key in a manner that counters power analysis attacks
CA2680050C (en) Methods and apparatus for performing an elliptic curve scalar multiplication operation using splitting
JP2010277085A (ja) Rsaアルゴリズムにおける素数生成の保護
US8422669B2 (en) Method and apparatus for elliptic curve cryptographic processing
Jahan et al. Improved RSA cryptosystem based on the study of number theory and public key cryptosystems
US20080025502A1 (en) System, method and apparatus for an incremental modular process including modular multiplication and modular reduction
EP0952697B1 (en) Elliptic curve encryption method and system
JP3854226B2 (ja) 鍵ペア決定およびrsa鍵生成のための方法並びに装置
JP2004297578A (ja) 公開鍵生成装置、共有鍵生成装置、鍵交換装置、及び鍵交換方法
US20040258240A1 (en) Cryptosystems
JP2010139544A (ja) 剰余演算装置、及び剰余演算方法
JP4423900B2 (ja) 楕円曲線暗号におけるスカラー倍計算方法と、その装置およびそのプログラム
JP4616169B2 (ja) モンゴメリ乗算剰余における変換パラメータの計算装置、方法およびそのプログラム
CN117544297A (zh) 数据加密方法、装置、系统、电子设备及存储介质
WO2015199675A1 (en) System and method for securing scalar multiplication against differential power attacks
US20060282491A1 (en) Method for countermeasuring by masking the accumulators in an electronic component while using a public key cryptographic algorithm
CN117014208B (zh) 数据加密方法、装置、系统、电子设备及存储介质
US20070121935A1 (en) Method for countermeasuring in an electronic component

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