单表代换

凯撒密码

概念

是一种替换式加密,而这种替换是固定的

破解方法

(1)利用英语字母的频率

字母字母频率单词频率
e11.42%64.52%
a8.56%54.08%
i7.94%50.39%
r7.51%50.24%
t7.46%48.05%
o7.12%44.44%
n6.41%42.77%
s5.55%36.91%
l5.52%37.03%
c4.74%32.44%
u3.66%26.42%
p3.27%23.05%
m3.22%22.82%
d3.13%22.52%
h2.76%20.04%
g2.30%16.47%
b2.12%15.70%
y2.00%15.15%
f1.47%10.22%
v1.07%8.24%
w0.94%7.15%
k0.84%6.37%
x0.35%2.72%
z0.24%1.66%
q0.23%1.85%
j0.15%1.17%

(2)字母组的使用频率

用出现频繁的字母组

如二字母组:an、he…………

仿射密码

使用数学函数对每个字母进行加密。它比简单的凯撒密码更安全,但仍然容易受到各种攻击。

概念

  • 字母数值化: 将字母转换为数字 (通常 a=0, b=1, …, z=25)。

  • 线性函数: 使用形式为 E(x) = (ax + b) mod m的函数进行加密。

    • x 是明文字母的数值表示。
    • ab 是密钥,a 必须与 m 互质 (最大公约数为 1)。
    • m 是字母表的大小 (通常为 26)。
    • mod m 是模运算,确保结果在 0 到 m-1 之间。
  • 模逆元: 解密需要计算 a 的模逆元 a⁻¹,满足 (a * a⁻¹) mod m = 1

弱点:

  • 频率分析: 字母频率仍然可以被利用,尽管不如凯撒密码明显。
  • 已知明文攻击: 如果知道明文和对应的密文,可以很容易地推导出密钥。
  • 暴力破解: 密钥空间相对较小,可以使用暴力破解尝试所有可能的密钥组合.

多表置换

维吉尼亚密码

概念

用单词作为密钥加密

k=CRYPTO
m=WHATANTCEDAYTODAY

先将k复制粘贴、直至长度覆盖信息

k=CRYPTOCRYPTOCRYPT
m=WHATANTCEDAYTODAY

在这里插入图片描述

信息字母再根据单词表将密钥字母加到之上模除25得

c=YYYITBVTCSTMVFBPR

可以参考此表:

在这里插入图片描述

破解方法

利用英语字母的频率

前提:知道k的长度L

先抓取每L长度的密文的第一个字母,此时密文所加密的值是一致的,运用字母频率,找出频率最高的字母,该字母很有可能是e的加密,此时便可以得出第一个字母加密方式,以此类推。最终得出结论

所以需要先破解L的值

用假设法直到破解出有意义的信息为止,此时便已完成破解。