淺析Playfair算法及其缺點

Playfair算法是多表代換加密方式中最著名的一種,屬于經(jīng)典對稱加密方式,1854年由英國科學家Chaeles W發(fā)明。曾經(jīng)在相當長的一段時期內(nèi),Playfair算法被認為是一種牢不可破的加密方法。在網(wǎng)絡安全、數(shù)據(jù)加密等方面,其加密思想被廣泛應用。Playfair密碼是把明文中的雙字母音節(jié)作為一個單元并將其轉(zhuǎn)換為密文的一種加密算法,原算法可用的字母對有26×26個,雖然比明文有著稍為平坦的頻率分布曲線,但密文中仍透露了大量的信息給密碼分析者。

Playfair算法
Playfair算法是把明文中的雙字母作為一個單元,將其轉(zhuǎn)換為密文的雙字母,轉(zhuǎn)換依據(jù)由密鑰所構(gòu)成的5×5字母矩陣。

1、轉(zhuǎn)換矩陣的構(gòu)成
先將密鑰去掉重復字母(字母i和j視為同一個字母),然后從左向右、從上至下填寫在矩陣格子中,假如密鑰為successful,去除重復字母后為的有效密鑰為sucefl。

淺析Playfair算法及其缺點

將剩下的英文字母(i和j視為同一個字母)按從左到右、從上而下的順序填寫在剩余空白的格子中。

淺析Playfair算法及其缺點

2、加密算法
加密時,每次從明文中提出2個字母,具體的加密算法如圖所示。

淺析Playfair算法及其缺點

3 、Playfair算法的缺點
盡管Playfair算法被認為是比較安全的,但它仍是可以被破解的,因為它的密文中完好地保留了明文語言的大部分結(jié)構(gòu)特征,有幾百個字母的密文就可以分析出某些規(guī)律,從而為進一步破解提供線索。使用Playfair算法加密,之所以密文中保留了明文語言中的結(jié)構(gòu)特征,基于多方面的原因,其中有3方面主要因素導致密文完好地保留了明文語言的大部分結(jié)構(gòu)特征:
(1)明文的讀取是按序讀取,所以生成的密文與明文基本上是保持一一對應關系,這種一一對應關系直接暴露了明文的結(jié)構(gòu)特征。
(2)由密鑰構(gòu)造5×5字母矩陣時,密鑰寫在前面,剩下的字母按序填寫在后面,這樣后面的字母基本保留了英文字母的順序,使得破解者可以借助密文中的字母出現(xiàn)的頻率來構(gòu)造字母矩陣。一旦字母矩陣被構(gòu)造出一部分,那么再結(jié)合字母對出現(xiàn)頻率的統(tǒng)計,進一步從密文中挖掘出其他特征,密鑰就很有可能被猜到。
(3)i和j字符認為是相同的字母,由于i在英文中出現(xiàn)的概率原本就很高,兩字母被視為同一個字母后,通過密文中的字母,能夠分析出哪些字母與i/j同行或同列,從而為構(gòu)造5×5字母矩陣提供了線索。