换位密码
我们十分熟悉的凯撒密码就是一种最简单的换位密码。对于一个**k,k即为移动的位数。
两个或更多的简单换位以各自的周期t1,t2,…ti进行连续的组合称为复合换位。 该定义中的复合换位等价于以t-=lcm(1,t2,…ti)为周期的简单换位。 lcm为最小公倍数。
换位密码有一个致命的缺陷: 虽然简单换位会改变连续字符之 间的依赖,但由于它们保持了每个字符的频率分配 ,所以易于识别。
替代密码
单字母表替代:
Caesar密码是一种单字母表替代密码。识别简单替代:单字母表替代改变了单个明文字 符的频率,但它并未改变整个字符集的频率分布。 因此,若将密文字符的频率与明文语言中的一个字 符期望频率表相比较,就可得到密文与明文字符之 间的联系(如果最高频率的明文字符X出现12次,则 X所映射的密文字符也出现12次)。
多表替代
以Playfair密码为例:基于一个由**词构成的5x5字母 矩阵。若使用的**词为monarchy。对明文按如下规则一次加密两个字母:
- 如果该字母对的两个字母相同,在它们之间加一个填充字 母,比如x。如worry先把它变成wo rx ry这样三个字母对
- 落在矩阵同一行的明文字母对中的字母由其右边的字母来 代换,每行中最右边的一个字母用该行中最左边的第一个 字母来代换,如ar变成RM
- 落在矩阵同一列的明文字母对中的字母表由其下面的字母 来代换,每列中最下面的一个字母用该列中最上面的第一 个字母来代换,如mu变成CM
- 其他的每组明文字母对中的字母按如下方式代换:其所在 的行是该字母的所在行,列则为另一字母的所在列。如 hs变成BP,ea变成IM(或JM)。
Hill密码也是一种常见的多表替代密码。
同音替代
设每个a属于A,都对应着一个长度为 t的符号串 的集合H(a),并且对于所有a属于A,都有H(a)两两不交。所谓同音替代密码,是将明文消息分组中的每个符 号用从H(a)中随机选取的符号串替换。要解密长度为t的符号串c,必须确定a属于A,使得 c属于H(a)。这些密码 的**是那些H(a) 。
古典密码的其他内容
多字母表替代和Vigenere密码
多字母表密码机和转轮机
古典密码的密码分析
冗余度
唯一解距离和随机密码模型
语言统计
重合指数