之前在实验中学到了DES算法,但是实验手册中对DES的原理讲述的不是很清楚,于是我又查了一下资料,详细步骤可见该博客DES算法原理。这篇文章主要对其中一些可能还不太清楚的点进行记录。
1.IP变换,PC-1变换的意义。
这些置换方法的主要目的应该就是为了打乱数据,并且这些置换用的表应该是一种公开的数据。
2.为什么秘钥有64个比特却只有56个比特有用。
我理解的是在每一步操作下对秘钥都会舍弃八个比特来加强安全性。在原始秘钥进行PC-1置换的过程中会舍弃每第八个比特,然后在进行PC-2置换的时候又会舍弃每第八个字符,所以到了子秘钥Kn的时候只剩48个比特了。从这个过程中可以看出原始秘钥中有8个比特没有参与计算。
3.f函数中的S盒是什么。
我理解的是S盒也是一种公开的数据,但是与那些置换表不同的是,S盒它里面的数据不是比特的地址,相反,B中的有6个比特组成的一组数据才是数据地址,它用来标记S盒中的数据并用S盒中的数据来替换B中的每组数据。
4.总结。
总的来说,感觉DES算法的原理并不是很难,但是它步骤很多,比较复杂,需要细细的去理解一番。