CN104780051A - 针对sm2公钥密码加密算法的侧信道攻击的方法 - Google Patents

针对sm2公钥密码加密算法的侧信道攻击的方法 Download PDF

Info

Publication number
CN104780051A
CN104780051A CN201510199567.0A CN201510199567A CN104780051A CN 104780051 A CN104780051 A CN 104780051A CN 201510199567 A CN201510199567 A CN 201510199567A CN 104780051 A CN104780051 A CN 104780051A
Authority
CN
China
Prior art keywords
attack
attacked
public key
calculate
channel attack
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
CN201510199567.0A
Other languages
English (en)
Other versions
CN104780051B (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.)
Chengdu Xinan Youlika Information Technology Co Ltd
State Cryptography Administration Commercial Code Testing Center
Chengdu University of Information Technology
Chengdu Information Technology Co Ltd of CAS
Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd
Original Assignee
Chengdu Xinan Youlika Information Technology Co Ltd
State Cryptography Administration Commercial Code Testing Center
Chengdu Information Technology Co Ltd of CAS
Beijing Nanrui Zhixin Micro Electronics Technology 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 Chengdu Xinan Youlika Information Technology Co Ltd, State Cryptography Administration Commercial Code Testing Center, Chengdu Information Technology Co Ltd of CAS, Beijing Nanrui Zhixin Micro Electronics Technology Co Ltd filed Critical Chengdu Xinan Youlika Information Technology Co Ltd
Priority to CN201510199567.0A priority Critical patent/CN104780051B/zh
Publication of CN104780051A publication Critical patent/CN104780051A/zh
Application granted granted Critical
Publication of CN104780051B publication Critical patent/CN104780051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种针对SM2公钥密码加密算法的侧信道攻击的方法,其核心在于进行SM2公钥加密算法的侧信道攻击的过程中,选择C2=M⊕t作为攻击点,将M作为攻击的对象、t作为攻击的中间数据实施侧信道攻击,即可获取被加密的信息。针对SM2公钥密码加密算法,本发明不仅破解了加密运算的加密信息,而且提高了被攻击的信息与泄露信息之间的相关性,增强了灵活性、有效性和成功率。

Description

针对SM2公钥密码加密算法的侧信道攻击的方法
技术领域
 本发明涉及密码算法分析检测领域,尤其涉及针对SM2公钥密码加密算法的侧信道攻击的方法。
背景技术
随着信息和分析电路技术的发展,对硬件密码电子设备的破解不再单纯的停留在协议和算法上,而是从其处理数据的过程中泄露的信息入手,进行破解。硬件密码电子设备在处理信息的工程中存在能量、电磁、错误和时间等信息的泄露,利用这些泄露的信息对密码电子设备进行攻击,就是所谓的侧信道攻击(Side Channel Attacks),侧信道攻击可分为能量分析攻击、电磁攻击和错误攻击等,其中能量分析攻击因效率较高,成为侧信道的主要手段。
侧信道攻击是通过采集加密芯片等硬件密码电子设备在进行加、解密或签名等操作时产生的能量消耗或者电磁,利用密码学和统计学原理等,分析和破译密钥信息的一种攻击方式,侧信道能量/电磁分析攻击又分为简单能量/电磁分析攻击、差分能量/电磁分析攻击和相关性能量/电磁分析攻击。
在侧信道能量分析攻击中,差分能量/电磁分析攻击的过程如下:
(1)随机选择N组不相同明文或密文Mi (i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量曲线/电磁曲线T(t),t∈{1,…,k},其中k为能量轨迹的采样点数。
(2)选择密钥Ki(l∈Ω,Ω为密钥空间),计算在Ki和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值Di,l
(3)根据中间值Di,l确定选择函数F(Mi, Ki),根据选择函数将T(t)分为两个子集S0和S1,定义式如下:
={Ti(t)|F(Mi, Ki)=0}
={Ti(t)|F(Mi, Ki)=1}
    (4)计算每个采样点上两个子集的能量/电磁平均之差,如S= - 所示,其中|S0|和|S1|分别表示集合S0和S1中元素的个数。
若Ki选择不正确,当N比较大时,两个子集均值差S将趋近于零;若Ki选择正确,在均值差S中将会出现一个最大尖峰,通过该尖峰即可确定Ki选择正确。
相关性能量/电磁分析攻击的过程如下:
(1)随机选择N组不相同明文或密文Mi (i∈[1,N])进行加/解密运算,采集每组明文进行加密运算时设备产生的能量曲线/电磁曲线Ti(t),t∈{1,…,k},其中k为能量轨迹的采样点数。
(2)选择密钥Ki(l∈Ω,Ω为密钥空间),计算在Ki和Mi条件下,密码算法进行加密运算时在被攻击点产生的中间值Di,l
(3)取中间值Di,l的汉明距离或者汉明重量建立能量模型hi,l,根据
=  式计算Ti和hi相关性ρl
(4)取相关系数最大值时对应的Ki,即为实际密钥。
国家密码管理局于2010年12月17日发布了SM2椭圆曲线公钥密码算法,并要求为对现有基于RSA算法的加解密系统、电子认证系统、密钥管理系统、应用系统进行升级改造。
SM2公钥密码加密算法规定发送者用接收者的公钥将消息加密成密文,接收者用在自己的私钥对收到的密文进行解密还原成原始消息。
设需要发送的消息为比特串M,klen为M的比特长度。
为了对明文M进行加密,作为加密者的用户A应实现以下运算步骤(如图1):
A1:用随机数发生器产生随机数k[1,n-1];
A2:计算椭圆曲线点C1=[k]G=(x1,y1),按照SM2椭圆曲线公钥密码算法中的字节串到比特串的转换和点到字节串的转换规则,将C1的数据类型转换为比特串;
A3:计算椭圆曲线点S=[h]PB,若S是无穷远点,则报错退出;
A4:计算椭圆曲线点[k]PB =( x2,y2),按照SM2椭圆曲线公钥密码算法中的字节串到比特串的转换和域元素到字节串的转换规则,将坐标x2、y2的数据类型转换为比特串;
A5:计算t=KDF(x2|| y2,klen),若t为全0比特串,则返回A1;
A6:计算C2=M⊕t;
A7:计算C3=Hash(x2|| M||y2);
A8:输出密文C= C1|| C2||C3
发明内容
本发明的目的是提供一种针对SM2公钥密码加密算法的侧信道攻击的方法,已解决没有SM2公钥密码加密算法的私钥的情况下,无法从现有SM2椭圆曲线公钥密码加密运算中获取被加密的秘密信息的问题。
为解决上述技术问题,针对SM2公钥密码加密算法的侧信道攻击的方法,攻击流程图如图2所示,具体包括以下步骤:
S1:获取设备对被攻击信息进行加密运算时的能量曲线/电磁曲线Tn(t),采集到的总的曲线条数为N,以及对应的密文输出Cn,Cn=Cn,1||Cn,2||Cn,3;
S2:选择加密运算过程中的Cn,2=M⊕t作为攻击点,将将M作为攻击的对象,t作为攻击的中间数据实施侧信道攻击,即可获取被加密的信息。
进一步地,S2中采用的侧信道攻击方法为相关性能量/电磁分析攻击方法包括以下步骤:
S211:取M的二进制比特长度为k,攻击的二进制比特长度为L,攻击的起始比特位j=1;
S212:获取Mj,j+L-1的所有可能值,表示为m∈[0,2L-1]),根据m和第n条曲线对应的密文Cn,计算攻击的中间数据t=m⊕Cn,2,能量模型选择汉明重量模型,则计算t的汉明重量,表示为hn,c=HW(t);
S213:根据计算Tn(t)和hn,C,m的相关性系数ρn,c,m
S214:取相关系数最大值时对应的m,即为Mj,j+L-1对应的实际数据;
S215:使j=j+L,如果j+L-1≥k,取L=k-j+1,否则L保持不变,跳转到步骤S212继续攻击M剩余的比特数据,直到M的所有比特被攻击完为止。
进一步地,S2中采用的侧信道攻击方法为差分能量/电磁分析攻击方法包括以下步骤:
S221:取M的二进制比特长度为k,攻击的二进制比特长度为L,攻击的起始比特位j=1;
S222:获取Mj,j+L-1的所有可能值,表示为m∈[0,2L-1]),根据m和第n条曲线对应的密文Cn,计算攻击的中间数据t=m⊕Cn,2,能量模型选择汉明重量模型,则计算t的汉明重量,表示为hn,c=HW(t);
S223:如果L=1,确定差分选择函数F(Cn,m,hn,c)=;如果L不为1,确定差分选择函数为:F(Cn,m,hn,c)=
S224:根据选择函数将Tn(t)分为两个子集S0和S1,S0和S1定义式如下所示:
S0={Ti(t)| F(Cn,m,hn,c) =0},
S1={ Ti(t)| F(Cn,m,hn,c)=1};
S225:根据S= - 计算每个采样点上两个子集的能量/电磁平均之差,在均值差S中出现一个最大尖峰时对应的m,即为Mj,j+L-1对应的实际数据;
S226:使j=j+L,如果j+L-1≥k,取L=k-j+1,否则L保持不变,跳转到步骤S222继续攻击M剩余的比特数据,直到M的所有比特被攻击完为止。
本发明的有益效果为:本方法创造性的使用侧信道攻击解决了没有SM2椭圆曲线公钥密码加密的私钥的情况下,破解SM2椭圆曲线公钥密码加密的信息,此外本方法选取了恰当的攻击对象,提高了采样能量信息的信噪比和分析的成功率,本方法创造性地选择C2=M⊕t作为侧信道分析攻击的攻击点,提高了正确的猜测秘密信息和泄露信息之间的相关性,增强了分析有效性和成功率,本方法可以根据实际的计算能力,选择合适长度的比特进行攻击,从而增强了分析灵活性、有效性和成功率。
附图说明
图1为SM2公钥密码加密算法流程图;
图2为针对SM2公钥密码加密算法的侧信道攻击方法的流程图。

Claims (3)

1. 针对SM2公钥密码加密算法的侧信道攻击的方法,其特征在于所述方法包括以下步骤:
S1:获取设备对被攻击信息进行加密运算时的能量曲线/电磁曲线Tn(t),采集到的总的曲线条数为N,以及对应的密文输出Cn,Cn=Cn,1|| Cn,2|| Cn,3
S2:选择加密运算过程中的Cn,2=M⊕t作为攻击点,将M作为攻击的对象,t作为攻击的中间数据实施侧信道攻击,即可获取被加密的信息。
2.根据权利要求1所述的针对SM2公钥密码加密算法的侧信道攻击的方法,其特征在于,所述S2中采用的侧信道攻击方法为相关性能量/电磁分析攻击方法包括以下步骤:
S211:取M的二进制比特长度为k,攻击的二进制比特长度为L,初始化攻击的起始比特位j=1;
S212:获取Mj,j+L-1的所有可能值,表示为m∈[0,2L-1]),根据m和第n条曲线对应的密文Cn,计算攻击的中间数据t=m⊕Cn,2,能量模型选择汉明重量模型,则计算t的汉明重量,表示为hn,C,m=HW(t);
S213:根据                                               计算Tn(t)和hn,C,m的相关性系数ρn,c,m
S214:取相关系数最大值时对应的m,即为Mj,j+L-1对应的实际数据;
S215:使j=j+L,如果j+L-1≥k,取L=k-j+1,否则L保持不变,跳转到步骤S212继续攻击M剩余的比特数据,直到M的所有比特被攻击完为止。
3.根据权利要求1所述的针对SM2公钥密码加密算法的侧信道攻击的方法,其特征在于,所述S2中采用的侧信道攻击方法为相关性能量/电磁分析攻击方法包括以下步骤:
S211:取M的二进制比特长度为k,攻击的二进制比特长度为L,初始化攻击的起始比特位j=1;
S212:获取Mj,j+L-1的所有可能值,表示为m∈[0,2L-1]),根据m和第n条曲线对应的密文Cn,计算攻击的中间数据t=m⊕Cn,2,能量模型选择汉明重量模型,则计算t的汉明重量,表示为hn,C,m=HW(t);
S213:根据计算Tn(t)和hn,C,m的相关性系数ρn,c,m
S214:取相关系数最大值时对应的m,即为Mj,j+L-1对应的实际数据;
S215:使j=j+L,如果j+L-1≥k,取L=k-j+1,否则L保持不变,跳转到步骤S212继续攻击M剩余的比特数据,直到M的所有比特被攻击完为止。
CN201510199567.0A 2015-04-24 2015-04-24 针对sm2公钥密码加密算法的侧信道攻击的方法 Active CN104780051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510199567.0A CN104780051B (zh) 2015-04-24 2015-04-24 针对sm2公钥密码加密算法的侧信道攻击的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510199567.0A CN104780051B (zh) 2015-04-24 2015-04-24 针对sm2公钥密码加密算法的侧信道攻击的方法

Publications (2)

Publication Number Publication Date
CN104780051A true CN104780051A (zh) 2015-07-15
CN104780051B CN104780051B (zh) 2019-04-12

Family

ID=53621310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510199567.0A Active CN104780051B (zh) 2015-04-24 2015-04-24 针对sm2公钥密码加密算法的侧信道攻击的方法

Country Status (1)

Country Link
CN (1) CN104780051B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106685662A (zh) * 2016-12-23 2017-05-17 中国电子科技集团公司第三十研究所 一种基于余数系统的商密sm2加密算法的白盒软件实现方法
CN106850223A (zh) * 2017-03-02 2017-06-13 中国科学院信息工程研究所 一种基于信息泄露的公钥密码系统的私钥获取方法
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN109714310A (zh) * 2018-11-07 2019-05-03 苏州蜗牛数字科技股份有限公司 一种sim卡的侧信道抗攻击方法
CN111211886A (zh) * 2020-04-20 2020-05-29 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN116743505A (zh) * 2023-08-14 2023-09-12 上海特高信息技术有限公司 一种基于国密的安全传输加密方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034720A1 (en) * 2007-07-11 2009-02-05 Yoo-Jin Baek Method of countering side-channel attacks on elliptic curve cryptosystem
CN101908111A (zh) * 2010-07-26 2010-12-08 武汉大学 一种利用dpa曲线极性进行密钥提取的方法及系统
US20120324241A1 (en) * 2011-06-20 2012-12-20 Renesas Electronics Corporation Semiconductor device
CN103560877A (zh) * 2013-11-01 2014-02-05 中国电子科技集团公司第十五研究所 攻击密钥的方法及装置
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090034720A1 (en) * 2007-07-11 2009-02-05 Yoo-Jin Baek Method of countering side-channel attacks on elliptic curve cryptosystem
CN101908111A (zh) * 2010-07-26 2010-12-08 武汉大学 一种利用dpa曲线极性进行密钥提取的方法及系统
US20120324241A1 (en) * 2011-06-20 2012-12-20 Renesas Electronics Corporation Semiconductor device
CN103560877A (zh) * 2013-11-01 2014-02-05 中国电子科技集团公司第十五研究所 攻击密钥的方法及装置
CN104202145A (zh) * 2014-09-04 2014-12-10 成都信息工程学院 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李伟键: "密码芯片能量分析攻击", 《2011年全国通信安全学术会议论文集》 *
王敏,杜之波,吴震,饶金涛: "针对SMS4 轮输出的选择明文能量分析攻击", 《通信学报》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108123790A (zh) * 2016-11-30 2018-06-05 深圳先进技术研究院 一种侧信道攻击方法及装置
CN108123790B (zh) * 2016-11-30 2021-01-19 深圳先进技术研究院 一种侧信道攻击方法及装置
CN106685662A (zh) * 2016-12-23 2017-05-17 中国电子科技集团公司第三十研究所 一种基于余数系统的商密sm2加密算法的白盒软件实现方法
CN106685662B (zh) * 2016-12-23 2019-09-24 中国电子科技集团公司第三十研究所 一种基于余数系统的商密sm2加密算法的白盒软件实现方法
CN106850223A (zh) * 2017-03-02 2017-06-13 中国科学院信息工程研究所 一种基于信息泄露的公钥密码系统的私钥获取方法
CN106850223B (zh) * 2017-03-02 2020-01-17 中国科学院信息工程研究所 一种基于信息泄露的公钥密码系统的私钥获取方法
CN109714310A (zh) * 2018-11-07 2019-05-03 苏州蜗牛数字科技股份有限公司 一种sim卡的侧信道抗攻击方法
CN111211886A (zh) * 2020-04-20 2020-05-29 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN111211886B (zh) * 2020-04-20 2020-07-14 成都信息工程大学 针对sm2解密算法的能量分析检测方法
CN116743505A (zh) * 2023-08-14 2023-09-12 上海特高信息技术有限公司 一种基于国密的安全传输加密方法
CN116743505B (zh) * 2023-08-14 2023-10-20 上海特高信息技术有限公司 一种基于国密的安全传输加密方法

Also Published As

Publication number Publication date
CN104780051B (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN111131148B (zh) 一种面向智能电网的可保护隐私数据聚合方法及系统
CN104780051B (zh) 针对sm2公钥密码加密算法的侧信道攻击的方法
CN110113155B (zh) 一种高效无证书公钥加密方法
CN101977112B (zh) 一种基于神经网络混沌吸引子的公钥密码加密和解密方法
CN104202145A (zh) 针对sm4密码算法轮函数输出的选择明文或密文侧信道能量分析攻击的方法
CN113691380B (zh) 一种智能电网中多维隐私数据聚合方法
CN103138917A (zh) 以s盒输入为基础的汉明距离模型在sm4密码算法侧信道能量分析的应用
CN105553638A (zh) 针对sm4一阶掩码算法的二阶频域能量分析攻击
Ngo et al. Breaking masked and shuffled CCA secure Saber KEM by power analysis
Zhao et al. ePUF: A lightweight double identity verification in IoT
CN104836666A (zh) 一种针对sm2解密算法的能量分析攻击的方法
CN101951314A (zh) 对称密码加密中s-盒的设计方法
Duan et al. Differential power analysis attack and efficient countermeasures on PRESENT
CN104753665A (zh) 一种针对sm4密码轮函数输出的侧信道能量攻击方法
CN112637227A (zh) 面向智能电网的多维多子集抗差分攻击的数据聚合方法
CN113312608B (zh) 一种基于时间戳的电力计量终端身份认证方法及系统
CN109768990A (zh) 一种基于非对称密钥的物理层安全传输方法
CN108449183A (zh) 一种使用量子随机数的非对称加密方法
CN103427980B (zh) 一种基于双矩阵变换的ofdm系统物理层安全算法
CN101908111B (zh) 一种利用dpa曲线极性进行密钥提取的方法及系统
CN103812658B (zh) 一种基于流密码的安全通信协议
Olumide et al. A hybrid encryption model for secure cloud computing
Huang et al. A secure communication over wireless environments by using a data connection core
Shi et al. A real quantum designated verifier signature scheme
CN104753668A (zh) 一种针对sm4密码线性变换输出的侧信道能量攻击方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant