CN110299988A - 轻量级分组密码算法抗攻击能力的检测方法及检测装置 - Google Patents
轻量级分组密码算法抗攻击能力的检测方法及检测装置 Download PDFInfo
- Publication number
- CN110299988A CN110299988A CN201910584753.4A CN201910584753A CN110299988A CN 110299988 A CN110299988 A CN 110299988A CN 201910584753 A CN201910584753 A CN 201910584753A CN 110299988 A CN110299988 A CN 110299988A
- Authority
- CN
- China
- Prior art keywords
- cryptographic algorithm
- key
- targeted packets
- attack
- algorithm
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/004—Countermeasures against attacks on cryptographic mechanisms for fault attacks
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供的轻量级分组密码算法抗攻击能力的检测方法及检测装置,获取算法结构类型相同的多个分组密码算法,并从中确定目标分组密码算法;然后获取与目标分组密码算法的算法结构类型相匹配的目标差分故障攻击模型,并利用目标故障攻击模型对目标分组密码算法进行差分故障攻击实验,从而能够在同样的差分故障攻击条件下,对同一类型的不同分组密码算法进行差分故障攻击实验,然后基于差分故障攻击实验,获取目标分组密码算法在目标攻击模型下的密钥恢复概率,使得多个分组密码算法分别在目标攻击模型下的密钥恢复概率之间具有可比较性,能够充分反映各个分组密码算法的抗攻击能力的强弱,提高检测结果的参考价值。
Description
技术领域
本发明涉及信息安全技术领域,更具体的说,涉及轻量级分组密码算法抗攻击能力的检测方法及检测装置。
背景技术
轻量级分组密码算法,采用与一般分组密码算法相似的设计结构,主要可分为Feistel结构与SPN结构两大类。而针对于轻量级分组密码算法,差分故障攻击是目前较为有效的攻击手段。所以,对轻量级分组密码算法抗差分故障攻击的能力进行检测,尤为重要,
现有检测方案,通常是针对不同的轻量级分组密码算法设计不同的差分故障攻击模型,来检测不同算法各自在不同攻击条件下的抗攻击能力,也即一个算法对应一个模型,不同的算法对应不同的模型,而这样就使得不同的轻量级分组密码算法之间的检测方案具有极强的特异性,也使得不同的轻量级分组密码算法之间的检测结果及其过程参数不具备可比较性,也就无法从中分析出不同的轻量级分组密码算法在同样攻击条件下的抗差分故障攻击能力的强弱,使检测结果的参考价值较低。
因此,目前迫切需要一种切实有效的轻量级分组密码算法抗攻击能力的检测方案,来实现对不同的轻量级分组密码算法在同样攻击条件下的抗差分故障攻击能力的检测。
发明内容
有鉴于此,本发明提供了一种轻量级分组密码算法抗攻击能力的检测方法及装置,以解决现有技术方案无法对不同的轻量级分组密码算法在同样攻击条件下的抗差分故障攻击能力的强弱进行比较,使检测结果的参考价值较低的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种轻量级分组密码算法抗攻击能力的检测方法,所述检测方法包括:
获取算法结构类型相同的多个分组密码算法;
从所述多个分组密码算法中确定目标分组密码算法,所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法;
获取与所述目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型;
利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验;
基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率;
根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力。
一种轻量级分组密码算法抗攻击能力的检测装置,所述检测装置包括:
密码算法获取单元,用于获取算法结构类型相同的多个分组密码算法;
目标算法确定单元,用于从所述多个分组密码算法中确定目标分组密码算法,所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法;
目标模型匹配单元,用于获取与所述目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型;
故障攻击实验单元,利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验;
恢复概率获取单元,用于基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率;
检测结果展示单元,用于根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力。
从上述的技术方案可以看出,本发明提供的轻量级分组密码算法抗攻击能力的检测方法及检测装置,获取算法结构类型相同的多个分组密码算法,并从中确定目标分组密码算法;然后获取与目标分组密码算法的算法结构类型相匹配的目标差分故障攻击模型,并利用目标故障攻击模型对目标分组密码算法进行差分故障攻击实验,从而能够在同样的差分故障攻击条件下,对同一类型的不同分组密码算法进行差分故障攻击实验,然后基于差分故障攻击实验,获取目标分组密码算法在目标攻击模型下的密钥恢复概率,使得多个分组密码算法分别在目标攻击模型下的密钥恢复概率之间具有可比较性,能够充分反映各个分组密码算法的抗攻击能力的强弱,提高检测结果的参考价值。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方案的基本架构图;
图2为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方法的一种流程图;
图3为本发明实施例提供的半字节故障模型的差分故障攻击实验的流程图;
图4为本发明实施例提供的半字节故障模型的差分故障攻击流程示意图;
图5为本发明实施例提供的多比特故障模型的差分故障攻击实验的流程图;
图6为本发明实施例提供的多比特故障模型的差分故障攻击流程示意图;
图7为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方法的另一种流程图;
图8为本发明实施例提供的差分方程的输入值集合情况示例图;
图9为本发明实施例提供的LBlock算法差分故障攻击程序界面图;
图10为本发明实施例提供的TWINE算法差分故障攻击程序界面图;
图11为本发明实施例提供的MIBS算法差分故障攻击程序界面图;
图12为本发明实施例提供的半字节故障模型下的算法评估程序界面图;
图13为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
分组密码是一种算法,其将明文消息编码表示后的数据划分成固定长度的分组(可视为长度固定的矢量),之后分别在密钥的控制下将每组输入数据变换成等长的输出数据。轻量级分组密码算法通常采用与一般分组密码算法相似的设计结构,目前主要分为Feistel结构和SPN结构这两大类,每一类中均包括很多不同分组密码算法。本文后面所提及的分组密码算法也均是指轻量级的分组密码算法。
差分故障攻击是将差分分析和故障攻击相结合的一种的密码分析技术,其攻击原理是在密码算法加密过程某一轮注入故障,制造明文差分,利用得到的故障密文和故障动作,结合分组密码算法的具体实现细节来求解差分方程,以得到中间状态或轮密钥可能值,再通过多次注入故障快速缩小可能值空间,从而实现密钥破解。攻击者需要利用分组密码算法的正确输出和错误输出,同故障传播中涉及的相关密钥之间的关系进行密钥恢复,一般采取先恢复算法轮密钥,再结合密钥扩展算法恢复出主密钥的方法来进行破解。
分组密码算法大都使用S盒查表操作来提高密码算法的非线性度,但恰恰是由于S盒的差分分布特性,导致其面临严重的故障攻击威胁。假如算法运行至最后一轮S盒时对未知输入值a导入随机故障f,一般来说,攻击者可得到密文差分f′,且满足以下条件:
首先通过故障分析降低故障值f的搜索空间,代入上式通过穷举可恢复最后一轮S盒输入值a或S(a),该值与扩展轮密钥值紧密相关,结合密文便可获取相关扩展密钥,然后根据需要进行多样本分析或者迭代分析直至获取主密钥。
现有的对轻量级分组密码算法的差分故障分析,往往是集中在针对具体分组密码算法进行攻击分析与检测评估,目前尚未存在能够在同样的攻击条件下对不同分组密码算法的抗攻击能力进行检测分析与整体评估的技术方案。由于目前针对不同分组密码算法的差分故障攻击模型和攻击假设均不同,所以得到的不同分组密码算法对应的故障攻击成功率以及其他过程参数之间不具备可比较性,也就无法从中分析出不同的轻量级分组密码算法在同样攻击条件下的抗差分故障攻击能力的强弱。
本发明首先将待检测的分组密码算法进行分类,再依据分组密码算法的类型,采用相应的差分故障攻击模型进行攻击实现,其中,同一个差分故障攻击模型可用于对属于同一类型的多个不同的分组密码算法进行差分故障攻击,从而能够在相同攻击条件下对同一类型的不同分组密码算法的抗差分故障攻击能力进行检测分析与整理评估,此外还可以采用图表的形式直观地反映出不同的分组密码算法在同一差分故障攻击模型下的抗差分故障攻击能力的强弱。
如图1所示,本发明提供的平台主要包括四个功能模块,加密模块、差分故障攻击模块、密钥恢复概率模块与算法评估模块。
加密模块,用于针对用户选择的轻量级分组密码算法,以及用户输入的明文信息与密钥信息,调用封装对应算法的dll文件中的加密函数来实现加密功能,最后输出密文信息。
差分故障攻击模块,与加密模块相关联,用于接收来自加密模块的明文信息、密钥信息和用户选择的轻量级分组密码算法(简称“算法”);针对选择的轻量级分组密码算法,利用对应算法的dll文件中的差分故障攻击函数实现对应的差分故障攻击方案。
密钥恢复概率模块,用于针对具体分组密码算法,在对应的差分故障攻击模型下,重复多次故障注入实验,获取在固定故障注入次数下,分组密码算法的密钥恢复概率数据。
算法评估模块,用于从密钥恢复概率模块接收密钥恢复概率数据,针对特定的差分故障攻击模型,在后台执行MATLAB程序,以更加直观的方式向用户展示特定的差分故障攻击模型对不同分组密码算法的差分故障攻击的效果对比,进行特定的差分故障攻击模型下各个分组密码算法的抗差分故障攻击能力的综合评估。
本发明在准备阶段,可将每个分组密码算法的加密功能和差分故障攻击模型的实现封装在C语言编写的dll文件中,利用C#语言生成的程序只需直接调用对应函数即可。另外,算法评估模块需要在后台调用MATLAB程序,因此需要事先添加MWArray.dll和m文件打包生成的dll文件。另外,为了美化软件,展示界面窗体可使用OSSkin WinForms窗体界面库。
请参阅图2,图2为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方法的一种流程图。
如图2所示,本实施例的检测方法可包括:
S101:获取算法结构类型相同的多个分组密码算法。
轻量级分组密码算法的算法结构类型主要包括SPN结构与Feistel结构这两大类。其中,SPN结构的分组密码算法主要有AES算法、ARIA算法、3D算法等;Feistel结构的分组密码算法主要有LBlock算法、TWINE算法、MIBS算法等。
其中,算法结构类型相同的多个分组密码算法之间互不相同,即,算法结构类型相同的多个分组密码算法,具体是指算法结构类型相同的多个不同的分组密码算法。
S102:从多个分组密码算法中确定目标分组密码算法。
所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法。
目标分组密码算法是指待检测的分组密码算法,其可以是所述多个分组密码算法中的任一分组密码算法。
例如,可以是由用户从具有多个分组密码算法的列表中任意选择的一个分组密码算法,作为待检测的目标分组密码算法,例如,图9中选择的LBlock、图10中选择的TWINE以及图11中选择的MIBS等。
S103:获取与目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型。
本发明中差分故障攻击模型与分组密码算法的算法结构类型之间具有匹配关系,使得同一算法结构类型下的多个不同的分组密码算法,均可采用与该同一算法结构类型相匹配的差分故障攻击模型来分别对其进行差分故障攻击实验。
进一步地,差分故障攻击模型还可以直接与算法结构类型相同的多个分组密码算法直接匹配。
确定出目标分组密码算法后,基于上述匹配关系,便可直接得到相匹配的差分故障攻击模型来对目标分组密码算法进行差分故障攻击实验,因此靶向性较好,其具体参数计算结果更为精确。
在具体实施中,当目标分组密码算法的算法结构类型为Feistel结构时,与Feistel结构相匹配的目标故障攻击模型为半字节故障模型;当目标分组密码算法的算法结构类型为SPN结构时,与SPN结构相匹配的目标故障攻击模型为多比特故障模型。此处的半字节故障模型与多比特故障模型均为差分故障攻击模型。
S104:利用目标故障攻击模型,对目标分组密码算法进行差分故障攻击实验。
S105:基于差分故障攻击实验,获取目标分组密码算法在目标攻击模型下的密钥恢复概率。
S106:根据多个分组密码算法分别在目标攻击模型下的密钥恢复概率,展示多个分组密码算法的抗攻击能力。
本发明中所提及的抗攻击能力,具体是指抗差分故障攻击能力。
由于目标分组密码算法可以是所述多个分组密码算法的任一分组密码算法,所以藉由步骤S102~S105,便能够获取到多个分组密码算法中各个分组密码算法分别在目标攻击模型下的密钥恢复概率。
在差分故障攻击实验中,所能够得到的相关参数的计算结果包括但不限于:固定故障注入次数下的轮密钥恢复概率、固定故障注入次数下的主密钥恢复概率、恢复主密钥所需故障注入次数期望值等。
在相同的差分故障攻击条件下,密钥恢复概率越高的分组密码算法,其抗差分故障攻击的能力越差;密钥恢复概率越低的分组密码算法,其抗差分故障攻击的能力越高。
本实施例提供的轻量级分组密码算法抗攻击能力的检测方法,获取算法结构类型相同的多个分组密码算法,并从中确定目标分组密码算法;然后获取与目标分组密码算法的算法结构类型相匹配的目标差分故障攻击模型,并利用目标故障攻击模型对目标分组密码算法进行差分故障攻击实验,从而能够在同样的差分故障攻击条件下,对同一类型的不同分组密码算法进行差分故障攻击实验,然后基于差分故障攻击实验,获取目标分组密码算法在目标攻击模型下的密钥恢复概率,使得多个分组密码算法分别在目标攻击模型下的密钥恢复概率之间具有可比较性,能够充分反映各个分组密码算法的抗攻击能力的强弱,提高检测结果的参考价值。
请参阅图3,图3为本发明实施例提供的半字节故障模型的差分故障攻击实验的流程图。
本实施例是利用半字节故障模型,对Feistel型的目标分组密码算法进行差分故障攻击实验。
如图3所示,本实施例的差分故障攻击实验的流程可包括:
S201:利用目标分组密码算法与第一预设主密钥对第一预设明文进行第一加密运算,得到第一正确密文,并确定目标分组密码算法的轮数。
在具体实施中,可以任意选择明文P,并在主密钥K的作用下进行加密,获取正确密文C,并确定目标分组密码算法的轮数r。
S202:利用目标分组密码算法与第一预设主密钥对第一预设明文进行第一加密运算,并在第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到第一故障密文。
在具体实施中,使用相同明文P及主密钥K进行加密运算,在运算至倒数第二轮时,可结合分组密码算法的错误扩散规律选取故障注入位置,在倒数第二轮输出处xr-1分别同时导入若干半字节随机故障(如图4中的注入故障a1),并记录故障密文C*(如图4中的故障密文C1 *)。
S203:根据第一正确密文与第一故障密文,生成第一S盒差分方程。
列出S盒差分方程,由正确密文C和故障密文C*,结合逆行移位、列混合等运算可列出M个差分方程,并将其化简为形式。其中,1≤m≤M,β为密文差分(如图4中的密文差分β1),a为一次注入的半字节随机故障。
S204:基于第一S盒差分方程,获取所有可能的密钥候选值,并归入到第一候选值集合N。
筛选密钥候选值。对前述的每个S盒差分方程,在预设的S盒差分分布表中,筛选所有可能的4bit密钥值,并将其列入第一候选值集合N。
S205:再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文。
本次注入的半字节随机故障,即为图4中所示的注入故障a2;新的第一故障密文,即为图4中的故障密文C2 *。
S206:根据第一正确密文与新的第一故障密文,生成新的第一S盒差分方程。
新的第一S盒差分方程,即新的密文差分β(如图4中的密文差分β2)。
S207:基于新的第一S盒差分方程,获取所有可能的密钥候选值,并归入到第二候选值集合Q。
S208:当第一候选值集合N与第二候选值集合Q不同时,确定第一S盒输入值为N∩Q。
其中,N∩Q为所述第一候选值集合N与所述第二候选值集合Q的交集,N∩Q也为部分所求RKr的正确值,RKr为参与轮函数运算的第r轮轮密钥。
在一示例中,当第一候选值集合N与第二候选值集合Q相同时,再次执行所述再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文的步骤(即步骤205),直至第一候选值集合N与第二候选值集合Q不同,然后确定第一S盒输入值为N∩Q。
S209:基于N∩Q,结合密钥扩展算法,逆推第一预设主密钥。
此时需要恢复RKr-1和其余部分轮密钥。使用已经得到的RKr来解密密文,以获得第r-1轮正确中间状态输出xr-1。在分组密码算法运行至第r-2轮时,在xr-1处分别同时导入若干半字节随机故障,重复上述步骤,直至恢复出RKr-1的全部值或部分值。
在恢复出RKr-1的全部值或部分值后,再重复上述步骤,直至求出第r’轮轮密钥的全部或部分值,其中,第r’轮为在分组密码算法中故障作用的起始轮。
然后根据密钥扩展方案,便可反推出主密钥K。例如,将Rki(r’≤i≤r)代入密钥扩展算法进行逆推,便可最终得到主密钥K(如图4所示)
本实施例基于半字节故障模型,通过上述差分故障攻击实验的流程,从而能够在同样的差分故障攻击条件下,对Feistel结构的多个不同的分组密码算法进行相同的差分故障攻击实验,使得同属于Feistel结构的各个分组密码算法分别在目标攻击模型下的密钥恢复概率具有可比较性,也使得最终检测结果能够充分反映Feistel结构的各个分组密码算法在相同攻击条件下的抗差分故障攻击能力的强弱。
请参阅图5,图5为本发明实施例提供的多比特故障模型的差分故障攻击实验的流程图。
如图5所示,本实施例的差分故障攻击实验的流程可包括:
本实施例是利用多比特故障模型,对SPN型的目标分组密码算法进行差分故障攻击实验。
S301:利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,得到第二正确密文,并确定目标分组密码算法的轮数。
在具体实施中,可以任意选择明文P,并在主密钥K的作用下进行加密,获取正确密文C,并确定目标分组密码算法的轮数r。
S302:确定目标分组密码算法的故障作用轮数,以及每轮同时注入比特故障个数M,M≥1。
基于密钥扩展算法可以确定目标分组密码算法的故障作用轮数r-r’,并可根据分组密码算法结构及故障传播规律确定每轮同时注入比特故障个数M。其中,r为目标分组密码算法的轮数,第r’轮为目标分组密码算法中故障作用的起始轮。
S303:利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到第二故障密文。
在故障注入时,使用相同明文及主密钥进行加密运算,在运算至第r轮S盒时,在M个半字节位置分别同时导入1个比特随机故障,并记录故障密文C*(如图6中的故障密文C1 *)。
S304:根据第二正确密文与第二故障密文,生成M个第二S盒差分方程。
计算S盒输出差分,由正确密文C和故障密文C*,通过逆P置换(可包括逆行移位、列混合等运算),可得到M个S盒输出差分{β1,β2,β3,…,βM}(如图6所示),其中满足βi∈{0x1,0x2,0x4,0x8},1≤i≤M。
S305:基于M个第二S盒差分方程中的第i个第二S盒差分方程,获取所有可能的密钥候选值,并归入第i个第三候选值集合Yi,1≤i≤M。
筛选S盒输入值,对前面得到的每个输出差分βi,在预设的输出差分表中查找所有可能的S盒输入值,并将列入密钥候选值集合,即第i个第三候选值集合Yi。
S306:再次利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文;
S307:根据第二正确密文与新的第二故障密文,生成M个新的第二S盒差分方程。
S308:基于M个新的第二S盒差分方程中的第i个新的S盒差分方程,获取所有可能的密钥候选值,并归于第i个第四候选值集合Zi。
S309:当Yi∩Zi所包含的元素唯一时,确定第r轮S盒的第i个半字节输入值为Yi∩Zi。
Yi∩Zi为第i个第三候选值集合Yi与第i个第四候选值集合Zi的交集,当Yi∩Zi所包含的元素唯一时,Yi∩Zi即为第r轮S盒的第i个半字节输入值,也可记为mi’,1≤i≤M。
在一示例中,当Yi∩Zi所包含的元素不唯一时,将Yi赋值为Yi∩Zi;并再次执行所述再次利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文的步骤(即步骤S306),直至所述Yi∩Zi所包含的元素唯一,并确定第r轮S盒的第i个半字节输入值为Yi∩Zi。
S310:基于Yi∩Zi,恢复第r轮轮密钥以及其他轮密钥。
恢复RKr和其余轮密钥,在SPN结构密码算法中,算法最后会执行一轮白化密钥操作,因此第r轮轮密钥RKr通常可以表示为:
使用已经得到的解密密文,获得第r-1轮正确中间状态输出xr-1。在分组密码算法运行至第r-1轮S盒时,分别在M个半字节位置同时导入1个比特随机故障,重复上述过程,恢复出第r-1轮密钥1≤i≤M。
然后,再重复前述过程,直至求出第r’轮轮密钥RKr’的全部值或部分值。
S311:根据第r轮轮密钥以及其他轮密钥,结合密钥扩展算法,逆推第二预设主密钥。
例如,将RKi(r’≤i≤r)代入密钥扩展算法进行逆推,便可最终得到主密钥K(如图6所示)。
本实施例基于多比特故障模型,通过上述差分故障攻击实验的流程,从而能够在同样的差分故障攻击条件下,对SPN机构的多个不同的分组密码算法进行相同的差分故障攻击实验,使得同属于SPN结构的各个分组密码算法分别在目标攻击模型下的密钥恢复概率具有可比较性,也使得最终检测结果能够充分反映SPN机构的各个分组密码算法在相同攻击条件下的抗差分故障攻击能力的强弱。
请参阅图7,图7为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方法的另一种流程图。
如图7所示,本实施例提供的检测方法可包括:
S401:获取算法结构类型相同的多个分组密码算法。
S402:从多个分组密码算法中确定目标分组密码算法。
S403:获取与目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型。
S404:利用目标故障攻击模型,对目标分组密码算法进行差分故障攻击实验。
S405:基于差分故障攻击实验中所获得的S盒差分方程,获取目标分组密码算法在目标故障攻击模型下的轮密钥恢复概率。
以Feistel结构的LBlock算法为例,在最理想的情况下只需要注入2+2+2=6次故障即可完全恢复倒数三轮轮密钥,进而由密钥扩展算法得到主密钥K。但由于LBlock算法S盒差分分布的不均匀性,针对某一差分方程,导入2次故障后,Q∩N中的元素可能不唯一,此时就无法确定对应半字节轮密钥值。
其中,在半字节故障模型下,注入l次故障后恢复出RKr的概率为:
其中,1≤j≤8,0≤k≤j,l≥1。
对于一个差分方程,当注入l次故障后所得S盒输入值集合满足下列两种情况时,无法确定唯一输入值。
如图8所示,情况1:注入l次故障后,S盒输入值集合均为Y1或Y2,此时集合包含4个元素;情况2:注入l次故障后,S盒输入值集合均为Zi(i=1,2,……,9),此时集合包含2个元素。
为了表示和计算方便,情况1发生的概率记为情况2发生的概率为由故障注入模型可知,共有关于轮密钥变量的8个差分方程,注入l次故障后,8个方程中有1个无解的概率记为:
8个方程中有2个无解的概率记为:
8个方程中有i个无解的概率记为:
8个方程均无解的概率记为:
由容斥原理可知,8个方程中至少有1个无解的概率为:
该概率即为注入l次故障后无法恢复出轮密钥的概率,然后将和代入上式,可得恢复出第r轮密钥的概率为:
具体计算结果可如下表1所示:
表1故障注入次数与恢复轮密钥概率下界的关系
为了求得恢复主密钥K的概率下界,需要知道恰好导入l组故障恢复轮密钥RKr的概率,用表示。易知当l≥2时,由事件互斥性可得观察上表1可知,单轮故障注入次数l>5时,大于99.5%且增幅微弱,此时恢复主密钥K的概率可视为100%,因此在计算概率下界时,可只考虑l≤5的情形。
S406:根据轮密钥恢复概率,获取目标分组密码算法在目标故障攻击模型下的主密钥恢复概率。
其中,在半字节故障模型下,恰好注入L次故障后恢复出主密钥K的概率下界为:其中,l1,l2,l3∈{3,4,5}。
根据半字节故障模型,恢复出第30、31、32轮密钥便可反推出主密钥K。因此,故障注入总次数等于恢复出所需注入故障次数之和。利用乘法原理和加法原理,可计算出注入L次故障后恢复出主密钥K的概率为:
S407:根据目标分组密码算法在目标故障攻击模型下与不同故障注入次数相对应的密钥恢复概率,生成目标分组密码算法在目标故障攻击模型下的密钥恢复概率曲线。
其中,密钥恢复概率曲线的横坐标为故障注入次数,纵坐标为与故障注入次数相对应的密钥恢复概率,可如图12所示。
S408:根据多个分组密码算法分别在目标故障攻击模型下的密钥恢复概率曲线,生成多个分组密码算法在目标故障攻击模型下的密钥恢复概率对比图,以表征不同的分组密码算法在相同攻击条件下的抗攻击能力的强弱。
所述密钥恢复概率对比图可参见图12,图12示出了在半字节故障模型下,TWINE、MIB与LBlock这三种轻量级算法各自的主密钥恢复概率曲线。
在相同的故障注入次数下,密钥恢复概率越高的分组密码算法,其抗攻击能力越弱;密钥恢复概率越低的分组密码算法,其抗攻击能力越强。如图12所示,在同一半字节故障模型下,MIBS的主密钥恢复概率最低,TWINE的主密钥恢复概率居中,LBlock的主密钥恢复概率最高,这就意味着在同样的攻击条件下,MIBS的抗攻击能力最强,TWINE的抗攻击能力次之,LBlock的抗攻击能力最弱。
本实施例提供的轻量级分组密码算法抗攻击能力的检测方法,根据目标分组密码算法在目标故障攻击模型下与不同故障注入次数相对应的密钥恢复概率,生成目标分组密码算法在目标故障攻击模型下的密钥恢复概率曲线;并根据多个分组密码算法分别在目标故障攻击模型下的密钥恢复概率曲线,生成多个分组密码算法在目标故障攻击模型下的密钥恢复概率对比图,以表征不同的分组密码算法在相同攻击条件下的抗攻击能力的强弱,使得检测结果更加直观、清楚,大幅提升了检测结果的参考价值。
本发明实施例还提供了轻量级分组密码算法抗攻击能力的检测装置,所述检测装置用于实施本发明实施例提供的轻量级分组密码算法抗攻击能力的检测方法,下文描述的检测装置的技术内容,可与上文描述的检测方法的技术内容与相互对应参照,重复的内容不再赘述。
请参阅图13,图13为本发明实施例提供的轻量级分组密码算法抗攻击能力的检测装置的结构示意图。
如图13所示,本实施例提供的检测装置可包括:密码算法获取单元10、目标算法确定单元20、目标模型匹配单元30、故障攻击实验单元40、恢复概率获取单元50与检测结果展示单元60。
密码算法获取单元10,用于获取算法结构类型相同的多个分组密码算法。
目标算法确定单元20,用于从所述多个分组密码算法中确定目标分组密码算法。所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法。
目标模型匹配单元30,用于获取与所述目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型。
故障攻击实验单元40,利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验。
恢复概率获取单元50,用于基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率。
检测结果展示单元60,用于根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力。
本实施例提供的轻量级分组密码算法抗攻击能力的检测装置,获取算法结构类型相同的多个分组密码算法,并从中确定目标分组密码算法;然后获取与目标分组密码算法的算法结构类型相匹配的目标差分故障攻击模型,并利用目标故障攻击模型对目标分组密码算法进行差分故障攻击实验,从而能够在同样的差分故障攻击条件下,对同一类型的不同分组密码算法进行差分故障攻击实验,然后基于差分故障攻击实验,获取目标分组密码算法在目标攻击模型下的密钥恢复概率,使得多个分组密码算法分别在目标攻击模型下的密钥恢复概率之间具有可比较性,能够充分反映各个分组密码算法的抗攻击能力的强弱,提高检测结果的参考价值。
在一示例中,当目标分组密码算法的算法结构类型为Feistel结构时,与Feistel结构相匹配的目标故障攻击模型为半字节故障模型。
该示例中,故障攻击实验单元40具体用于:
利用所述目标分组密码算法与第一预设主密钥对第一预设明文进行第一加密运算,得到第一正确密文,并确定所述目标分组密码算法的轮数;
利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到第一故障密文;
根据所述第一正确密文与所述第一故障密文,生成第一S盒差分方程;
基于所述第一S盒差分方程,获取所有可能的密钥候选值,并归入到第一候选值集合N;
再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文;
根据所述第一正确密文与所述新的第一故障密文,生成新的第一S盒差分方程;
基于所述新的第一S盒差分方程,获取所有可能的密钥候选值,并归入到第二候选值集合Q;
当所述第一候选值集合N与所述第二候选值集合Q不同时,确定第一S盒输入值为N∩Q;
基于所述N∩Q,结合密钥扩展算法,逆推所述第一预设主密钥。
其中,当所述第一候选值集合N与所述第二候选值集合Q相同时,再次执行所述再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文的步骤,直至所述第一候选值集合N与所述第二候选值集合Q不同。
在另一示例中,当目标分组密码算法的算法结构类型为SPN结构时,与SPN结构相匹配的目标故障攻击模型为多比特故障模型。
在该示例中,故障攻击实验单元40具体用于:
利用所述目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,得到第二正确密文,并确定所述目标分组密码算法的轮数;
确定所述目标分组密码算法的故障作用轮数,以及每轮同时注入比特故障个数M,M≥1;
利用所述目标分组密码算法与所述第二预设主密钥对所述第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到第二故障密文;r为所述目标分组密码算法的轮数;
根据所述第二正确密文与所述第二故障密文,生成M个第二S盒差分方程;
基于所述M个第二S盒差分方程中的第i个第二S盒差分方程,获取所有可能的密钥候选值,并归入第i个第三候选值集合Yi;1≤i≤M;
再次利用所述目标分组密码算法与所述第二预设主密钥对所述第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文;
根据所述第二正确密文与所述新的第二故障密文,生成M个新的第二S盒差分方程;
基于所述M个新的第二S盒差分方程中的第i个新的S盒差分方程,获取所有可能的密钥候选值,并归于第i个第四候选值集合Zi;
当Yi∩Zi所包含的元素唯一时,确定所述第r轮S盒的第i个半字节输入值为Yi∩Zi;
基于所述Yi∩Zi,恢复第r轮轮密钥以及其他轮密钥;
根据所述第r轮轮密钥以及其他轮密钥,结合密钥扩展算法,逆推所述第二预设主密钥。
其中,当所述Yi∩Zi所包含的元素不唯一时,将所述Yi赋值为所述Yi∩Zi;并再次执行所述再次利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文的步骤,直至所述Yi∩Zi所包含的元素唯一。
在又一示例中,恢复概率获取单元50具体用于:基于所述差分故障攻击实验中所获得的S盒差分方程,获取所述目标分组密码算法在所述目标故障攻击模型下的轮密钥恢复概率;根据所述轮密钥恢复概率,获取所述目标分组密码算法在所述目标故障攻击模型下的主密钥恢复概率。
检测结果展示单元60具体用于:根据目标分组密码算法在所述目标故障攻击模型下与不同故障注入次数相对应的密钥恢复概率,生成所述目标分组密码算法在所述目标故障攻击模型下的密钥恢复概率曲线;其中,所述密钥恢复概率曲线的横坐标为故障注入次数,纵坐标为与故障注入次数相对应的密钥恢复概率;根据所述多个分组密码算法分别在所述目标故障攻击模型下的密钥恢复概率曲线,生成所述多个分组密码算法在所述目标故障攻击模型下的密钥恢复概率对比图,以表征不同的分组密码算法在相同攻击条件下的抗攻击能力的强弱。
本发明实施例提供的轻量级分组密码算法抗攻击能力的检测装置,包括处理器和存储器,上述密码算法获取单元10、目标算法确定单元20、目标模型匹配单元30、故障攻击实验单元40、恢复概率获取单元50与检测结果展示单元60等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决本发明所要解决的技术问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现前述的检测方法的步骤。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行前述的检测方法的步骤。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现前述的轻量级分组密码算法抗攻击能力的检测方法的步骤。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有前述的检测方法的步骤的程序。
本发明着重解决了轻量级分组密码算法在差分故障攻击下的成功率评估问题,提取算法关键信息(S盒,扩散层),按照SPN结构与Feistel结构进行分类。首先根据芯片及算法匹配不同攻击流程模板,高效准确地对目标实施差分故障攻击,恢复明文及主密钥值,通过相关数学知识计算出固定故障次数下密钥恢复成功率、恢复主密钥所需故障注入次数期望等过程参数,进而直接对算法抗差分故障分析能力展开分析。本发明还可包括对使用该轻量级算法的密码芯片在差分故障攻击下的性能测试,评估运行该算法的微型计算设备(芯片,RFID智能卡)抗差分故障攻击能力。
最后,还需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式来实现。基于这样的理解,本申请的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种轻量级分组密码算法抗攻击能力的检测方法,其特征在于,所述检测方法包括:
获取算法结构类型相同的多个分组密码算法;
从所述多个分组密码算法中确定目标分组密码算法,所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法;
获取与所述目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型;
利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验;
基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率;
根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力。
2.如权利要求1所述的检测方法,其特征在于,当所述目标分组密码算法的算法结构类型为Feistel结构时,与所述Feistel结构相匹配的目标故障攻击模型为半字节故障模型。
3.如权利要求2所述的检测方法,其特征在于,所述利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验包括:
利用所述目标分组密码算法与第一预设主密钥对第一预设明文进行第一加密运算,得到第一正确密文,并确定所述目标分组密码算法的轮数;
利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到第一故障密文;
根据所述第一正确密文与所述第一故障密文,生成第一S盒差分方程;
基于所述第一S盒差分方程,获取所有可能的密钥候选值,并归入到第一候选值集合N;
再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文;
根据所述第一正确密文与所述新的第一故障密文,生成新的第一S盒差分方程;
基于所述新的第一S盒差分方程,获取所有可能的密钥候选值,并归入到第二候选值集合Q;
当所述第一候选值集合N与所述第二候选值集合Q不同时,确定第一S盒输入值为N∩Q;
基于所述N∩Q,结合密钥扩展算法,逆推所述第一预设主密钥。
4.如权利要求3所述的检测方法,其特征在于,当所述第一候选值集合N与所述第二候选值集合Q相同时,再次执行所述再次利用所述目标分组密码算法与所述第一预设主密钥对所述第一预设明文进行第一加密运算,并在所述第一加密运算的倒数第二轮输出处分别同时注入若干半字节随机故障,得到新的第一故障密文的步骤,直至所述第一候选值集合N与所述第二候选值集合Q不同。
5.如权利要求1所述的检测方法,其特征在于,当所述目标分组密码算法的算法结构类型为SPN结构时,与所述SPN结构相匹配的目标故障攻击模型为多比特故障模型。
6.如权利要求5所述的检测方法,其特征在于,所述利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验包括:
利用所述目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,得到第二正确密文,并确定所述目标分组密码算法的轮数;
确定所述目标分组密码算法的故障作用轮数,以及每轮同时注入比特故障个数M,M≥1;
利用所述目标分组密码算法与所述第二预设主密钥对所述第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到第二故障密文;r为所述目标分组密码算法的轮数;
根据所述第二正确密文与所述第二故障密文,生成M个第二S盒差分方程;
基于所述M个第二S盒差分方程中的第i个第二S盒差分方程,获取所有可能的密钥候选值,并归入第i个第三候选值集合Yi;1≤i≤M;
再次利用所述目标分组密码算法与所述第二预设主密钥对所述第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文;
根据所述第二正确密文与所述新的第二故障密文,生成M个新的第二S盒差分方程;
基于所述M个新的第二S盒差分方程中的第i个新的S盒差分方程,获取所有可能的密钥候选值,并归于第i个第四候选值集合Zi;
当Yi∩Zi所包含的元素唯一时,确定所述第r轮S盒的第i个半字节输入值为Yi∩Zi;
基于所述Yi∩Zi,恢复第r轮轮密钥以及其他轮密钥;
根据所述第r轮轮密钥以及其他轮密钥,结合密钥扩展算法,逆推所述第二预设主密钥。
7.如权利要求6所述的检测方法,其特征在于,当所述Yi∩Zi所包含的元素不唯一时,将所述Yi赋值为所述Yi∩Zi;并再次执行所述再次利用目标分组密码算法与第二预设主密钥对第二预设明文进行第二加密运算,并在运算至第r轮S盒时,在M个半字节位置分别同时注入1个比特随机故障,得到新的第二故障密文的步骤,直至所述Yi∩Zi所包含的元素唯一。
8.如权利要求1所述的检测方法,其特征在于,所述基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率包括:
基于所述差分故障攻击实验中所获得的S盒差分方程,获取所述目标分组密码算法在所述目标故障攻击模型下的轮密钥恢复概率;
根据所述轮密钥恢复概率,获取所述目标分组密码算法在所述目标故障攻击模型下的主密钥恢复概率。
9.如权利要求1所述的检测方法,其特征在于,所述根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力包括:
根据目标分组密码算法在所述目标故障攻击模型下与不同故障注入次数相对应的密钥恢复概率,生成所述目标分组密码算法在所述目标故障攻击模型下的密钥恢复概率曲线;其中,所述密钥恢复概率曲线的横坐标为故障注入次数,纵坐标为与故障注入次数相对应的密钥恢复概率;
根据所述多个分组密码算法分别在所述目标故障攻击模型下的密钥恢复概率曲线,生成所述多个分组密码算法在所述目标故障攻击模型下的密钥恢复概率对比图,以表征不同的分组密码算法在相同攻击条件下的抗攻击能力的强弱。
10.一种轻量级分组密码算法抗攻击能力的检测装置,其特征在于,所述检测装置包括:
密码算法获取单元,用于获取算法结构类型相同的多个分组密码算法;
目标算法确定单元,用于从所述多个分组密码算法中确定目标分组密码算法,所述目标分组密码算法为所述多个分组密码算法中的任一分组密码算法;
目标模型匹配单元,用于获取与所述目标分组密码算法的算法结构类型相匹配的差分故障攻击模型,作为目标故障攻击模型;
故障攻击实验单元,利用所述目标故障攻击模型,对所述目标分组密码算法进行差分故障攻击实验;
恢复概率获取单元,用于基于所述差分故障攻击实验,获取所述目标分组密码算法在所述目标攻击模型下的密钥恢复概率;
检测结果展示单元,用于根据所述多个分组密码算法分别在所述目标攻击模型下的密钥恢复概率,展示所述多个分组密码算法的抗攻击能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910584753.4A CN110299988B (zh) | 2019-07-01 | 2019-07-01 | 轻量级分组密码算法抗攻击能力的检测方法及检测装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910584753.4A CN110299988B (zh) | 2019-07-01 | 2019-07-01 | 轻量级分组密码算法抗攻击能力的检测方法及检测装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110299988A true CN110299988A (zh) | 2019-10-01 |
CN110299988B CN110299988B (zh) | 2022-10-21 |
Family
ID=68029683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910584753.4A Active CN110299988B (zh) | 2019-07-01 | 2019-07-01 | 轻量级分组密码算法抗攻击能力的检测方法及检测装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110299988B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532373A (zh) * | 2020-11-24 | 2021-03-19 | 中国电力科学研究院有限公司 | 针对流密码算法的差分故障分析方法、系统和存储介质 |
CN114070560A (zh) * | 2022-01-13 | 2022-02-18 | 浙江大学 | 一种针对分组密码的代数持久性故障分析方法及装置 |
CN116232561A (zh) * | 2023-05-09 | 2023-06-06 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158796A (zh) * | 2014-07-11 | 2014-11-19 | 中国科学院信息工程研究所 | 分组密码抗线性攻击安全性的评估方法 |
CN105227295A (zh) * | 2015-10-10 | 2016-01-06 | 成都芯安尤里卡信息科技有限公司 | 一种针对sms4密码算法的差分故障注入攻击 |
CN109831294A (zh) * | 2019-01-02 | 2019-05-31 | 北京邮电大学 | Spn型分组密码抗故障攻击能力评估方法及装置 |
CN109842483A (zh) * | 2019-03-18 | 2019-06-04 | 东华大学 | 一种检测aes-jambu抵御差分故障攻击的方法 |
-
2019
- 2019-07-01 CN CN201910584753.4A patent/CN110299988B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158796A (zh) * | 2014-07-11 | 2014-11-19 | 中国科学院信息工程研究所 | 分组密码抗线性攻击安全性的评估方法 |
CN105227295A (zh) * | 2015-10-10 | 2016-01-06 | 成都芯安尤里卡信息科技有限公司 | 一种针对sms4密码算法的差分故障注入攻击 |
CN109831294A (zh) * | 2019-01-02 | 2019-05-31 | 北京邮电大学 | Spn型分组密码抗故障攻击能力评估方法及装置 |
CN109842483A (zh) * | 2019-03-18 | 2019-06-04 | 东华大学 | 一种检测aes-jambu抵御差分故障攻击的方法 |
Non-Patent Citations (3)
Title |
---|
YANG GAO 等: "Methods of differential fault attack on LBlock with analysis of probability", 《2018 IEEE 3RD ADVANCED INFORMATION TECHNOLOGY, ELECTRONIC AND AUTOMATION CONTROL CONFERENCE (IAEAC)》 * |
王涛 等: "对轻量级分组密码算法LBlock的差分故障攻击", 《密码学报》 * |
高杨 等: "轻量级分组密码算法TWINE差分故障攻击的改进", 《通信学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532373A (zh) * | 2020-11-24 | 2021-03-19 | 中国电力科学研究院有限公司 | 针对流密码算法的差分故障分析方法、系统和存储介质 |
CN112532373B (zh) * | 2020-11-24 | 2023-08-25 | 中国电力科学研究院有限公司 | 针对流密码算法的差分故障分析方法、系统和存储介质 |
CN114070560A (zh) * | 2022-01-13 | 2022-02-18 | 浙江大学 | 一种针对分组密码的代数持久性故障分析方法及装置 |
CN116232561A (zh) * | 2023-05-09 | 2023-06-06 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
CN116232561B (zh) * | 2023-05-09 | 2023-08-25 | 杭州海康威视数字技术股份有限公司 | 抵抗差分故障攻击的冗余加密优化方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110299988B (zh) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lerman et al. | A machine learning approach against a masked AES: Reaching the limit of side-channel attacks with a learning model | |
CN110299988A (zh) | 轻量级分组密码算法抗攻击能力的检测方法及检测装置 | |
Muir | A tutorial on white-box AES | |
CN108055120B (zh) | 一种检测aes-otr算法抵御差分故障攻击的方法 | |
CN102138300A (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN110351077A (zh) | 数据加密的方法、装置、计算机设备和存储介质 | |
CN111512590B (zh) | 用于密码认证的同态加密 | |
Barenghi et al. | Fault attack on AES with single-bit induced faults | |
Shi et al. | SDSRS: A novel white-box cryptography scheme for securing embedded devices in IIoT | |
CN109450632A (zh) | 基于白盒分组密码clefia分析的密钥恢复方法 | |
US11133930B2 (en) | Security credentials | |
CN112653546A (zh) | 一种基于功耗分析的故障攻击检测方法 | |
CN102404108B (zh) | 一种针对aes-128算法的新型故障攻击方法 | |
Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
Tsou et al. | SER: Secure and efficient retrieval for anonymous range query in wireless sensor networks | |
Hnath et al. | Differential power analysis side-channel attacks in cryptography | |
Lim et al. | Differential fault attack on lightweight block cipher PIPO | |
Caforio et al. | Complete practical Side-Channel-assisted reverse engineering of AES-like ciphers | |
Beckers et al. | Fault analysis of the chacha and salsa families of stream ciphers | |
Li et al. | Single byte differential fault analysis on the LED lightweight cipher in the wireless sensor network | |
Ou et al. | Group verification based multiple-differential collision attack | |
Sabeena et al. | Identification Of Better Encryption Algorithm in Securing Data | |
Aljuffri et al. | Balanced Dual-Mask Protection Scheme for GIFT Cipher Against Power Attacks | |
CN110601818A (zh) | 一种检测sms4密码算法抵御统计故障攻击的方法 | |
CN109376536A (zh) | 获取Cookie的方法、装置、计算机设备以及存储介质 |
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 |