1.Vigenere加密法
①自动秘钥加密法的一个简化形式
②基于关键词的加密系统,关键词写在明文上面不断书写
例:关键词为“hold”,明文为“this is the plaintext”
秘钥 h o l d h o l d h o l d h o l d h o
明文 t h i s i s t h e p l a i n t e x t
密文 a v t v p g e k l d w d p b e h d h
Vigenere表
③多码加密法的性质:同一个密文字母可以用来表示多个明文字母
2.Vigenere加密法的分析
①IC:一致性索引,用来区别单码和多码加密法的工具
基于凹凸度量(MR,表示字母分布频率的高低)
单码加密法的IC值大约为0.066,对于完全平滑文字,其值为0.038
若IC值位于0.038-0.066,该加密法可能是多码加密法
②秘钥的重复部分与明文中的重复部分连接,在密文中也产生一个重复部分
③Kasuski法:通过查看密文重复部分,来发现多码秘钥的长度
2.自动秘钥加密法
①关键词只使用一次,明文为加密法提供其余文字
并使用标准的Vigenere表
例:关键词“alice”
秘钥 a l i c e i h o p e t h i s w o r k
明文 i h o p e t h i s w o r k s b e t
密文 i s w r i b o w h a h y s k x s k
②缺点:加密解密过程中任何一个地方错误都将影响其后的所有文字
4.自动秘钥加密法的分析
①确定关键词长度,根据长度分组
②蛮力***法:对关键词的字母尝试26种可能性,以便重构明文
5.Nihilist加密法
①在5*5的矩阵中填入关键词(去除重复的字母)然后继续按顺序填写其他字母(没有j)构成Polybius方格
例:关键词为“example”
Polybius方格为
1 2 3 4 5
1 e x a m p
2 l b c d f
3 g h i j n
4 o q r s t
5 u v w y z
②选取另一个关键词,利用Polybius方格将关键词转变为数字,接着利用同一个方格将明文转换为数字
③要生成密文,将关键词-明文数字对相加(若和>100则-100,若密文数字<12则在-关键词数字之前+100)
6.圆柱面加密法
①使用多个回转轮,每个回转轮实现单码加密,组合在一起每个字母加密后产生一种新的替换模式
7.圆柱面加密法的分析
de Viaris法:已知明文***法,通过扫描圆柱面的正确排列顺序来破解圆柱面加密法
假设两个事实:
1)该加密法是Bazeries圆柱面加密法,且已知圆柱面内容
2)至少知道一个明文单词
8.回转轮加密法
用电机系统来实现多码变换,Enigma加密法是一种
9.Enigma加密法的破解
①创建一个公共秘钥并发送加密信息的步骤:
1)按官方的每日秘钥设置加密机
2)输入操作员为消息选择的秘钥(三个字母)
3)重复2),再次输入操作员所选的秘钥
4)将轮还原到由操作员秘钥确定的起始位置
5)发送消息
10.加密机历史简介
(网上几乎都找不到资料…)
①Enigma(二战期间德军使用)
第一个回转轮每转动一位就转动一个字母,当转动26个位置后,第二个轮就转动一位,以此类推
②ECM(美军使用,直至1959年)
可在另两组回转轮的控制下以任意方式转动
11.一些术语
①自动秘钥法:通过把明文或密文作为部分秘钥,从而扩展秘钥长度的方法
②同音异议加密法:将每个明文字母用多个密文符号来替换的加密法