美文网首页
密码游戏(上)

密码游戏(上)

作者: 狗子狗 | 来源:发表于2018-08-26 08:51 被阅读0次

    1918年11月11日,第一次世界大战结束了。被《凡尔赛条约》压的喘不过气的日耳曼民族经过这次战斗的洗礼,深知情报保密工作对一场战争的重要性。1919年,德国发明家亚瑟·谢尔比乌斯和他的朋友理查德·里特发明了英格玛机(ENIGMA)。在这样的条件下,1925年,德国军队全面装备英格玛机,也正是在这样的背景下,人类历史上最烧脑的一场密码战,打响了。

    1939年9月1日,第二次世界大战开始了。

    在英格玛机的帮助下,德意志战车横扫欧洲,英国的情报部门更是发出长叹:“英格玛机是无懈可击的!”

    在开始讲解这场烧脑大战之前,我们先来看一下密码加密的原理。

    当你想要加密一段文字时,你要从每一个字母入手,比如:

    加密前:a   b   c   d  e   f   g  h   i    j    k   l   m  n  o  p  q   r   s   t   u  v w x  y  z

    加密后:C  O  M  P  U  T  E  R  S  V  W  X  Y  Z  A  B  D  F  G  H  I  J  K L N  Q 

    我们要对下面这个句子进行加密:

    I may be lonely but I'm not stupid.

    按照上面的替换规则,我们可以得到这样一段句子:

    S YCN OU XAZEXN OIH XY ZAH GHIBSP.

    这样就算加密完成了。理论上,英文26个字母的排列组合有4.03X10^26这么多,这是什么概念呢?全世界60亿人每人每秒测试一种组合,也需要20亿年才能测试出来。所以在一段时间内,这种加密方式被认为是无解的。

    但是如果在这里结束的话,恐怕就没有什么英格玛机的戏份了。但是人类的智慧是无穷的,还真的有人破解了这种密码,他们的武器是语言学和统计学。

    以英语为例,字母e,a,t出现的概率远远大于j,k,q,x等,下面我会贴一张统计图来说明。

    这张图片来自维基百科,清晰的展示了英文26个字母在文本中出现的概率

    在刚才的密码表中,我们用U替换了e,如果我们能够截取足够多的数据,就会发现U,C,H出现的概率远远大于其他字母,然后只需要慢慢地替换尝试,这种密码表很快就被破解了。

    OK,密码师们并不服气,他们很快就发明了多密码替换表。

    加密前:       a   b   c   d  e   f   g  h   i    j    k   l   m  n  o  p  q   r   s   t   u  v w x  y  z

    一次加密后:C  O  M  P  U  T  E  R  S  V  W  X  Y  Z  A  B  D  F  G  H  I  J  K L N  Q 

    二次加密后:A   I   R  E   L  N  P  F  G  H  J  K  M  O  Q  S  T  U  V W X Y Z B C  D

    明文中第一个字母用第一行密码,第二个用第二行,第三个又回到第一行,以此类推。

    我们再次加密上面那句话试一下:

    I may be lonely but I'm not stupid.

    加密后:

    X MCC OL XQZLXC OXH GY OAW GWISSE

    发现什么了吗?对,but的u被替换成了X,但是在后面立刻又被替换成了I。这说明多密码替换表不但可以掩盖明文,同时还能掩盖明文中字母出现的概率。

    密码师们也不是吃素的,既然能有两行密码表,为什么不能有三行,四行?不,为了一劳永逸,我们用二十五行吧!

    在这里我们不得不提一下这位“丧心病狂”的密码师的名字:布莱兹·德·维热纳尔(Blaise de Vigenère),维热纳尔发明了二十五行的加密表,也就是现在的维热纳尔方阵:

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

    C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

    D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

    E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

    F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

    G H I J K L M N O P Q R S T U V W X Y Z A B C D E F

    H I J K L M N O P Q R S T U V W X Y Z A B C D E F G

    I J K L M N O P Q R S T U V W X Y Z A B C D E F G H

    J K L M N O P Q R S T U V W X Y Z A B C D E F G H I

    K L M N O P Q R S T U V W X Y Z A B C D E F G H I J

    L M N O P Q R S T U V W X Y Z A B C D E F G H I J K

    M N O P Q R S T U V W X Y Z A B C D E F G H I J K L

    N O P Q R S T U V W X Y Z A B C D E F G H I J K L M

    O P Q R S T U V W X Y Z A B C D E F G H I J K L M N

    P Q R S T U V W X Y Z A B C D E F G H I J K L M N O

    Q R S T U V W X Y Z A B C D E F G H I J K L M N O P

    R S T U V W X Y Z A B C D E F G H I J K L M N O P Q

    S T U V W X Y Z A B C D E F G H I J K L M N O P Q R

    T U V W X Y Z A B C D E F G H I J K L M N O P Q R S

    U V W X Y Z A B C D E F G H I J K L M N O P Q R S T

    V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

    W X Y Z A B C D E F G H I J K L M N O P Q R S T U V

    X Y Z A B C D E F G H I J K L M N O P Q R S T U V W

    Y Z A B C D E F G H I J K L M N O P Q R S T U V W X

    Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

    维热纳尔:哈哈,没想到吧!

    这张密码表的使用方法很简单,电报双方互相约定一个单词,比如ANYTIME,然后明文就被这七行密码所替换,变成了一段完全无法破解的密文。

    等等,真的完全无法破解吗?既然英文中字母可以根据统计学来猜测,那单词难道不可以吗?

    未完待续

    PS:不出意外会在二十四小时后更新中篇,讲解维热纳尔方阵的破解以及英格玛机的原理。

    相关文章

      网友评论

          本文标题:密码游戏(上)

          本文链接:https://www.haomeiwen.com/subject/ntgniftx.html