差分密码分析和线性密码分析原理PPT文档格式.pptx
- 文档编号:14554177
- 上传时间:2022-10-23
- 格式:PPTX
- 页数:58
- 大小:1.98MB
差分密码分析和线性密码分析原理PPT文档格式.pptx
《差分密码分析和线性密码分析原理PPT文档格式.pptx》由会员分享,可在线阅读,更多相关《差分密码分析和线性密码分析原理PPT文档格式.pptx(58页珍藏版)》请在冰豆网上搜索。
,对于其4比特输出值,y=S(x),y=S(x),以及y=yy=S(x)S(x)输出差分值有多少种可能?
642=4096,26=64,24=16,S-Box是非差分均匀的,:
位输入,位输出,输入差分f=1111,10,S1的差分分布表,.=26-1,出现的次数,6比特的差分输入x有64个值:
00-3F(16进制,10进制是0-63)4比特的差分输出y有16个值:
0-F(16进制,10进制是0-15)可以看到:
第一行除第一列外全为0,因为当x=xx=0,同样的输入出现了两次,因此其输出y=yy=0,后面的行:
例如,当x=01时,6个可能的y中有5个值:
0,1,2,4,8呈现0可能次数,就是说不出现。
A出现的概率是12/649和C出现的概率是10/64这就是说,S1呈现出很强的不均匀分布这种差分不均匀性对于所有的S盒S1,S2,.,S8都有体现,考虑输入异或值为34时,可能的输出异或是:
其中:
344有两种可能,这种输入对是成双的,即:
(,)和(,),S1的差分分布表,对S1构建差分表,发现当输入是13和27时(只看后面的6位):
12,S1的差分分布表,12,列出S1中输入异或值为34的可能的输入值(16进制):
13,确定密钥的原理,假设已知S1的两个输入是01和35,其异或的结果是34,经过S1之后输出异或的结果是D。
查S1的差分分布表,得到输入异或为34,输出异或为D时,可能的输入:
14,确定密钥的原理,14,实际上,输入异或的结果是34,与密钥无关,这是因为:
因为所以,这样就得到:
所以,可能的密钥就是,15,确定密钥的原理,此外,假设已知S1的两个输入是21和15,它们异或后的结果是34,输出异或后的结果是3。
查S1的差分分布表,得到输入异或为34,输出异或为3时,可能的输入:
。
16,确定密钥的原理,16,这样就可以从,得到可能的密钥值,17,确定密钥的原理,17,而正确的密钥值必定同时出现在两个集合,因此可以确定密钥是在中的一个。
要确定到底是哪一个,需要知道更多的输入输出异或对。
以此类推得到此轮密钥,18,多轮DES的特征,差分输入具有很高的或然性,可以直接追踪到多轮的情况,观察到:
E扩展中的异或值是线性的:
异或值与密钥是无关的:
19,2轮DES的特征差分密码分析,20,在第一轮中,输入到函数f的差分结果是a=60000000经f中的扩展变换后,把这部分放进了每个S盒的中间4个比特,顺序是S1:
6=0110S2:
0=0000S3,.,S8等等因为所有边缘比特都是0,所以S1是唯一的得到非0差分输入的S盒。
S1的差分输入是001100=0C而其他所有盒S2,.,S8的差分输入都是,2轮DES的特征差分密码分析,21,察看S1的差分分布表,发现当输入异或x=0C时,最可能的差分输出y是E=1110,出现的概率是14/64;
其他盒的输入一定是x=0且y=0盒的输入通过置换成为f(R,K)的输出。
如前所述,f(R,K)的差分输出是,而A与L异或后得到00000000,因为,2轮DES的特征差分密码分析,22,所以,在第轮后,所有盒都得到差分输入,产生的差分输出也是;
f(R,K)的输出在轮后是,差分输出则是(00000000,60000000),2轮DES的特征差分密码分析,23,假定:
去掉初始置换IP和最终置换FP。
2轮的差分分析共有个步骤。
Step1:
产生明文对(P,P),使得,办法是,随机产生一个P,将其与下述值进行异或得到P,2轮DES的特征差分密码分析,24,Step2:
对于产生的明文对(P,P),计算加密后产生密文对(T,T)(选择明文攻击),Step3:
计算T=TT,检查结果是否等于,如果不相等,就说明特征不符,这个明文对就不能用。
重返第一步,产生新的明文对;
如果相等,则特征相符,进入第四步,2轮DES的特征差分密码分析,25,Step4:
因为S2,.,S8的差分输入都为,所以没有信息可以从S2K,.,S8K得到。
在S1的差分分布表中,0CE有14/64的概率,即只有64分之14可以得到产生,2轮DES的特征差分密码分析,这14个可能值可以通过把每个可能的S1K与相应的S1E和S1E的比特相异或来确定,计算S1的差分输出S1,检查其是否等于E,把S1K的这14个值放进表中,26,Step5:
计算这些表的交集因为正确的密钥必定同时出现在每张表中如果有不止一个S1K值,就说明还需要更多的明文和密文差分对才能唯一确定密钥S1K,转到第一步,计算更多的数据需要的明文密文差分对的数量,大致等于使用的特征概率的倒数,本例中需要64/145对如果只得到一个S1K,就是正确的,转到第六步。
2轮DES的特征差分密码分析,27,Step6:
这个阶段,要恢复构成S1K的6个比特。
采用类似的特征,恢复第一轮中与S2-S8的输入相异或的6比特密钥Step7:
这个阶段已经有了构成S1K密钥的48比特,等同于S1K-S8K。
其余的比特密钥,采用穷举方法在64个可能的值中搜寻,2轮DES的特征差分密码分析,差分密码分析破解DES效率,R轮迭代密码的差分攻击步骤,r-轮特征=01的概率是指在明文和子密钥1,2,.,独立,均匀随机时,明文对m和m*的差分为0的条件下,第i(1ir)轮输出c(i)和c*(i)的差分为1的概率(或称为特征的差分扩散率)。
若r-轮特征=01满足
(1)m与m*的差分为0;
(2)第i轮输出c(i)与c*(i)的差分为1(1ir),则称明文对m与m*是一个正确对,否则称其为错误对。
定义,R轮迭代密码的差分攻击步骤,1)找出一个(r1)轮=01,使它的概率达到最大或几乎最大.,2)均匀随机地选择明文m,并计算出m*,使mm*=0,再找出m和m*在实际密钥加密下所得的密文c(r)和c*(r).,3)若最后一轮的子密钥kr(或kr的部分比特)有2m个可能的值kjr(1j2m),我们就设置2m个相应的计数器j(1j2m),用每一个可能的密钥解密c(r)和c*(r)得到c(r1)和c*(r-1).若c(r1)+c*(r-1)=r1,则给相应的计数器j加1。
4)重复第2、3步,直到有一个或几个计数器的值明显高于其它计数器的值,输出它们所对应的子密钥(或部分比特)。
攻击成功!
对r轮迭代密码的差分攻击的步骤如下:
线性密码分析概述,线性密码分析的基本思想是通过寻找一个给定密码算法有效的线性近似表达式来破译密码系统。
由于每个密码系统均为非线性系统,因此只能寻找线性近似表达式。
线性分析的分析者利用了包含明文、密文和子密钥的线性表达式发生的较大可能性。
线性密码分析的基本方法,线性密码分析的方法是寻找一个给定密码算法的具有下列形式的“有效的”线性表达式这里1,2,;
1,2,和1,2,表示固定的比特位置。
随机给定的明文P和相应的密文C上面的等式成立的概率p1/2,线性密码分析的基本方法相关定理,设1,2,是取值于集合0,1的独立随机变量.设1,2,.都是实数,且对所有的i,i=1,2,k有01,再设Pr=0=,则Pr=1=1.对取值于0,1的随机变量,用分布偏差来表示它的概率分布.随机变量Xi的偏差定义为=12,(堆积引理.Piling-uplemma)设X1,X2,XK是取值于集合0,1的独立随机变量.i1i2ik表示随机变量Xi1Xi2Xik的偏差,则,12=211,线性密码分析的基本方法,用堆积引理,我们可以将每轮变换中偏差最大的线性逼近式进行组合,组合后的所有轮变换的线性逼近式,也将拥有最佳的偏差,即寻找分组密码的最佳线性逼近式.,由上述分析我们知道,分组密码的最佳线性逼近式的寻找,归结为每轮线性逼近式的寻找,而每轮的变换中,除了非线性变换(即S-盒)部分,线性部分是自然的线性关系,也就是说,每轮线性逼近式的寻找,只需寻求S-盒部分的最佳线性逼近式.,线性密码分析例子SPN,算法的输入为16比特的数据块,并且重复四次相同操作处理数据块。
每一轮包括1)S-box置换2)比特变换3)密钥混合。
S-box置换S-box的最基本的性质是其非线性映射,S-box的输出不能通过输入的线性变换而得到。
线性密码分析例子SPN,P置换(其中的数字表示比特的位置,1表示最左边的比特,16表示最右边的比特),分析加密部件,在下图中的S-box中考虑表达式X2X3Y1Y3Y40或等价形式X2X3Y1Y3Y4。
线性密码分析例子SPN,例子:
对于16种可能的输入X和其相应的输出Y,有12种情况可以使得该式成立,因此线性可能性偏移量是12/161/21/4。
相似的,对于等式X1X4Y2其线性可能性偏移量接近于0,而等式X3X4Y1Y4的线性可能性偏移量是2/161/23/8。
S-box线性近似采样,线性密码分析例子SPN,例如一个输入变量的线性近似表达式a1X1a2X2a3X3a4X4,其中,ai0,1。
“”为二进制的“与”运算,输入行的16进制的值是a1a2a3a4的组合。
相似的,对于一个输出变量的线性近似表达式b1Y1b2Y2b3Y3b4Y4,其中,bi0,1,输出行的16进制的值是b1b2b3b4的组合。
其中,Input表示表达式的输入系数,而output表示表达式的输出系数,行和列交集处的值表示以此行列值代表线性表达式成立的数量减去8。
分析加密部件,线性密码分析例子SPN,线性近似偏移量,分析加密部件,线性密码分析例子SPN,例子:
线性表达式X3X4Y1Y4NL(3,9)=2(3,9)=-3/8,分析加密部件,线性密码分析例子SPN,(a,b):
表示随机变量输入a:
a=(a1,a2,a3,a4)输出b:
b=(b1,b2,b3,b4)NL(a,b):
表示满足如下条件的二元8重组(x1,x2,x3,x4,y1,y2,y3,y4)的个数:
(y1,y2,y3,y4)=f(x1,x2,x3,x4)并且a1X1a2X2a3X3a4X4b1Y1b2Y2b3Y3b4Y4=0偏差计算公式(a,b)=(NL(a,b)-8)/16,例如:
随机变量X1X4Y2可以表示成(9,4),通过构造一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 分析 线性 原理