古典密码学讲义

  • 格式:doc
  • 大小:92.00 KB
  • 文档页数:18

1.〖QWE加密表〗┃a┃b┃c┃d┃e┃f┃g┃h┃i┃j┃k┃l┃m┃n┃o┃p┃q┃r┃s┃t┃u┃v┃w┃x┃y┃z┃┠-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-╂-┨┃Q┃W┃E┃R┃T┃Y┃U┃I┃O┃P┃A┃S┃D┃F┃G┃H┃J┃K┃L┃Z┃X┃C┃V┃B┃N┃M┃2.【英文频率特性】单字母双字母组:--------------------------极高频| E | TH | HE | IN | ER | AN | RE | ED | ON |次高频| T A O I N S H R | ES | ST | EN | AT | TO | NT | HA | ND |中等频| D L | OU | EA | NG | AS | OR | TI | IS | ET |低频 | C U M W F G Y P B | IT | AR | TE | SE | HI | OF |甚低频| V K J X Q Z--------------------------三字母组:| THE | ING | AND | HER | ERE | ENT | THA || NTH | WAS | ETH | FOR | DTH | HAT | SHE || ION | HIS | STH | ERS | VER |*** the 频率几乎是 ing 的3倍**** 英文单词以 E,S,D,T 为结尾的超过一半**** 英文单词以 T,A,S,W 为起始字母的约占一半汉语拼音:出现频率的顺序为(由高到低):INGUAOEHYZDJSWTBFXMRPCLQKV3.Mod算法我们可以对字母序号进行数学运算,然后把所得的结果作为密文。

当运算结果大于26或小于1的时候,我们希望把这个数值转为1~26的范围,那么取这个数除以26的余数即可。

Mod就是求余数的运算符,有时也用―%‖表示。

例如 29 Mod 26 = 3,或写成 29 % 26 = 3,意思是29除以26的余数是3。

4.倒序加密时为经常要对字符进行倒序处理。

如果让你按abcdef...的顺序背出字母表的每个字母会很容易,但是如果是zyxwvu...的顺序那就很难背出来了。

一个很熟悉的单词,如果按相反的顺序拼写,可能就会感到很陌生。

5.间隔单词之间的间隔一般使用空格。

在加密时常常要去掉空格,但有时某些字母或数字来替代空格也不失为一种好的加密方案。

错误空格位置也会起到很强的误导作用。

例如:t hi sis at est - this is a test6. 【凯撒密码(Caesar Shifts, Simple Shift)】也称凯撒移位,是最简单的加密方法之一,相传是古罗马恺撒大帝用来保护重要军情的加密系统,它是一种替代密码。

加密公式:密文 = (明文 + 位移数) Mod 26 解密公式:明文 = (密文 - 位移数) Mod 26补:关键词凯撒加密法(密钥凯撒):从凯撒位移衍生出来的,书中的名称是―关键词凯撒‖。

关键词中不能有重复的字母,就算有也要把重复的字母删去。

若以"mima"以为关键词,则关键词要变成"mia"(去掉第二个重复的"m"),则:原字母表:a b c d e f g h i j k l m n o p q r s t u v w x y z加密密码表:m i a b c d e f g h j k l n o p q r s t u v w x y z7. 【栅栏密码(The Rail-Fence Cipher)】也称栅栏易位(Columnar Transposition),即把将要传递的信息中的字母交替排成上下两行,再将下面一行字母排在上面一行的后边,从而形成一段密码。

栅栏密码是一种置换密码。

解密方法:字母个数为N,通常每一栅栏里字母数均等,有M个,则O=N/M,解密时,将密文分为M组,每组O个,最后每一个位置字母正确排列得出结果。

8. 【维吉尼亚密码(Vigenère Cipher)】由于频率分析法可以有效的破解单表替换密码,法国密码学家维吉尼亚于1586年提出一种多表替换密码,即维吉尼亚密码,也称维热纳尔密码。

维吉尼亚密码引入了―密钥‖的概念,即根据密钥来决定用哪一行的密表来进行替换,以此来对抗字频统计。

加密公式:密文 = (明文 + 密钥) Mod 26 - 1 解密公式:明文 = [26 + (密文 - 密钥)] Mod 26 + 1a b c d e f g h I j k l m n o p q r s t u v w x y za A B C D E F G H I J K L M N O P Q R S T U V W X Y Zb B C D E F G H I J K L M N O P Q R S T U V W X Y Z Ac C D E F G H I J K L M N O P Q R S T U V W X Y Z A Bd D E F G H I J K L M N O P Q R S T U V W X Y Z A B Ce E F G H I J K L M N O P Q R S T U V W X Y Z A B C Df F G H I J K L M N O P Q R S T U V W X Y Z A B C D Eg G H I J K L M N O P Q R S T U V W X Y Z A B C D E Fh H I J K L M N O P Q R S T U V W X Y Z A B C D E F Gi I J K L M N O P Q R S T U V W X Y Z A B C D E F G Hj J K L M N O P Q R S T U V W X Y Z A B C D E F G H Ik K L M N O P Q R S T U V W X Y Z A B C D E F G H I Jl L M N O P Q R S T U V W X Y Z A B C D E F G H I J Km M N O P Q R S T U V W X Y Z A B C D E F G H I J K Ln N O P Q R S T U V W X Y Z A B C D E F G H I J K L Mo O P Q R S T U V W X Y Z A B C D E F G H I J K L M Np P Q R S T U V W X Y Z A B C D E F G H I J K L M N Oq Q R S T U V W X Y Z A B C D E F G H I J K L M N O Pr R S T U V W X Y Z A B C D E F G H I J K L M N O P Qs S T U V W X Y Z A B C D E F G H I J K L M N O P Q Rt T U V W X Y Z A B C D E F G H I J K L M N O P Q R Su U V W X Y Z A B C D E F G H I J K L M N O P Q R S Tv V W X Y Z A B C D E F G H I J K L M N O P Q R S T Uw W X Y Z A B C D E F G H I J K L M N O P Q R S T U Vx X Y Z A B C D E F G H I J K L M N O P Q R S T U V Wy Y Z A B C D E F G H I J K L M N O P Q R S T U V W Xz Z A B C D E F G H I J K L M N O P Q R S T U V W X Y9. 【Polybius密码(Polybius Cipher)】也称棋盘密码,是利用波利比奥斯方阵(Polybius Square)进行加密的密码方式,产生于公元前两世纪的希腊,相传是世界上最早的一种密码。

A D F G XA b t a l pD d h o z kF q f v s nG g j c u xX m r e w y(i和j视为同一个字, 译成摩斯密码时不容易混淆,可以降低传输错误的机率。

)10. 【ADFGX/ADFGVX密码(ADFGX/ADFGVX Cipher)】ADFGX1918年,第一次世界大战将要结束时,法军截获了一份德军电报,电文中的所有单词都由A、D、F、G、X五个字母拼成,因此被称为ADFGX密码。

ADFGX密码是1918年3月由德军上校Fritz Nebel发明的,是结合了Polybius密码和置换密码的双重加密方案。

A、D、F、G、X即Polybius方阵中的前5个字母。

明文:A T T A C K A T O N C E经过Polybius变换:AF AD AD AF GF DX AF AD DF FX GF XF下一步,利用一个移位密钥加密。

假设密钥是―CARGO‖,将之写在新格子的第一列。

再将上一阶段的密码文一列一列写进新方格里。

C A R G O_________A F A D AD A F G FD X A F AD D F F XG F X F X最后,密钥按照字母表顺序―ACGOR‖排序,再按照此顺序依次抄下每个字母下面的整列讯息,形成新密文。

如下:FAXDF ADDDG DGFFF AFAXX AFAFX在实际应用中,移位密钥通常有两打字符那么长,且分解密钥和移位密钥都是每天更换的。

ADFGVX在1918年6月,再加入一个字V扩充。

变成以6×6格共36个字符加密。

这使得所有英文字母(不再将I和J视为同一个字)以及数字0到9都可混合使用。

这次增改是因为以原来的加密法发送含有大量数字的简短信息有问题。

11. 【乘法密码(Multiplication Cipher)】乘法密码也是一种简单的替代密码,与凯撒密码相似,凯撒密码用的是加法,而乘法密码用的自然是乘法。

这种方法形成的加密信息保密性比较低。

加密公式:密文 = (明文 * 乘数) Mod 26对于乘数密码,只有当乘数与26互质时,加密之后才会有唯一的解,因此乘数只可能有如下11种的选择:乘数 = 3,5,7,9,11,15,17,19,21,23,25仿射密码和希尔密码因为都用到了乘法,所以乘数也受到相同的局限。