主题:【原创】被征服的谜――ENIGMA的故事(四):波兰人的绝地反击(中下) -- 1001n
德国人当时是这样使用enigma的,有一个每日密钥,这个密钥印在密码本里,每天一个(战前是每季度一个),当天内所有同一系统所属的enigma机全部使用相同的当日密钥。德国人也知道到同样的密钥用来加密越多电讯越容易被破,所以这个每日密钥不用来加密电讯本身,而是让操作员自选给每篇电文加密的密钥。这个“每文密钥”用每日密钥加密,传给收信方。收信方用当天的每日密钥解这头6个字母得出每文密钥,再用这每文密钥解读电文。所以每日密钥只是一个现代密码学里所说的key encryption key。
回到原问题。Rejewski可以从某些密文里解出该文所用的“每文密钥”,这里面有个运气问题,看原文是否“weak”。但他没有把握解出所有的每文密钥。同时从密文他解不出每日密钥,因为密文根本不是用每日密钥加密的,也就是说从密文里他根本得不到关于每日密码的信息。但是这头6个字母帮了他的忙,为他提供了用每日密钥加密的密文。而他又有原文(就是每文密钥),这就构成了保密学所说的known plain text attack。这种攻击可以帮助破译者了解加密机制。详细步骤就不说了,只要明白这一点就够了:对于Rejewski来说,这6个字母可以帮助他破解这个每日密钥。而一旦他获得了每日密钥,再解读所有当天电文就是小菜一碟了。
他所说的“还不如发明文”有开玩笑的意思。用明文的确他就没有办法解每日密钥,可是如果每文密钥就这么公开,他又何必去解什么每日密钥呢?我不太明白的是为什么每文密钥要发两遍。任何规律都是密码大敌,这种重复更是要命,德国人应该不会想不到。我可以想出的理由只有为了防止错误,如果只发一遍,错了都不一定知道。就像现在注册都要输两遍口令一样。不知真实情况是否如此。
在非对称加密发明之前,如何传送密钥一直是大问题。用key encryption key来加密密钥也还可以算是当时最好的办法了吧。不过实际使用中还有不少问题,第一是重复每日密钥,第二是很多操作员选了有规律的密钥,比如AAA,ZZZ,或者键盘最左边的三个键,等等,给解密方帮了不少忙。
波兰数学家在这段时间积累的经验对未来英国解密enigma起到了非常大的作用。如果德国开始的时候用明文发电报,波兰人也不会掌握解密enigma的基本原理。
我偶尔看懂了的,也是高级的。。。。
三思的原文,偶也看过。不过,更喜欢这篇。偶有个小问题,现在的密码是怎么玩的啊
突然就被困到新兵营军训去了
才蒙这里的版主搭救,出来透口气,赶紧回复你,呵呵
自由真好
,封闭系统内用的和ENIGMA很相似,不过对称加密的算法不同,而且算法是公开的,用的最多的是DES或其升级版3DES(就是用DES计算三遍,增加破解所需时间)。
Internet上用的加密就很不同了,转成RSA那种非对称加密,也就是加密和解密的密钥不一样。
最近在新兵营发现好几个熟悉的ID,估计都是被你引来的
要去瞧一眼,得,以后我又要循规蹈矩了,呵呵:)))
见到你真好啊:))
对了,这里似乎有一大堆你的校友呐。
现代的文本加密主要还是对称加密。非对称加密太慢,而且也不适合对全文本加密,所以一般只是用在小数据加密上,比如加密文本对称加密密钥再传给对方。然后文本本身还是用对称加密。非对称加密还有一个用处就是核实发件人身份。
现代主要有两种对称加密,数据流加密和数据块加密。数据流加密就是用算法和密钥一起产生一个随机码流,再和数据流XOR一起产生加密后的数据流。解密方只要产生同样的随机码流就可以了。数据块加密把原数据分成固定大小的数据块(比如64位),加密器使用密钥对数据块进行处理。一般来说数据流加密更快,但块加密更安全一些。常见的加密法里,des和3des是使用最多的数据块加密,aes是更新一些的块加密法,rc4是数据流加密,等等。
二战以后,大家一般都放弃了保护加密算法的做法,因为太难了。而且数学上很强的算法就这么几种。所以现在都是公开算法。这些算法特性都不错,如果一个密钥长度不够强了,只要加长密钥长度就可以了。当然这种改变涉及改变加密硬软件,在使用中有些不便,不过一般认为算法本身还是够强不必改变。
本帖一共被 1 帖 引用 (帖内工具实现)
看来我要慢慢辨认这些师姐师兄师弟师妹了,呵呵
早知道你不能玩那么开心了,不如你不要转那个ENIGMA,偷偷发给我就好了。我还是最喜欢看到你玩得不亦乐乎的样子,自在嘛。不过现在还好,就是林小蒸、修罗吕布……
吸取教训,以后发现这类好网站,别往探索转了啊,偷偷告诉我就行了啊
献花,呵呵
另有一问请教,AES算法比DES在加密强度上是否有数量级的提高?
各玩各的。
碗是做媒体的,信息面大,没关系。修罗嘛,跟他不熟。
我喜欢西西河,有趣有理有情有义,我在这里一直不亦乐乎的。嘿嘿。
你也玩好啊:)
探索那边不大怎么常去了。就是每次在西西河看到好文章,击节称赞的时候,总觉得不与天下分享一下就说不过去。我已经很克制了,呵呵。
玩得可好了,你放心。探索也没原来去得多了。
还是忍不住再说一遍,下次发现好地方,一定记得告诉我啊
来了这里,发现网上的高人真多啊
我觉得是增加了弄清楚机器内部接线(转轮字母的对应关系)的可能性,
内部接线应该是比较固定的,通信双方用的机器内部接线必须是一致的。
而如果没弄清楚字母的对应关系,知道密钥也是没有用的。