CN111817842A - 一种针对rsa-crt运算的能量分析攻击测试装置和方法 - Google Patents

一种针对rsa-crt运算的能量分析攻击测试装置和方法 Download PDF

Info

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
Application number
CN202010632195.7A
Other languages
English (en)
Other versions
CN111817842B (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.)
China Financial Certification Authority Co ltd
Original Assignee
China Financial Certification Authority 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 China Financial Certification Authority Co ltd filed Critical China Financial Certification Authority Co ltd
Priority to CN202010632195.7A priority Critical patent/CN111817842B/zh
Publication of CN111817842A publication Critical patent/CN111817842A/zh
Application granted granted Critical
Publication of CN111817842B publication Critical patent/CN111817842B/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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3006Public 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/302Public 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
    • 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/32Cryptographic 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/3247Cryptographic 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/3249Cryptographic 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

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-CRT运算的能量分析攻击测试装置和方法,尤其涉及对密码设备的安全性测评。
背景技术
随着电子技术的飞速发展,智能卡等密码设备被广泛应用于金融、通讯等多个领域,其安全性也成为人们倍加关注的焦点。智能卡的加密算法是保证其安全的重要手段,通常使用RSA加密算法进行加解密和签名。
RSA由Rivest,Shamir,Adleman三位密码学家在1978年提出,是当前最著名、应用最广泛的密码算法之一,已被ISO推荐为公钥数据加密标准。RSA做到加密功能与解密功能的分离:加密功能不需要受限,任何人都可以执行,因此加密用密钥不需要保密,作为公钥使用;解密功能只有掌握了特定信息的人才能执行,因此解密用密钥需要作为私钥进行保密。基于这一特性,RSA除了用于数据加解密外,还用于数字签名。
RSA的密钥包括两部分:公钥为n,e;私钥为p,q,d,
Figure BDA0002566084300000011
密钥生成时首先产生两个大素数p,q,然后计算n=pq,
Figure BDA0002566084300000012
选择e满足
Figure BDA0002566084300000013
然后计算
Figure BDA0002566084300000014
密码分析(攻击)即是获取私钥。若攻击者具有求解大数分解的能力,就能破解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。
S为解密运算的输出,Sp,Sq为中间数据,由加密数据M通过模约减、模幂运算得到,S与Sp,Sq之间满足关系式p=S mod p,Sq=S mod q,p,q,d,
Figure BDA0002566084300000051
为私钥,公钥为n,e,n=pq,
Figure BDA0002566084300000052
令len(p)为p的二进制表示的长度。当输出S与p等长,并且0≤S<2len(p)时,有:
Figure BDA0002566084300000053
Figure BDA0002566084300000054
若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的大小关系决定了模乘、乘法操作的变化,具体参见下表。
Figure BDA0002566084300000061
由上表可知,当S<p时,模乘和乘法的其中一个操作数A、B为0,乘法C的运算结果为0;
当S≥p时,模乘和乘法的操作数A、B都不为0,乘法C的运算结果为p。
若模乘或乘法的其中一个操作数为0,那么其运算时消耗的功耗相对较小,因此从运算时的功耗曲线能够识别出操作数A、B是否为0。
Figure BDA0002566084300000062
因此,可由每次运算时的功耗曲线确定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),处理的方法包括但不限于:去噪、压缩、降维、聚类等方法。
CN202010632195.7A 2020-07-02 2020-07-02 一种针对rsa-crt运算的能量分析攻击测试装置和方法 Active CN111817842B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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选择明文联合攻击新方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
李增局;史汝辉;王建新;李超;李海滨;石新凌: "基于DPA对Gauss形式CRT-RSA的选择明文攻击", 密码学报, no. 02 *

Cited By (7)

* Cited by examiner, † Cited by third party
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 알고리즘을 이용한 보안유지시스템 및 그 방법
Essaid et al. Image encryption scheme based on a new secure variant of Hill cipher and 1D chaotic maps
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
Medwed et al. Template attacks on ECDSA
US20070177721A1 (en) Tamper-proof elliptic encryption with private key
US10721056B2 (en) Key processing method and device
CN104836666A (zh) 一种针对sm2解密算法的能量分析攻击的方法
Duan et al. Differential power analysis attack and efficient countermeasures on PRESENT
CN104796250A (zh) 针对RSA密码算法M-ary实现的侧信道攻击方法
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实现模乘余数输入侧信道攻击
Hu et al. An effective differential power attack method for advanced encryption standard
US7123717B1 (en) Countermeasure method in an electronic component which uses an RSA-type public key cryptographic algorithm
EP3188000A1 (en) System and method for hiding a cryptographic secret using expansion
US20080130877A1 (en) Method of Performing Secure and Compact Exponentiation for Cryptography
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
Mahanta et al. Comparative modular exponentiation with randomized exponent to resist power analysis attacks
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