当前位置: 首页 > 专利查询>浙江大学专利>正文

一种针对分组密码的代数持久性故障分析方法及装置制造方法及图纸

技术编号:32349259 阅读:13 留言:0更新日期:2022-02-20 02:13
本发明专利技术公开了一种针对分组密码的代数持久性故障分析方法及装置,包括:对分组密码进行故障注入,得到含有故障的目标密码;将随机明文输入所述目标密码,得到故障密文;利用所述故障密文,获得故障值根据所述故障值,为每条所述故障密文构建倒数r轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程;对所述加密代数方程进行求解,得到加密主密钥。该方法将持久性故障分析和代数分析相结合,发挥了二者的优势,在最大程度上减少了恢复密钥所需的故障密文数量。了恢复密钥所需的故障密文数量。了恢复密钥所需的故障密文数量。

【技术实现步骤摘要】
一种针对分组密码的代数持久性故障分析方法及装置


[0001]本申请涉及通信与信息安全领域,尤其涉及一种针对分组密码的代数持久性故障分析方法及装置。

技术介绍

[0002]分组密码算法是密码学当中一个重要的领域,它被广泛地应用于智能卡等商用设备中。目前广泛使用的诸如高级加密标准(Advanced Encryption Standard),PRESENT等常见密码算法都有着极高的理论安全性能,传统的密码学分析方法很难对这些算法产生实质性的威胁。
[0003]对于分组密码,故障攻击是一类常见的攻击方式。故障攻击通过改变密码系统的运行条件,或是施加外部干扰使得密码算法的运行出错,进而获取到密码系统内部的敏感信息。按照实施过程,故障攻击可以分为两个阶段。第一阶段被称为故障注入阶段,该阶段攻击者需要对密码设备的运行进行干扰并使其出错,常见的故障注入手段包括电磁、激光、电压以及时钟毛刺等等。第二阶段被称为故障分析阶段,该阶段中攻击者对带有故障的密码设备的输出进行分析,从而推测出密码系统中的敏感信息。
[0004]常见的故障分析手段有DFA(差分故障分析)、AFA(代数故障分析)、SFA(统计故障分析)等。对故障存在时间进行分类时可以分为瞬时故障(transient fault)、永久故障(permanent fault)和持久故障(persistent fault)等,其中,大多数传统的故障攻击方法多是针对于瞬时故障。
[0005]在2018年CHES上张帆等人提出了PFA(持久性故障分析),持久性故障指在密码设备中持久性存在的故障但在设备重启时会消失。该分析方法会在分组密码的S盒中注入故障,使得S盒中某一项值发生改变,从而导致S盒的输出分布变得不再均匀。和分别表示S盒故障位置的原值和改变后的值,其有关系,其中表示故障差分值。假设密码算法的最后一轮为S盒的输出与密钥异或后得到故障密文。
[0006]由于S盒被注入了故障,导致S盒输出的一种输出不会再出现,即。在密钥保持不变的情况下,收集足够多的密文时,可以通过对密钥搜索空间大小进行缩减至一,即为真实密钥值。
[0007]在实现本专利技术的过程中,专利技术人发现PFA作为一种新的对分组密码进行故障分析的方法,其仍存在以下弊端:PFA需要大量故障密文,这在实际攻击场景中操作性较低;PFA故障注入位置和故障值的识别较难。

技术实现思路

[0008]本申请实施例的目的是提供一种针对分组密码算法的代数持久性故障分析方法及装置,以解决PFA需要大量故障密文,这在实际攻击场景中操作性较低,PFA故障注入位置
和故障值的识别较难的技术问题。
[0009]根据本申请实施例的第一方面,提供一种针对分组密码的代数持久性故障分析方法,包括:对分组密码进行故障注入,得到含有故障的目标密码;将随机明文输入所述目标密码,得到故障密文;利用所述故障密文,获得故障值;根据所述故障值,为每条所述故障密文构建倒数轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程;对所述加密代数方程进行求解,得到加密主密钥。
[0010]进一步地,对分组密码进行故障注入,得到含有故障的目标密码,包括:选择一个分组密码作为目标,使用故障注入技术对所述目标密码进行故障注入,得到含有故障的目标密码,所述故障包括故障值和故障位置。
[0011]进一步地,将随机明文输入所述目标密码,得到故障密文,包括:选取预定量随机明文输入所述目标密码,通过所述目标密码在含有故障的情况下加密所述随机明文,得到故障密文。
[0012]进一步地,利用所述故障密文,获得故障值,包括:利用所述故障密文,将故障密文通过最大似然函数估计出故障值,其中所述最大似然函数如下:其中表示故障值,表示故障候选值;表示故障密文中共有个元素,表示故障密文的第个元素,为元素的比特个数;表示中出现的次数;为克罗内克函数,满足:。
[0013]进一步地,根据所述故障值,为每条所述故障密文构建倒数轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程,包括:根据所述目标密码,分析目标密码轮函数的组成;根据所述目标密码轮函数组成为轮函数中的线性加层建立第一方程;根据所述目标密码轮函数组成和故障值,通过枚举故障位置为轮函数中的替换层建立第二方程;根据所述目标密码轮函数组成为轮函数中的置换层建立第三方程;根据所述目标密码,将第一、第二、第三方程进行组合,为所述目标密码的轮函数建立第四方程;根据所述目标密码以及所述第四方程,建立倒数轮的加密方程;根据所述目标密码,为倒数轮中的轮密钥添加密钥约束方程;根据所述故障密文,为所述加密方程表示输出密文的变量赋值。
[0014]进一步地,根据所述目标密码,为倒数轮中的轮密钥添加密钥约束方程,包括:利用如下代数方程为密钥添加约束:其中,为元素的比特个数;为新增的中间变量,为S盒故障位置的原值的第个比特;和分别是通过轮密钥加后的变量和轮密钥经过逆置换层函数的第个比特。
[0015]进一步地,对所述加密代数方程进行求解,得到加密主密钥,包括:根据所述加密代数方程,将其输入至代数解析器当中并调用代数解析器进行求解;根据所述求解结果,恢复目标密码加密所使用的主密钥。
[0016]根据本申请实施例的第二方面,提供一种针对分组密码算法的代数持久性故障分析装置,包括:注入模块,用于对分组密码进行故障注入,得到含有故障的目标密码;加密模块,用于将随机明文输入所述目标密码,得到故障密文;计算模块,用于利用所述故障密文,获得故障值;分析模块,用于根据所述故障值,为每条所述故障密文构建倒数轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程;求解模块,用于对所述加密代数方程进行求解,得到加密主密钥。
[0017]本申请的实施例提供的技术方案可以包括以下有益效果:由上述实施例可知,本申请引入了代数用于建立目标密码的倒数多轮加密方程,并且为倒数多轮添加了对应的密钥约束代数方程。与PFA相比,引入代数能够使用多轮故障泄露信息,进而能够减少所需密文的数量;本申请采用了PFA与代数相结合的方法,解决了原始PFA需要大量密文的缺点,进而在较少数量的密文下就能恢复主密钥,并提高故障分析效率;本申请同样引入了最大似然估计方法,解决了原始PFA在实践中难以识别具体故障的问题,进而能够提高持久性故障攻击的实用性。本申请使用的是基于代数的求解方法,对平台和目标算法没有限制,适用于各种场景下的分组密码持久性故障攻击。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0020]图1是根据本专利技术实施例的一种针对分组密码的代数持久性故障分析方法的流程图。
[0021]图2是根据本专利技术实施例的分组密码轮函数组成图。
[0022]图3是根据本专利技术实施例的分组密码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对分组密码的代数持久性故障分析方法,其特征在于,包括:对分组密码进行故障注入,得到含有故障的目标密码;将随机明文输入所述目标密码,得到故障密文;利用所述故障密文,获得故障值;根据所述故障值,为每条所述故障密文构建倒数轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程;对所述加密代数方程进行求解,得到加密主密钥。2.根据权利要求1所述的方法,其特征在于,对分组密码进行故障注入,得到含有故障的目标密码,包括:选择一个分组密码作为目标,使用故障注入技术对所述目标密码进行故障注入,得到含有故障的目标密码,所述故障包括故障值和故障位置。3.根据权利要求1所述的方法,其特征在于,将随机明文输入所述目标密码,得到故障密文,包括:选取预定量随机明文输入所述目标密码,通过所述目标密码在含有故障的情况下加密所述随机明文,得到故障密文。4.根据权利要求1所述的方法,其特征在于,利用所述故障密文,获得故障值,包括:利用所述故障密文,将故障密文通过最大似然函数估计出故障值,其中所述最大似然函数如下:其中表示故障值,表示故障候选值;表示故障密文中共有个元素,表示故障密文的第个元素,为元素的比特个数;表示中出现的次数;为克罗内克函数,满足:。5.根据权利要求1所述的方法,其特征在于,根据所述故障值,为每条所述故障密文构建倒数轮的加密代数方程,并为所述加密代数方程添加对应的密钥约束代数方程,包括:根据所述目标密码,分析目标密码轮函数的组成;根据所述目标密码轮函数组成为轮函数中的线性加层建立第一方程;根据所述目标密码轮函数组成和故障值,通过枚举故障位置为轮函数中的替换层建立第二方程;根据所述目标密码轮函数组成为轮函数中的置换层建立第三方程;根据所述目标密码,将第一、第二、第三方程进行组合,...

【专利技术属性】
技术研发人员:张帆冯天祥黎治圻任奎
申请(专利权)人:浙江大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1