CN111817842A - 一种针对rsa-crt运算的能量分析攻击测试装置和方法 - Google Patents
一种针对rsa-crt运算的能量分析攻击测试装置和方法 Download PDFInfo
- Publication number
- CN111817842A CN111817842A CN202010632195.7A CN202010632195A CN111817842A CN 111817842 A CN111817842 A CN 111817842A CN 202010632195 A CN202010632195 A CN 202010632195A CN 111817842 A CN111817842 A CN 111817842A
- Authority
- CN
- China
- Prior art keywords
- comp
- rsa
- power consumption
- key
- crt
- 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.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012360 testing method Methods 0.000 title claims abstract description 24
- 230000006798 recombination Effects 0.000 claims abstract description 23
- 238000005215 recombination Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000001514 detection method Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000010079 rubber tapping Methods 0.000 claims description 3
- 238000003672 processing method Methods 0.000 claims description 2
- 238000003306 harvesting Methods 0.000 claims 1
- 230000009467 reduction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013478 data encryption standard Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3249—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种针对RSA‑CRT运算的能量分析攻击测试装置。数据生成模块生成输入数据C,输入数据C对应于密钥p,与高段pH相同位置设为pH,与中段pM相同位置从全0到全1进行遍历,与低端pL相同位置设为全1。高段pH为已攻出部分,中段pM为攻击部分,低端pL为未确定部分。控制模块控制IC芯片对所述输入数据C进行RSA加密运算。存储模块存储IC芯片输出的加密数据M。使IC芯片基于RSA‑CRT运算对加密数据M进行解密运算得到输出S。功耗检测模块检测IC芯片在进行重组运算过程中模乘、乘法操作时的功耗,确定出Comp(S)。分析模块将每次遍历时,对输出S的大小从小到大进行排序,由Comp(S)从0变为1的位置确定出pM。不断生成输入数据C,确定各个不同位置的pM,直至所有位置的pM被确定,得到密钥p。
Description
技术领域
本发明涉及针对RSA-CRT运算的能量分析攻击测试装置和方法,尤其涉及对密码设备的安全性测评。
背景技术
随着电子技术的飞速发展,智能卡等密码设备被广泛应用于金融、通讯等多个领域,其安全性也成为人们倍加关注的焦点。智能卡的加密算法是保证其安全的重要手段,通常使用RSA加密算法进行加解密和签名。
RSA由Rivest,Shamir,Adleman三位密码学家在1978年提出,是当前最著名、应用最广泛的密码算法之一,已被ISO推荐为公钥数据加密标准。RSA做到加密功能与解密功能的分离:加密功能不需要受限,任何人都可以执行,因此加密用密钥不需要保密,作为公钥使用;解密功能只有掌握了特定信息的人才能执行,因此解密用密钥需要作为私钥进行保密。基于这一特性,RSA除了用于数据加解密外,还用于数字签名。
RSA的密钥包括两部分:公钥为n,e;私钥为p,q,d,密钥生成时首先产生两个大素数p,q,然后计算n=pq,选择e满足然后计算密码分析(攻击)即是获取私钥。若攻击者具有求解大数分解的能力,就能破解RSA算法,为提高安全强度,大数因子通常选得非常大。RSA的安全性经受住了多年深入的密码分析,算法的安全性得到了广泛的认可。
RSA加密为执行模幂运算c=m^e mod n;解密为计算模幂m=c^d mod n。RSA算法中最复杂的问题在于解密对应的模幂运算运算时间长,需要占用大量运算资源。为了提高运算效率,将CRT(中国剩余定理)引入到模幂计算中,将长模幂运算分解成两个小模幂的运算,即RSA-CRT算法的实现。RSA-CRT算法是将运算分成模约减、模幂和重组三部分。RSA-CRT算法减小了求模的运算量,将运算效率提升为原来的4倍,广泛应用于智能卡等密码设备。
在智能卡等密码设备中RSA算法通常以专用硬件模块(IC芯片)的方式实现,在嵌入式软件的控制下,对接收到的数据进行RSA加密运算。硬件电路作为智能卡的一部分,外部(攻击者)无法访问,只能观察到经RSA加密后的密文,RSA本身的安全强度保证了数据交互的保密性。
密码算法的实现在考虑效率的同时,还需要考虑其安全性。针对密钥的攻击,不仅可以对密码算法本身从数学角度提出破解,也可以从密码算法执行的过程中,泄露出来的侧信道信息(如功耗差异等)进行分析,得出其与密钥的关系,从而恢复出密钥,达到破解的目的。
1999年,Kocher提出了功耗分析的概念,通过分析密码设备运算期间的功耗信息获取其密钥。功耗分析主要分为简单功耗分析(Simple power analysis,SPA)和差分功耗分析(Differential power analysis,DPA)两种。SPA通过直接或间接的对功耗曲线进行分析,DPA则借助统计学手段对功耗曲线进行复杂的分析。
针对RSA-CRT的功耗分析技术已经进行了大量的研究,对密钥的攻击通常集中在模幂运算过程中。即,对模幂运算过程中的漏洞,例如针对模幂中存在的分支进行的SPA攻击;通过预测模乘运算结果实施DPA攻击等。
现实中,针对RSA-CRT运算的能量分析攻击,不仅限于模幂运算,模约减和重组运算也会成为分析(攻击)的目标。
本发明的目的在于发现RSA-CRT重组运算过程中的漏洞,通过能量分析攻击对密码设备的安全性进行测评。
发明内容
本发明的第一技术方案为一种针对RSA-CRT运算的能量分析攻击测试装置,其特征在于包括以下模块:
控制模块(11)、数据生成模块(12)、存储模块(13)、功耗检测模块(14)、预处理模块(15)、分析模块(16),
所述数据生成模块(12)生成输入数据C,所述输入数据C对应于密钥p,与高段pH相同位置设为pH,与中段pM相同位置从全0到全1进行遍历,与低端pL相同位置设为全1,所述高段pH为已攻出部分,中段pM为攻击部分,低端pL为未确定部分,
所述控制模块(11)控制密码设备(1)对所述输入数据C进行加密运算,得到加密数据M,
所述存储模块(13)存储所述密码设备(1)输出的加密数据M,
使所述密码设备(1)基于RSA-CRT运算对加密数据M进行解密运算,得到输出S,
所述功耗检测模块(14)检测所述密码设备(1)在进行重组运算过程中模乘、乘法操作时的功耗,确定出Comp(S),
所述分析模块(16)将每次遍历时,所有的Comp(S)按照输出S的大小从小到大进行排序,根据Comp(x-1)=0,Comp(x)=1,由Comp(S)从0变为1的位置确定出pM,不断生成输入数据C,确定各个不同位置的pM,直至所有位置的pM被确定,得到密钥。
优选地,所述分析模块(16)根据密钥p,公钥n计算密钥q。
优选地,所述中段pM的长度根据密钥p的长度设定,为任意遍历容易的长度。
优选地,所述密码设备(1)为进行解密运算时能采集到功耗信息的硬件设备。
第二技术方案与一种所述的针对RSA-CRT运算的能量分析攻击测试方法,其特征在于,包括以下步骤:
步骤S1,生成攻击用的输入数据C,与pH相同位置的i(区间)设为pH,与pM相同位置的m设为全0,与pL相同位置的l(区间)设为全1,所述高段pH为已攻出部分,中段pM为攻击部分,低端pL为未确定部分,
步骤S2,从全0到全1对m进行遍历,生成多组输入数据C,
步骤S3,生成的数据输入密码设备(1),同时控制密码设备(1),使其对输入数据C进行加密运算,生成多组加密数据M,
步骤S4,将所述多组加密数据M分别输入所述密码设备(1),由所述密码设备(1)执行RSA-CRT解密运算,
步骤S5,检测所述密码设备(1)在对各组数据进行重组运算过程中的模乘、乘法操作时的功耗Comp(S)。
步骤S6,对检测到的功耗与阈值进行比较,高于阈值时,进入步骤S7,取Comp(S)=1,低于阈值时,进入步骤S8,取Comp(S)=0,
步骤S9,将所有的Comp(S)按照输出S的大小从小到大进行排列,按照Comp(x-1)=0,Comp(x)=1,攻出选x=i+m,
步骤S10,判断是否所有区间都攻击完,如果都攻击完,整个密钥p已攻出,进入S12,将x作为密钥p保存,如果还有未攻完,进入步骤S11,更新i=i+m后,进入步骤S1,重复以上步骤直至密钥值p被攻出。
优选地,还包括步骤S13,
步骤S13中,根据公钥n和n=pq的关系式,计算密钥值q。
优选地,其特征在于,重复执行步骤S3、S4、S5,获取多条功耗曲线,取其平均值用于步骤S6中,与所述阈值比较。
优选地,对步骤S5获得的功耗曲线进行处理后,识别Comp(S),处理的方法包括但不限于:去噪、压缩、降维、聚类等方法。
附图说明
图1为针对RSA-CRT重组运算的能量分析攻击测试装置的结构示意图;
图2为针对RSA-CRT重组运算的能量分析攻击测试流程图;
图3为能量分析攻击测试流程伪代码;
图4为重组运算典型功耗特征图;
图5为攻击pM的说明图。
具体实施方式
为了使本发明的目的、技术方案与效果表述更加清楚,下面结合附图和具体实施方式对本发明的技术方案作进一步说明。应该理解,此处描述的具体实施方式仅仅用于解释本发明,并不构成对本发明的限定。
首先,对RSA-CRT重组运算进行说明。
RSA-CRT算法是将运算分成模约减、模幂和重组三部分。RSA-CRT在重组运算时的计算式为:S=Sp+(Sq-Sp)*K mod q*p,分以下四步进行计算。
1)模约减:计算A=Sq-Sp mod q,
2)模乘:计算B=A*K mod q,
3)乘法:计算C=B*p,
4)加法:计算S=Sp+C。
令len(p)为p的二进制表示的长度。当输出S与p等长,并且0≤S<2len(p)时,有:
若S<p,重组部分的运算如下:
1)模约减:计算A=Sq-Sp=Sq-S=0;
2)模乘:计算B=0*K=0 mod q;
3)乘法:计算C=B*p=0*p=0;
4)加法:计算S=Sp+C=Sp+0=Sp。
若p≤S<2len(p),重组部分的运算如下:
1)模约减:计算A=Sq-Sp=Sq-(S-p)=p mod q;
2)模乘:计算B=p mod q*K=1mod q;
3)乘法:计算C=B*p=1*p=p;
4)加法:计算S=Sp+C=Sp+p。
即,解密运算的输出S与私钥p的大小关系决定了模乘、乘法操作的变化,具体参见下表。
由上表可知,当S<p时,模乘和乘法的其中一个操作数A、B为0,乘法C的运算结果为0;
当S≥p时,模乘和乘法的操作数A、B都不为0,乘法C的运算结果为p。
若模乘或乘法的其中一个操作数为0,那么其运算时消耗的功耗相对较小,因此从运算时的功耗曲线能够识别出操作数A、B是否为0。
因此,可由每次运算时的功耗曲线确定Comp(S)的值,获取与密钥p相关的有效信息:
(1)若功耗值低,此时Comp(S)=0,重组部分模乘和乘法操作数为0,因此S<p;
(2)若功耗值高,此时Comp(S)=1,重组运算时的模乘和乘法操作数不为0,因此S≥p。
Comp(S)具有性质:若S1<S2,那么Comp(S1)≤Comp(S2)。因此Comp(S)只在某一个点上由0变到1。若对所有的Comp(S)按照输出S的大小从小到大进行排序,显然有Comp(p-1)=0,Comp(p)=1。
由此可以得到由Comp(S)恢复密钥p的方法:
若Comp(x-1)=0,Comp(x)=1,那么p=x。
若攻击者利用功耗曲线泄露的信息,通过操作输出S实施攻击,就可能破解密钥。
攻击的可行性在于对解密运算时输出S的操作,其包括以下两个问题:
1.如何控制解密运算的输出S。
本发明中,利用智能卡的嵌入式软件,控制智能卡进行逆变换,对输入数据进行加密运算。通过控制加密运算的输入,达到控制解密运算输出的目的。
控制解密运算的输出S,按照如下两步进行:
(1)选取输入数据C并对其执行加密操作,得到加密数据M;
(2)输入加密数据M,对其执行解密操作得到与输出S。由于加密和解密互为逆运算,输出S与输入数据C相同。
2.输入数据C为对应于密钥p的大整数,典型长度为1024比特、2048比特,无法对所有可能的数据直接进行遍历。本发明中采用由高到低逐字段的方式进行攻击。
即,将密钥p分成三段,高段pH,中段pM和低段pL。高段pH为已攻出部分,中段pM为攻击部分,其长度为容易进行遍历,例如,8比特,这样攻击时从0x00到0xFF进行遍历总共只需要28=256次。输入数据C设置为:与pH相同位置设为pH,与pM相同位置从全0到全1进行遍历,与pL相同位置设为全1。
因此若Comp(x-1)=0,Comp(x)=1,密钥p与x之间只有低段位置pL不同,即pM被攻出。
之后对应于新的pH和pM,重新设置输入数据C,攻出下一位置(区间)的pM,直至pL的长度为0,所有区间的pM被攻出,此时,x与密钥值p相等,即攻出密钥值p。
以下以智能卡为例对RSA-CRT重组运算的能量分析攻击进行说明。
图1为针对RSA-CRT重组运算的能量分析攻击测试装置的结构示意图。
如图1所示,能量分析攻击测试装置1包括控制模块11、数据生成模块12、存储模块13、功耗检测模块14、预处理模块15、分析模块16组成。
测试时,能量分析攻击测试装置1与智能卡中的IC芯片2连接,向IC芯片2输入加密数据M和检测IC芯片2进行RSA-CRT重组部分的模乘和乘法运算时的功耗。在本发明中通过检测IC芯片2的电流来检测功耗。
IC芯片2基于RSA-CRT算法对加密数据M进行解密。控制模块11控制IC芯片2中的嵌入式软件,使其进行解密运算的逆运算,对输入数据C进行加密运算。
数据生成模块12生成输入数据C。密钥p的长度为len(p),输入数据C对应于密钥p,与pH相同位置设为pH,与pM相同位置从全0到全1进行遍历,与pL相同位置设为全1。在本实施方式中,pM的长度为8比特,每次遍历生成256个数据。pM攻出后,重新生成输入数据C,进行攻击,直至所有位置的pM被攻出。
存储模块13存储IC芯片2输出的加密数据M。
加密数据M输入IC芯片2,IC芯片2基于RSA-CRT算法对加密数据M进行解密运算,得到输出S。
功耗检测模块14检测IC芯片2在进行重组运算过程中模乘、乘法操作时的功耗。
预处理模块15对功耗检测模块14检测到的功耗Comp(S)与阈值进行比较,高于阈值时,取Comp(S)=1,低于阈值时取Comp(S)=0。
分析模块16将每次遍历时,所有的Comp(S)按照输出S的大小从小到大进行排序,根据Comp(x-1)=0,Comp(x)=1,确定x=pH。
图2为针对RSA-CRT重组运算的能量分析攻击测试流程图。
步骤S1,数据生成模块12生成攻击用的输入数据C。与pH相同位置的i(区间)设为pH,与pM相同位置的m(区间)设为全0。本实施方式中,m的长度为8比特。与pL相同位置的l(区间)设为全1。
步骤S2,数据生成模块12从全0到全1对m进行遍历,生成256组输入数据C。
步骤S3,生成的数据输入智能卡1的IC芯片2,同时控制模块11控制IC芯片2,使其对输入数据C进行加密运算,生成256组加密数据M。加密数据M输入存储模块13进行保存。
步骤S4,将256组加密数据M分别输入IC芯片2,由IC芯片2执行RSA-CRT解密运算。
步骤S5,功耗检测模块14检测IC芯片2在对各组数据进行重组运算过程中的模乘、乘法操作时的功耗Comp(S)。
图4为重组运算典型功耗特征图。例如根据模乘(2)、乘法(3)运算时的功耗特征提取模乘、乘法操作时的功耗Comp(S)。
步骤S6,预处理模块15对功耗检测模块14检测到的功耗与阈值进行比较,高于阈值时,进入步骤S7,取Comp(S)=1,低于阈值时,进入步骤S8,取Comp(S)=0。
步骤S9,分析模块16将所有的Comp(S)按照输出S的大小从小到大进行排列,按照Comp(x-1)=0,Comp(x)=1,选取x。由于x与i+m相同,即,攻出pM。
图5为攻击pM的说明图。图5中(a)为将所有的Comp(S)按照输出S的大小从小到大进行排列后的图;(b)为对功耗曲线Comp(S)进行预处理后的按照输出S的大小从小到大进行排列后的图。图5中,Comp(0x87)=0,Comp(0x88)=1,因此攻出的秘钥值为135(0x87)。
步骤S10,数据生成模块12判断len(N)/2是否遍历完,如果都遍历完,整个密钥p已攻出,进入S12,将x作为密钥值p保存,如果还有未攻完,进入步骤S11,更新i=i+m后,进入步骤S1,重复以上步骤直至整个密钥值p被攻出。
步骤S13,分析模块16根据公钥n和n=pq的关系式,计算密钥值q。
图3为能量分析攻击测试流程伪代码。
由上可知,本发明利用重组运算中的模乘和乘法操作对应的功耗曲线,通过操作输出S实施攻击,恢复出密钥p和q。
现有技术中,针对RSA-CRT重组运算的攻击主要集中在重组运算的第1)步运算模减,利用条件减法是否执行实施攻击:当Sq≥Sp时只进行一次减法操作;当Sq<Sp时除了减法操作外还需要执行加p运算。可从功耗曲线中识别出是否执行了加p操作,利用这一信息实施SPA攻击。这类攻击方法的问题在于:一是实际的实现中可能没有此类侧信道信息泄露;二是当信噪比较低时,攻击所需要的侧信道信息(执行了哪个分支结构)难以提取;另一方面,针对第一步进行防护后攻击无法实施,例如引入随机数t,S=Sp+((Sq+t)-(Sp+t))*Kmod q*p,或者引入伪运算,使得加p运算始终被执行。
本发明针对第2)步模乘和第3)步乘法操作实施功耗分析攻击,其除了对无防护的实现有效外,还可以攻击针对第一步进行了特殊防护或信噪比较低的实现,更容易被攻击者攻击。
通过以上对智能卡的安全性测试,有效提升了安全分析的全面性和深入度,通过有针对性的安全措施可进一步提高智能卡等密码设备的安全性,防止不安全智能卡出厂的风险。
变形例
重复执行步骤S3、S4、S5,获取多条功耗曲线,取其平均值以供下一步的分析使用,以提升攻击效果。
对步骤S5获得的功耗曲线进行处理后,识别出Comp(S)。处理的方法包括但不限于:去噪、压缩、降维、聚类等方法,只要能提高由功耗曲线中识别出操作数是否为0即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此。如本实施方式中,作为攻击对象的密码设备不限于智能卡,可以是任何进行解密运算时能采集到功耗的硬件设备。本实施方式中,每次攻击时的字段长度为8比特,也可以根据需要选择任意适合的长度。以长度为512比特的密钥为例:按8比特分段,意味着每次对256个数据进行处理,共需要处理512/8次。如果按4比特分段,意味着对16个数据进行处理,共需要处理512/4次,对密钥的攻击没有影响。本领域的技术人员在本发明描述的技术范围内,可轻易得到的变化与替换方案,都应该包含在本发明的保护范围内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (8)
1.一种针对RSA-CRT运算的能量分析攻击测试装置,其特征在于包括以下模块:
控制模块(11)、数据生成模块(12)、存储模块(13)、功耗检测模块(14)、预处理模块(15)、分析模块(16),
所述数据生成模块(12)生成输入数据C,所述输入数据C对应于密钥p,与高段pH相同位置设为pH,与中段pM相同位置从全0到全1进行遍历,与低端pL相同位置设为全1,所述高段pH为已攻出部分,中段pM为攻击部分,低端pL为未确定部分,
所述控制模块(11)控制密码设备(1)对所述输入数据C进行加密运算,得到加密数据M,
所述存储模块(13)存储所述密码设备(1)输出的加密数据M,
使所述密码设备(1)基于RSA-CRT运算对加密数据M进行解密运算,得到输出S,
所述功耗检测模块(14)检测所述密码设备(1)在进行重组运算过程中模乘、乘法操作时的功耗,确定出Comp(S),
所述分析模块(16)将每次遍历时,所有的Comp(S)按照输出S的大小从小到大进行排序,根据Comp(x-1)=0,Comp(x)=1,由Comp(S)从0变为1的位置确定出pM,不断生成输入数据C,确定各个不同位置的pM,直至所有位置的pM被确定,得到密钥p。
2.根据权利要求1所述的针对RSA-CRT运算的能量分析攻击测试装置,其特征在于,所述分析模块(16)根据密钥p,公钥n计算密钥q。
3.根据权利要求2所述的针对RSA-CRT运算的能量分析攻击测试装置,其特征在于,所述中段pM的长度根据密钥p的长度设定,为任意遍历容易的长度。
4.根据权利要求1至3中任一项所述的针对RSA-CRT运算的能量分析攻击测试装置,其特征在于,所述密码设备(1)为进行解密运算时能采集到功耗的硬件设备。
5.一种所述的针对RSA-CRT运算的能量分析攻击测试方法,其特征在于,包括以下步骤:
步骤S1,生成攻击用的输入数据C,与pH相同位置的i(区间)设为pH,与pM相同位置的m(区间)设为全0,与pL相同位置的l(区间)设为全1,所述高段pH为已攻出部分,中段pM为攻击部分,低端pL为未确定部分,
步骤S2,从全0到全1对m进行遍历,生成多组输入数据C,
步骤S3,生成的数据输入密码设备(1),同时控制密码设备(1),使其对输入数据C进行加密运算,生成多组加密数据M,
步骤S4,将所述多组加密数据M分别输入所述密码设备(1),由所述密码设备(1)执行RSA-CRT解密运算,
步骤S5,检测所述密码设备(1)在对各组数据进行重组运算过程中的模乘、乘法操作时的功耗,确定出Comp(S),
步骤S6,对检测到的功耗与阈值进行比较,高于阈值时,进入步骤S7,取Comp(S)=1,低于阈值时,进入步骤S8,取Comp(S)=0,
步骤S9,将所有的Comp(S)按照输出S的大小从小到大进行排列,按照Comp(x-1)=0,Comp(x)=1,攻出选x=i+m,
步骤S10,判断是否所有区间都攻击完,如果都攻击完,整个密钥p已攻出,进入S12,将x作为密钥p保存,如果还有未攻完,进入步骤S11,更新i=i+m后,进入步骤S1,重复以上步骤直至密钥值p被攻出。
6.根据权利要求5记载的所述针对RSA-CRT运算的能量分析攻击测试方法,其特征在于,还包括步骤S13,
步骤S13中,根据公钥n和n=pq的关系式,计算密钥值q。
7.根据权利要求5或6记载的所述针对RSA-CRT运算的能量分析攻击测试方法,其特征在于,重复执行步骤S3、S4、S5,获取多条功耗曲线,取其平均值用于步骤S6中,与所述阈值比较。
8.根据权利要求5或6记载的所述针对RSA-CRT运算的能量分析攻击测试方法,其特征在于,对步骤S5获得的功耗曲线进行处理后,识别Comp(S),处理的方法包括但不限于:去噪、压缩、降维、聚类等方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632195.7A CN111817842B (zh) | 2020-07-02 | 2020-07-02 | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632195.7A CN111817842B (zh) | 2020-07-02 | 2020-07-02 | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111817842A true CN111817842A (zh) | 2020-10-23 |
CN111817842B CN111817842B (zh) | 2024-02-23 |
Family
ID=72856065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010632195.7A Active CN111817842B (zh) | 2020-07-02 | 2020-07-02 | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111817842B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564884A (zh) * | 2020-11-25 | 2021-03-26 | 重庆邮电大学 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
CN112904992A (zh) * | 2021-01-28 | 2021-06-04 | 珠海奔图电子有限公司 | 图像形成装置及其控制方法 |
CN112968761A (zh) * | 2021-03-15 | 2021-06-15 | 北京理工大学 | 一种针对密码算法的人工智能侧信道分析方法 |
CN113965324A (zh) * | 2021-12-07 | 2022-01-21 | 国家信息技术安全研究中心 | 基于模板的rsa-crt实现模约减攻击的私钥恢复方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836666A (zh) * | 2015-04-20 | 2015-08-12 | 成都信息工程学院 | 一种针对sm2解密算法的能量分析攻击的方法 |
CN108833120A (zh) * | 2018-08-28 | 2018-11-16 | 成都信息工程大学 | 一种crt-rsa选择明文联合攻击新方法及系统 |
-
2020
- 2020-07-02 CN CN202010632195.7A patent/CN111817842B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104836666A (zh) * | 2015-04-20 | 2015-08-12 | 成都信息工程学院 | 一种针对sm2解密算法的能量分析攻击的方法 |
CN108833120A (zh) * | 2018-08-28 | 2018-11-16 | 成都信息工程大学 | 一种crt-rsa选择明文联合攻击新方法及系统 |
Non-Patent Citations (1)
Title |
---|
李增局;史汝辉;王建新;李超;李海滨;石新凌: "基于DPA对Gauss形式CRT-RSA的选择明文攻击", 密码学报, no. 02 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112564884A (zh) * | 2020-11-25 | 2021-03-26 | 重庆邮电大学 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
CN112564884B (zh) * | 2020-11-25 | 2022-08-30 | 重庆邮电大学 | 一种针对密码算法的混合去噪功耗分析方法及终端 |
CN112904992A (zh) * | 2021-01-28 | 2021-06-04 | 珠海奔图电子有限公司 | 图像形成装置及其控制方法 |
CN112968761A (zh) * | 2021-03-15 | 2021-06-15 | 北京理工大学 | 一种针对密码算法的人工智能侧信道分析方法 |
CN112968761B (zh) * | 2021-03-15 | 2022-04-19 | 北京理工大学 | 一种针对密码算法的人工智能侧信道分析方法 |
CN113965324A (zh) * | 2021-12-07 | 2022-01-21 | 国家信息技术安全研究中心 | 基于模板的rsa-crt实现模约减攻击的私钥恢复方法和系统 |
CN113965324B (zh) * | 2021-12-07 | 2022-04-19 | 国家信息技术安全研究中心 | 基于模板的rsa-crt实现模约减攻击的私钥恢复方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111817842B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111817842B (zh) | 一种针对rsa-crt运算的能量分析攻击测试装置和方法 | |
KR100720726B1 (ko) | Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법 | |
EP1648111B1 (en) | Tamper-resistant encryption using a private key | |
US7334133B2 (en) | Method for making a computer system implementing a cryptographic algorithm secure using Boolean operations and arithmetic operations and a corresponding embedded system | |
US20090092245A1 (en) | Protection Against Side Channel Attacks | |
Yen et al. | Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption | |
Batina et al. | Mutual information analysis: a comprehensive study | |
Medwed et al. | Template attacks on ECDSA | |
US10721056B2 (en) | Key processing method and device | |
CN104836666A (zh) | 一种针对sm2解密算法的能量分析攻击的方法 | |
Duan et al. | Differential power analysis attack and efficient countermeasures on PRESENT | |
Liu et al. | Chaos-based color image encryption using one-time keys and Choquet fuzzy integral | |
Kamoun et al. | Experimental Implementation of 2ODPA attacks on AES design with flash-based FPGA Technology | |
CN104811297B (zh) | 针对RSA之M-ary实现模乘余数输入侧信道攻击 | |
US7123717B1 (en) | Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm | |
Hu et al. | An effective differential power attack method for advanced encryption standard | |
EP3188000A1 (en) | System and method for hiding a cryptographic secret using expansion | |
Ming et al. | Revealing the weakness of addition chain based masked SBox implementations | |
Jia et al. | A unified method based on SPA and timing attacks on the improved RSA | |
Park et al. | An improved side channel attack using event information of subtraction | |
CN115412360A (zh) | 应用于环多项式乘法器的侧信道相关能量分析方法及系统 | |
Mahanta et al. | Comparative modular exponentiation with randomized exponent to resist power analysis attacks | |
Zhang et al. | A novel template attack on wnaf algorithm of ECC | |
Mahanta et al. | Modular exponentiation with inner product to resist higher-order DPA attacks | |
Leadbitter et al. | Attacking DSA under a repeated bits assumption |
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 |