彼利菲密碼法

出自維基百科,自由嘅百科全書
跳去導覽 跳去搵嘢

彼利菲密碼法英文Playfair cipher),個名嚟自推廣呢種技術嘅里昂·彼利菲(Lyon Playfair),係源自 1854 年嘅一種密碼法,可以用嚟將用字母寫嘅明文加密

步驟[編輯]

彼利菲密碼法步驟如下[1][2]

  • 設定一個加密用嘅矩陣
    • 揀一個關鍵字,例:Playfair Example 做關鍵字;
    • 將個關鍵字啲字母排入去一個 5 × 5 格嘅矩陣嗰度,排完就按 A B C D 順序排,途中要揀一個字母(通常係 J)唔填而且重複咗嘅字母唔填,因為羅馬字母有 26 個咁多,所以噉做會得出一個啱啱好 25 格填嗮、冇任何字母重複咗嘅矩陣,例如下圖係將 Playfair Example 填落去個矩陣嗰度得出嘅樣(J 忽略,而紅色嗰啲細字母係因為重複咗而冇填落去嗰啲):
Playfair Cipher building grid omitted letters.png
  • 將明文嘅字母分開做一對對,如果明文嘅字母數量係單數,噉最後單丁嗰個字母掕個(例如)Z,例:明文係 instruments,分咗做一對對就變成
    'in' 'st' 'ru' 'me' 'nt' 'sz'
  • 當中一對字母當中嗰兩個字母唔可以同款,如果同款,就插個(例如)X 喺裏面,例:明文係 hello(唔可以俾 ll 呢個組合出現),做咗分對嘅過程之後應該會係
    'he' 'lx' 'lo'

做咗分對之後,Foreach 字母對,做以下嘅嘢:

  • 攞個矩陣上手睇,
  • 如果嗰對字母出現喺同一打戙行,將每個字母變成喺嗰個字母對落嗰個字母(最底嗰行對落當係最頂嗰行),例:用返頭先 Playfair Example 做關鍵字嘅矩陣,如果有對字母對係 DE,就將對字母變成 OD
Playfair Cipher 02 DE to OD.png
  • 如果嗰對字母出現喺同一打橫行,將每個字母變成喺嗰個字母對右嗰個字母(最右嗰行對右當係最左嗰行),例:用返頭先 Playfair Example 做關鍵字嘅矩陣,如果有對字母對係 EX,就將對字母變成 XM
Playfair Cipher 10 EX to XD.png
  • 如果上述兩點都唔成立,噉就喺對字母畫一個長方形,令對字母成為個長方形嘅兩個角,再將每一個字母換做同佢喺同一條橫行嗰個對角,例:繼續用 Playfair Example 做關鍵字嘅矩陣,如果有對字母對係 HI,就將對字母變成 BM
Playfair Cipher 01 HI to BM.png

如是者,就會得出一段密文。彼利菲密碼法相當好用,就算到咗廿一世紀初,彼利菲密碼法嘅變種就連喺專業嘅密碼學工作上都仲有人用[3]

睇埋[編輯]

[編輯]

  1. Murali, P., & Senthilkumar, G. (2009, April). Modified version of playfair cipher using linear feedback shift register. In 2009 International Conference on Information Management and Engineering (pp. 488-490). IEEE.
  2. Rahim, R., & Ikhwan, A. (2016). Cryptography technique with modular multiplication block cipher and playfair cipher. Int. J. Sci. Res. Sci. Technol, 2(6), 71-78.
  3. Gaines, Helen Fouché (1956) [1939], Cryptanalysis / a study of ciphers and their solutions, Dover. p. 201.