CN113438067B - 一种压缩密钥猜测空间的侧信道攻击方法 - Google Patents
一种压缩密钥猜测空间的侧信道攻击方法 Download PDFInfo
- Publication number
- CN113438067B CN113438067B CN202110596380.XA CN202110596380A CN113438067B CN 113438067 B CN113438067 B CN 113438067B CN 202110596380 A CN202110596380 A CN 202110596380A CN 113438067 B CN113438067 B CN 113438067B
- Authority
- CN
- China
- Prior art keywords
- key
- value
- attack
- power consumption
- byte
- 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
Links
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种压缩密钥猜测空间的侧信道攻击方法,首先随机产生大量明文并使用加密算法进行加密运算,通过汉明重量模型模拟算法加密过程产生的功耗,并构建仿真功耗曲线集;采用对单个字节密钥的高4bit进行分析的方法,使用辅助攻击点进行差分功耗攻击,得到4bit密钥差分值分布情况,筛选出两个与真实密钥最相关的值;然后构造密钥候选区间,并使用主要攻击点进行攻击找出正确密钥。本发明能够使密钥猜测空间大小由256变为32,减少了不必要的运算,而且通过该方法可以很好的避开一些与密钥非常相似的错误猜测密钥,从而提升攻击的正确率,同时也提升了对功耗曲线的利用率。
Description
技术领域
本发明属于侧信道分析领域,具体涉及一种压缩密钥猜测空间的侧信道攻击方法,更进一步的利用不同功耗点泄露的信息,可提高攻击效率及准确率。
背景技术
密码学的安全性越来越受到人们的关注。人们普遍认为,密码芯片的安全性不仅取决于数学安全性,而且与设备的运行情况密切相关。传统密码分析中常用黑盒的方式来对一个密码算法进行分析,黑盒模型将密码算法当成一个黑色的盒子,内部的元件不可探查,攻击者只能通过输入与输出来攻击密码,典型的分析方法有如差分分析,代数分析等等。而侧信道分析通过利用密码算法在物理设备上运行时泄露如时间、功耗、电磁等信息与算法本身的部件结合来攻击算法,相比传统的密码分析方法,侧信道分析拥有更大破坏性,能高效的攻击密码算法,许多算法本身在数学特性上已经十分安全,几乎能抵御任何黑盒攻击,但仍然会被侧信道分析所破解。传统的功耗攻击通常容易受到个别相关性较高的密钥猜测值的影响,导致最终的攻击结果在跳动在正确密钥与相关性较高的密钥猜测值之间,这极大影响了最终的攻击结果,因此探索一种压缩密钥空间的侧信道方法是十分必要的。
发明内容
本发明目的是解决传统侧信道攻击对功耗曲线利用率低,容易受到个别相似的密钥猜测值影响的问题。通过联立两个功耗点进行攻击,在辅助攻击点,通过对密钥的高4bit位进行分析,确定密钥所在范围,构造密钥的候选区。基于密钥候选区使用主要功耗点进行攻击,避开了相似高的密钥猜测值的影响,从而达到提升正确率的效果。
为了实现上述技术目的,本发明的技术方案是,提供的一种压缩密钥猜测空间的侧信道攻击方法实现方法,包括如下步骤:
一种压缩密钥猜测空间的侧信道攻击方法,包括如下步骤:
步骤1:随机产生大量明文并使用加密算法进行加密运算,通过汉明重量模型模拟算法加密过程产生的功耗,并构建仿真功耗曲线集。
步骤2:采用对单个字节密钥的高4bit进行分析的方法,使用辅助攻击点进行差分功耗攻击,得到4bit密钥差分值分布情况。
步骤3:对所有猜测密钥的差分值分布情况进行分析,筛选出两个与真实密钥最相关的值。
步骤4:围绕着步骤3所筛选出的两个值,构造密钥候选区间。
步骤5:基于密钥候选区间,使用主要攻击点进行攻击找出正确密钥。
所述的一种压缩密钥猜测空间的侧信道攻击方法,步骤1包括如下步骤:
步骤1.1:选取所攻击的加密算法的轮密钥加、字节替换两个功耗点,在轮密钥加这一点密钥的区分度低,选用该点来构造密钥候选区间,在字节替换这一点密钥区分度高,选用该点用于恢复最终密钥,因此划分轮密钥加为辅助攻击点,字节替换为主要攻击点。
步骤1.2:随机生成大量16字节的明文mi,在密钥固定为k的情况下进行第一轮加密,对分别经过2个不同功耗点后产生的所有加密中间值进行保存。
步骤1.3:重复步骤1.2,直至在2个功耗点分别获得N个中间值后,进行步骤1.4。
步骤1.4:通过功耗模型将两个功耗点得到的中间值映射为能量消耗值,并保存于不同集合T1,T2,其中T1对应在轮密钥加这一功耗点的能量消耗值,T2对应在字节替换这一功耗点的能量消耗值,即:
其中HW()为汉明重量计算算法,SubByte()为AES算法字节替换运算。
所述的一种压缩密钥猜测空间的侧信道攻击方法,所述的步骤1.4中,所述的功耗模型为汉明重量模型,对于被处理的加密数据,计算当前字节的汉明重量,是将字节转为比特后判断其含有1的个数,1的个数即为汉明重量。
所述的一种压缩密钥猜测空间的侧信道攻击方法,步骤2中使用辅助攻击点进行攻击包括如下步骤:
步骤2.1:将16字节密钥分成16个部分来分别进行攻击,设当前攻击的密钥为第b个,b初始值为1,对第b个字节密钥的前4个bit位进行穷举,密钥猜测空间为2∧4,猜测范围为0-15。
步骤2.2:将所有猜测的高4bit密钥kn与所有明文mi的高4bit进行轮密钥加运算,得到经过轮密钥加操作后的4bit中间值Vi,n。
步骤2.3:将得到的中间值Vi,n,按照以下区分函数D进行分类,分成S0,S1两类并记录其对应消耗的能量值。
S0={T1|D=0},S1={T1|D=1}
步骤2.4:对集合S0,S1中所有数据取算术平均值,并将集合S0得到的算术平均值与集合S1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt。将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到代表该字节高4bit差分值分布情况的折线图。
其中|S0|表示集合S0所含的元素个数,|S1|表示集合S1所含的元素个数。
所述的一种压缩密钥猜测空间的侧信道攻击方法,步骤3中使用筛选候选密钥包括如下步骤:
步骤3.1:根据得到的差分折线图,找出图中按差分值排序最大的4个点用于密钥候选分析,其中每个点横坐标对应的是猜测密钥值,纵坐标对应的是差分值。
步骤3.2:在选取的4个点中,根据以下规则来选取其中2个点作为和密钥信息最相关的两个点:
1)每两个点的坐标信息相加,如果只有1组数据横坐标的值相加为15,则选取该组数据。
2)每两个点的坐标信息相加,如果有2组数据横坐标的值相加为15,则取纵坐标相加较大的一组数据。
3)每两个点的坐标信息相加,如果没有数据横坐标的值相加为15,则选取纵坐标最大的两点。
所述的一种压缩密钥猜测空间的侧信道攻击方法,步骤4中构造密钥候选区间包括如下步骤:
步骤4.1:以步骤3取出的两个点为p1和p2,构造密钥候选区间C1为p1x×16~p1x×16+15,构造密钥候选区间C2为p2x×16~p2x×16+15,其中p1x为p1的横坐标值,p2x为p2横坐标值,区间C1,C2如下:
C1:{x|16p1x≤x≤16p1x+15}
C2:{x|16p2x≤x≤16p2x+15}。
所述的一种压缩密钥猜测空间的侧信道攻击方法,步骤5中基于密钥候选区间,使用主要攻击点进行攻击。包括如下步骤:
步骤5.1:基于密钥候选区间选择单字节密钥kn′作为猜测对象,将猜测的单字节密钥kn′与所有明文第b个字节mi进行加密,得到经过轮密钥加、字节替换操作后的中间值V′i,n′:
步骤5.2:在字节替换这一功耗点,以中间值V′i,n′的第一个bit位是0还是1为依据,将原始的功耗曲线基于函数D′区分为S′0,S′1两类并记录其明文mi对应消耗的能量值,区分函数D′如下:
S′0={T2|D′=0},S′1={T2|D′=1}
步骤5.3:对S′0,S′1中所有数据取算术平均值,并将集合S′0得到的算术平均值与集合S′1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt′。将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到差分折线图,找出差分折线图纵坐标最大的点,该点所对应的横坐标即为密钥的正确值。
其中|S′0|表示集合S′0所含的元素个数,|S′1|表示集合S′1所含的元素个数。
步骤5.4:重复步骤2.1至5.3,对密钥其他字节进行分析。每完成一个字节密钥的分析,令b=b+1,直至b=16为止。将每次得到的1字节大小密钥按顺序拼凑成完整的16字节密钥。
本发明的技术效果在于,通过使用两个功耗点对加密算法进行攻击,把两个攻击点区分为辅助攻击点与主要攻击点,在辅助攻击点对密钥的高4bit进行攻击,通过构造的筛选方法,找出与密钥信息最相关的信息,再构造出密钥候选区间,基于密钥候选区间再使用主要功耗点进行攻击,密钥猜测空间大小由256变为32,减少了不必要的运算,而且通过该方法可以很好的避开一些与密钥非常相似的错误猜测密钥,从而提升攻击的正确率,同时也提升了对功耗曲线的利用率。
附图说明
图1为本发明用于攻击AES算法的流程图。
图2为本发明用于攻击AES算法的结果图。
图3为本发明用于攻击AES算法的正确率统计图。
具体实施方式
下面将结合实施例对本发明作进一步说明。
本实施例所提供的压缩密钥猜测空间的侧信道攻击的实现方法,采用了两个功耗点对加密算法进行分析,本实施例是针对AES加密算法进行密钥破解,实际使用时也可针对其他加密算法基于本发明所提供的方法进行密钥破解。本实施例包括如下步骤:
步骤1中功耗曲线仿真包括如下步骤:
步骤1.1:由于本攻击方法的选取功耗点的特殊性,首先对所攻击的加密算法AES选取轮密钥加、字节替换两个攻击点,在轮密钥加这一点密钥的区分度低,选用该点来构造密钥候选区间,在字节替换这一点密钥区分度高,选用该点用于恢复最终密钥,因此并划分轮密钥加为辅助攻击点,字节替换为主要攻击点。
步骤1.2:随机生成大量16字节的明文mi,在密钥固定为k的情况下进行AES第一轮加密,将明文mi与密钥k经过轮密钥加、字节替换运算后产生的所有中间值进行保存,记作集合V1,V2如下所示,其中SubByte()为AES算法的字节替换运算。
步骤1.3:设收集功耗曲线数为N,重复步骤1.2,直至在2个功耗点分别获得N个中间值后进行步骤1.4。
步骤1.4:通过功耗模型将不同功耗点得到中间值映射为能量消耗,在本发明中采用的功耗模型为汉明重量模型,在汉明重量模型中,不考虑数据前后的变化,只关注被处理的数据,计算当前字节的汉明重量,只需将字节转为比特,判断其含有1的个数,1的个数即为汉明重量。通过使用汉明重量模型对所有产生的中间值计算汉明重量,映射为能量消耗值,并保存于不同集合T1,T2,其中T1对应在轮密钥加这一功耗点的能量消耗值,T2对应在字节替换这一功耗点的能量消耗值,如下所示,其中HW()为汉明重量计算算法。
T1(mi,k)=HW(V1),i=1,...,N
T2(mi,k)=HW(V2),i=1,...,N
在侧信道攻击中,采用分而治之的方法,对N字节的密钥,分N次攻击,每次获得单个字节的密钥,N次攻击后将每次攻击所获得的密钥组合在一起,从而组成完整的密钥,本方法中采用了轮密钥加作为功耗点,虽然该点的密钥区分度并不准确,但是采用对密钥高4bit位进行攻击,利用其密钥分布规律,仍可以准确获得真实密钥的信息。
步骤2中使用辅助攻击点进行攻击包括如下步骤:
步骤2.1:将AES的16字节密钥分成16个部分,设当前攻击的密钥为第b个,b的初始值为1,对第b个字节密钥的前4个bit进行穷举,则密钥猜测空间为2∧4,猜测范围为0-15。
步骤2.2:将所有猜测的高4bit密钥kn与所有明文mi的高4bit进行轮密钥加运算,得到经过轮密钥加运算操作后的4bit中间值Vi,n,在轮密钥加功耗点的中间值为明文mi与密钥kn的异或值,如下所示:
步骤2.3:本发明在轮密钥加这一功耗点,将得到的4bit中间值Vi,n,按照以下区分函数D进行分类,将大于8的4bit中间值划分为1类,将小于等于8的4bit中间值划分为0类,在集合T1值找到中间值所对应的能量消耗值,在集合S0中记录0类中间值其明文mi对应消耗的能量值,在集合S0中记录1类中间值其明文mi对应消耗的能量值。
S0={T1|D=0},S1={T1|D=1}
步骤2.4:对集合S0,S1中所有数据取算术平均值,并将集合S0得到的算数平均值与集合S1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt。将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到该字节高4bit差分折线图。
其中|S0|表示集合S0所含的元素个数,|S1|表示集合S1所含的元素个数。
在轮密钥加这一点对每个字节密钥的高4bit位的攻击大概率会出现二种结果,其中一种是正确密钥,另外一种结果是同样有着很高相关性的错误值,而这个错误值通常是正确密钥的逻辑取反,例如7的逻辑取反为8,可以利用这一规律进行筛选,来准确找到密钥相关值。
步骤3中使用筛选候选密钥包括如下步骤:
步骤3.1:根据步骤2中得到的差分折线图,通过差分值排序,找出图中按差分值最大的4个点用于密钥候选分析,并将每个点的信息进行保存,其中每个点横坐标对应的是猜测的密钥值,纵坐标对应的是该猜测密钥对应的差分值。
步骤3.2:在步骤3.1已选取的4个点中,根据以下规则来选取其中2个点作为和密钥信息最相关的两个点:每两个点的横坐标信息相加,如果只有1组数据横坐标的值相加为15,则选取该组数据。
2)每两个点的横坐标信息相加,如果有2组数据横坐标的值相加为15,则取差分值相加较大的一组数据。
3)每两个点的横坐标信息相加,如果没有数据横坐标的值相加为15,则选取按差分值排列最大的两点。步骤4中构造密钥候选区间包括如下步骤:
步骤4.1:根据步骤3取出的两个点,围绕该两点围绕该两点的横坐标信息,来构造密钥候选空间,设点1为p1,点2为p2,采用半字节猜测全字节的方式构造密钥候选区间,构造区间C1为p1x×16~p1x×16+15,构造区间C2为p2x×16~p2x×16+15,其中p1x为p1的横坐标值,p2x为p2横坐标值,每个区间的大小为16,区间C1,C2如下:
C1:{x|16p1x≤x≤16p1x+15}
C2:{x|16p2x≤x≤16p2x+15}
在侧信道攻击中往往存在着一些相关性较大的中间值,这使得区分器D很难将真正的密钥从中区分出来,最终影响攻击的正确率,而通过在轮密钥加功耗点筛选所得到的密钥候选区间,基于该区间本实施例使用主要攻击点进行攻击,只在密钥可能出现的区间里面进行密钥猜测,排除了一部分相关性较大的中间值,从而达到提升攻击正确率的效果。
步骤5中基于步骤4所构造的密钥候选区间C1,C2,使用主要攻击点进行攻击。包括如下步骤:
步骤5.1:基于密钥候选区间选择单字节密钥kn′作为猜测对象,将猜测的单字节密钥kn′与所有明文第b个字节mi进行加密,得到经过轮密钥加、字节替换操作后的中间值V′i,n′:
步骤5.2:在字节替换这一功耗点,以中间值V′i,n′的第一个bit位是0还是1为依据,将原始的功耗曲线基于函数D′区分为S′0,S′1两类并记录其明文mi对应消耗的能量值,区分函数D′如下:
S′0={T2|D′=0},S′1={T2|D′=1}
步骤5.3:对S′0,S′1中所有数据取算术平均值,并将集合S′0得到的算术平均值与集合S′1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt′。将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到差分折线图,找出差分折线图纵坐标最大的点,该点所对应的横坐标即为密钥的正确值。
其中|S′0|表示集合S′0所含的元素个数,|S′1|表示集合S′1所含的元素个数。
其中|S′0|表示集合S′0所含的元素个数,|S′1|表示集合S′1所含的元素个数。
步骤5.4:重复步骤2.1至5.3,对密钥其他字节进行分析,每完成一个字节的分析,令b=b+1,直至b=16停止重复步骤2.1至5.3。将每次得到的1字节大小密钥按顺序拼凑成完整的16字节密钥。
测试:
对本发明实例提供的攻击方法进行测试,在不同功耗曲线数下,进行3000次实验测试并计算正确率平均值,对其4bit密钥相关值筛选正确率以及最终攻击正确率进行统计,其中密钥相关值筛选正确率为通过本发明构造的筛选方法进行筛选含4bit的正确密钥的正确率,攻击正确率为恢复密钥第一个字节的正确率。
密钥相关值筛选函数的筛选正确率如表1所示,攻击正确率如表2所示,图2为攻击正确率统计图。
表1密钥相关值筛选正确率
功耗曲线数 | 500 | 1000 | 1500 | 2000 | 3000 | 4000 | 4500 |
总次数 | 3000 | 3000 | 3000 | 3000 | 3000 | 3000 | 3000 |
平均正确率 | 57.7 | 75.7 | 84.9 | 90.23 | 96.87 | 98.37 | 100 |
表2攻击正确率
功耗曲线数 | 500 | 1000 | 1500 | 2000 | 3000 | 4000 | 4500 |
总次数 | 3000 | 3000 | 3000 | 3000 | 3000 | 3000 | 3000 |
DPA平均正确率 | 11.63 | 28.6 | 47.77 | 61.07 | 80.13 | 90.53 | 91.13 |
本发明平均正确率 | 23.97 | 50.1 | 68.3 | 79.83 | 91.83 | 98.43 | 99.2 |
通过表1,表2数据表明,本发明的方法在功耗曲线数相同的情况下,采用大量实验进行统计,攻击正确率都是高于传统的差分功耗攻击,证明了本发明具有更加优秀的攻击效果。
需要强调的是,本发明所述的实例是说明性的,而不是限定性的,因此本发明不限于具体实施方式中所述的实例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,不脱离本发明宗旨和范围的,不论是修改还是替换,同样属于本发明的保护范围。
Claims (1)
1.一种压缩密钥猜测空间的侧信道攻击方法,其特征在于,包括如下步骤:
步骤1:随机产生大量明文并使用加密算法进行加密运算,通过汉明重量模型模拟算法加密过程产生的功耗,并构建仿真功耗曲线集;
步骤2:采用对单个字节密钥的高4bit进行分析的方法,使用辅助攻击点进行差分功耗攻击,得到4bit密钥差分值分布情况;
步骤3:对所有猜测密钥的差分值分布情况进行分析,筛选出两个与真实密钥最相关的值;
步骤4:围绕着步骤3所筛选出的两个值,构造密钥候选区间;
步骤5:基于密钥候选区间,使用主要攻击点进行攻击找出正确密钥;
步骤1包括如下步骤:
步骤1.1:选取所攻击的加密算法的轮密钥加、字节替换两个功耗点,在轮密钥加这一点密钥的区分度低,选用该点来构造密钥候选区间,在字节替换这一点密钥区分度高,选用该点用于恢复最终密钥,因此划分轮密钥加为辅助攻击点,字节替换为主要攻击点;
步骤1.2:随机生成大量16字节的明文mi,在密钥固定为k的情况下进行第一轮加密,对分别经过2个不同功耗点后产生的所有加密中间值进行保存;
步骤1.3:重复步骤1.2,直至在2个功耗点分别获得N个中间值后,进行步骤1.4;
步骤1.4:通过功耗模型将两个功耗点得到的中间值映射为能量消耗值,并保存于不同集合T1,T2,其中T1对应在轮密钥加这一功耗点的能量消耗值,T2对应在字节替换这一功耗点的能量消耗值,即:
其中HW()为汉明重量计算算法,SubByte()为AES算法字节替换运算;
所述的步骤1.4中,所述的功耗模型为汉明重量模型,对于被处理的加密数据,计算当前字节的汉明重量,是将字节转为比特后判断其含有1的个数,1的个数即为汉明重量;
步骤2中使用辅助攻击点进行攻击包括如下步骤:
步骤2.1:将16字节密钥分成16个部分来分别进行攻击,设当前攻击的密钥为第b个,b初始值为1,对第b个字节密钥的前4个bit位进行穷举,密钥猜测空间为2^4,猜测范围为0-15;
步骤2.2:将所有猜测的高4bit密钥kn与所有明文mi的高4bit进行轮密钥加运算,得到经过轮密钥加操作后的4bit中间值Vi,n;
步骤2.3:将得到的中间值Vi,n,按照以下区分函数D进行分类,分成S0,S1两类并记录其对应消耗的能量值;
S0={T1|D=0},S1={T1|D=1}
步骤2.4:对集合S0,S1中所有数据取算术平均值,并将集合S0得到的算术平均值与集合S1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt;将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到代表该字节高4bit差分值分布情况的折线图;
其中|S0|表示集合S0所含的元素个数,|S1|表示集合S1所含的元素个数;
步骤3中使用筛选候选密钥包括如下步骤:
步骤3.1:根据得到的差分折线图,找出图中按差分值排序最大的4个点用于密钥候选分析,其中每个点横坐标对应的是猜测密钥值,纵坐标对应的是差分值;
步骤3.2:在选取的4个点中,根据以下规则来选取其中2个点作为和密钥信息最相关的两个点:
1)每两个点的坐标信息相加,如果只有1组数据横坐标的值相加为15,则选取该组数据;
2)每两个点的坐标信息相加,如果有2组数据横坐标的值相加为15,则取纵坐标相加较大的一组数据;
3)每两个点的坐标信息相加,如果没有数据横坐标的值相加为15,则选取纵坐标最大的两点;
步骤4中构造密钥候选区间包括如下步骤:
步骤4.1:以步骤3取出的两个点为p1和p2,构造密钥候选区间C1为p1x*16~p1x*16+15,构造密钥候选区间C2为p2x*16~p2x*16+15,其中p1x为p1的横坐标值,p2x为p2横坐标值,区间C1,C2如下:
C1:{x|16p1x≤x≤16p1x+15}
C2:{x|16p2x≤x≤16p2x+15};
步骤5中基于密钥候选区间,使用主要攻击点进行攻击;包括如下步骤:
步骤5.1:基于密钥候选区间选择单字节密钥kn′作为猜测对象,将猜测的单字节密钥kn′与所有明文第一个字节mi进行加密,得到经过轮密钥加、字节替换操作后的中间值V′i,n′:
步骤5.2:在字节替换这一功耗点,以中间值V′i,n′的第一个bit位是0还是1为依据,将原始的功耗曲线基于函数D′区分为S′0,S′1两类并记录其明文mi对应消耗的能量值,区分函数D′如下:
S′0={T2|D′=0},S′1={T2|D′=1}
步骤5.4:对S′0,S′1中所有数据取算术平均值,并将集合S′0得到的算术平均值与集合S′1得到的算术平均值作差,取最终结果的绝对值作为差分值Δt′;将猜测密钥的值作为横坐标,猜测密钥对应的差分值作为纵坐标,绘制折线图,由此得到差分折线图,找出差分折线图纵坐标最大的点,该点所对应的横坐标即为密钥的正确值;
其中|S′0|表示集合S′0所含的元素个数,|S′1|表示集合S′1所含的元素个数;
步骤5.5:重复步骤2.1至5.4,对密钥其他字节进行分析;每完成一个字节密钥的分析,令b=b+1,直至b=16为止;将每次得到的1字节大小密钥按顺序拼凑成完整的16字节密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110596380.XA CN113438067B (zh) | 2021-05-30 | 2021-05-30 | 一种压缩密钥猜测空间的侧信道攻击方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110596380.XA CN113438067B (zh) | 2021-05-30 | 2021-05-30 | 一种压缩密钥猜测空间的侧信道攻击方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438067A CN113438067A (zh) | 2021-09-24 |
CN113438067B true CN113438067B (zh) | 2022-08-26 |
Family
ID=77803228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110596380.XA Active CN113438067B (zh) | 2021-05-30 | 2021-05-30 | 一种压缩密钥猜测空间的侧信道攻击方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438067B (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
US20160352508A1 (en) * | 2014-06-16 | 2016-12-01 | Texas Instruments Deutschland Gmbh | Methods and Apparatus for Plaintext Analysis as Countermeasures Against Side Channel Attacks |
US11876889B2 (en) * | 2015-09-03 | 2024-01-16 | Fiske Software, Llc | NADO cryptography with key generators |
CN105553638A (zh) * | 2015-12-07 | 2016-05-04 | 成都芯安尤里卡信息科技有限公司 | 针对sm4一阶掩码算法的二阶频域能量分析攻击 |
KR20170108595A (ko) * | 2016-03-18 | 2017-09-27 | 한국전자통신연구원 | 논리적 보수 관계값을 이용한 부채널 분석 방지 암호화 장치 및 방법 |
US20190305927A1 (en) * | 2016-03-18 | 2019-10-03 | University Of Florida Research Foundation Incorporated | Bitstream security based on node locking |
CN109218008B (zh) * | 2017-07-05 | 2023-12-19 | 紫光同芯微电子有限公司 | 一种针对sm4密钥扩展算法的模板攻击方法 |
CN108123791B (zh) * | 2017-12-26 | 2019-03-08 | 衡阳师范学院 | 一种轻量级分组密码scs的实现方法与装置 |
CN110190951B (zh) * | 2019-06-17 | 2022-09-27 | 中金金融认证中心有限公司 | 一种针对des算法l寄存器翻转的功耗攻击方法及系统 |
CN112134679B (zh) * | 2019-06-24 | 2024-04-30 | 国民技术股份有限公司 | 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质 |
-
2021
- 2021-05-30 CN CN202110596380.XA patent/CN113438067B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113438067A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106778304B (zh) | 一种具有明文相关置乱机制的快速混沌图像加密方法 | |
CN113806781B (zh) | 一种基于2d-lclm的能源互联网数据分组加密方法 | |
CN112260818B (zh) | 侧信道曲线的增强方法、侧信道攻击方法及装置 | |
CN107204841B (zh) | 一种抵御差分功耗攻击的分组密码多s盒实现的方法 | |
CN108055121A (zh) | 图像的加密方法与解密方法 | |
Hu et al. | An effective differential power attack method for advanced encryption standard | |
CN110912672A (zh) | 一种检测colm认证加密算法抵御差分故障攻击的方法 | |
CN113438067B (zh) | 一种压缩密钥猜测空间的侧信道攻击方法 | |
CN112615714B (zh) | 侧信道分析方法、装置、设备及存储介质 | |
CN112702157A (zh) | 一种基于改进随机森林算法的分组密码体制识别方法 | |
US11921623B2 (en) | Device and method for testing a sequence generated by a random number generator | |
CN114297642B (zh) | 一种基于数据聚合的侧信道攻击方法 | |
CN116599639A (zh) | 一种基于聚类的密码芯片侧信息泄露量化度量方法与系统 | |
CN106156615A (zh) | 基于类可分性判距的旁路区分器方法及系统 | |
CN112134685B (zh) | 一种防dpa攻击的待测电路安全仿真分析方法和装置 | |
CN112134679B (zh) | 针对sm4的组合高阶侧信道攻击方法、装置、设备及介质 | |
CN112511291A (zh) | 一种检测ocb认证加密算法抵御差分故障攻击的方法 | |
CN110661611A (zh) | 一种面向侧信道密码能量泄漏信号的检测方法及系统 | |
Kordi et al. | Cost-effective and practical countermeasure against the template side channel attack | |
CN106161004B (zh) | 一种hmac-sm3密码算法的侧信道能量分析方法及装置 | |
CN113794549B (zh) | 一种4比特密码s盒自动化门限掩码方法 | |
KR102591867B1 (ko) | 전력 흔적 정보를 이용한 블록 체인 작업 증명 방법 및 기록 매체 | |
CN112968760B (zh) | 一种基于集成学习的侧信道攻击相关能量分析方法 | |
CN113920548B (zh) | 一种基于指纹的可重用鲁棒模糊提取方法 | |
CN110730062B (zh) | 一种基于模板攻击的混沌分组加密分析方法 |
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 |