CN116318612A - 一种针对分组密码的冗余增强型代数故障分析方法及装置 - Google Patents
一种针对分组密码的冗余增强型代数故障分析方法及装置 Download PDFInfo
- Publication number
- CN116318612A CN116318612A CN202310238584.5A CN202310238584A CN116318612A CN 116318612 A CN116318612 A CN 116318612A CN 202310238584 A CN202310238584 A CN 202310238584A CN 116318612 A CN116318612 A CN 116318612A
- Authority
- CN
- China
- Prior art keywords
- encryption
- fault
- ciphertext
- block cipher
- round
- 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.)
- Pending
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000002347 injection Methods 0.000 claims abstract description 16
- 239000007924 injection Substances 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 30
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 2
- 238000005336 cracking Methods 0.000 abstract 1
- 230000001052 transient effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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
-
- 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/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种针对分组密码的冗余增强型代数故障分析方法,所述方法包括:将明文输入目标分组密码,获取正确密文;对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确‑故障密文对;根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;对加密代数系统中的变量根据正确‑故障密文对进行赋值;求解加密代数系统,得到加密主密钥。本发明方法提升了破解效率,并且所需密文数量更少。
Description
技术领域
本发明涉及通信与信息安全领域,尤其涉及一种针对分组密码的冗余增强型代数故障分析方法及装置。
背景技术
分组密码算法是密码学当中一个重要的领域,它被广泛地应用于智能卡等商用设备中。目前广泛使用的诸如高级加密标准(Advanced Encryption Standard),PRESENT等常见密码算法都有着极高的理论安全性能,传统的密码学分析方法很难对这些算法产生实质性的威胁。
对于分组密码,故障攻击是一类常见的攻击方式。故障攻击通过改变密码系统的运行条件,或是施加外部干扰使得密码算法的运行出错,进而获取到密码系统内部的敏感信息。按照实施过程,故障攻击可以分为两个阶段。第一阶段被称为故障注入阶段,该阶段攻击者需要对密码设备的运行进行干扰并使其出错,常见的故障注入手段包括电磁、激光、电压以及时钟毛刺等等。第二阶段被称为故障分析阶段,该阶段中攻击者对带有故障的密码设备的输出进行分析,从而推测出密码系统中的敏感信息。
常见的故障分析手段有DFA(差分故障分析)、AFA(代数故障分析)、SFA(统计故障分析)等。对故障存在时间进行分类时可以分为瞬时故障(transient fault)、永久故障(permanent fault)和持久故障(persistent fault)等,其中,大多数传统的故障攻击方法多是针对于瞬时故障。为了解决DFA通用性较差的缺点,Courtois等人在2010年将DFA与代数密码分析学相结合,提出了AFA(代数故障分析),利用机器求解器的通用性来赋予算法恢复密钥的通用性。在AFA中,攻击者在获得一系列正确密文{C}以后可以通过武力手段在加密过程中注入瞬时故障,并且得到对应的故障密文{C*},然后利用这些信息对所构建的代数系统中相应变量进行赋值。最后将恢复密钥的问题转化为数学上求解方程组之解的问题。
然而,AFA作为对分组密码进行故障分析的方法,依然存在以下弊端:
在故障分析的问题转化为代数系统后,分组密码所提供的额外信息会被丢失,导致使用通用求解器对代数系统进行求解时无法利用所处的特殊语境进行加速。因此,AFA无法处理代数系统具有较大规模的情形,目前学界只能将AFA应用在轻量级的分组密码上,并且要求故障注入的位置非常靠近密文输出位置。
发明内容
鉴于此,本发明提出了一种针对分组密码的冗余增强型代数故障分析方法及装置。
为实现上述发明目的,本发明的技术方案为:
本发明实施例的第一方面提供了一种针对分组密码的冗余增强型代数故障分析方法,所述方法包括:
将明文输入目标分组密码,获取正确密文;
对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确-故障密文对;
根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;
根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
对加密代数系统中的变量根据正确-故障密文对进行赋值;
求解加密代数系统,得到加密主密钥。
本发明实施例的第二方面提供了一种针对分组密码算法的冗余增强型代数故障分析装置,包括:
加密模块,用于将明文输入目标分组密码,获取正确密文;并对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确-故障密文对;
分析模块,用于根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;
冗余模块,根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
求解模块,用于对加密代数系统中的变量根据正确-故障密文对进行赋值,求解加密代数系统,得到加密主密钥。
本发明实施例的第三方面提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
本发明实施例的第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述的步骤。
与现有技术相比,本发明的有益效果为:本发明提出了一种针对分组密码的冗余增强型代数故障分析方法,引入了代数用于建立目标密码的倒数多轮加密方程和对应轮密钥的约束方程,并且利用SPN结构分组密码的通用性质构建了有效的冗余约束,极大地提高系统求解效率。本发明方法不仅保持了普适性,还解决了AFA无法应用于重量级分组密码在实际攻击场景中操作性较低的技术问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的一种针对分组密码的冗余增强型代数故障分析方法的流程图;
图2为AES-128加密算法的示意图;
图3为本发明提出的一种针对分组密码的冗余增强型代数故障分析装置的流程图;
图4为一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
图1是根据一示例性实施例示出的一种针对分组密码的冗余增强型代数故障分析方法的流程图,如图1所示,所述方法包括以下步骤:
步骤S1,将明文输入目标分组密码,得到正确密文。
在步骤S1的具体实施中,根据目标分组密码的规模以及所选择故障模型的复杂度来选择随机明文的数目。当目标密码的规模越大,即密钥长度越长,或是故障注入的位置距离密文输出位置越近,需要注入的故障数目越多。通常来说,只需要用到1~3个明文。在输入明文以后,将对应的明文-密文对记录下来。
步骤S2,目标分组密码进行暂时性的故障注入,再次输入相应的明文,得到故障密文;将正确密文与对应的故障密文组成正确-故障密文对。
在步骤S2的具体实施中,遍历步骤S1中记录的明文重新输入给目标密码,并在每个明文加密期间对加密设备施加固定的物理干扰(如激光、加热等),其中,故障注入的具体位置是已知的,但所注入的故障值是未知的,从而使得每个明文在加密过程中,某一部分会产生恒定的、未知的故障值f,这一故障将会通过轮函数不断传播,最终得到故障密文。再结合步骤S1中记录的明文,就可以得到若干正确密文-故障密文对,记为
步骤S3,根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统。
根据目标分组密码,构建倒数若干轮的加密代数方程,表达式如下:
Si+1=Ti(Ki,Si)
在步骤S3的具体实施中,为每条所述故障密文构建倒数r轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程,包括以下子步骤:
步骤S301,根据目标分组密码,分析目标密码轮函数的组成;
分组密码的轮函数一般包含三种操作:线性操作、非线性替换和轮密钥异或。以AES-128加密算法为例,如图2所示,该密码的轮函数包含非线性替换层SubBytes,线性层ShiftRows和列混合变换MixColumns,数据每一轮最后将会与轮密钥进行异或操作,得到该轮输出。
步骤S302,根据目标密码轮函数组成中的线性操作建立第一方程;
具体地,假设某个线性操作L的输入为n位比特(x0,x1,...,xn-1),输出为n位比特(y0,y1,...,yn-1),那么存在一个n×n的0-1矩阵(aij)0≤i,j<n以及n位常数比特(bi)0≤i<n,使得
以AES-128加密算法为例,假设第r轮SubBytes,ShiftRows,MixColumns的输出分别为并且线性操作ShiftRows以及MixColumns对应的0-1矩阵和常数比特分别为/>和/>那么第一方程包含:
步骤S303,根据目标密码轮函数中的非线性操作建立第二方程;
使得:
其中,ti为t的第i个比特,xi为x的第i个比特。以AES加密算法为例:
y0=x0+x2+x3+x4+1+x0x1+x0x4+x0x5+x0x6+x1x2+x1x3+x1x4+x1x6+x2x3+x2x4+x2x6+x2x7+x4x6+x5x6+x5x7+x6x7+x0x1x4+x0x1x6+x0x1x7+x0x2x4+…
y1=x0+x3+x6+x7+1+x0x1+x0x2+x0x3+x0x4+x0x7+x1x3+x1x4+X1X7+x2x3+x2x6+x2x7+x3x7+X4x5+x4x6+x0x1x3+x0x1x4+x0x1x6+x0x2x3+x0x2x7+…
步骤S304,根据目标密码轮函数中的轮密钥异或层建立第三方程;
具体的,异或层的输出始终是上一轮操作输出与轮密钥的异或结果。
步骤S305,根据目标分组密码,将第一、第二、第三方程进行组合,建立倒数r轮的加密方程。
以AES加密算法为例,其倒数r轮的加密方程可以表示为:
其中,Xr-1,Kr分别表示第r轮的输入状态和轮密钥,R表示分组密码最大加密轮数。特别地,X0表示输入明文,XR表示输出密文。
步骤S305,根据所述目标密码,为倒数r轮中的轮密钥添加密钥约束方程;
具体地,在分组密码中,每一轮的轮密钥都由上一轮密钥通过某种扩展算法KeyExpansion得到,输入的主密钥将作为这些迭代的初始值。我们将下述方程添加到系统中
其中,KeyExpansioni表示分组密码第r轮密钥扩展的算法,r*表示故障注入的轮数位置,Kr为第r轮密钥。一般来说,密钥扩展算法所用到的操作都来源于轮函数。,
步骤S4,根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
在步骤S4的具体实施中,包含下列子步骤:
步骤S401,对于轮函数中的每一个操作T,在步骤S3添加加密过程约束时建立了等式:
Si+1=Ti(Ki,Si)
y=T
其中,x表示该操作的输入变量,y表示该操作的输出变量。根据分组密码的性质,在给定主密钥的前提下,当个明文的加密结果是固定且唯一的,所以操作T必然可逆,因此,根据目标密码的解密算法从密文输出位置逆推至故障注入位置,建立倒数r轮的解密方程,作为第一冗余约束,表达式如下:
Si=Ti -1(Ki,Si+1)
在添加这一第一冗余约束以后,求解器对系统中变量值的前后推理将得到促进。
以AES加密算法为例,在步骤S3的基础上,添加如下冗余约束:
AKr-1=SubBytes-1(SBr)
SBr=ShiftRows-1(SRr)
SRr=MixColumns-1(MCr)
步骤S402,如果第i轮的轮函数Ti是一个仿射变换,即对任意的j,k=0,1,…,n-1,存在常数aj,k,bj∈{0,1},使得下列的等式成立:
Ti(xn-1…x1x0)=yn-1…y1y0
那么其输入输出也满足相应的线性关系。
将每一轮正确加密与故障加密的差分故障作为布尔变量,根据SPN结构中线性层的加性结构,构造故障传播的冗余方程,并添加到加密代数系统中。
当目标分组密码第i轮的轮函数Ti为线性操作与轮密钥异或操作时,输入输出的故障总是存在线性关系的,需添加第二冗余约束,表达式如下:
其中,f是正确输入与故障输入的差分,f′是正确输出与故障输出的差分。A是轮函数对应的线性变换矩阵,b是轮函数对应的偏移值,x是正确加密对应的输入值,x*是错误加密对应的输入值。这部分简单的额外约束可以使得求解器在搜索过程中更早地发现矛盾,提前剪枝,使效率得到巨大提升。
以AES加密算法为例,在这一步添加如下冗余:
当目标分组密码第i轮的轮函数Ti为非线性操作时,添加第三冗余约束。一般来说输入差分与输出差分只存在非常复杂的非线性关系,将这种非线性约束添加到系统中造成的开销极大。然而,在特殊情形下,本发明实施例可以保证输入输出差分相等。假设分组密码所用的S盒大小为k比特,如果某个S盒输入的k个比特均不存在故障,那么其输出的k个比特也不存在故障。
所述添加第三冗余约束的表达式如下:
步骤S5,对加密代数系统中的变量根据正确-故障密文对进行赋值;
在步骤S5的具体实施中,根据已知的正确密文、故障密文为代数系统中变量赋值:具体地,对所述倒数r轮加密方程中表示输出密文的变量,使用实际收集到的正确密文C进行赋值。正确密文C中的第i个比特ci为0时,加密方程中表示密文的变量赋值为0,反之赋值为1。通过这步可以将实际正确密文C与代数方程相联系。同理,可以将故障密文C*与代数方程相联系。其中,正确密文C和故障密文C*都在步骤S2中被储存起来。
步骤S6,求解添加冗余的加密代数系统,得到加密主密钥。
在步骤S6的具体实施中,包括:
步骤S601,根据添加冗余的加密代数系统,将其输入至代数解析器当中并调用代数解析器进行求解;
具体地,本实施例中,基于可满足性(SAT)问题的CryptoMiniSAT解析器,采用python下pycryptosat库,首先创建求解器的对象,再将添加冗余的加密代数系统传入对象中,最后调用对象内置解析器进行求解。
步骤S602,根据求解结果,恢复目标密码加密所使用的主密钥。
具体地,使用上述SAT求解器进行求解后,其加密代数方程变量中用来表示主密钥的变量结果即为目标密码在加密时所使用的主密钥。
综上所述,由上述实施例可知,本发明引入了代数用于建立目标密码的倒数多轮加密方程和对应轮密钥的约束方程,并且利用SPN结构分组密码的通用性质构建了有效的冗余约束,可以极大地提高系统求解效率。与传统AFA相比,本申请提出的经过冗余增强的RAFA算法(Redundancies-assisted AFA)不仅保持了普适性,还能够解决AFA无法应用于重量级分组密码,在实际攻击场景中操作性较低的技术问题。
与前述的一种针对分组密码算法的冗余增强型代数故障分析方法的实施例相对应,本申请还提供了一种针对分组密码算法的冗余增强型代数故障分析装置的实施例。
加密模块301,用于将明文输入目标分组密码,获取正确密文;并对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确-故障密文对;
分析模块302,用于根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;
冗余模块303,根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
求解模块304,用于对加密代数系统中的变量根据正确-故障密文对进行赋值,求解加密代数系统,得到加密主密钥。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,如图4所示,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的一种针对分组密码的冗余增强型代数故障分析方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的一种针对分组密码的冗余增强型代数故障分析方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且
可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种针对分组密码的冗余增强型代数故障分析方法,其特征在于,所述方法包括:
将明文输入目标分组密码,获取正确密文;
对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确-故障密文对;
根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;
根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
对加密代数系统中的变量根据正确-故障密文对进行赋值;
求解加密代数系统,得到加密主密钥。
2.根据权利要求1所述的一种针对分组密码的冗余增强型代数故障分析方法,其特征在于,对分组密码进行故障注入,再将明文重新输入故障的分组密码,获取故障密文包括:
将明文重新输入至分组密码,在每个分组密码的加密期间,施加物理干扰,使得每一明文在加密的过程中产生未知的故障值,经分组密码轮函数传播后,获取故障密文。
4.根据权利要求1或3所述的一种针对分组密码的冗余增强型代数故障分析方法,其特征在于,根据分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程包括:
分组密码的轮函数包括线性层、非线性层和轮密钥异或层;
根据线性层建立第一方程,根据非线性层建立第二方程,根据轮密钥异或层建立第三方程;
根据分组密码的结构,将第一、第二、第三方程进行结合,建立倒数r轮的加密代数方程。
6.根据权利要求1所述的一种针对分组密码的冗余增强型代数故障分析方法,其特征在于,根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束包括:
建立倒数r轮的解密方程,作为第一冗余约束,表达式如下:
当目标分组密码第i轮的轮函数Ti为线性操作与轮密钥异或操作时,添加第二冗余约束,表达式如下:
式中,是正确输入与故障输入的差分,f′是正确输出与故障输出的差分,A是轮函数对应的线性变换矩阵,b是轮函数对应的偏移值,x是正确加密对应的输入值,x*是错误加密对应的输入值;
当目标分组密码第i轮的轮函数Ti为非线性操作时,添加第三冗余约束,表达式如下:
式中,fi,jk为第i轮输出故障差分的第jk位比特值。
7.根据权利要求1所述的一种针对分组密码的冗余增强型代数故障分析方法,其特征在于,对加密代数系统中的变量根据正确-故障密文对进行赋值包括:
正确密文中的第i个比特ci为0时,加密代数系统中表示密文的变量赋值为0,反之赋值为1;
故障密文中的第j个比特cj为0时,加密代数系统中表示密文的变量赋值为0,反之赋值为1。
8.一种针对分组密码算法的冗余增强型代数故障分析装置,其特征在于,包括:
加密模块,用于将明文输入目标分组密码,获取正确密文;并对目标分组密码进行故障注入,再将明文重新输入故障的目标分组密码,获取故障密文;将正确密文与对应的故障密文组成正确-故障密文对;
分析模块,用于根据目标分组密码的轮函数组成为每条故障密文构建倒数r轮的加密代数方程,并对加密代数方程添加对应的密钥约束代数方程,得到加密代数系统;
冗余模块,根据目标分组密码加密操作的可逆性以及SPN结构对加密代数系统添加冗余约束;
求解模块,用于对加密代数系统中的变量根据正确-故障密文对进行赋值,求解加密代数系统,得到加密主密钥。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310238584.5A CN116318612A (zh) | 2023-03-13 | 2023-03-13 | 一种针对分组密码的冗余增强型代数故障分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310238584.5A CN116318612A (zh) | 2023-03-13 | 2023-03-13 | 一种针对分组密码的冗余增强型代数故障分析方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116318612A true CN116318612A (zh) | 2023-06-23 |
Family
ID=86821809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310238584.5A Pending CN116318612A (zh) | 2023-03-13 | 2023-03-13 | 一种针对分组密码的冗余增强型代数故障分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116318612A (zh) |
-
2023
- 2023-03-13 CN CN202310238584.5A patent/CN116318612A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109787743B (zh) | 一种基于矩阵运算的可验证的全同态加密方法 | |
CN102594545B (zh) | 信息处理装置 | |
US8504845B2 (en) | Protecting states of a cryptographic process using group automorphisms | |
CA2827761A1 (en) | Cryptographic processing device, cryptographic processing method, and program | |
Zhang et al. | A novel differential fault analysis using two‐byte fault model on AES Key schedule | |
CN112653546A (zh) | 一种基于功耗分析的故障攻击检测方法 | |
Salam et al. | Random differential fault attacks on the lightweight authenticated encryption stream cipher grain-128AEAD | |
Liu et al. | Fault attacks on authenticated encryption modes for GIFT | |
Jana et al. | Differential fault attack on photon-beetle | |
Le et al. | Improved fault analysis on SIMECK ciphers | |
Saha et al. | White-box cryptography based data encryption-decryption scheme for iot environment | |
Li et al. | Differential fault analysis on Camellia | |
Luo et al. | Differential fault analysis of SHA-3 under relaxed fault models | |
CN113949500A (zh) | 一种针对sm4二阶能量分析攻击方法 | |
Hou et al. | DNFA: Differential no-fault analysis of bit permutation based ciphers assisted by side-channel | |
CN113746642B (zh) | 一种计算机间通信方法及系统 | |
Li et al. | Single byte differential fault analysis on the LED lightweight cipher in the wireless sensor network | |
CN116318612A (zh) | 一种针对分组密码的冗余增强型代数故障分析方法及装置 | |
US20230141210A1 (en) | Neural networks | |
Li et al. | Security analysis of the whirlpool hash function in the cloud of things | |
Qin et al. | On the cryptanalysis of two cryptographic algorithms that utilize chaotic neural networks | |
Ma et al. | Differential fault analysis on 3DES middle rounds based on error propagation | |
CN114070560B (zh) | 一种针对分组密码的代数持久性故障分析方法及装置 | |
Saha et al. | Diagonal fault analysis of Gr⊘ stl in dedicated MAC mode | |
Qahur Al Mahri et al. | Fault analysis of AEZ |
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 |