1. 程式人生 > >密碼學筆記——playfair密碼

密碼學筆記——playfair密碼

bsp 替換 www. style ima www log aik 是把

Playfair密碼(Playfair cipher 或 Playfair square)一種替換密碼,1854年由查爾斯·惠斯通(Charles Wheatstone)的英國人發明。

例題:

某種加密方式,玩一玩吧 密鑰:shiyanb 密文:KQSAMFPAOPMFPA hint:一律采用橫向

Hint: key小寫

1、編制密碼表

編一個5*5的密碼表,共有5行5列字母。第一列(或第一行)是密鑰,其余按照字母順序,如果密鑰過長可占用第二列或行。密鑰是一個單詞或詞組,若有重復字母,可將後面重復的字母去掉。當然也要把使用頻率最少的字母去掉(它依據一個5*5的正方形組成的密碼表來編寫,密碼表裏排列有25個字母。如果一種語言字母超過25個,可以去掉使用頻率最少的一個。如,法語一般去掉w或k,德語則是把i和j合起來當成一個字母看待,英語中z使用最少,可以去掉它)。

例:密鑰是Live and learn,去掉後則為liveandr

密鑰:shiyanb 可編成

s h i y a

n b c d e

f g j k l

m o p q r

t u v w x

2、整理明文/密文,將明文/密文每兩個字母組成一對。如果成對後有兩個相同字母緊挨或最後一個字母是單個的,就插入一個字母X(或者Q)。

密文: KQSAMFPAOPMFPA

KQ SA MF PA OP MF PA

3、解密規則

(1) 若c1 c2在同一行,對應明文p1 p2分別是緊靠c1 c2 左端的字母。其中最後一列被看做是第一列的左方。 (2) 若c1 c2在同一列,對應明文p1 p2分別是緊靠c1 c2 上方的字母。其中最後一行被看做是第一行的上方。 (3)若c1 c2不在同一行,不在同一列,則p1 p2是由c1 c2確定的矩形的其他兩角的字母。 密文:KQ SA MF PA OP MF PA 明文:dk ay fn ir mo fn ir

技術分享

技術分享

4、加密規則

(1)若p1 p2在同一行,對應密文c1 c2分別是緊靠p1 p2 右端的字母。其中第一列被看做是最後一列的右方。如,按照前表,fg對應gj,mr對應om (2) 若p1 p2在同一列,對應密文c1 c2分別是緊靠p1 p2 下方的字母。其中第一行被看做是最後一行的下方。 (3)若p1 p2不在同一行,不在同一列,則c1 c2是由p1 p2確定的矩形的其他兩角的字母(至於橫向替換還是縱向替換要事先約好,或自行嘗試)。如,按照前表,ir對應pa或ap。

註:本筆記參考文獻https://baike.baidu.com/item/playfair%E5%AF%86%E7%A0%81/8999814?fr=aladdin

----------------------------------------------------------------分割線---------------------------------------------------------

ps:萌新一枚,本文純為學習筆記,以防某日犯傻忘記--。如有不妥處,望大佬們賜教~

密碼學筆記——playfair密碼