传统加密方法
1 换位法
- 列换位密码(按列写出密文)
- 周期换位算法(以一定的周期来变换明文字符)
- 双轨,钥控,路径加密法
可以通过字母出现频率来判别换位密码
还可以参考双字母和三字母组合的出现频率分布表
2 简单代替密码
将明文字母表中的每个字母用密文字母表中相应的字母来代替
凯撒密码: f(a) = (a+k) mod n
a:明文在字母表中位置 n:字母表长度 k:字母右移k个位置
基于仿射变换的密码
基于仿射变换的密码: f(a) = (ak1+k0) mod n
其中:k1和n是互素的
(对应密文为在原字母表中的位置)
基于仿射变换的密码解密:求解联立方程组
已知t个对应的明文字母mi和密文字母ci (1 ⩽ \leqslant ⩽i ⩽ \leqslant ⩽t),则可以通过求解联立方程组来确定系统k1和k0
{ ( m 1 k 1 + k 0 ) m o d n = c 1 . . . . . . ( m t k 1 + k 0 ) m o d n = c t \left\{ \begin{aligned} (m_1k_1+k_0) mod n=c_1\\ ......\\ (m_t k_1+k_0) mod n=c_t \end{aligned} \right.