1.关键词加密法

①选择一个关键词,若该关键词有重复的字母则除去。

例:success→suce

②将关键词填在字母表的下方,其他字母的空间顺序不变

例:对关键词“magicnet”

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 a g i c n e t b d f h j k l o p q r s u v w x y z


明文:h e l p  i   a m  l o s t

密文:t c h o  b  m j   h l r s


改进:关键字从字母表的任意位置开始


2.关键词加密法的分析法

语言的每个字母都有其自身的特性

②双联字母:“er”“he”“th”


3.仿射加密法

①字母表的字母被赋予一个数字,例a=0,b=1…z=25

②秘钥为0~25之间的数字对(a,b),必须满足GCD(a,26)=1,即a=3,5,7,9,11,13,15,17,19,21,23,25

③假设p为明文字母的数字,c为密文字母的数字,满足等式:

c=(ap+b)(mod 26)

p=a^-1(c-b)(mod 26)

(mod 26)操作是:除以26,得其余数


例:选取秘钥为(7,3),加密"hot"

c(H)=(7*7+3)mod 26=52 mod 26=0,即为字母'a'

c(O)=(7*14+3)mod 26=101 mod 26=23,即为字母'x'

c(T)=(7*19+3)mod 26=136 mod 26=6,即为字母'g'

对于这个秘钥,"hot"变为"axg"


4.仿射加密法的分析法

①利用频率分析,确定至少两个字母的替换

例:确定了明文'e'是由'c'表示,明文't'是由'f'表示

建立仿射加密方程式:

2=a*4+b mod 26 [因为(e-字符4)被(c-字符2)取代]

5=a*19+b mod 26 [因为(t-字符19)被(f-字符5)取代]

看上去功能更强大的加密法往往到头来证明是更脆弱的


5.多文字加密法

①秘钥是一个5*5的矩阵

矩阵只有25个位置,字母表有26个字母,因此'i'和'j'占一个单元,所有'j'变成了'i'

②关键词必须是有且仅有5个不重复字母的词

例:

密码学2_密码学

明文“hat”加密后的密文为“ow pp ee”


6.多文字加密法的分析法

较容易,尝试5个字母的所有可能排列即可


7.重要术语

①连字:文字中一对向临近的字母

②频率分析法:将明文字母的出现频率和密文字母的频率相比较的过程

③GCD:最大公约数,即,给定两个数,GCD就是能整除这两个数的最大数字

④单码加密法:明文的每个字母只能被密文的一个字母替代的加密法