用差分分析攻击DES

这对我一个初学者来说真是一个特别烧脑的东西,我看的是北京邮电大学谷利泽版的现代密码学,可根据85-88页作参照

书上一堆公式,表格劝退,这里删繁就简,尽量用一些精炼的语言来描述

这里以一轮DES的差分为例

这个图中,有:AK=B

差分要研究ΔX和ΔY的关系,但E盒和P盒无密码意义,转变为研究ΔA和ΔC的关系

由于ΔB=ΔA(书86页有证明),转变为研究ΔB和ΔC的关系

S盒有8个,以第一个为例

ΔB=B1B1' , 我们固定ΔB,这样我们有B1即知B1'。我们遍历所有B1,(也就64个),观察输出的ΔC是多少。得到如下分布:

我们可以看到,对于固定的ΔB=110100,只有八种可能的ΔC

前文写到,AK=B,那么K=AB

现在就以K=AB为突破口求K

我们固定ΔB,那么我们只要给出输出差分值ΔC,就能根据上面的表4-12得到可能的B1值

我们逐一测试A1,得到这个表:

若给定A1为000000,那么在ΔC1=0011的情况下,B1只有那6种可能(参照4-12)表,K1也就那6种可能,再测试A1位000001,测试在ΔC1=0011的情况下,B1只有那8种可能,对应K1也就有那8种可能。但是由于K1是确定的,唯一的,所以取那6个和那8个的交集,有两个,把这两个用明文-密文对试一下就行了。

当然这里写的K1对应第一轮的S盒中的第一个小S盒

然后,剩下的K,以此类推

终于写完了,0.33了,看懂尚且不容易,真正运用岂不是更难?复试太不容易了

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北邮23级网安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值