本文共 1663 字,大约阅读时间需要 5 分钟。
我们十分熟悉的凯撒密码就是一种最简单的换位密码。对于一个密钥k,k即为移动的位数。
两个或更多的简单换位以各自的周期t1,t2,…ti进行连续的组合称为复合换位。 该定义中的复合换位等价于以t-=lcm(1,t2,…ti)为周期的简单换位。 lcm为最小公倍数。 换位密码有一个致命的缺陷: 虽然简单换位会改变连续字符之 间的依赖,但由于它们保持了每个字符的频率分配 ,所以易于识别。Caesar密码是一种单字母表替代密码。
识别简单替代:
单字母表替代改变了单个明文字 符的频率,但它并未改变整个字符集的频率分布。 因此,若将密文字符的频率与明文语言中的一个字 符期望频率表相比较,就可得到密文与明文字符之 间的联系(如果最高频率的明文字符X出现12次,则 X所映射的密文字符也出现12次)。 以Playfair密码为例
:基于一个由密钥词构成的5x5字母 矩阵。若使用的密钥词为monarchy。对明文按如下规则一次加密两个字母:
Hill密码
也是一种常见的多表替代密码。设每个a属于A,都对应着一个长度为 t的符号串 的集合H(a),并且对于所有a属于A,都有H(a)两两不交。所谓同音替代密码,是将明文消息分组中的每个符 号用从H(a)中随机选取的符号串替换。要解密长度为t的符号串c,必须确定a属于A,使得 c属于H(a)。这些密码 的密钥是那些H(a) 。
古典密码的其他内容
多字母表替代中,将密码分为t组,即每一组的长度为t,共使用t张表,那么相同的字母在不同位置的替换将会不同。凯撒密码相当于只使用了一张表。
Vigenere密码: 定义:周期为 的简单vigenere密码运作于一个有 s个字母的字母表上,它有一个 t 个字符的密钥k1,k2,k3,…kt 。从明文 m=m1m2m3… 到密文 c=c1c2c3… 的映射由 ci=mi+ki(mods) 定义在单个字符上,其中 ki 的下标 i 取模 t(密钥可重复使用)。多字母表密码的加密的解密可以用机械来实现,比较典型 的一种就是Jefferson滚筒。
从图中可以看到,只要将明文对准,其他任意一行都是密文。 这个密码筒和达芬奇密码中的密码锁很像,但是查后发现原理不同,达芬奇密码筒更像是现在自行车上的密码锁。 另外一种用来大规模加密的机械是轮转机,复杂度特别高,在二战中用于军事加密。比如德军的Enigma和美军的Hagelin M-209,大概是这个样子: Enigma最初有三个转论 Ri,每个 转论有26个位置。R1 计步式地转动 R2,R2 计步式地转 动 R3,其中 R2 也可自己转动,周期为 262526=17000 。 这些转论各自的初始位置( 约17000 种选择)、它们的 次序( 3!=6 种选择)和线路连接板的状态共同构成 了密钥,其中除了通过转论组合可实现单字母替代 外,用该线路板也可实现一个固定且容易修改的单 字母表替代( 26! 种选择) Hagelin M-209转轮机用6 个密钥轮实现了一个多字母表替代,其周期为 101405850=2625232119*17冗余度
唯一解距离和随机密码模型
语言统计
重合指数
详细请见笔者另一篇转载地址:http://vlgwi.baihongyu.com/