算法描述:Playfair密碼出現於1854年,它將明文中的雙字母組合做爲一個單元對待,該加密算法是基於一個關鍵詞(密鑰)的,該關鍵詞填寫在一個5*5的矩陣中(去出重複字母和字母j),經過該矩陣完成對明文、密文的加密、解密過程。
加密描述:Playfair加密算法將明文中的雙字母組合做爲一個單元對待,並將這些單元轉換位密文雙字母組合。加密過程把密鑰填寫在一個5*5的矩陣中(去出重複字母和字母j),矩陣中其它未用到的字母按順序填在矩陣剩餘位置中。
對明文加密規則以下:
1 若p1 p2在同一行,對應密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看作是最後一列的右方。
2 若p1 p2在同一列,對應密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看作是最後一行的下方。
3 若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2肯定的矩形的其餘兩角的字母,而且c1和p1, c2和p2同行。
4 若p1 p2相同,則插入一個事先約定的字母,好比x。
5 若明文字母數爲奇數時,則在明文的末端添加某個事先約定的字母做爲填充。
解密描述:Playfair解密算法首先將密鑰填寫在一個5*5的矩陣中(去出重複字母和字母j),矩陣中其它未用到的字母按順序填在矩陣剩餘位置中,根據替換矩陣由密文獲得明文。 對密文解密規則以下: 1 若c1 c2在同一行,對應明文p1 p2分別是緊靠c1 c2 左端的字母。其中最後一列被看作是第一列的左方。 2 若c1 c2在同一列,對應明文p1 p2分別是緊靠c1 c2 上方的字母。其中最後一行被看作是第一行的上方。 3 若c1 c2不在同一行,不在同一列,則p1 p2是由c1 c2肯定的矩形的其餘兩角的字母,而且c1和p1, c2和p2同行。