代替密碼:代替密碼是指先建立一個替換表,加密時將需要加密的明文依次通過查表,替換為相應的字符。明文字符被逐個替換后,生成無任何意義的字符串,即密文。代替密碼的密鑰就是其替換表。
根據密碼算法加密時使用替換表多少的不同,代替密碼又可分為單表代替密碼和多表代替密碼。
單表代替密碼
定義:密碼算法加解密時使用一個固定的替換表
移位密碼
即把26個字母與整數0,1,2,3......一一對應
使用密鑰的單表代替密碼
仿射密碼
單表代替密碼特點
1. 密鑰量很小,不能抵抗窮盡搜索攻擊
2. 沒有將明文字母出現的概率掩藏起來,很容易受到統計分析的攻擊
多表代替密碼
定義:密碼算法加解密時使用多個替換表
普萊費爾密碼(Playfair Cipher)
假設密鑰為playfair is a digram cipher,可得字母矩陣為:
Playfair密碼的特點
1. 雖然僅有26個字母,但有26*26=676種雙字母組合。因此識別各種雙字母組合要困難得多
2. 各個字母組的頻率要比單字母呈現出大得多的范圍,使得頻率分析困難得多
3. 仍然使許多明文語言的結構保存完好,使得密碼分析者能夠利用
維吉尼亞密碼(Vigenere Cipher)
舉例:
希爾密碼(Hill Cipher)
舉例:
Hill密碼特點
1. 可以較好地抑制自然語言的統計特性,不再有單字母替換的一一對應關系,對抗“惟密文攻擊”有較高安全強度。
2. 密鑰空間較大,在忽略密鑰矩陣k可逆限制條件下,|k|=26^(n*n)
3. 易受已知明文攻擊及選擇明文攻擊