跨语言系统的密码破解原理是咋样的
Alan Turing提出方向,造出的Bome机器解出的明文是德语字母,然后再人工翻译成英文。
这里容易有个误解,那就是解得出明文必然表示解密者可以读懂明文,而实际不是这样的。
比如这是个加密了的德语句子
Dp Wdj qdfk ghp whuurulvwlvfkhq Dqvfkodj lq Sdulv vlqg glh Ghxwvfkhq lq ghu Iudjh jhvsdowhq, re vlh Dqjvw yru hlqhp whuurulvwlvfkhq Dqvfkodj kdehq: 49 Surchqw ixhufkwhq, gdvv hv dxfk lq Ghxwvfkodqg lq qdhfkvwhu Chlw hlqhq Dqvfkodj jhehq zlug. Hehqidoov 49 pdfkhq vlfk glhvehcxhjolfk nhlqh Vrujhq
而一旦我告诉别人,这个加密方法是凯撒密码,也就是移位密码。那么他只需要按照德语字母出现的概率分析就可以算出我的明文,即使他不懂这句话。这个例子里,解密的关键就是:
1. 已知明文的语言形式(比如确定的某种外语)
2. 已知明文的组成单位(比如字母)的某种概率分布,且密文没有破坏这种概率分布。
3. 已知加密的方式 (凯撒密码大家都知道是怎么回事)
参考这个概率分布表,来自http://www.cryptogram.org/cdb/words/frequency.html
a - 1831 (17.459712024411175%)n - 1175 (11.204348240678935%)e - 1112 (10.603604462668064%)u - 935 (8.915800514923239%)t - 529 (5.044340612186517%)i - 491 (4.681987222275199%)g - 478 (4.558024220463431%)k - 456 (4.348240678935825%)h - 445 (4.243348908172022%)o - 429 (4.09077905978831%)m - 384 (3.661676361209116%)r - 347 (3.3088585868217794%)s - 306 (2.9178983503385143%)p - 303 (2.889291503766568%)b - 296 (2.8225421950986935%)d - 291 (2.774864117478783%)l - 241 (2.2980833412796797%)y - 192 (1.830838180604558%)j - 121 (1.153809478401831%)w - 67 (0.638886240106799%)c - 44 (0.4195670830552112%)f - 8 (0.07628492419185657%)? - 6 (0.057213693143892436%)原文是:
Am Tag nach dem terroristischen Anschlag in Paris sind die Deutschen in der Frage gespalten, ob sie Angst vor einem terroristischen Anschlag haben: 49 Prozent fuerchten, dass es auch in Deutschland in naechster Zeit einen Anschlag geben wird. Ebenfalls 49 machen sich diesbezueglich keine Sorgen. (其中我把一些特殊的德语字母做了改写 ü=ae,?=oe,?=ae)
第三点,即加密方式已知,对于enigma机相对而言比较困难,首先得想办法从已知明文-密文对里尽量用逆向工程的方式把这个机器还原出来。在这个还原过程中,波兰人有着重大的贡献。图灵是在此基础上,设计出了高效计算德军当天所用密钥的算法以及算法的机器实现。
【跨语言系统的密码破解原理是咋样的】 如果Turing在那个时候就能直接从德语加密形成的密文里解密出英文,那不止是破解了一个加密算法,而且还解决了现在都没有优质算法的“机器翻译”问题。
推荐阅读
- 吉林丰满鱼道系统就绪静待松花江鱼类洄游产卵
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- OC为何跌出语言榜前十
- 5.1声道片源对于没有5.1硬件系统的用户来说有意义吗
- |徐州市出台《关于优化创新创业生态系统 提升区域科技创新活力的实施意见》及实施细则
- |奥迪开发基于C-V2X校车警示系统
- dart这编程语言现在发展怎么样了,语法与Java,c#很相似,甚至更简洁
- 企业信息化系统可否自己搭建
- 人民车市|新语言、新起点,捷达VS7 强势入局
- C语言 指针引用数组的地址问题
