邓尼茨吧 关注:1,527贴子:16,835

【干货技术贴】关于Enigma等各类密码的原理及破译的那些事

只看楼主收藏回复


enigma密码机镇楼~


IP属地:上海1楼2017-01-17 20:04回复
    本帖纯属楼主胡乱看书查资料后胡诌之作,如果有什么地方出错(会出错的会出错的一定会出错的!!!),还请亲们给我指出来……
    enigma是战争时期一个神奇的存在,聪明的人制造了密码,更聪明的人又破译了密码,加密与解密之间的较量,关系着战争的走势乃至胜负。


    IP属地:上海2楼2017-01-17 20:07
    回复
      广告
      立即查看
      从最简单的开始说起~
      一、凯撒密码
      凯撒密码是最简单的加密方式
      1、原始版凯撒密码
      最原始的凯撒密码通常采取移位三个的方式,即将原本文章中的字母后移三位所得到的字母作为加密表中的相应字母。
      以英语26个字母为例:
      明码表 ABCDEFGHIJKLMNOPQRSTUVWXYZ
      密码表 DEFGHIJKLMNOPQRSTUVWXYZABC
      比如说,我们的原文是这样一段话:Wang ist mein Familienname
      得到的密文就是Zdqj ivw phlq Idplolhqqdph
      破解方法:
      (1)暴力破解法
      此种位移式密码的破解方法较为简单,就是试。该种密码最多不过25种密钥,在计算机技术发达的现代,非常简单;在该种加密方式刚刚被发明的时期,多请几位破译员,每个人试一种密钥也能破解。
      (2)差数法
      当文章中有空格时,用此种方法比较简单。
      以字母在字母表中所排的顺序作为该字母的数,即A=1,B=2……
      例如,单词der,用后一个字母的数减去前一个字母的数,得到1,13,由于密文是通过位移法得到的,所以密文中der对应的单词,用后一个字母的数减去前一个字母的数,得到的数组还是1,13。
      通过该种方法,可以确定密钥字母移动的数位,也可以轻松破解密文。
      如果文章中没有空格,我们就要先看文章,尽量找到重复的字母串,比如说我们找到了一个字母串重复频率较高且长度为3,并且这三个字母用后一个字母的数减去前一个字母的数得到的数组也是1,13,我们就可以猜测,这个字母串就是der所对应的密文,以此再推断得到密钥。


      IP属地:上海本楼含有高级字体3楼2017-01-17 20:09
      回复
        2、加强版的凯撒密码
        在原始版凯撒密码的情况下,破解方法恰恰是利用了该加密方法位移的特点,因此,为了防备密码被破译,加强版的凯撒密码横空出世。
        即明码表为ABCDEFGHIJKLMNOPQRSTUVWXYZ时,所对应的密码表不是通过位移方式来形成,而是通过乱序排列来生成
        随便写一个:
        明码表 ABCDEFGHIJKLMNOPQRSTUVWXYZ
        密码表 ZYXWVUTSRQPONMLKJIHGFEDCBA
        依然是上面Wang ist mein Familienname那句话,在这样的密码表下,其密文为:Dzmt rhg nvrm Uznrorvmmznv
        该种加密方法看似很高端,但是世界上有门神奇的学科叫做数学,有门高端的课程叫做概率论,于是频率分析法就是这种方法的最大克星……


        IP属地:上海本楼含有高级字体4楼2017-01-17 20:09
        回复
          (图片引自赵燕枫著作《密码传奇》 科技出版社)
          上图即为英文和德文中字母出现的频率,接收方得到密文后,可以统计密文中各字母出现的频率,再对应字母表的字母频率,对照波峰波谷,就能得到明文和密文的对应方式,从而破译密码。
          但是,频率分析法也有不足之处,若密文长度很短,在100个字母之内,就很有可能造成频率偏差,从而影响破译。
          话说楼主记得好像有位法国作家写过一篇200多页的小说,其中竟然没有出现一个e,频率分析法表示:朕好害怕,来人,护驾……
          虽然频率分析法有不足之处,但仍不失为对付凯撒密码的一个好方法。就这样,加强版的凯撒密码斗倒了暴力破解法(根据排列组合知识,密钥的可能性有26!种,这是要累死人的节奏……)、差数法,但还是没能抵御数学的磨刀霍霍……


          IP属地:上海5楼2017-01-17 20:18
          回复
            楼主先去吃饭,吃饭回来更维吉尼亚密码~
            楼主对灯发誓绝不弃坑


            IP属地:上海9楼2017-03-04 11:47
            回复
              破译恩尼格码的第一个契机是来自于德国人内部的“德奸”--汉斯。施密特。他的哥哥鲁道夫。施密特是德军一名高级军官。凭借着哥哥的提携,汉斯。施密特在德国政F的密码处供职。潦倒的生活使他在1931年下向法国情报人员提供了她手头的德国绝密文件,并以此赚取了一些钱财。他不仅向法国情报人员提供了恩尼格码机的使用手册,甚至提供了恩尼格码机转子的内部线路资料。在战前,法国和英国的情报人员尽管得到了这价值连城的情报,但仍然无法破译恩尼格码,于是他们向他们的波兰同行提供了这一情报。波兰的密码分析人员认为即使已经获得了法国人提供的关于恩尼格码情报,破译恩尼格码的唯一途径就是仿制一台恩尼格码机。他们对这台机器寄予厚望并最终在1932年成功地制.造出这么一台,而与此同时,他们的英国和法国同行却一事无成。
              多亏了法国人提供的德国绝密文件,他们仿造出一台恩尼格码机。此后,以此为基础,他们又造出了被他们昵称为“炸彈”的高级密码分析仪器。在1938年以前的6年时间里,波兰方面成功地破译了德国的恩尼格码信息。此事被波兰视为绝对机密,即使对法国人也守口如瓶。








              IP属地:云南13楼2017-03-04 12:51
              回复
                1940年2月德国潜艇U-33在苏格兰附近海面被击沉,英国情报部门因此能获得海军用ENIGMA机上的三个转子,使得密码分析人员能对这种特别的ENIGMA机有所了解并对截获的密文作部分的破解;同年4月在挪威,盟军俘获了一条德国拖捞船,从上面取得了几份关于ENIGMA的资料并送交图灵研究。但是在还没有取得任何进展之前,德国人就改换了转子结构。1941年3月4日在盟军特种兵对挪威罗弗敦群岛的突袭中缴获了两T海军用ENIGMA机,于是盟国重新能够部分破译德海军情报。德国海军充分意识到盟军可能从捕获的德军船只和潜艇,所以他们制定了一些措施防止盟军获得被海军视为头等机密的恩尼格码机。他们要求海军用的恩尼格码机的部件可迅速被拆卸并扔进水中,并要求船员在弃船后迅速将船只自沉。尽管这些措施通常是有效的,但也并不是万无一失的。在战争进程中,盟军曾几次在登船后捕获了德军来不及毁掉的恩尼格码的使用手册、密码本、甚至完整的恩尼格码机。在1941年夏的一系列成功行动后,英国密码分析人员第一次实时地破译了德国海军的恩尼格码密文。


                IP属地:云南14楼2017-03-04 12:54
                收起回复
                  广告
                  立即查看
                  恩尼格玛机的操作过程很简单。在将密电发出去以前,报务员将恩尼格玛机的电子和机械部件设置到他和接受方预先约定好的组合(包括机器上的连接线和转子)。然后,他在恩尼格玛机的键盘上键入明文电报。每键入一个字母,位于键盘上方、一个字母下的指示灯将亮起(该字母和键入字母一定是不同的)。报务员记录下每个亮起的字母,这样当完整地将明文电报输入恩尼格玛机后,他将记录到一组毫无意义的字母流,而这正是该明文电报的恩尼格码密电电文。接着,他用发报机将这篇密文电报以标准摩尔斯电码的形式发出。接收方的报务员受到这篇电文后将他的恩尼格码机调整到相同的设置,并依次在键盘上输入密文报文。这样根据他键入密文时恩尼格码机亮起的灯的顺序,他就可以将密文解密得到明文。(也就是加密过程和解密过程的可逆性--译者按。)
                  以上资料片段源自网络的英语科普文章翻译。


                  IP属地:云南15楼2017-03-04 12:56
                  回复
                    二、维吉尼亚密码
                    相对于凯撒密码的单表代替,维吉尼亚密码的多表代替确实是密码学的一项巨大进步。
                    下图就是一张维吉尼亚密码表,大家可以看一下

                    (图片引自赵燕枫著作《密码传奇》 科技出版社)


                    IP属地:上海本楼含有高级字体16楼2017-03-04 13:15
                    回复
                      1、维吉尼亚密码原理
                      那么现在继续举例,还是之前说的Wang ist mein Familienname这个例子
                      寻找w所对应的密文时,我们以第一行为密文,通过对应关系,找到w对应的密文是w
                      寻找a所对应的密文时,我们以第二行为密文,通过对应关系,找到a对应的密文是b
                      所以,以此类推,这句话所对应的密文就是
                      wbpj mxz tlqw plyvzxueftgz (楼主是人工寻找的,如果楼主找串行了请原谅……
                      Dzmt rhg nvrm Uznrorvmmznv这是之前按凯撒密码所得到的密文
                      对比之下,我们可以看到,相对凯撒密码而言,维吉尼亚的重码率很低,比如说明文Familienname这个单词,按凯撒密码的加密方式,两个i和两个n的出现会增加密码被破译的可能。
                      但是维吉尼亚密码就好得多了,两个i分别对应着vx,两个n分别对应着ef,这就相当于把字母频率的波峰和波谷相互中和,让各个字母出现的频率都差不多,在这种情况下,频率分析法暂时失灵。
                      然鹅,数学先生傲娇地说:这世界上还没有我收拾不了的东西……


                      IP属地:上海本楼含有高级字体17楼2017-03-04 13:29
                      回复
                        2、维吉尼亚密码的破绽
                        在维吉尼亚密码刚出现的时期,密码是军、商用途,然而无论密码的作用多么重要,在那个计算机技术还不发达的时代,密码都是由手工编译的,从概率论的角度来讲,密钥的长度越大,密码被破译的可能性就越小。
                        但是从实际操作而言,如果密钥过长,在操作者对着换字表一个一个查找时,不仅麻烦,而且容易出错。


                        IP属地:上海本楼含有高级字体18楼2017-03-04 13:57
                        回复

                          这个图片是前两年Imitation Game上映的时候流传出来的一幅图片,据说是从Turing遗物中找到的,当时楼主还对图片下方的密码产生了巨大兴趣。。。。。。
                          扯远了,楼主主要是想表达,看这些密文的排列结构,通常是五个一组,我们的维吉尼亚密码也是这样,通常也是五个一组,最先的五个字母就是密钥。


                          IP属地:上海19楼2017-03-04 14:25
                          回复
                            因为维吉尼亚密码是通过循环使用密钥进行加密的,所以破解密码的法门就在这“循环”二字上。
                            如果观察足够多的密文,就会发现间隔多少位,会有规律地出现特定的字母组,英文有of、the,德语有der、das、die,找到了这些重复出现的字母组,就有了破译密码的可能。


                            IP属地:上海20楼2017-03-04 14:29
                            回复