密碼學上,維吉尼密碼法英文Vigenère cipher)係一種多表置密碼法(polyalphabetic cipher),即係會用多過一款替代方案嚟幫段明文加密,明文嘅唔同部份用唔同嘅替代方案。

做法

編輯

維吉尼密碼法會用到一幅表格(tabula recta)-喺英文入面,呢幅表格會係一個 26 × 26 格嘅矩陣,每一條橫行都係有齊嗮 26 個英文字母,每一行都係打前嗰後向左移咗 1 格,即係第一行會係 A 開頭跟住出嗮淨低嗰 25 個字母,第二行會係 B 開頭跟住出嗮淨低嗰 25 個字母,第三行會係 C 開頭跟住出嗮淨低嗰 25 個字母... 如此類推,即係好似下面呢幅圖噉[1]

 

攞住幅表格喺手,個傳訊人跟住就要有個關鍵字,例如家陣個關鍵字係 deceptive(英文「呃人嘅」噉解),傳訊人可以將個關鍵字重複寫無限咁多次,令明文嘅每個字母都有個對應嘅關鍵字字母[2][3]

  • 例如家陣明文係 WE ARE DISCOVERED. SAVE YOURSELF.粵文:「我哋俾人發現咗喇。自己走佬啦。」)
  • 將明文(唔包標點符號)同關鍵字對準:
 WE ARE DISCOVERED SAVE YOURSELF
 DE CEP TIVEDECEPT IVED ECEPTIVE (關鍵字重複無限次,令明文每個字母有個對應嘅關鍵字字母)
  • Foreach 明文字母以及佢對應嗰個關鍵字字母,
    • 攞個明文字母對應嗰一條打戙行;
    • 攞個關鍵字字母對應嗰一條打橫行;
    • 幅表格入面明文字母打戙行同關鍵字字母打橫行相交嗰點,就係對應呢個明文字母嘅密文字母;
    • 例:喺上面嗰幅表格入面,打戙行 W 同打橫行 D 相交嗰點嘅字母係 Z,所以 Z 就係密文第一個字母,打戙行 E 同打橫行 E 相交嗰點嘅字母係 I,所以 I 就係密文第二個字母... 如此類推:
 WE ARE DISCOVERED SAVE YOURSELF
 DE CEP TIVEDECEPT IVED ECEPTIVE
 ZI CVT WQNGRZGVTW AVZH CQYGLMGJ

維吉尼密碼法相當有效,能夠好大程度上收埋明文嘅字母頻率:例如凱撒密碼法最大嘅問題就係敵人能夠齋靠觀察密文當中唔同字母嘅出現頻率嚟大致噉估到段密文碼參數(向左定向右、移咗幾多);相比之下,維吉尼密碼法就冇呢個問題-例如 E 係廿一世紀初英文入面最常出現嘅字母,如果用嘅係維吉尼密碼法,篇明文唔同部份嘅 E 會分別被轉換做唔同嘅字母,而唔似得凱撒密碼法噉個個 E 都係轉換做同一個密文字母。事實係,有密碼學專家實際計過條數,發現用維吉尼密碼法出嘅密文嘅字母頻率變異(簡單講指「出現得最多嘅字母」同「出現得最少嘅字母」之間喺出現頻率上嘅差距;可以睇埋變異數)會明顯細過明文嘅,所以令到敵人更加難齋靠觀察密文唔同字母嘅出現頻率嚟破解段密文碼[1]

睇埋

編輯
  1. 1.0 1.1 Kahn, David (1996). The Codebreakers (2nd ed.). Scribner. p. 133.
  2. Mendelsohn, Charles J (1940). "Blaise De Vigenere and The 'Chiffre Carre'". Proceedings of the American Philosophical Society. 82 (2).
  3. Helen F. Gaines (18 November 2014). Cryptanalysis: A Study of Ciphers and Their Solution. Courier Corporation. p. 117.
  NODES