替换密码
单表代换
凯撒密码
概念
是一种替换式加密,而这种替换是固定的
破解方法
(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是明文字母的数值表示。a和b是密钥,a必须与m互质 (最大公约数为 1)。m是字母表的大小 (通常为 26)。mod m是模运算,确保结果在 0 到 m-1 之间。
模逆元: 解密需要计算
a的模逆元a⁻¹,满足(a * a⁻¹) mod m = 1。
弱点:
- 频率分析: 字母频率仍然可以被利用,尽管不如凯撒密码明显。
- 已知明文攻击: 如果知道明文和对应的密文,可以很容易地推导出密钥。
- 暴力破解: 密钥空间相对较小,可以使用暴力破解尝试所有可能的密钥组合.
多表置换
维吉尼亚密码
概念
用单词作为密钥加密
如
1 | k=CRYPTO |
先将k复制粘贴、直至长度覆盖信息
1 | k=CRYPTOCRYPTOCRYPT |
信息字母再根据单词表将密钥字母加到之上模除25得
1 | c=YYYITBVTCSTMVFBPR |
可以参考此表:
破解方法
利用英语字母的频率
前提:知道k的长度L
先抓取每L长度的密文的第一个字母,此时密文所加密的值是一致的,运用字母频率,找出频率最高的字母,该字母很有可能是e的加密,此时便可以得出第一个字母加密方式,以此类推。最终得出结论
所以需要先破解L的值
用假设法直到破解出有意义的信息为止,此时便已完成破解。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小chen妙妙屋!
评论





