返回信息流这两天做密码学实验,编的DES程序,试了一下,发现给定初始密钥为12345678去加密,然后给定初始密钥13245768解密,是可以解出来的。一开始还以为程序写错了,检查了很长时间,才想起来,初始64位密钥的8,16,24,32,40,48,56,64位都是“奇偶校验位”,不参与生成子密钥。2和3、6和7的前7位都是一样的,所以上述两个初始密钥生成的子密钥应该是一样的……
那么所谓的“奇偶校验位”到底有什么用呢?好像所有书上都没有介绍,实际的代码中也没有任何体现,效果又都相同。这么一来,DES应该就是多把钥匙对应一把锁了,是这样吗?
如果初始密钥有八字节,那么,似乎对应生成的密钥,共有2^8-1=255个不同的密钥可以解开原始加密的文件……既然这样,为什么DES中要有奇偶校验这种设定呢?岂不是非常不安全了?
这是一条镜像帖。来源:北邮人论坛 / security / #30012同步于 2010/9/25
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
DES中,初始密钥的8*i(i=1,...,8)位完全没用么?
wangfuwei
2010/9/25镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
第一,DES确实不安全。
第二,我的密码学的很烂……
第三,我的直觉是你的程序没准真有问题。
待我去实践一下……
【 在 wangfuwei (弗为) 的大作中提到: 】
: 这两天做密码学实验,编的DES程序,试了一下,发现给定初始密钥为12345678去加密,然后给定初始密钥13245768解密,是可以解出来的。一开始还以为程序写错了,检查了很长时间,才想起来,初始64位密钥的8,16,24,32,40,48,56,64位都是“奇偶校验位”,不参与生成子
: 那么所谓的“奇偶校验位”到底有什么用呢?好像所有书上都没有介绍,实际的代码中也没有任何体现,效果又都相同。这么一来,DES应该就是多把钥匙对应一把锁了,是这样吗?
: 如果初始密钥有八字节,那么,似乎对应生成的密钥,共有2^8-1=255个不同的密钥可以解开原始加密的文件……既然这样,为什么DES中要有奇偶校验这种设定呢?岂不是非常不安全了?
: ...................
嗯。你是对的。
两个不同的密钥对应了一个相同的结果。
还是帮你呼唤一下密码学的好的替你解惑吧。
【 在 BookMoth (书中蠹鱼) 的大作中提到: 】
: 标 题: Re: DES中,初始密钥的8*i(i=1,...,8)位完全没用么?
: 发信站: 北邮人论坛 (Sat Sep 25 21:41:05 2010), 站内
:
: 第一,DES确实不安全。
: 第二,我的密码学的很烂……
: 第三,我的直觉是你的程序没准真有问题。
: 待我去实践一下……
: 【 在 wangfuwei (弗为) 的大作中提到: 】
: : 这两天做密码学实验,编的DES程序,试了一下,发现给定初始密钥为12345678去加密,然后给定初始密钥13245768解密,是可以解出来的。一开始还以为程序写错了,检查了很长时间,才想起来,初始64位密钥的8,16,24,32,40,48,56,64位都是“奇偶校验位”,不参与生成子
: : 那么所谓的“奇偶校验位”到底有什么用呢?好像所有书上都没有介绍,实际的代码中也没有任何体现,效果又都相同。这么一来,DES应该就是多把钥匙对应一把锁了,是这样吗?
: : 如果初始密钥有八字节,那么,似乎对应生成的密钥,共有2^8-1=255个不同的密钥可以解开原始加密的文件……既然这样,为什么DES中要有奇偶校验这种设定呢?岂不是非常不安全了?
: : ...................
:
: --
:
:
:
: 相信我吧,有我出现的地方,就是楼要歪了的地方。
:
:
: ※ 来源:·北邮人论坛 bbs.byr.cn·[FROM: 123.121.173.*]
想想好像的确是这样,我的理解是当时设计的时候考虑穷举攻击的时候计算量为2^56 相对于2^8 还是大,另外对des的评估就有密钥长度不够这一条,应该本来就是缺点。
至于为什么要设计个奇偶校验。。难道是设计者网络做多后的惯性?
这个可以去看DES设计的历史,原来的密钥长度是多久,后来又被谁改了,基本上介绍DES产生的书都有,实在没有就去看wiki。呵呵,网上搜过后,找不到,再说。呵呵