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個不重複字母的詞
例:
明文“hat”加密後的密文為“ow pp ee”
6.多文字加密法的分析法
較容易,嘗試5個字母的所有可能排列即可
7.重要術語
①連字:文字中一對向臨近的字母