单表代换

凯撒密码

概念

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

破解方法

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

字母 字母频率 单词频率
e 11.42% 64.52%
a 8.56% 54.08%
i 7.94% 50.39%
r 7.51% 50.24%
t 7.46% 48.05%
o 7.12% 44.44%
n 6.41% 42.77%
s 5.55% 36.91%
l 5.52% 37.03%
c 4.74% 32.44%
u 3.66% 26.42%
p 3.27% 23.05%
m 3.22% 22.82%
d 3.13% 22.52%
h 2.76% 20.04%
g 2.30% 16.47%
b 2.12% 15.70%
y 2.00% 15.15%
f 1.47% 10.22%
v 1.07% 8.24%
w 0.94% 7.15%
k 0.84% 6.37%
x 0.35% 2.72%
z 0.24% 1.66%
q 0.23% 1.85%
j 0.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

弱点:

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

多表置换

维吉尼亚密码

概念

用单词作为密钥加密

1
2
k=CRYPTO
m=WHATANTCEDAYTODAY

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

1
2
k=CRYPTOCRYPTOCRYPT
m=WHATANTCEDAYTODAY

在这里插入图片描述

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

1
c=YYYITBVTCSTMVFBPR

可以参考此表:

在这里插入图片描述

破解方法

利用英语字母的频率

前提:知道k的长度L

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

所以需要先破解L的值

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