普萊費(fèi)爾密碼(英文:Playfair cipher 或 Playfair square)是一種使用一個(gè)關(guān)鍵詞方格來加密字符對(duì)的加密法,1854年由一位名叫查爾斯·惠斯通(Charles Wheatstone)的英國人發(fā)明。
編寫分三步:1.編制密碼表 2.整理明文 3.編寫密文 構(gòu)成部分:1.密鑰 2.明文3.密文4.注明的某個(gè)字母代替的另一個(gè)字母。
第一步是編制密碼表。在這個(gè)5*5的密碼表中,共有5行5列字母。第一列(或第一行)是密鑰,其余按照字母順序。密鑰是一個(gè)單詞或詞組,若有重復(fù)字母,可將后面重復(fù)的字母去掉。當(dāng)然也要把使用頻率最少的字母去掉。如:密鑰是Live and learn,去掉后則為liveandr。如果密鑰過長(zhǎng)可占用第二列或行。同時(shí)字母I和J會(huì)被當(dāng)成一個(gè)字母。如密鑰crazy dog,可編制成:
C R A Z Y
D O G B E
F H I(J) K L
M N P Q S
T U V W X
第二步整理明文。將明文每?jī)蓚€(gè)字母組成一對(duì)。如果成對(duì)后有兩個(gè)相同字母緊挨或最后一個(gè)字母是單個(gè)的,就插入一個(gè)字母X(或者Q)。如,communist,應(yīng)成為co,mx,mu,ni,st。
最后編寫密文。對(duì)明文加密規(guī)則如下:
1 若p1 p2在同一行,對(duì)應(yīng)密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看做是最后一列的右方。如,按照前表,ct對(duì)應(yīng)dc
2 若p1 p2在同一列,對(duì)應(yīng)密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看做是最后一行的下方。
3 若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2確定的矩形的其他兩角的字母(至于橫向替換還是縱向替換要事先約好,或自行嘗試)。如,按照前表,wh對(duì)應(yīng)ku或uk。
如,依照上表,明文where there is life,there is hope.可先整理為:WH ER ET HE RE IS LI FE TH ER EI SH OP EX,然后密文為:KU YO XD OL OY PL FK DL FU YO LG LN NG LY,將密文變成大寫,然后幾個(gè)字母一組排列。如5個(gè)一組就是KUYOX DOLOY PLFKD LFUYO LGLNN GLY。 |