本发明专利技术公开了一种检测MD4散列函数是否受到差分故障攻击的方法,包括:1)将随机生成需要MD4处理的消息,保存在M中;2)使用MD4散列函数,以M作为输入进行处理,获取正确输出结果Y;3)对MD4散列函数实施故障导入,获取错误输出Y*;4)基于获得的正确输出Y和错误输出Y*,计算输出差分值ΔY;5)根据输出差分值ΔY来确定MD4散列函数是否受到了差分故障攻击以及该故障导入的位置。本发明专利技术可快速、准确地衡量含有MD4散列函数的计算设备是否受到了差分故障攻击并且可以判断受到攻击的位置,对于保障MD4散列函数的安全运行提供了有力的支持。
【技术实现步骤摘要】
检测MD4散列函数抵御差分故障攻击的方法
本专利技术主要应用于信息安全
,具体涉及检测MD4散列函数是否抵御到差分故障攻击的方法,主要应用于MD4散列函数的安全性防御与评估。
技术介绍
在实际应用领域中,散列函数在电子签名、消息认证、身份识别上有着广泛的商业应用,传统的单纯从散列函数算法的数学结构分析研究已经不足以应对当前复杂的互联网环境。旁路攻击作为散列函数分析研究的重要方式,是指绕过对散列函数的繁琐分析,利用散列函数算法的硬件实现的运算中泄露的信息,如执行时间、功耗、电磁辐射等,结合统计理论快速的破解散列函数系统。作为旁路攻击的一种重要且有效攻击方式,故障攻击凭借着出色的攻击能力和简单的软件实现等特点已经引起国内外的广泛关注。因此散列函数在实际应用中是否受到差分故障攻击直接影响着相应的商业应用产品的安全性。
技术实现思路
本专利技术所要解决的技术问题是现有检测技术不能检测MD4散列函数是否受到差分故障攻击,无法确保MD4散列函数的安全性。在差分故障攻击过程中,利用输出差分ΔY推导得到输入消息M,而导入故障的位置,对输出差分ΔY有着重要的影响,只有在有效位置导入故障得到的输出差分ΔY才能推导出输入消息M。如果故障导入在无效位置,则MD4散列函数对差分故障攻击是安全的。为了解决上述问题,基于以上思路,本专利技术提供了一种检测MD4散列函数抵御差分故障攻击的方法,其特征在于,包括以下步骤:步骤1):将随机生成MD4散列函数的输入消息,保存在M中;步骤2):使用MD4散列函数处理输入消息M,得到正确输出结果Y;步骤3):再次使用MD4散列函数对输入消息M进行处理,并在处理过程中实施故障导入;得到故障导入后的错误输出结果Y*;步骤4):基于所获取到的正确和错误输出结果,计算输出差分ΔY;步骤5):根据输出差分值ΔY,确定MD4散列函数是否受到差分故障攻击以及故障所导入的位置。优选地,所述步骤3)的具体方法如下:步骤i:将消息M做为MD4散列函数的输入;步骤ii:在MD4散列函数处理M过程中,导入随机故障,影响MD4散列函数的正常处理操作;步骤iii:在导入故障后,记录MD4散列函数处理的输出结果Y*。进一步地,所述步骤ii导入随机故障的具体方法为:步骤a):分析MD4散列函数处理流程,找出有效故障的导入位置;步骤b):在MD4散列函数处理过程中,利用电磁脉冲、激光辐射等手段,导入随机故障;步骤c):采用仿真技术模拟步骤b)所述电磁脉冲、激光辐射等导入故障手段;步骤d):记录输出结果,保存在Y*中。更进一步地,所述步骤a)具体为:根据差分故障攻击原理以及MD4散列函数处理流程,找出MD4散列函数中的有效故障的位置。优选地,所述步骤4)的具体计算方法为:对于获取的正确输出Y和错误输出Y*,计算输出差分值其中代表异或操作;输出差分ΔY为128比特,将ΔY用(ΔY0,ΔY1,ΔY2,ΔY3)表示,其中ΔY0,ΔY1,ΔY2和ΔY3均为32比特,即优选地,所述步骤5)的具体检测判断的方法为:(I)有效故障:若ΔY0、ΔY1和ΔY2≠0时,故障导入在γ46,当前导入故障为有效故障;(II)无效故障:(1)当ΔY=0时,则导入的故障值和导入故障位置上正确值相同,导入位置为任意位置;(2)当ΔY≠0时:(a)若(ΔY0,ΔY1,ΔY2,ΔY3)中只有一个不为0,①若ΔY0≠0时,故障导入在α48;②若ΔY1≠0时,故障导入在α47或者β48;③若ΔY2≠0时,故障导入在γ48;④若ΔY3≠0时,故障导入在ε48;(b)若(ΔY0,ΔY1,ΔY2,ΔY3)有两个不为0,①若ΔY0和ΔY1≠0时,故障导入在ε47;②若ΔY1和ΔY2≠0时,故障导入在β47或者α46或者ε46;③若ΔY1和ΔY3≠0时,故障导入在γ47;(c)若(ΔY0,ΔY1,ΔY2,ΔY3)有三个不为0,①若ΔY1、ΔY2和ΔY3≠0时,故障导入在β46或者α45或者γ45或者ε45;(d)若(ΔY0,ΔY1,ΔY2,ΔY3)四个均不为0,故障导入在β45或β45之前任意位置。根据最后得出的检测结果,确定MD4散列函数是否受到差分故障攻击,以及故障所导入的位置。本专利技术提供的检测MD4散列函数是否受到差分故障攻击的基本方法,将MD4散列函数对差分故障攻击的抵御能力简化为对输出结果的判断,可以帮助快速、准确的测评MD4散列函数相关产品的安全性,对散列函数及其相关安全系统的防御和评估提供了更积极的意义和保障。附图说明图1为本专利技术的检测MD4散列函数模块是否受到差分故障攻击的方法的流程图;图2为差分故障攻击的的原理图;图3为差分故障攻击中导入随机故障获得对应输出的基本配置图。具体实施方式为使本专利技术更明显易懂,兹以优选实施例,并配合附图作详细说明如下。实施例检测MD4散列函数模块是否受到差分故障攻击的方法,包括:1)将随机生成MD4散列函数的输入消息,保存在M中;2)使用MD4散列函数处理输入消息M,得到正确输出结果Y;3)再次使用MD4散列函数对输入消息M进行处理,并在处理过程中实施故障导入;得到故障导入后的输出结果Y*;4)基于所获取到的正确和错误输出结果,计算输出差分ΔY;5)根据输出差分值ΔY,确定MD4散列函数是否受到差分故障攻击以及故障所导入的位置。如图1所示,其具体的流程方法如下:S101:随机生成输入消息M;S102:MD4散列函数处理消息M,获取正确输出Y;S103:在MD4处理过程中,实施故障导入,获取错误输出Y*;S104:计算输出差分,即S105:基于输出差分,确定MD4散列函数是否受到差分故障攻击以及故障导入的位置;其中步骤S103是通过故障导入,获取错误输出的过程,即实施差分故障攻击的过程。其具体原理如图2所示,包括如下步骤:a)确定有效故障位置。确定有效故障导入位置包含如下步骤:从MD4散列函数处理过程中,观察到每一步都只针对模块β进行相应的处理。根据图2所示,可以推导得β48为:β48=(α47+f47(γ48,ε48,α48)+Ψ[R(47)]+λ47)<<<s[47],对MD4算法的正确输出Y为:Y=(Y0,Y1,Y2,Y3)=(α48+α0,β48+β0,γ48+γ0,ε48+ε0),将已知的初始值(α0,β0,γ0,ε0)代入上述等式,可得最后一步的输出值为(α48,β48,γ48,ε48)。根据消息处理过程,得如下关系式:β47=γ48,γ47=ε48,ε47=α48,R(47)=15以及s[47]=15。将上述式子代入β48的等式中,可推导得:β48=(α47+f47(γ48,ε48,α48)+Ψ[R(47)]+λ47)<<<s[47]观察可得,在上述等式中,只有两个未知量Ψ[R(47)]和α47。而最终的目的是要恢复Ψ[R(47)]。若可以求得α47的值,则Ψ[R(47)]可以通过下述等式求解:Ψ[R(47)]=((β48-γ48)<<<(32-s[47]))-α47-f47(β47,γ47,ε47)-λ47,通过MD4处理过程可以得知α47=ε46。那么获得α47的值等同于求解ε46。可知在倒数第2轮γ46导入故障,获得ε46,即可求得当前轮所使用的子消息Ψ[R(47)]。因此有效故障位置为γ46。b)在MD4散列本文档来自技高网...
【技术保护点】
一种检测MD4散列函数抵御差分故障攻击的方法,其特征在于,包括以下步骤:步骤1):将随机生成MD4散列函数的输入消息,保存在M中;步骤2):使用MD4散列函数处理输入消息M,得到正确输出结果Y;步骤3):再次使用MD4散列函数对输入消息M进行处理,并在处理过程中实施故障导入;得到故障导入后的输出结果Y*;步骤4):基于所获取到的正确和错误输出结果,计算输出差分ΔY;步骤5):根据输出差分值ΔY,确定MD4散列函数是否受到差分故障攻击以及故障所导入的位置。
【技术特征摘要】
1.一种检测MD4散列函数抵御差分故障攻击的方法,其特征在于,包括以下步骤:步骤1):将随机生成MD4散列函数的输入消息,保存在M中;步骤2):使用MD4散列函数处理输入消息M,得到正确输出结果Y;步骤3):再次使用MD4散列函数对输入消息M进行处理,并在处理过程中实施故障导入;得到故障导入后的输出结果Y’;步骤4):基于所获取到的正确和错误输出结果,计算输出差分ΔY;步骤5):根据输出差分值ΔY,确定MD4散列函数是否受到差分故障攻击以及故障所导入的位置;所述步骤4)的具体计算方法为:对于获取的正确输出Y和错误输出Y’,计算输出差分值ΔY=Y⊕Y’,其中⊕代表异或操作;输出差分ΔY为128比特,将ΔY用(ΔY0,ΔY1,ΔY2,ΔY3)表示,其中ΔY0、ΔY1、ΔY2和ΔY3均为32比特,即ΔY=Y⊕Y’=(ΔY0,ΔY1,ΔY2,ΔY3)。2.如权利要求1所述的检测MD4散列函数抵御差分故障攻击的方法,其特征在于,所述步骤3)的具体方法如下:步骤ⅰ:将消息M做为MD4散列函数的输入;步骤ⅱ:在MD4散列函数处理M过程中,导入随机故障,影响MD4散列函数的正常处理操作;步骤ⅲ:在导入故障后,记录MD4散列函数处理的输出结果Y’。3.如权利要求2所述的检测MD4散列函数抵御差分故障攻击的方法,其特征在于,所述步骤ⅱ导入随机故障的具体方法为:步骤a):分析MD4散列函数处理流程,找出有效故障的导入位置;步骤b):在MD4散列函数处理过程中,利用电磁脉冲、激光辐射手段,导入随机故障;步骤c):采用仿真技术模拟步骤b)所述电磁脉冲、激光辐射等导入故障手段;步骤d):记录输出结果,保存在Y’中。4.如权利要求3所述的检测MD4散列函数抵御差分故障攻击的方法,其特征在于,所述步骤a)具体为:根据差分故障攻击原理以及MD4散列函数处理流程,找出MD4散列函数中的...
【专利技术属性】
技术研发人员:李玮,陶智,张汶汶,石秀金,夏小玲,张红,
申请(专利权)人:东华大学,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。