CN103209073B - 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置 - Google Patents

使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置 Download PDF

Info

Publication number
CN103209073B
CN103209073B CN201310128960.1A CN201310128960A CN103209073B CN 103209073 B CN103209073 B CN 103209073B CN 201310128960 A CN201310128960 A CN 201310128960A CN 103209073 B CN103209073 B CN 103209073B
Authority
CN
China
Prior art keywords
prime number
unit
calculating
modp
computing
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
CN201310128960.1A
Other languages
English (en)
Other versions
CN103209073A (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.)
Beijing KT Micro Ltd
Original Assignee
Beijing KT Micro 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
Priority claimed from CN 201310017592 external-priority patent/CN103067164A/zh
Application filed by Beijing KT Micro Ltd filed Critical Beijing KT Micro Ltd
Priority to CN201310128960.1A priority Critical patent/CN103209073B/zh
Publication of CN103209073A publication Critical patent/CN103209073A/zh
Application granted granted Critical
Publication of CN103209073B publication Critical patent/CN103209073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种使用RSA公开密钥加密算法的电子部件中的防攻击方法和装置。所述方法包括:包括每次执行使用中国剩余定理的RSA解密算法时采用所述方法,所述方法将密文c、密钥d、n、p、q作为输入,所述方法包括:生成三个随机数:u、t、s;用c′=c+u×n代替密文c;计算p′=p×t,q′=q×s;计算cp′=c′modp′和cq′=c′mod;计算计算mp=cp′dp′modp′,mq=cq′dq′modq′;计算m=mq+q×[(mp‑mq)(q‑1modp)(modp)];用mmodn代替m;其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。本发明可以有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。

Description

使用RSA公开密钥加密算法的电子部件中的防攻击方法和 装置
技术领域
本发明涉及防攻击领域,尤其涉及一种使用RSA公开密钥加密算法的电子部件中的防攻击方法和装置。
背景技术
密码体制分为私钥密码体制和公钥密码体制,分别以1977年美国国家标准局与IBM公司研制的对称加密算法DES和1978年由R.Rivest、A.Shair和L.Adleman提出的公钥加密算法RSA为代表。私钥密码体制既不利于密钥管理也不利于数字签名,但速度高。公钥密码体制可用于密钥管理和数字签名,但速度较低。公钥密码体制的机制是:为每个用户产生一对密钥:一个公开的加密密钥和一个私密的解密密钥,要从公开的加密密钥(简称:公钥)利用计算找到私密的解密密钥(简称:私钥)必须是不可能的。例如:A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息,加密后的信息通过任何不安全信道发送,B收到密文信息后,用自己的私钥解密恢复出明文。
采用RSA加密算法用在智能卡中,在访问数据库、金融应用、或远距离支付应用等方面有广泛的应用。RSA加密算法的原理可以分成如下三个不同的部分:
第一部分:生成一对RSA密钥;
第二部分:将一个明文加密成密文;以及
第三部分:将密文解密为明文。
其中,第一部分包括如下5个步骤:
步骤一、生成两个长度相同大小不等的大素数p和q;
步骤二、计算n=p×q, 保密;
步骤三、随机选择整数e,满足
步骤四、计算d,满足
步骤五、其中公钥是(e,n),私钥是(d,p,q)。
第二部分按照如下公式计算:c=memodn。
第三部分按照如下公式计算:m=cdmodn。
其中,m表示明文,c表示密文,1<m<n,1<c<n,e是加密指数,d是解密指数。
RSA加密算法的安全性是基于对由两个素数的乘积形成的大数进行因子分解的难度,换句话说,给定两个大素数p和q,要获得他们的乘积n很容易,但是给定n,找出素数p和q非常困难,基于此事实,一个安全的RSA系统必须满足n足够长,例如:512位、1024位、2048位等。
对于RSA加密算法,密钥越长,加密效果越好,但加密、解密的开销也就越大。使用中国剩余定理(Chinese Remainder Theorem,以下简称:CRT)的RSA加密算法可以使解密速度大约提高4倍左右,解密运算由计算模n的指数形式m=cdmodn转化为求同余方程组的情形,可以包括如下步骤:
步骤一、预计算:dp=dmod(p-1),dq=dmod(q-1),invQ=q-1modp;
步骤二、计算:cp=cmodp和cq=cmodq;
步骤三、计算:mp=cpdpmodp,mq=cqdqmodq;
步骤四、计算:m=mq+q×[(mp-mq)invQ(modp)];
其中,输入为:n,d,p,q,dp,dq,invQ,c;输出为m=cdmodn。
使用CRT的RSA算法在进行解密计算时,首先执行modp和modq运算,其中,两个质数p和q需要具有一样的位长但大小不等,然后执行两次模指数运算,即:cpdpmodp和cqdqmodq,再将模指数运算的计算结果利用CRT再结合得到明文m。
在智能卡上实现使用CRT的RSA加密算法易受到如电力消耗、执行时间、故障时的输入和输出行为、辐射等攻击从而泄露密钥信息,其中,差分功率分析(DifferentialPower Analysis,简称:DPA)攻击是一种很有效的能量攻击方法。DPA攻击利用了这样一个事实:密码设备的瞬时能量消耗依赖于设备所处理的数据以及设备所进行的操作,其原理是智能卡在执行加密解密过程中会消耗能量,产生电磁辐射,通过使用特殊的电子测量仪和数学统计技术,就可以检测和分析这些变化,从而得到芯片中的特定关键信息。具体地,智能卡执行一条指令消耗的能量与指令的操作数相关,其中,当某一特定比特不变而其它比特变化时,则与该指令相关的电流消耗的分析表明,当某一特定比特取值为0或1时,该指令的平均消耗是不同的。因此DPA类型的攻击使得很有可能在执行加密算法期间得到由在卡上的微处理器所处理的中间数据的外加信息,这种外加信息在某些情况下使得有可能泄露解密算法的秘密参数,使得加密系统不安全。
发明内容
本发明提供一种使用RSA公开密钥加密算法的电子部件中的防攻击方法和装置,用以实现有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
本发明提供一种使用RSA公开密钥加密算法的电子部件中的防攻击方法,包括每次执行使用中国剩余定理的RSA解密算法时采用方法,方法将密文c、密钥d、n、p、q作为输入,方法包括:
生成三个随机数:u、t、s;
用c′=c+u×n代替密文c;
计算p′=p×t,q′=q×s;
计算cp′=c′modp′和cq′=c′modq′;
计算
计算mp=cp′dp′modp′,mq=cq′dq′modq′;
计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
本发明还提供一种使用RSA公开密钥加密算法的电子部件中的防攻击装置,每次执行使用中国剩余定理的RSA解密算法时采用所述装置,所述装置将密文c、密钥d、n、p、q作为输入,所述装置包括:
生成模块,用于生成三个随机数:u、t、s;
第一替代模块,用于用c′=c+u×n代替密文c;
第一计算模块,用于计算p′=p×t,q′=q×s;
第二计算模块,用于计算cp′=c′modp′和cq′=c′modq′;
第三计算模块,用于计算
第四计算模块,用于计算mp=cp′dp′modp′,mq=cq′dq′modq′;
第五计算模块,用于计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
第二替代模块,用于用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
在本发明中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
附图说明
图1为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第一实施例的流程示意图;
图2为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第二实施例的流程示意图;
图3为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第三实施例的流程示意图;
图4为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第四实施例的流程示意图;
图5为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第一实施例的流程示意图;
图6为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第二实施例的流程示意图;
图7为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第三实施例的流程示意图;
图8为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第四实施例的流程示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明作进一步的描述。
如图1所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第一实施例的流程示意图,每次执行使用CRT的RSA解密算法时采用该方法,该方法将密文c、密钥d、n、p、q作为输入,该方法包括如下8个步骤:
步骤11、生成三个随机数:u、t、s;
步骤12、用c′=c+u×n代替密文c;
步骤13、计算p′=p×t,q′=q×s;
步骤14、计算cp′=c′modp′和cq′=c′modq′;
步骤15、计算
步骤16、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤17、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤18、用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
按照上述对策方法,使其可以保护使用CRT的模指数运算,如RSA算法的解密运算:
m=cdmodn
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
如图2所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第二实施例的流程示意图,可以包括如下9个步骤:
步骤21、成四个随机数:u、r、t、s;
步骤22、用c′=c+u×n代替密文c;
步骤23、计算
步骤24、计算p′=p×t,q′=q×s;
步骤25、计算cp′=c′modp′和cq′=c′modq′;
步骤26、计算
步骤27、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤28、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤29、用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
与上一实施例的不同之处在于,本实施例在生成u、t、s三个随机数的同时,还生成随机数r;除了对p、q、dp、dq以及中间结果mp、mq进行随机化处理外,还对密钥d进行了随机化处理。
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq、中间结果mp、mq、以及密钥d进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
如图3所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第三实施例的流程示意图,可以包括如下9个步骤:
步骤31、生成四个随机数:u、r、t、s,其中,t和s为小质数;
步骤32、用c′=c+u×n代替密文c;
步骤33、计算
步骤34、计算p′=p×t,q′=q×s;
步骤35、计算cp′=c′modp′和cq′=c′modq′;
步骤36、计算dp′=d′mod(p-1)(t-1)和dq′=d′mod(q-1)(s-1);
步骤37、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤38、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤39、用mmodn代替m;
与上一实施例的不同之处在于,在本实施例中,t、s为质数,
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq、中间结果mp、mq、以及密钥d进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
可选地,可以从预先存储的质数中随机选择得到t、s。
但是,当t、s的位长比较长时,若从预先存储的质数中随机选择得到t、s,则可供选择的质数的数量就会非常多,从而导致该操作所需要的时间非常长,并且占用的存储空间比较大。为了解决这一问题,可以从预先存储的质数中随机选择两个以上位长较小的质数,t等于这两个以上质数的乘积,相应地,等于这两个以上质数分别减1后的乘积再乘上(p-1)。这样的话,由于位长较小的质数的数量相对于位长较长的质数的数量少得多,因此,可供选择的质数的数量就会少得多,该操作所需要的时间相对较少,并且占用的存储空间也较少。同理,从预先存储的质数中随机选择两个以上质数,s等于这两个以上质数的乘积,等于两个以上质数分别减1后的乘积再乘上(q-1)。
例如:假设t的长度约为64位,可以随机选择4个长度在10位~16位的小质数:t1、t2、t3、t4,使得t=t1×t2×t3×t4,此时,同理,假设s的长度约为64位,可以随机选择4个长度在10位~16位的小质数:s1、s2、s3、s4,使得s=s1×s2×s3×s4,此时,
如图4所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击方法第四实施例的流程示意图,每次执行使用CRT的RSA解密算法时采用该方法,该方法将密文c、密钥d、n、p、q作为输入,该方法包括如下8个步骤:
步骤41、生成三个随机数:u、t、s,其中,t和s为小质数;
步骤42、用c′=c+u×n代替密文c;
步骤43、计算p′=p×t,q′=q×s;
步骤44、计算cp′=c′modp′和cq′=c′modq′;
步骤45、计算dp′=dmod(p-1)(t-1)和dq′=dmod(q-1)(s-1);
步骤46、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤47、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤48、用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
本实施例图1所示流程示意图的不同之处在于,在本实施例中,t、s为质数,
按照上述对策方法,使其可以保护使用CRT的模指数运算,如RSA算法的解密运算:
m=cdmodn
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
可选地,在本实施例中,可以从预先存储的质数中随机选择得到t、s。
但是,若t、s的位长比较长时,则可供选择的质数的数量就会非常多,导致该操作所需要的时间非常长,并且占用的存储空间比较大。为了解决这一问题,可以从预先存储的质数中随机选择两个以上位长较小的质数,t等于这两个以上质数的乘积,相应地,等于这两个以上质数分别减1后的乘积再乘上(p-1)。这样的话,由于位长较小的质数的数量相对于位长较长的质数的数量少得多,因此,可供选择的质数的数量就会少得多,该操作所需要的时间相对较少,并且占用的存储空间也较少。同理,从预先存储的质数中随机选择两个以上质数,s等于这两个以上质数的乘积,等于两个以上质数分别减1后的乘积再乘上(q-1)。
如图5所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第一实施例的结构示意图,每次执行使用中国剩余定理的RSA解密算法时采用该装置,该装置可以包括生成模块51、第一替代模块52、第一计算模块53、第二计算模块54、第三计算模块55、第四计算模块56、第五计算模块57和第二替代模块58,第一计算模块53和第一替代模块52分别与生成模块51连接,第二计算模块54与第一计算模块53和第一替代模块52连接,第三计算模块55与第一计算模块53连接,第四计算模块56与第一计算模块53、第二计算模块54和第三计算模块55连接,第五计算模块57与第四计算模块56连接,第二替代模块58与第五计算模块57连接。
该装置将密文c、密钥d、n、p、q作为输入,生成模块51用于生成三个随机数:u、t、s;第一替代模块52用于用c′=c+u×n代替密文c;第一计算模块53用于计算p′=p×t,q′=q×s;第二计算模块54用于计算cp′=c′modp′和cq′=c′modq′;第三计算模块55用于计算第四计算模块56用于计算mp=cp′dp′modp′,mq=cq′dq′modq′;第五计算模块57用于计算m=mq+q×[(mp-mq)(q-1modp)(modp)];第二替代模块58用于用mmodn代替m。
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
采用该装置,使其可以保护使用CRT的模指数运算,如RSA算法的解密运算:
m=cdmodn
在本实施例中,生成模块51生成三个随机数u、t、s后,第一替代模块52用c′=c+u×n代替密文c,第一计算模块53计算p′=p×t,q′=q×s,第二计算模块54计算cp′=c′modp′和cq′=c′modq′,第三计算模块55计算第四计算模块56计算mp=cp′dp′modp′,mq=cq′dq′modq′;第五计算模块57计算m=mq+q×[(mp-mq)(q-1modp)(modp)],最后,第二替代模块58用mmodn代替m,从而对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
如图6所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第二实施例的结构示意图,与上一实施例的不同之处在于,生成模块51在生成三个随机数u、t、s的同时,还生成随机数r;第三计算模块55可以包括替代单元550和第一计算单元551,其中,替代单元550与生成模块51连接,第一计算模块551与替代单元550、第一计算模块53和第四计算模块56连接。其中,替代单元550用于用代替密钥d;第一计算单元55用于计算
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq、中间结果mp、mq、以及密钥d进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
如图7所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第三实施例的结构示意图,在图5所示结构示意图的基础上,生成模块51可以包括生成单元510、存储单元511和选择单元512;生成单元510与第一替代模块52连接,选择单元512与存储单元511和第一计算模块53连接。其中,生成单元510用于生成随机数u和r;存储单元511用于存储质数;选择单元512用于从存储单元511存储的质数中随机选择得到t、s。
在图5所示结构示意图的基础上,第三计算模块55可以包括替代单元550、第二计算单元552和第四计算单元554,其中,替代单元550与生成单元510连接,第二计算单元552与选择单元512连接,第四计算单元554与第二计算单元552、替代单元550和第四计算模块56连接。其中,替代单元550用于用代替密钥d;第二计算单元552用于计算第四计算单元554用于计算
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
在本实施例中,当选择单元512从存储单元511存储的质数中随机选择得到t、s时,若t、s的位长比较长,则可供选择的质数的数量就会非常多,导致该操作所需要的时间非常长,并且占用的存储空间比较大。为了解决这一问题,选择单元512可以包括第一选择单元5121和第二选择单元5122,其中,第一选择单元5121和第二选择单元5122分别与存储单元511、第一计算模块53和第二计算单元552连接。其中,第一选择单元5121用于从存储单元511中随机选择两个以上质数,t等于这两个以上质数的乘积,在第二计算单元552计算时,等于两个以上质数分别减1后的乘积再乘上(p-1);第二选择单元5122用于从存储单元511中随机选择两个以上质数,s等于这两个以上质数的乘积,在第二计算单元552计算时,等于这两个以上质数分别减1后的乘积再乘上(q-1)。这样的话,由于位长较小的质数的数量相对于位长较长的质数的数量少得多,因此,可供选择的质数的数量就会少得多,该操作所需要的时间相对较少,并且占用的存储空间也较少。
如图8所示,为本发明使用RSA公开密钥加密算法的电子部件中的防攻击装置第四实施例的结构示意图,在图5所示结构示意图的基础上,t、s为质数,第三计算模块55可以包括第二计算单元552和第三计算单元553,其中,第二计算单元552与生成模块51连接,第三计算单元553与第二计算单元552连接。其中,第二计算单元552用于计算第三计算单元553用于计算
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
可选地,在本实施例中,生成模块51可以包括生成单元510、存储单元511和选择单元512;生成单元512与第一替代模块52连接,选择单元512与存储单元511和第一计算模块53连接。其中,生成单元510用于生成随机数u;存储单元511用于存储质数;选择单元512用于从存储单元511存储的质数中随机选择得到t、s。
在本实施例中,当选择单元512从存储单元511存储的质数中随机选择得到t、s时,若t、s的位长比较长,则可供选择的质数的数量就会非常多,导致该操作所需要的时间非常长,并且占用的存储空间比较大。为了解决这一问题,选择单元512可以包括第一选择单元5121和第二选选择单元5122,其中,第一选择单元5121和第二选择单元5122分别与存储单元511、第一计算模块53和第二计算单元552连接。其中,第一选择单元5121用于从存储单元511中随机选择两个以上质数,t等于这两个以上质数的乘积,在第二计算单元552计算时,等于两个以上质数分别减1后的乘积再乘上(p-1);第二选择单元5122用于从存储单元511中随机选择两个以上质数,s等于这两个以上质数的乘积,在第二计算单元552计算时,等于这两个以上质数分别减1后的乘积再乘上(q-1)。这样的话,由于位长较小的质数的数量相对于位长较长的质数的数量少得多,因此,可供选择的质数的数量就会少得多,该操作所需要的时间相对较少,并且占用的存储空间也较少。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。

Claims (13)

1.一种使用RSA公开密钥加密算法的电子部件中的防攻击方法,其特征在于,每次执行使用中国剩余定理的RSA解密算法时采用所述方法,所述方法将密文c、密钥d、n、p、q作为输入,所述方法包括:
生成三个随机数:u、t、s;
用c′=c+u×n代替密文c;
计算p′=p×t,q′=q×s;
计算cp′=c′modp′和cq′=c′modq′;
计算
计算mp=cp′dp′modp′,mq=cq′dq′modq′;
计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
2.根据权利要求1所述的方法,其特征在于,在所述生成三个随机数的同时,还生成随机数r;
所述方法还包括:用代替密钥d;
所述计算具体为:计算
3.根据权利要求1或2所述的方法,其特征在于,t、s为质数,
4.根据权利要求3所述的方法,其特征在于,生成t、s具体为:
从预先存储的质数中随机选择得到t、s。
5.根据权利要求4所述方法,其特征在于,从预先存储的质数中随机选择得到t、s包括:
从预先存储的质数中随机选择两个以上质数,t等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(p-1);
从预先存储的质数中随机选择两个以上质数,s等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(q-1)。
6.一种使用RSA公开密钥加密算法的电子部件中的防攻击装置,其特征在于,每次执行使用中国剩余定理的RSA解密算法时采用所述装置,所述装置将密文c、密钥d、n、p、q作为输入,所述装置包括:
生成模块,用于生成三个随机数:u、t、s;
第一替代模块,用于用c′=c+u×n代替密文c;
第一计算模块,用于计算p′=p×t,q′=q×s;
第二计算模块,用于计算cp′=c′modp′和cq′=c′modq′;
第三计算模块,用于计算
第四计算模块,用于计算mp=cp′dp′modp′,mq=cq′dq′modq′;
第五计算模块,用于计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
第二替代模块,用于用mmodn代替m;
其中,p、q是两个位长相同但大小不等的素数,分别为n、p′、q′的欧拉函数。
7.根据权利要求6所述的装置,其特征在于,所述生成模块在生成三个随机数的同时,还生成随机数r;
所述第三计算模块包括:
替代单元,用于用代替密钥d;
第一计算单元,用于计算
8.根据权利要求6所述的装置,其特征在于,t、s为质数,所述第三计算模块包括:
第二计算单元,用于计算
第三计算单元,用于计算
9.根据权利要求6所述的装置,其特征在于,t、s为质数,所述生成模块在生成三个随机数的同时,还生成随机数r;
所述第三计算模块包括:
替代单元,用于用代替密钥d;
第二计算单元,用于计算
第四计算单元,用于计算
10.根据权利要求8所述的装置,其特征在于,所述生成模块包括:
生成单元,用于生成随机数u;
存储单元,用于存储质数;
选择单元,用于从所述存储单元存储的质数中随机选择得到t、s。
11.根据权利要求10所述装置,其特征在于,所述选择单元包括:
第一选择单元,用于从所述存储单元中随机选择两个以上质数,t等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(p-1);
第二选择单元,用于从所述存储单元中随机选择两个以上质数,s等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(q-1)。
12.根据权利要求9所述的装置,其特征在于,所述生成模块包括:
生成单元,用于生成随机数u和r;
存储单元,用于存储质数;
选择单元,用于从所述存储单元存储的质数中随机选择得到t、s。
13.根据权利要求12所述装置,其特征在于,所述选择单元包括:
第一选择单元,用于从所述存储单元中随机选择两个以上质数,t等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(p-1);
第二选择单元,用于从所述存储单元中随机选择两个以上质数,s等于所述两个以上质数的乘积,等于所述两个以上质数分别减1后的乘积再乘上(q-1)。
CN201310128960.1A 2013-01-17 2013-04-15 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置 Active CN103209073B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310128960.1A CN103209073B (zh) 2013-01-17 2013-04-15 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN201310017592.3 2013-01-17
CN 201310017592 CN103067164A (zh) 2013-01-17 2013-01-17 使用rsa公开密钥加密算法的电子部件中的防攻击方法
CN2013100175923 2013-01-17
CN201310128960.1A CN103209073B (zh) 2013-01-17 2013-04-15 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置

Publications (2)

Publication Number Publication Date
CN103209073A CN103209073A (zh) 2013-07-17
CN103209073B true CN103209073B (zh) 2016-11-30

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1411644A (zh) * 1999-10-14 2003-04-16 格姆普拉斯公司 使用rsa类型公开密钥加密算法的电子部件中的对策方法
CN1554047A (zh) * 2001-09-06 2004-12-08 因芬尼昂技术股份公司 计算模指数结果之装置及方法
CN102571342A (zh) * 2010-12-27 2012-07-11 北京中电华大电子设计有限责任公司 一种rsa算法数字签名方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1411644A (zh) * 1999-10-14 2003-04-16 格姆普拉斯公司 使用rsa类型公开密钥加密算法的电子部件中的对策方法
CN1554047A (zh) * 2001-09-06 2004-12-08 因芬尼昂技术股份公司 计算模指数结果之装置及方法
CN102571342A (zh) * 2010-12-27 2012-07-11 北京中电华大电子设计有限责任公司 一种rsa算法数字签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Weakness in Current RSA Signature Schemes;Juliane Kramer 等;《Springer》;20121231;正文第2页倒数第1段至第5页倒数第3段 *

Similar Documents

Publication Publication Date Title
US7162033B1 (en) Countermeasure procedures in an electronic component implementing an elliptical curve type public key encryption algorithm
US8422671B2 (en) Methods of encryption and decryption using operand ordering and encryption systems using the same
Al-Hamami et al. Enhanced method for RSA cryptosystem algorithm
US9152383B2 (en) Method for encrypting a message through the computation of mathematical functions comprising modular multiplications
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
CN101632255A (zh) 密码方法及系统
CN103067164A (zh) 使用rsa公开密钥加密算法的电子部件中的防攻击方法
Nagaraj et al. Data encryption and authetication using public key approach
EP3191936B1 (en) System and method for one-time chinese-remainder-theorem exponentiation for cryptographic algorythms
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
CN101911009A (zh) 用于以签名方案进行非对称加密的对策方法和设备
CN106254059A (zh) 一种运算方法和安全芯片
US7123717B1 (en) Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm
CN101107807B (zh) 用于执行密码学计算的方法和装置
CN1985458B (zh) 增强的自然蒙哥马利指数掩蔽和恢复的方法和装置
US20010036267A1 (en) Method for generating electronic keys from integer numbers prime with each other and a device for implementing the method
CN103209073B (zh) 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置
EP3166013B1 (en) Modular exponentiation using randomized addition chains
CN104125061A (zh) 使用rsa加密算法的电子部件中的防攻击方法
Kayode et al. Efficient RSA cryptosystem decryption based on Chinese remainder theorem and strong prime
AU7659598A (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
Mohamed et al. Kleptographic attacks on elliptic curve cryptosystems
Mohamed et al. Kleptographic attacks on elliptic curve signatures
US20050123131A1 (en) Cryptographic system comprising an encryption and decryption system and a key escrow system, and the associated equipment and devices

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100195 Beijing, Yuquan, No. 23 Haidian District Road, building No. 4

Applicant after: KT MICRO, Inc.

Address before: 100195 Beijing, Yuquan, No. 23 Haidian District Road, building No. 4

Applicant before: Beijing Kunteng electronic Limited by Share Ltd.

Address after: 100195 Beijing, Yuquan, No. 23 Haidian District Road, building No. 4

Applicant after: Beijing Kunteng electronic Limited by Share Ltd.

Address before: 100195 Beijing, Yuquan, No. 23 Haidian District Road, building No. 4

Applicant before: KT MICRO Inc. (BEIJING)

GR01 Patent grant