密码学:经典加密法

文章目录

  • 基础
  • 基本方法
  • 恺撒加密法(单码)
    • 算法描述
    • 示例
    • 破解
  • 关键词加密法(单码)
    • 算法描述
    • 示例
    • 破解
  • Vigenere加密法(多码)
    • 示例
    • 破解

基础

所谓经典加密法,就是以单个字母或字符组为作用对象的加密法。

前者被称为单图加密法(monographic cipher),又分为单码加密法和多码加密法:单码加密法的特征是每个明文的字母唯一映射到一个密文字母,多码加密法的特征是一个明文字母可能会映射到多个密文字母,一个密文字母也能映射到多个明文字母。单码加密法的致命缺点是无法抵抗频率分析,因此出现了多码加密法。

后者被称为多图加密法(polygraphic cipher)。

基本方法

  • 替换加密法:每个明文字母被其他字母替换生成密文。
  • 换位加密法:明文中的每个字母都没有改变,只是换了位置便可生成密文。

恺撒加密法(单码)

算法描述

把明文中的每个字母用其右边的第三个字母替换,如用 d 替换 a。

示例

明文:this
密文:wklv

破解

此种加密法只有25种可能的移位数,穷举即可。

关键词加密法(单码)

算法描述

选择一个关键词,如果其有重复的字母,则去重,如 success -> suce。将该关键词写在字母表的下方,其他位置补全,这样每个明文字母就可唯一映射到一个密文字母。

示例

在这里插入图片描述
在这里插入图片描述

破解

假设Eve已知通信双方使用了关键词加密法,明文是标准英语。

频率信息:根据这种加密算法的特点可以推出:所有的明文字母都已被唯一的密文替代。而在标准英语中,出现频率最高的字母是 e,那么在截获的密文中,必定也会有类似特征。

多联字母:标准英语中,有常常出现在一起的字母对,如 th he er。

通过这些手段可能获取密钥。

Vigenere加密法(多码)

示例

如明文为:“thisistheplaintext”,选取密钥为“hold”,设置其关联如图
在这里插入图片描述
然后借助Vigenere表,如下:

密码学:经典加密法_第1张图片
在关联对中,以密钥字母作为行下标,以明文字母作为列下标,在表中查找对应字母。

如第一对为“ht”,则可查找到表中的 h 行 t 列,对应字母为 “a”,此即为明文字母 t 对应的密文,其余同理。

最终生成的密文如下:

在这里插入图片描述
可以看到密文 v 既可对应明文 o,又能对应 s,从根本上抵御了频率分析。

破解

直接进行频率分析失效
密码学:经典加密法_第2张图片
Kasiski法:如果明文中包含重复的字母串,则密文中也可能会包含重复的字符串。如:
密码学:经典加密法_第3张图片明文tobe密钥RUNR两次生成了密文KIOV,明文th密钥UN两次生成了密文NU,其间距分别为9个字符与6个字符,则这些间距必然为密钥长度的倍数,计算其最大公约数即可。

确定出密钥长度之后,多码加密法的破解就变成了多个不同单码加密法的破解,如图:

密码学:经典加密法_第4张图片
如图,ljkfoxusjk都是用同一字母a加密的,可继续使用频率分析方法进行破解。

你可能感兴趣的:(密码学,密码学)