《图解密码技术》 学习笔记2(超精炼有效!!)

Part 1 密码

第二章 历史上的密码

一、凯撒密码

将明文中所使用的字母表按照一定的字数“平移”来进行加密。在凯撒密码中,密钥为字母表平移的字数。

密钥较少,可使用暴力破解即,将所有可能的密钥尝试一遍


二、简单替换密码

把每一个字母都按一一对应的方法替换为另一个字母,这样的加密方式叫做“简单替换密码”。

其密钥较多,可使用频率分析即,分析字母或单词出现的概率。至迟在公元九世纪,阿拉伯的密码破译专家就已经娴熟地掌握了用统计字母出现频率的方法来击破简单替换密码。破解的原理很简单:在每种拼音文字语言中,每个字母出现的频率并不相同,比如说在英语中,e出现的次数就要大大高于其他字母。所以如果取得了足够多的密文,通过统计每个字母出现的频率,我们就可以猜出密码中的一个字母对应于明码中哪个字母(当然还要通过揣摩上下文等基本密码破译手段)。


三、Enigma 

1、构造

Enigma看起来是一个装满了复杂而精致的元件的盒子。不过要是我们把它打开来,就可以看到它可以被分解成相当简单的几部分。它的三个部分:键盘、转子和显示器。如图所示,

实物照片中,键盘上方就是显示器,它由标示了同样字母的26个小灯组成,当键盘上的某个键被按下时,和此字母被加密后的密文相对应的小灯就在显示器上亮起来。同样地,在示意图上我们只画了六个小灯。在显示器的上方是三个转子,它们的主要部分隐藏在面板之下,在示意图中我们暂时只画了一个转子。键盘、转子和显示器由电线相连,转子本身也集成了6条线路(在实物中是26条),把键盘的信号对应到显示器不同的小灯上去。在示意图中我们可以看到,如果按下a键,那么灯B就会亮,这意味着a被加密成了B。同样地我们看到,b被加密成了A,c被加密成了D,d被加密成了F,e被加密成了E,f被加密成了C。于是如果我们在键盘上依次键入cafe(咖啡),显示器上就会依次显示DBCE。

当键盘上一个键被按下时,相应的密文在显示器上显示,然后转子的方向就自动地转动一个字母的位置(在示意图中就是转动1/6圈,而在实际中转动1/26圈)。下面的示意图表示了连续键入3个b的情况:

当第一次键入b时,信号通过转子中的连线,灯A亮起来,放开键后,转子转动一格,各字母所对应的密码就改变了;第二次键入b时,它所对应的字母就变成了C;同样地,第三次键入b时,灯E闪亮。

 

在上面示意图中,当b键被按下时,灯C亮。于是转子自身的初始方向,转子之间的相互位置,以及连接板连线的状况就组成了所有可能的密匙,让我们来算一算一共到底有多少种。

三个转子不同的方向组成了26*26*26=17576种不同可能性;

三个转子间不同的相对位置为6种可能性;

连接板上两两交换6对字母的可能性数目非常巨大,有100391791500种;

于是一共有17576*6*100391791500,大约为10000000000000000,即一亿亿种可能性。

2、加密解密

1)设置Enigma

发信人首先要调节三个转子的方向,这就是国防军密码本的每日密码。(事实上转子的初始方向就是密匙,这是收发双方必须预先约定好的)

2)加密通信密码

将通信密码用初始每日密码加密,记得通信密码打两遍。例如输入psvpsv,得到ATCDVT。

3)重新设置Enigma

通信密码重新设置Enigma,通信密码中的3个字母代表了3个转子的初始位置。

4)加密消息,解密消息

依次键入明文,并把闪亮的字母依次记下来,然后就可以把加密后的消息用比如电报的方式发送出去。当收信方收到电文后,使用一台相同的ENIGMA,按照原来的约定,把转子的方向调整到和发信方相同的初始方向上,然后依次键入收到的密文,并把闪亮的字母依次记下来,就得到了明文。于是加密和解密的过程就是完全一样的——这都是反射器起的作用。稍微考虑一下,我们很容易明白,反射器带来的一个副作用就是一个字母永远也不会被加密成它自己,因为反射器中一个字母总是被连接到另一个不同的字母。

3、习题


密文中的字母L一次都没有出现,则可以推测明文是一段只有字母 l 的文字,即l l l l l...。
因为由Enigma的构造,可以推断出一般情况下,无论接线板怎么接线,3个转子的顺序和每个转子的旋转位置如何改变,输入的字母都绝对不可能被替换成该字母本身。(可考虑为有矩阵可逆性得变换前的字母A不等于变换后的字母B)通过密文中没有L这一事实,密码破译者就能够推测出其明文可能是一串字母 l。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听酱-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值