CTF_打卡DAY4&DAY5

跟着《深入浅出密码学——常用加密技术原理与应用》学

P51-72,P73-82

第三章《数据加密标准与替换算法》

DES算法

同样是以题代练,大段的原理大家在网上都能查到。
(我的眼睛他有自己的想法,看到大段的原理就自己跳过嘤)
这里只列出以下习题用到的部分:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

轻量级密码PRESENT

另外,对于轻量级密码PRESENT,网上似乎没有逐步推导的,只找到一个直接出结果的哈哈。
指路-》https://blog.csdn.net/caomage/article/details/78296897
希望能有大神仔细讲讲PRESENT,只知道结果不知道过程好难受。

习题

3.1
如上文所述,保证DES安全的一个重要属性就是S-盒是非线性的。
请证明对于以下x1和x2而言,有 s1(x1) XOR s1(x2) ≠s1(x1 XOR x2)
(1)x1=000000,x2=000001
b1=(000000)2表示(00)2行(0000)2列(即第0行第0列)
查S-盒S1表可知:
s1(b1)=14=(1110)2
同理:
b2=(000001)2表示(01)2行(0000)2列(即第1行第0列)
查S-盒S1表可知:
s1(b2)=0=(0000)2
s1(b1) XOR s1(b2)=1110

而x1 XOR x2 =x2=000001
b=b2
s1(b)=(0000)2

(2)x1=111111,x2=100000
b1表示第(11)2行(1111)2列,即第3行第15列
s1(b1)=13=(1101)2
b2表示第(10)2行(0000)2列,即第2行第0列
s1(b2)=04=(0100)2
s1(b1) XOR s1(b2)=(1001)2
b=b1 XOR b2=(011111)2第(01)行(1111)列
s1(b)=8=(1000)2

(3)x1=101010,x2=010101
b1第(10)行第(0101)列,第2行第5列
s1(b1)=6=(110)2
b2第(01)行第(1010)列,第1行第10列
s1(b2)=12=(1100)2
s1(b1) XOR s1(b2)=(1010)2

b=(111111)2
第(11)2行第(1111)2列,第3行第15列
s1(b)=13=(1101)2

3.2
如果明文和密钥都是0,DES算法第一轮的输出是?
s1(0)=14=(1110)2
s2(0)=15=(1111)2
s3(0)=10=(1010)2
s4(0)=07=(111)2
s5(0)=02=(10)2
s6(0)=12=(1100)2
s7(0)=04=(100)2
s8(0)=13=(1101)2

3.3
如果明文和密钥都是1,DES算法第一轮的输出是?
s1(1)=15=(1111)2
s2(1)=13=(1101)2
s3(1)=07=(111)2
s4(1)=08=(1000)2
s5(1)=11=(1011)2
s6(1)=15=(1111)2
s7(1)=0=(0000)2
s8(1)=15=(1111)2

参考文献:《深入浅出密码学——常用加密技术原理与应用》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值