CN113434332A - 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法 - Google Patents

基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法 Download PDF

Info

Publication number
CN113434332A
CN113434332A CN202110586601.5A CN202110586601A CN113434332A CN 113434332 A CN113434332 A CN 113434332A CN 202110586601 A CN202110586601 A CN 202110586601A CN 113434332 A CN113434332 A CN 113434332A
Authority
CN
China
Prior art keywords
round
fault
key
correct
error
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
CN202110586601.5A
Other languages
English (en)
Other versions
CN113434332B (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.)
National Information Technology Security Research Center
Original Assignee
National Information Technology Security Research Center
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 National Information Technology Security Research Center filed Critical National Information Technology Security Research Center
Priority to CN202110586601.5A priority Critical patent/CN113434332B/zh
Publication of CN113434332A publication Critical patent/CN113434332A/zh
Application granted granted Critical
Publication of CN113434332B publication Critical patent/CN113434332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开一种基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法,涉及密码算法产品安全检测或分析领域,通过对同一明文进行正确和错误加密,错误加密需要在第12或13轮注入单比特故障,以获得正确/错误密文对,基于差分表得到一系列最后一轮密钥的候选值,利用查分故障攻击的方式最终恢复正确密钥。

Description

基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法
技术领域
本发明涉及密码算法产品安全检测或分析领域,具体是针对DES/3DES算法的单比特故障攻击的密钥恢复方法。
背景技术
随着信息技术的发展,许多敏感信息和财产都极度依赖于电子密码设备。在这种趋势下,对电子密码设备的安全性分析方法越来越多,使得电子设备的安全性受到了极大的挑战。在电子设备中,通常使用国内外安全标准密码算法来保障其安全性,在对电子设备的攻击中,传统的密码分析并不能有效地进行攻击,使用侧信道攻击会降低分析密码算法的复杂度且成功率较高。侧信道攻击包括时间分析、能量分析攻击、电磁攻击和故障攻击等,其中故障攻击是侧信道攻击的一种常用攻击方法。
故障攻击是通过在密码设备运行密码算法的过程中,在算法特定位置注入故障,使得密码算法运行异常,收集到的正确和错误密文对,利用密码学和统计学原理,恢复密钥的一种攻击方法。
DES/3DES算法是国际上通用的分组密码算法,在我国电子设备中大量使用,针对该算法实现有必要提出一种中间轮攻击的故障分析方法,来满足密码设备日益增长的安全需求。
发明内容
本发明的目的是提供一种基于故障蔓延的针对DES/3DES算法中间轮攻击的密钥恢复方法,对同一明文进行正确和错误加密,错误加密需要在第12或13轮注入单比特故障,以获得正确/错误密文对,基于差分表得到一系列最后一轮密钥的候选值,利用查分故障攻击的方式最终恢复正确密钥。
本领域部分公知术语定义如下:
差分故障攻击:攻击者使用相同明文进行两次加解密,一次未加入故障得到正确密文,另一次注入故障得到错误密文。攻击者对正确/错误密文对进行差分运算,利用算法特有的结构和密码学等知识,恢复密钥的一种方法。
差分表:对于DES算法轮函数中的S盒置换,第i个S盒的输入输出差分表如下:
Figure BDA0003087804880000011
其中Δa表示同一个S盒的两个输入差分值,Δb表示S盒输出的差分值。穷举z、Δa和Δb,可以得到满足上式的差分表。
为解决上述技术问题,本发明采用以下技术方案:
一种基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法,包括如下步骤:
对于DES算法攻击,其密钥恢复步骤包括:
S1:选择DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,一组正确/错误密文对由一个正确密文和一个错误密文组成;
S2:建立两种故障模型1和2和状态模板,该故障模型1为在轮函数输入处注入单比特故障,经DES算法的扩展函数E,与密钥异或,S盒替换处理操作后,有且仅有一个S盒的输出发生故障;该故障模型2为在轮函数输入处注入单比特故障,经DES算法的扩展函数E,与密钥异或,S盒替换处理操作后,有两个S盒的输出发生故障;该状态模板为含有DES加密的32位中间值数据所处正常状态和各种故障状态差分信息;将获取的正确/错误密文对与状态模板进行匹配,确认属于故障模型1或2;
S3:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复DES算法密钥;
对于3DES算法攻击,按照第3个、第2个、第1个DES算法的选择顺序,每个DES算法都执行上述S1至S3的步骤,依次恢复第3个、第2个、第1个DES算法的密钥,从而恢复3DES密钥;即其密钥恢复步骤包括:
S4:选择第3个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对;
S5:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,确认属于故障模型1或2;
S6:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第3个DES算法密钥;
S7:选择第2个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,利用步骤S6恢复的第3个DES算法密钥解密前述获取的多组正确/错误密文对,得到多组第2个DES的正确/错误密文对;
S8:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,得到故障模型1或2;
S9:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第2个DES算法密钥;
S10:选择第1个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,依次利用步骤S6恢复的第3个DES算法密钥和步骤S9恢复的第2个DES算法来解密前述获取的多组正确/错误密文对,得到多组第1个DES的正确/错误密文对;
S11:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,得到故障模型1或2;
S12:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第1个DES算法密钥。
进一步地,步骤S1、S4、S7、S10具体采用以下步骤中的一个:
1)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第13轮左半部分(L12)相同位置注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n};
2)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第13轮左半部分(L12)随机注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n};
3)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第12轮左半部分(L11)相同位置注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n}。
进一步地,步骤S2、S5、S8、S11中的将获取的正确/错误密文对与状态模板进行匹配具体包括以下步骤:
将获取的正确/错误密文对中的第16轮输出左半部分数据L16进行异或运算,得到ΔL16
由DES算法得到第15轮右半部分输出数据R15等于第16轮输出左半部分数据L16,所以ΔR15=ΔL16,ΔR15为第15轮右半部分输出数据异或值,得到S盒输出异或结果P-1(ΔR15)=P-1(ΔL16),该P-1是DES算法的P盒置换的逆变换;
将P-1(ΔR15)与状态模板基于欧氏距离匹配得到故障模型1或2。
进一步地,步骤S3、S6、S9、S12中的故障分析包括:根据所述步骤1)和故障模型1进行故障分析,根据所述步骤1)和故障模型2进行故障分析,根据所述步骤2)和故障模型1进行故障分析,或者根据所述步骤3)和故障模型1进行故障分析。
进一步地,根据所述步骤1)和故障模型1进行故障分析,包括以下步骤:
确定故障注入位置,得到第13轮右半数据的异或值ΔR13
由第13轮右半数据的异或值ΔR13,计算
Figure BDA0003087804880000041
可推导出P-1(ΔR14),其中ΔR15为第15轮右半部分输出,ΔR14为第14轮右半部分输出异或值;
由式
Figure BDA0003087804880000042
其中
Figure BDA0003087804880000043
为15轮输出右半部分错误密文,K16为第16轮轮密钥,ΔR16为第16轮右半部分输出异或值,E是DES算法的扩展函数,S是DES算法的S盒,通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
对所述一系列最后一轮密钥的候选值求交集,得到一个唯一轮密钥值,进而恢复DES算法密钥。
进一步地,根据所述步骤1)和故障模型2进行故障分析,包括以下步骤:
令P-1(ΔR14)=0,其中ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换,代入式
Figure BDA0003087804880000044
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
由所述一系列最后一轮密钥的候选值求交集,得到轮密钥中的36位密钥;
穷举所述36位密钥中的12位密钥,得到最后一轮完整轮密钥值,进而恢复DES算法密钥。
进一步地,根据所述步骤2)和故障模型1进行故障分析,包括以下步骤:
令P-1(ΔR14)=0,其中ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换,代入式
Figure BDA0003087804880000045
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
由所述一系列最后一轮密钥的候选值求交集,得到轮密钥中的28位密钥;
对步骤S1、S4、S7、S10中获取的多组正确/错误密文对重复执行上述两个步骤,得到一个唯一轮密钥值,进而恢复DES算法密钥。
进一步地,根据所述步骤3)和故障模型1进行故障分析,包括以下步骤:
通过分析得到
Figure BDA0003087804880000046
在第i组始终为0的概率Pi大于等于1/8,i取值范围为1至8,ΔR12是第12轮右半部分输出的异或值,ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换;
将P-1(ΔR14)=0代入式
Figure BDA0003087804880000047
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
计算每个所述密钥的候选值出现的频数和概率分布,若大于Pi则为正确密钥,若小于则为错误密钥,抛弃,得到最后一轮轮密钥,进而恢复DES算法密钥;
重复7次上述三个步骤,每次重复i加1,直到恢复最后一轮密钥值。
与现有技术相比,本发明的技术方案具有如下优点:
1)本发明改善了攻击中间轮不仅需要大量的正确/错误密文对,且不一定能正确恢复密钥的问题。与之前的方法相比,本发明增加了两种故障蔓延模型、状态模板,结合状态模板匹配,确定故障注入位置,降低了分析算法密钥的复杂度,需要的错误密文数量较少,且可以正确恢复密钥。
2)本发明增加了
Figure BDA0003087804880000051
为0的概率值作为密钥区分器,使得该分析方法更通用。
3)本发明提出的方法,对于其它Feistel结构的算法故障分析有一定的借鉴意义,使得该方法的应该前景更广泛。
附图说明
图1为本发明的基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法简要流程图。
图2为故障模型1示意图。
图3为故障模型2示意图。
图4为本发明的基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法具体流程图。
图5为第13轮注入故障的蔓延过程示意图。
图6为第12轮注入故障的蔓延过程示意图。
具体实施方式
为使本发明的技术方案能更明显易懂,特举实施例并结合附图详细说明如下。
本实施例公开一种基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法,对于DSE算法,密钥恢复过程如图1所示,包括以下步骤:
S1:选择DES算法运算的第12轮或13轮多次单比特注入,获取多组正确/错误密文对;
S2:由获取的正确/错误密文对,与状态模板进行匹配,得到错误故障模型1或2;
S3:根据错误注入中间轮数和模型,进行相应的故障分析,恢复DES算法密钥;
对于3DES算法的密钥恢复,密钥恢复过程大体相当于三次对于DSE算法的密钥恢复过程,即需要重复S1-S3,逆序恢复每一个DES算法密钥,详细步骤见上述的技术方案。
图2给出了故障模型1的一个故障扩散示例。以故障发生在轮加密函数输入处的第二比特为例,经过扩展函数E扩展后,输出结果中的第三比特将发生翻转。扩展函数E的输出将作为下一阶段函数的输入,分别进入到对应的S盒中。S盒函数为非线性替换函数,第一个S盒的输入发生错误,经S盒替换后,故障将影响其输出的所有比特。输入未受到影响的S盒,其输出结果则不会发生改变为0,未知结果为x。
图3给出了故障模型2的一个故障扩散示例。以故障发生在轮加密函数输入处的第一比特为例,经过扩展函数E扩展后,输出结果中的第二比特和最后一个比特将发生翻转。扩展函数E的输出将作为下一阶段函数的输入,分别进入到对应的S盒中。S盒函数作为非线性替换函数,第一个S盒和最后一个S盒的输出发生错误,故障将会影响其对应输出的所有比特。输入未受到影响的S盒,其输出结果不会发生改变为0,未知结果为x。
图5和图6给出了第13和12轮注入故障的蔓延过程,图中f函数代表加密轮函数,具体包含扩展函数E扩展、S盒替换、轮密钥加和P盒置换四个子函数。根据DES算法的结构定义,中间状态的右半部分由前一状态的右半部分经轮函数f变换,与前一状态的左半部分异或得到。
进一步地,S1具体包括以下步骤:
S11:对明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第十三轮左半部分(L12)相同位置注入单比特故障,得到正确密文集合{Cn}和错误密文集合{C'n};
S12:对明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第十三轮左半部分(L12)随机注入单比特故障,得到正确密文集合{Cn}和错误密文集合{C'n};
S13:对明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第十二轮左半部分(L11)相同位置注入单比特故障,得到正确密文集合{Cn}和错误密文集合{C'n}。
以上步骤不分先后顺序。
进一步地,S2具体包括以下步骤:
S21:将S1中获取的正确/错误密文对数据即左半部分数据L16进行异或运算得到ΔL16
S22:由DES算法得到ΔR15=ΔL16,S盒输出异或结果P-1(ΔR15)=P-1(ΔL16),此处P-1是P盒的逆变换;
S23:将P-1(ΔR15)与状态模板匹配得到故障模型1或2。
进一步地,S23中采用的模板匹配方法,包括以下步骤:
S2311:建立故障模型1:在轮函数输入处注入单比特故障,经扩展函数E,与密钥异或,S盒替换处理操作后,有且仅有一个S盒的输出发生故障;建立故障模型2:在轮函数输入处注入单比特故障,经扩展函数E,与密钥异或,S盒替换处理操作后,有两个S盒的输出发生故障。
S2312:建立状态模板,模型、故障位置、对应状态和状态模板如下表1:
表1
Figure BDA0003087804880000071
表1中对应状态为DES加密的某个共32位中间值,每4位分为一组,共8组,其中YYYY为未知数据。
S2313:计算集合{P-1(ΔR15)n}j与状态模板ij的距离
Figure BDA0003087804880000072
i代表9种状态模板,j代表数据所处的组数,N表示密文对的个数。
将状态模板ij转化为中间值Aij,转化方法为:当状态模板ij为0000时,Aij等于0;ij为1111时,Aij等于1000。
计算{P-1(ΔR15)n}与状态模板i的匹配度Mi,匹配度计算算法包括依次遍历j,计算
Figure BDA0003087804880000073
与Aij是否相等,如果相等则匹配度加1。匹配度最大值不为0证明故障模型隶属于模型1,故障位置范围可缩小至匹配度最大值状态模板对应的两个故障注入位置;匹配度最大值为0则故障模型隶属于模型2。
进一步地,S3具体包括以下步骤:
S31:由S11和模型1进行相关分析,恢复DES算法密钥;
S32:由S11和模型2进行相关分析,恢复DES算法密钥;
S33:由S12和模型1进行相关分析,恢复DES算法密钥;
S34:由S13和模型1进行相关分析,恢复DES算法密钥。
以上步骤不分先后顺序。
进一步地,S31中采用的相关分析方法,包括以下步骤:
S3111:确定故障注入位置:假设模型1的两个故障位置p1和p2,分别计算{P-1(ΔR15)n},
Figure BDA0003087804880000081
与匹配度最大状态模板i的距离集合
Figure BDA0003087804880000082
Figure BDA0003087804880000083
Figure BDA0003087804880000084
分别比较集合
Figure BDA0003087804880000085
Figure BDA0003087804880000086
Figure BDA0003087804880000087
内的8个数据,若其中一组数据中的某个值比原始数据大,则为故障注入的位置;
S3112:由S3111得到ΔR13,计算
Figure BDA0003087804880000088
得到P-1(ΔR14);
S3113:由式
Figure BDA0003087804880000089
其中
Figure BDA00030878048800000810
为错误密文,通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
S3114:对步骤S3113中的一系列密钥候选值求交集,最后得到一个唯一轮密钥值,进而恢复DES密钥。。
进一步地,S32中采用的相关分析方法,包括以下步骤:
S3211:令P-1(ΔR14)=0代入式
Figure BDA00030878048800000811
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
S3212:由S3211中的一系列密钥候选值求交集,最后得到轮密钥中的36位密钥;
S3213:穷举12位密钥得到最后一轮完整轮密钥值,进而恢复DES密钥。。
进一步地,S33中采用的相关分析方法,包括以下步骤:
S3311:令P-1(ΔR14)=0代入式
Figure BDA00030878048800000812
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
S3312:由S3211中的一系列密钥候选值求交集,最后得到轮密钥中的28位密钥;
S3313:对多组正确/错误密文对重复S3311和S3312步骤,最后得到一个唯一轮密钥值,进而恢复DES密钥。。
进一步地,S34中采用的相关分析方法,包括以下步骤:
S3411:计算
Figure BDA0003087804880000091
在第i组为0的概率Pi=1/8;
S3412:将P-1(ΔR14)=0代入式
Figure BDA0003087804880000092
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
S3413:计算每个候选值出现的频数和概率分布,若大于Pi则为正确密钥,若小于则为错误密钥,抛弃;
S3414:i自加1,重复7次S3411-S3413,直到恢复最后一轮密钥值,进而恢复DES密钥。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,本发明的保护范围以权利要求所述为准。

Claims (9)

1.一种基于故障蔓延的针对DES/3DES中间轮攻击的密钥恢复方法,其特征在于,包括以下步骤:
对于DES算法攻击,密钥恢复步骤包括以下步骤S1~S3:
S1:选择DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,一组正确/错误密文对由一个正确密文和一个错误密文组成;
S2:建立两种故障模型1和2和状态模板,该故障模型1为在轮函数输入处注入单比特故障,经DES算法的扩展函数E,与密钥异或,S盒替换处理操作后,有且仅有一个S盒的输出发生故障;该故障模型2为在轮函数输入处注入单比特故障,经DES算法的扩展函数E,与密钥异或,S盒替换处理操作后,有两个S盒的输出发生故障;该状态模板为含有DES加密的32位中间值数据所处正常状态和各种故障状态差分信息;将获取的正确/错误密文对与状态模板进行匹配,确认属于故障模型1或2;
S3:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复DES算法最后一轮轮密钥;
对于3DES算法攻击,密钥恢复步骤包括以下步骤S4~S12:
S4:选择第3个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对;
S5:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,确认属于故障模型1或2;
S6:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第3个DES算法最后一轮轮密钥;
S7:选择第2个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,利用步骤S6恢复的第3个DES算法最后一轮轮密钥解密前述获取的多组正确/错误密文对,得到多组第2个DES的正确/错误密文对;
S8:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,得到故障模型1或2;
S9:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第2个DES算法最后一轮轮密钥;
S10:选择第1个DES算法运算的第12或13轮,进行多次单比特故障注入,获取多组正确/错误密文对,依次利用步骤S6恢复的第3个DES算法最后一轮轮密钥和步骤S9恢复的第2个DES算法来解密前述获取的多组正确/错误密文对,得到多组第1个DES的正确/错误密文对;
S11:建立两种故障模板1和2以及状态模板,将获取的正确/错误密文对与状态模板进行匹配,得到故障模型1或2;
S12:根据故障注入的第12或13轮和故障模型1或2,进行相应的故障分析,恢复第1个DES算法最后一轮轮密钥。
2.如权利要求1所述的方法,其特征在于,步骤S2、S5、S8、S11中将获取的正确/错误密文对与状态模板基于欧氏距离进行匹配。
3.如权利要求2所述的方法,其特征在于,将获取的正确/错误密文对与状态模板基于欧氏距离进行匹配包括以下步骤:
将正确/错误密文对中的第16轮输出左半部分数据L16进行异或运算,得到ΔL16
由DES算法得到第15轮右半部分输出R15等于第16轮输出左半部分L16,则ΔR15=ΔL16,其中ΔR15为第15轮右半部分输出的异或值,得到S盒输出异或结果P-1(ΔR15)=P-1(ΔL16),P-1是DES算法的P盒置换的逆变换;
将P-1(ΔR15)与状态模板基于欧氏距离匹配得到故障模型1或2。
4.如权利要求1所述的方法,其特征在于,步骤S1、S4、S7、S10具体采用以下步骤中的一个:
1)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第13轮左半部分相同位置注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n};
2)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第13轮左半部分随机注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n};
3)对n个明文集合{Pn}中的明文分别进行一次正确DES加密和一次错误加密,每次错误加密均在第12轮左半部分相同位置注入单比特故障,得到n个正确密文集合{Cn}和n个错误密文集合{C'n}。
5.如权利要求4所述的方法,其特征在于,步骤S3、S6、S9、S12中的故障分析包括:根据所述步骤1)和故障模型1进行故障分析,根据所述步骤1)和故障模型2进行故障分析,根据所述步骤2)和故障模型1进行故障分析,或者根据所述步骤3)和故障模型1进行故障分析。
6.如权利要求5所述的方法,其特征在于,根据所述步骤1)和故障模型1进行故障分析,包括以下步骤:
确定故障注入位置,得到第13轮右半数据的异或值ΔR13
计算
Figure FDA0003087804870000031
推导出P-1(ΔR14),其中ΔR15为第15轮右半部分输出,ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换;
由式
Figure FDA0003087804870000032
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值,其中
Figure FDA0003087804870000035
为15轮输出右半部分错误密文,K16为第16轮轮密钥,ΔR16为第16轮右半部分输出的异或值;
对所述一系列最后一轮密钥的候选值求交集,得到一个唯一轮密钥值,进而恢复DES算法密钥。
7.如权利要求5所述的方法,其特征在于,根据所述步骤1)和故障模型2进行故障分析,包括以下步骤:
令P-1(ΔR14)=0,其中ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换,代入式
Figure FDA0003087804870000033
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值;
由所述一系列最后一轮密钥的候选值求交集,得到轮密钥中的36位密钥;
穷举所述36位密钥中的12位密钥,得到最后一轮完整轮密钥值,进而恢复DES算法密钥。
8.如权利要求5所述的方法,其特征在于,根据所述步骤2)和故障模型1进行故障分析,包括以下步骤:
令P-1(ΔR14)=0,代入式
Figure FDA0003087804870000034
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值,其中ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换,
Figure FDA0003087804870000036
为15轮输出右半部分错误密文,K16为第16轮轮密钥,ΔR16为第16轮右半部分输出的异或值;
由所述一系列最后一轮密钥的候选值求交集,得到轮密钥中的28位密钥;
对步骤S1、S4、S7、S10中获取的多组正确/错误密文对重复执行上述两个步骤,得到一个唯一轮密钥值,进而恢复DES算法密钥。
9.如权利要求5所述的方法,其特征在于,根据所述步骤3)和故障模型1进行故障分析,包括以下步骤:
通过分析得到
Figure FDA0003087804870000041
在第i组始终为0的概率Pi大于等于1/8,其中i取值范围为1至8,ΔR12是第12轮右半部分输出的异或值,ΔR14为第14轮右半部分输出的异或值,P-1是DES算法的P盒置换的逆变换;
令P-1(ΔR14)=0,代入式
Figure FDA0003087804870000042
通过查找S盒输入输出差分表得到一系列最后一轮密钥的候选值,其中
Figure FDA0003087804870000043
为15轮输出右半部分错误密文,K16为第16轮轮密钥,ΔR16为第16轮右半部分输出的异或值;
计算每个所述最后一轮密钥的候选值出现的频数和概率分布,若大于Pi则为正确密钥,若小于则为错误密钥,抛弃,得到最后一轮轮密钥,进而恢复DES算法密钥;
重复7次上述三个步骤,每次重复i加1,直到恢复最后一轮密钥值。
CN202110586601.5A 2021-05-27 2021-05-27 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法 Active CN113434332B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110586601.5A CN113434332B (zh) 2021-05-27 2021-05-27 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110586601.5A CN113434332B (zh) 2021-05-27 2021-05-27 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法

Publications (2)

Publication Number Publication Date
CN113434332A true CN113434332A (zh) 2021-09-24
CN113434332B CN113434332B (zh) 2022-02-18

Family

ID=77803081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110586601.5A Active CN113434332B (zh) 2021-05-27 2021-05-27 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法

Country Status (1)

Country Link
CN (1) CN113434332B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965324A (zh) * 2021-12-07 2022-01-21 国家信息技术安全研究中心 基于模板的rsa-crt实现模约减攻击的私钥恢复方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2180631A1 (en) * 2008-10-24 2010-04-28 Gemalto SA Cryptographic algorithm fault protections
CN105227295A (zh) * 2015-10-10 2016-01-06 成都芯安尤里卡信息科技有限公司 一种针对sms4密码算法的差分故障注入攻击
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法
CN110401627A (zh) * 2019-01-31 2019-11-01 中国科学院软件研究所 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统
CN112149065A (zh) * 2020-09-16 2020-12-29 北京中电华大电子设计有限责任公司 一种软件防御故障注入方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2180631A1 (en) * 2008-10-24 2010-04-28 Gemalto SA Cryptographic algorithm fault protections
CN105227295A (zh) * 2015-10-10 2016-01-06 成都芯安尤里卡信息科技有限公司 一种针对sms4密码算法的差分故障注入攻击
CN108270545A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于移动互联网的改进的des数据加密算法
CN110401627A (zh) * 2019-01-31 2019-11-01 中国科学院软件研究所 一种适用于分组密码算法感染防护的抗差分故障攻击安全性评估方法和系统
CN112149065A (zh) * 2020-09-16 2020-12-29 北京中电华大电子设计有限责任公司 一种软件防御故障注入方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN113434332B (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
Ngo et al. A side-channel attack on a masked IND-CCA secure saber KEM implementation
Heuser et al. Good is not good enough: Deriving optimal distinguishers from communication theory
Zhou et al. Security analysis and new models on the intelligent symmetric key encryption
CN104838617B (zh) 整合安全装置及整合安全装置中使用的信号处理方法
CN104836666A (zh) 一种针对sm2解密算法的能量分析攻击的方法
Bogdanov Linear slide attacks on the KeeLoq block cipher
CN113434332B (zh) 基于故障蔓延的针对des/3des中间轮攻击的密钥恢复方法
CN112653546A (zh) 一种基于功耗分析的故障攻击检测方法
CN110912672A (zh) 一种检测colm认证加密算法抵御差分故障攻击的方法
CN113158179B (zh) 自动发现泄露模型的有学习的侧信道攻击方法及加密设备
Colombier et al. Message-recovery Profiled Side-channel Attack on the Classic McEliece Cryptosystem.
Wang et al. A side-channel attack on a bitsliced higher-order masked crystals-kyber implementation
CN116599657A (zh) 一种基于二维贝尔态的多方半量子秘密大小性比较方法
CN113949500A (zh) 一种针对sm4二阶能量分析攻击方法
Wu et al. Correlation power analysis attack against synchronous stream ciphers
Ma et al. Differential fault analysis on 3DES middle rounds based on error propagation
CN114124353B (zh) 一种认证加密算法silc的密钥泄漏检测方法
CN112532373B (zh) 针对流密码算法的差分故障分析方法、系统和存储介质
CN117811725A (zh) 一种针对skinny-n-n算法的新型故障攻击方法
US20230362023A1 (en) Method for improved hash chaining authentication
CN116170128A (zh) 一种针对esf密码算法的差分故障攻击方法
CN117200974A (zh) 一种基于sm4分组密码算法的故障攻击防护方法及装置
Belenky et al. Carry-based Differential Power Analysis (CDPA) and its Application to Attacking HMAC-SHA-2
Babenko et al. Application of Modern Methods of Cryptoanalysis in Designing the High-Speed Block Ciphers
CN116318612A (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