playfair密碼(普萊費爾密碼)

playfair密碼

普萊費爾密碼一般指本詞條

普萊費爾密碼(英文:Playfair cipher 或 Playfair square)是一種使用一個關鍵字方格來加密字元對的加密法,1854年由一位名叫查爾斯·惠斯通(Charles Wheatstone)的英國人發明。

基本介紹

  • 中文名:普萊費爾密碼
  • 外文名:Playfair cipher
  • 發明人:查爾斯·惠斯通
  • 發明時間:1854年
簡介,算法,加密,編制密碼錶,整理明文,編寫密文,解密,練習,

簡介

經萊昂·普萊費爾提倡在英國軍地和政府使用。
它有一些不太明顯的特徵:密文的字母數一定是偶數;任意兩個同組的字母都不會相同,如果出現這種字元必是亂碼和虛碼。
它使用方便而且可以讓頻度分析法變成瞎子,在1854到1855年的克里米亞戰爭和1899年的布爾戰爭中有廣泛套用。但在1915年的一戰中被破譯了。
編寫分三步:1.編制密碼錶 2.整理明文 3.編寫密文 構成部分:1.密鑰 2.明文3.密文4.註明的某個字母代替的另一個字母

算法

它依據一個5*5的正方形組成的密碼錶來編寫,密碼錶里排列有25個字母。如果一種語言字母超過25個,可以去掉使用頻率最少的一個。如,法語一般去掉w或k,德語則是把i和j合起來當成一個字母看待。英語中z使用最少,可以去掉它。

加密

編制密碼錶

第一步是編制密碼錶。在這個5*5的密碼錶中,共有5行5列字母。第一列(或第一行)是密鑰,其餘按照字母順序。密鑰是一個單詞或詞組,若有重複字母,可將後面重複的字母去掉。當然也要把使用頻率最少的字母去掉。如:密鑰是Live and learn,去掉後則為liveandr。如果密鑰過長可占用第二列或行。
同時字母I和J會被當成一個字母。
如密鑰crazy dog,可編製成
C
D
F
M
T
R
O
H
N
U
A
G
I ( J )
P
V
Z
B
K
Q
W
Y
E
L
S
X

整理明文

第二步整理明文。將明文每兩個字母組成一對。如果成對後有兩個相同字母緊挨或最後一個字母是單個的,就插入一個字母X(或者Q)。
如,communist,應成為co,mx,mu,ni,st。

編寫密文

最後編寫密文。對明文加密規則如下:
1 若p1 p2在同一行,對應密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看做是最後一列的右方。如,按照前表,ct對應dc
2 若p1 p2在同一列,對應密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看做是最後一行的下方。
3 若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2確定的矩形的其他兩角的字母(至於橫向替換還是縱向替換要事先約好,或自行嘗試)。如,按照前表,wh對應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
將密文變成大寫,然後幾個字母一組排列。
如5個一組就是KUYOX DOLOY PLFKD LFUYO LGLNN GLY

解密

Playfair解密算法首先將密鑰填寫在一個5*5的矩陣中(去Q留Z),矩陣中其它未用到的字母按順序填在矩陣剩餘位置中,根據替換矩陣由密文得到明文。
對密文解密規則如下:
1 若c1 c2在同一行,對應明文p1 p2分別是緊靠c1 c2 左端的字母。其中最後一列被看做是第一列的左方。
2 若c1 c2在同一列,對應明文p1 p2分別是緊靠c1 c2 上方的字母。其中最後一行被看做是第一行的上方。
3 若c1 c2不在同一行,不在同一列,則p1 p2是由c1 c2確定的矩形的其他兩角的字母。
其實就是反其道而行之。
另外PlayFair解密算法不能解決字母中連續出現'XX'的情況,但是在英語中很少有連續兩個XX的字母,所以不太影響PlayFair算法的使用。

練習

一: 密鑰:boys and girls are students ( 按列填充密鑰, 不在同一行或列的密文,採用縱向替換)
密文GUUID BCYZC YOETX UUGAB EPBCE TDIUV LDDSB KRPRD IRUW
明文(原文):It is not a problem. It is a challenge. Enjoy facing it.
二:密鑰:father ( 按列填充密鑰, 不在同一行或列的密文,採用橫向替換)
UIHEK INREL EFPVI CMRYM ORROQ GQCLV OEPOH UXHPO IDKIH C
明文(原文):Nothing in the world is difficult, if you set your mind to it.

相關詞條

熱門詞條

聯絡我們