检测RIPEMD‑160算法抵御差分故障攻击的方法与流程

文档序号:11138226阅读:来源:国知局

技术特征:

1.一种检测RIPEMD-160算法抵御差分故障攻击的方法,其特征在于,包括以下步骤:

步骤1:随机生成要处理的明文消息X;

步骤2:利用RIPEMD-160算法处理明文消息X,RIPEMD-160算法对消息按512比特长的分组为单位进行处理,总共由5轮运算组成,每一轮都对缓存区进行16步迭代运算,输出为160比特的杂凑值,将得到的正确输出Y和错误输出Y*保存于160比特的缓存区中,其中,缓存区用5个32比特长的寄存器A,B,C,D,E表示;

步骤3:计算正确输出Y和错误输出Y*的差分值ΔY,令ΔY=(ΔY0,ΔY1,ΔY2,ΔY3,ΔY4),保存于5个32比特长的寄存器A,B,C,D,E表示的缓存区中,ΔY0,ΔY1,ΔY2,ΔY3,和ΔY4均为32比特,分别代表缓存区中最后一轮输出结果的差分;

步骤4:分析差分值ΔY,判断RIPEMD-160算法是否受到差分故障攻击的影响,并推导出故障导入的位置,分析其有效性,令Ai,Bi,Ci,Di,Ei分别为第i步迭代运算缓存区的寄存器A,B,C,D,E中的值,i∈[1,80],则具体方法为:

(1)有效故障:

I)当ΔY0、ΔY1、ΔY2、ΔY3≠0时,故障导入的位置为C77

11)当ΔY1、ΔY2、ΔY3、ΔY4≠0时,故障导入的位置为B77

III)当ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中均不为0时,故障导入的位置为B76以及B76之前的任何位置;

(2)无效故障:

I)当ΔY=0时,说明导入的故障值等于当前位置上的原值,相当于没有导入故障,故障无效;

II)当ΔY≠0时:

(i)当ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中有且仅有一个不为0时:

a)当ΔY0≠0时,故障导入的位置为A80

b)当ΔY1≠0时,故障导入的位置为B80或E80

c)当ΔY2≠0时,故障导入的位置为C80

d)当ΔY3≠0时,故障导入的位置为D80

e)当ΔY4≠0时,故障导入的位置为E80

(ii)当ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有两个同时不为0时,

a)当ΔY1≠0且ΔY0≠0时,故障导入的位置为E79

b)当ΔY1≠0且ΔY2≠0时,故障导入的位置为B79

c)当ΔY1≠0且ΔY3≠0时,故障导入的位置为C79

d)当ΔY1≠0且ΔY4≠0时,故障导入的位置为D79

(iii)当ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有三个同时不为0时,

a)当ΔY0、ΔY1、ΔY2≠0时,故障导入的位置为D78

b)当ΔY1、ΔY2、ΔY3≠0时,故障导入的位置为B78

c)当ΔY1、ΔY2、ΔY4≠0时,故障导入的位置为C78

2.如权利要求1所述的一种检测RIPEMD-160算法抵御差分故障攻击的方法,其特征在于,在所述步骤2中,在用RIPEMD-160算法对明文消息X处理的过程中,使用两种实验环境控制从而得到正确输出Y和错误输出Y*,具体步骤如下:

步骤2.1:输入明文消息X,保证实验环境不受其他任何不相关事物的干扰,让RIPEMD-160算法能够正确无误地进行,从而得到正确输出Y;

步骤2.2:重新输入明文消息X,再次用RIPEMD-160算法对其加密处理,同时借助其他物理设备改变运行环境,诱导产生故障来干扰RIPEMD-160算法的处理过程,从而得到错误输出Y*。

3.如权利要求2所述的一种检测RIPEMD-160算法抵御差分故障攻击的方法,其特征在于,在所述步骤2.2中,改变运行环境诱导产生故障的方法包括:改变时钟、电压、湿度、辐射、压力、光和涡电流,将故障随机地导入RIPEMD-160算法处理过程,以得到错误输出Y*。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1