CN103067164A - 使用rsa公开密钥加密算法的电子部件中的防攻击方法 - Google Patents
使用rsa公开密钥加密算法的电子部件中的防攻击方法 Download PDFInfo
- Publication number
- CN103067164A CN103067164A CN 201310017592 CN201310017592A CN103067164A CN 103067164 A CN103067164 A CN 103067164A CN 201310017592 CN201310017592 CN 201310017592 CN 201310017592 A CN201310017592 A CN 201310017592A CN 103067164 A CN103067164 A CN 103067164A
- Authority
- CN
- China
- Prior art keywords
- mod
- random
- prime number
- rsa
- public key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000000694 effects Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 abstract description 3
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
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′和c q′=c′m o d;计算和计算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公开密钥加密算法的电子部件中的防攻击方法。
背景技术
密码体制分为私钥密码体制和公钥密码体制,分别以1977年美国国家标准局与IBM公司研制的对称加密算法DES和1978年由R.Rivest、A.Shair和L.Adleman提出的公钥加密算法RSA为代表。私钥密码体制既不利于密钥管理也不利于数字签名,但速度高。公钥密码体制可用于密钥管理和数字签名,但速度较低。公钥密码体制的机制是:为每个用户产生一对密钥:一个公开的加密密钥和一个私密的解密密钥,要从公开的加密密钥(简称:公钥)利用计算找到私密的解密密钥(简称:私钥)必须是不可能的。例如:A、B双方通信时,A通过任何途径取得B的公钥,用B的公钥加密信息,加密后的信息通过任何不安全信道发送,B收到密文信息后,用自己的私钥解密恢复出明文。
采用RSA加密算法用在智能卡中,在访问数据库、金融应用、或远距离支付应用等方面有广泛的应用。RSA加密算法的原理可以分成如下三个不同的部分:
第一部分:生成一对RSA密钥;
第二部分:将一个明文加密成密文;以及
第三部分:将密文解密为明文。
其中,第一部分包括如下5个步骤:
步骤一、生成两个长度相同大小不等的大素数p和q;
步骤五、其中公钥是(e,n),私钥是(d,P,q)。
第二部分按照如下公式计算:c=memodn。
第三部分按照如下公式计算:m=cd modn。
其中,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=cd modn转化为求同余方程组的情形,可以包括如下步骤:
步骤一、预计算:dp=dmod(p-1),dp=dmod(q-1),invQ=q-1modp;
步骤二、计算:cp=cm o d和cq=cmodq;
步骤三、计算:mp=cpdpmodp,mq=cqdq modq;
其中,输入为:n,d,p,q,dp,dq,invQ,c;输出为m=cd modn。
使用CRT的RSA算法在进行解密计算时,首先执行modp和modq运算,其中,两个质数p和q需要具有一样的位长但大小不等,然后执行两次模指数运算,即:cpdpmodp和cqdqmodq,再将模指数运算的计算结果利用CRT再结合得到明文m。
在智能卡上实现使用CRT的RSA加密算法易受到如电力消耗、执行时间、故障时的输入和输出行为、辐射等攻击从而泄露密钥信息,其中,差分功率分析(Differential Power 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′m o d;
计算mp=cp′dp′mod p′,mq=cq′dq′mod q′;
计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
用mmodn代替m;
在本发明中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
附图说明
图1为本发明使用RSA公开密钥加密算法的电子部件中的防差分功率分析攻击对策方法第一实施例的流程示意图;
图2为本发明使用RSA公开密钥加密算法的电子部件中的防差分功率分析攻击对策方法第二实施例的流程示意图;
图3为本发明使用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;
其中,p,q是两个位长相同但大小不等的素数;
步骤14、计算cp′=c′modp′和cq′=c′modq′;
步骤16、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤17、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤18、用mmodn代替m;
按照上述对策方法,使其可以保护使用CRT的模指数运算,如RSA算法的解密运算:
m=cd modn
在本实施例中,对每次使用CRT的解密算法使用随机化计算,通过随机化将使用CRT的模指数运算的p、q、dp、dq以及中间结果mp、mq进行掩盖,有可能使得DPA攻击者不能有效地通过微处理器所处理的中间数据的外加信息得到解密算法的秘密参数,达到防御DPA攻击的效果。
如图2所示,为本发明使用RSA公开密钥加密算法的电子部件中的防差分功率分析攻击对策方法第二实施例的流程示意图,可以包括如下9个步骤:
步骤21、成四个随机数:u、r、t、s;
步骤22、用c′=c+u×n代替密文c;
步骤24、计算p′=p×t,q′=q×s;
其中,p,q是两个位长相同但大小不等的素数;
步骤25、计算cp′=c′modp′和cq′=c′modq′;
步骤27、计算mp=cp′dp′modp′,mq=cq′dq′modq′;
步骤28、计算m=mq+q×[(mp-mq)(q-1modp)(modp)];
步骤29、用mmodn代替m;
与上一实施例的不同之处在于,本实施例在生成u、t、s三个随机数的同时,还生成随机数r;除了对p、q、dp、dq以及中间结果mp、mq进行随机化处理外,还对密钥d进行了随机化处理。
如图3所示,为本发明使用RSA公开密钥加密算法的电子部件中的防差分功率分析攻击对策方法第三实施例的流程示意图,可以包括如下9个步骤:
步骤31、生成四个随机数:u、r、t、s,其中,t和s为小质数;
步骤32、用c′=c+u×n代替密文c;
步骤34、计算p′=p×t,q′=q×s;
其中p、q是两个位长相同但大小不等的素数;
步骤35、计算cp′=c′modp′和cq′=c′modq′;
步骤36、计算dp′=d′mod(p-1)(t-1)和dp′=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。但是,当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,此时,
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (5)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 201310017592 CN103067164A (zh) | 2013-01-17 | 2013-01-17 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
| CN201310128960.1A CN103209073B (zh) | 2013-01-17 | 2013-04-15 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 201310017592 CN103067164A (zh) | 2013-01-17 | 2013-01-17 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN103067164A true CN103067164A (zh) | 2013-04-24 |
Family
ID=48109635
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 201310017592 Pending CN103067164A (zh) | 2013-01-17 | 2013-01-17 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN103067164A (zh) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103441843A (zh) * | 2013-07-26 | 2013-12-11 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
| CN104618348A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院信息工程研究所 | 一种对抗程序自动化批量非法行为的方法 |
| CN105515754A (zh) * | 2016-01-06 | 2016-04-20 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
| CN106462701A (zh) * | 2014-06-12 | 2017-02-22 | 密码研究公司 | 以抵抗外部监视攻击的方式执行密码编译数据处理操作 |
| CN106599715A (zh) * | 2016-11-29 | 2017-04-26 | 江苏蓝深远望科技股份有限公司 | 文件加密方法、文件解密方法及装置 |
| CN108833120A (zh) * | 2018-08-28 | 2018-11-16 | 成都信息工程大学 | 一种crt-rsa选择明文联合攻击新方法及系统 |
| CN113630261A (zh) * | 2021-10-13 | 2021-11-09 | 环球数科集团有限公司 | 基于沙盒内签名和非对称加密技术的离线检测票务系统 |
| CN114020241A (zh) * | 2021-11-10 | 2022-02-08 | 天宇鸿图应用技术研究院(重庆)有限公司 | 基于量子真随机数发生器的rsa密码大质数生成方法 |
| CN116015660A (zh) * | 2022-12-06 | 2023-04-25 | 重庆邮电大学工业互联网研究院 | 一种基于改进rsa的防篡改电子病历存储方法 |
-
2013
- 2013-01-17 CN CN 201310017592 patent/CN103067164A/zh active Pending
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103441843A (zh) * | 2013-07-26 | 2013-12-11 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
| CN103441843B (zh) * | 2013-07-26 | 2016-09-21 | 北京华大信安科技有限公司 | Rsa算法私钥元素获取方法及获取装置 |
| US11757617B2 (en) | 2014-06-12 | 2023-09-12 | Cryptography Research, Inc. | Performing cryptographic data processing operations in a manner resistant to external monitoring attacks |
| US10897344B2 (en) | 2014-06-12 | 2021-01-19 | Cryptography Research, Inc. | Performing cryptographic data processing operations in a manner resistant to external monitoring attacks |
| CN106462701A (zh) * | 2014-06-12 | 2017-02-22 | 密码研究公司 | 以抵抗外部监视攻击的方式执行密码编译数据处理操作 |
| CN104618348B (zh) * | 2015-01-12 | 2019-10-22 | 中国科学院信息工程研究所 | 一种对抗程序自动化批量非法行为的方法 |
| CN104618348A (zh) * | 2015-01-12 | 2015-05-13 | 中国科学院信息工程研究所 | 一种对抗程序自动化批量非法行为的方法 |
| CN105515754B (zh) * | 2016-01-06 | 2018-10-30 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
| CN105515754A (zh) * | 2016-01-06 | 2016-04-20 | 飞天诚信科技股份有限公司 | 一种rsa-crt签名方法及装置 |
| CN106599715A (zh) * | 2016-11-29 | 2017-04-26 | 江苏蓝深远望科技股份有限公司 | 文件加密方法、文件解密方法及装置 |
| CN108833120A (zh) * | 2018-08-28 | 2018-11-16 | 成都信息工程大学 | 一种crt-rsa选择明文联合攻击新方法及系统 |
| CN108833120B (zh) * | 2018-08-28 | 2021-07-30 | 成都信息工程大学 | 一种crt-rsa选择明文联合攻击方法及系统 |
| CN113630261A (zh) * | 2021-10-13 | 2021-11-09 | 环球数科集团有限公司 | 基于沙盒内签名和非对称加密技术的离线检测票务系统 |
| CN113630261B (zh) * | 2021-10-13 | 2021-12-17 | 环球数科集团有限公司 | 基于沙盒内签名和非对称加密技术的离线检测票务系统 |
| CN114020241A (zh) * | 2021-11-10 | 2022-02-08 | 天宇鸿图应用技术研究院(重庆)有限公司 | 基于量子真随机数发生器的rsa密码大质数生成方法 |
| CN116015660A (zh) * | 2022-12-06 | 2023-04-25 | 重庆邮电大学工业互联网研究院 | 一种基于改进rsa的防篡改电子病历存储方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN103209073A (zh) | 2013-07-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103067164A (zh) | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 | |
| US10749675B2 (en) | Homomorphic white box system and method for using same | |
| US8422671B2 (en) | Methods of encryption and decryption using operand ordering and encryption systems using the same | |
| Jaju et al. | A Modified RSA algorithm to enhance security for digital signature | |
| US20080240443A1 (en) | Method and apparatus for securely processing secret data | |
| EP2553866A1 (en) | System and method for protecting cryptographic assets from a white-box attack | |
| Nagaraj et al. | Data encryption and authetication using public key approach | |
| JP2006340347A (ja) | データに署名するための楕円曲線デジタル署名暗号プロセスを実行する認証システム | |
| US20200119918A1 (en) | Elliptic curve point multiplication device and method in a white-box context | |
| US11418334B2 (en) | Protecting modular inversion operation from external monitoring attacks | |
| US11824986B2 (en) | Device and method for protecting execution of a cryptographic operation | |
| JP2021144239A (ja) | 暗号アルゴリズム向けのワンタイムの中国剰余定理のべき乗のためのシステムおよび方法 | |
| Suguna et al. | A study on symmetric and asymmetric key encryption algorithms | |
| JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
| EP2738973A1 (en) | System and method for cryptography using multiplicative masking using simultaneous exponentiation techniques | |
| JP4626148B2 (ja) | 復号または署名作成におけるべき乗剰余算の計算方法 | |
| EP3188000A1 (en) | System and method for hiding a cryptographic secret using expansion | |
| Houria et al. | A comparison between the secp256r1 and the koblitz secp256k1 bitcoin curves | |
| EP3166013B1 (en) | Modular exponentiation using randomized addition chains | |
| CN104125061A (zh) | 使用rsa加密算法的电子部件中的防攻击方法 | |
| CN103209073B (zh) | 使用rsa公开密钥加密算法的电子部件中的防攻击方法和装置 | |
| Rohith et al. | FPGA implementation of 16 bit RSA cryptosystem for text message | |
| Shukla et al. | A Comparative analysis of the attacks on public key RSA cryptosystem |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130424 |