《图解密码技术》——第二章

本章学习内容

1.几种历史著名的密码:

  • 凯撒密码
  • 简单替换密码
  • Enigma

2.破译方法

  • 暴力破译
  • 频率分析

2.1 凯撒密码

1.概念:

将明文中的的字母表按照一定的字数进行平移进行加密。

2.加密:

在凯撒密码中,按一定的字数平移是这个密码的算法,平移的字数是这个密码的密钥。

3.解密:

使用与加密时相同的秘钥进行反向平移操作。

但这需要发送者与接受者提前商量好秘钥。那么,不知道秘钥的人如何破译呢?

2.2 暴力破解

凯撒密码的密钥是平移的字数,有0-25共26种,全部尝试一遍,就会发现,只有当秘钥为3时,解密的字符串有意义。

像这样,将所有可能的密钥全部尝试一遍破译方法称为暴力破解。由于这种方法的本质是从所有的密钥中找到正确的密钥,也称作穷举搜索

显而易见,凯撒密码非常弱,无法保护重要的秘密。

2.3 简单替换密码

1.概念:

将字母表中的26个字母分别与字母本身建立一一对立的关系。这样,将一套字母表替换成另一套字母表的密码,成为简单替换密码。

2.加密:

根据替换表,将明文中的字母一一替换。

3.解密:

使用加密时使用的替换表进行反向替换,替换表就是简单替换密码的密钥。

4.简单替换密码的密钥空间

一种密码能够使用的“所有密钥的集合”,称为密钥空间。密钥的总数就是密钥空间的大小。密钥空间越大,暴力破解就越困难。

因为简单替换密码中第一个字母可以替换26个字母,以此类推,简单替换密码共有26!个密钥。相当于4兆的1000兆倍。即使以每秒10亿个密钥的速度破译,也需要花费120亿年,所以简单替换密码很难通过暴力破解的方法进行解密。

2.4 频率分析

1.使用频率分析密码破译方法能够破译简单替换密码。

2.使用频率分析进行破译,示例如下:

3.结论:

  • 除了高频字母外,低频字母也能成为线索。
  • 搞清开头和结尾能够成为线索,搞清单词之间的分隔也能成为线索。
  • 密文越长越容易破译
  • 同一个字母连续出现能够成为线索(这是因为在简单替换密码种,某个字母在替换表中所对应的另一个字母是固定的)
  • 破译的速度会越来越快

2.5 Enigma(恩尼格玛)

1.概念:

2.使用Enigma进行加密通信

Enigma是一种由键盘、齿轮、灯泡和电池组成的机器,通过这一台机器就可以进行加密和解密。

发送者和接收者都有Enigma密码机,发送者用Enigma密码机进行加密,然后通过无线电进行发送,接收者接收到密文后,使用Enigma密码机进行解密。

由于发送者和接收者需要相同的密钥才能完成加密通信,因此发送者和接收者会提前收到一本名叫国防军密码本的册子,里面记载了发送者和接收者使用的每日密码,发送者和接收者分别按照册子指示来设置Enigma。

3.Enigma的构造

 3.1 键盘和灯泡:

将明文通过键盘输入,通过复杂的电路,就会使灯泡亮起来,变成密文。如:键盘输入a,灯泡D亮,就将a加密成D.

 3.2 接线板:

是一种通过改变接线方式来改变字母对应关系的部件。接线板上的接线方式是根据国防军密码本中的每日密码设置的。

 3.3 转子:

一个圆盘状的装置,两侧的接触点之间通过电线连接。每个转自内部的接线无法改变。

当输入一个字母时,第一个转子转1/26圈;第一个转子转一圈,第二个转子转1/26圈;第二个转子转一圈,第三个转子转1/26圈。第一、二、三个转子依次相当于时钟的秒针、分针、时针。

转子从右往左排序,分别为转子1、2、3

4.Enigma密码机如何工作?

以下视频使用3D模型及动画,详细介绍了Enigma密码机的工作原理。

Enigma密码机是如何工作的?_哔哩哔哩_bilibili(4:13开始)

5.Enigma加密

 5.1 设置Enigma

根据国防军密码本的每日密码设置Enigma,即接线板接线、排列转子的顺序、转子位置。

 5.2 进行通信加密

接下来,发送发送者想出的三个字母(psv),将其重复输入(psvpsv),通过Enigma进行加密,这三个字母称为通信密码。

 5.3 重新设置Enigma

通信密码实际上是Enigma的三个转子的位置,将第一、二、三个转子分别转到p、s、v对应的位置。

 5.4 加密信息

将明文通过Enigma进行加密

 5.5 拼接

将“加密后的通信密码+加密的信息”进行拼接,通过无线电发送过去。

6.每日密码和通信密码

每日密码是用来加密通信密码的,通信密码是用来加密信息的。也就是说,每日密码是用来加密密钥的密钥,这样的密钥,被称为“密钥加密密钥”‘。

之所以进行两重加密,即使用通信密码加密信息,用每日密码加密通信密码,是因为用同一个密钥加密的密文越多,破译的线索也越多,被破译的风险也会相应增加。两重加密,降低了被破译的风险。

7.避免通信错误

在Enigma时期,由于无线电质量不好,通信密码会出现tonton通信错误,所以要将通信密码输入两遍。这样,接收者可以进行校验,即是否是三个字母重复两次,来判断是否发生通信错误。

8.Enigma解密

 8.1 分解

将接收到的信息分为两部分,即前六个字母和剩下部分。

 8.2 设置Enigma

根据国防军密码本的每日密码设置Enigma

 8.3 解密通信密码

输入前六个字母,通过Enigma进行解密,观察是否是重复的三个字母,判断是否出现通信错误。

 8.4 重新设置Enigma

根据通信密码重新设置Enigma

8.5 解密消息

在键盘中输入密文,从灯泡读取记录下来

9.Enigma的弱点

  • 将通信密码连续输入两次并加密。

破译者知道,密文开头的6个字母被破解之后的明文一定是3个字母重复两次的形式。

  • 通信密码是人为选定的

发送者可能会选定与自己有关的的密码,如:自己名字,aaa等。密码系统中选定的密钥应该是无法预测的随机数。

  • 必须派发国防军密码本

如果没有国防军密码本,将不能通信;此外,如果国防军密码本被泄露,也会造成麻烦,必须重新制作密码本并发放全军。

  • 在加密通信最开始的6次输入中,只有第一个转子会转

10.Enigma的破译

Enigma密码机保密并不依赖于“隐蔽式安全性”,即使知晓Enigma的构造,不知道Enigma的设置也难以破译。

注:Enigma将字母加密后的字母一定不是本身

2.6 为什么要将密码算法和密钥分开

如果不分开的话,每加密一次,就需要产生一个新的密码算法,太麻烦。我们总希望能够重复使用一个密码算法,但是使用次数过多,被破译的可能性越大,因此在密码算法中增加一个可变的部分,就是密钥。将密码算法和密钥分开就是为了能够重复使用密码算法,且不增加被破译的风险。

现在有一部分密码算法标准化,即使密码算法标准化,但密文的机密性丝毫没有被降低。因为密码算法和密钥是分开的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值