簡介
散列板在密碼學中是一種將字母式明文替換至純數字的工具。其同時實現分餾和資料壓縮。它亦是單-雙體密碼。VIC密碼主要依靠散列板來進行加密。
原理
散列板的第一行提入數字0-9,但亦可胡亂排列,以加強安全性。第二行通常會寫入高頻字母,並同時留下兩個空白位置,同時,其沒有行編號。最後一行即填入剩餘字母,同時於最左方加上兩個數字行編號。
就如第一行的數字一樣,表格中央的英文字母亦可胡亂排列或加入關鍵字作起行,而上方表格的數字和字母則是按順序排列。由於此排列方法會多出四個空格,此時,通常會在第一行跳過兩格,下方兩個則以「/」和「‧」來用作轉義字元。只要傳送者和接收者皆使用同一散列板,排序便不成問題。
加密時,第一行的字母只需轉換成上方數字。而第二和第三行會轉換至一個十位數,先取行編號,再取列者。常用字母只會映射一個數字,由此減短密文長度,同時亦降低左方兩個數字暴露的機率。以下是一個例子:
A | ​ | T | ​ | T | ​ | A | ​ | C | ​ | K | ​ | A | ​ | T | ​ | D | ​ | A | ​ | W | ​ | N |
3 | ​ | 1 | ​ | 1 | ​ | 3 | ​ | 21 | ​ | 27 | ​ | 3 | ​ | 1 | ​ | 22 | ​ | 3 | ​ | 65 | ​ | 5 |
轉換後的結果為「3113212731223655」。如果表格本身排列並非順序排列,就可直接釋放信息;若非,則可以進入第二階段再加密,如再置換或替換。以下的例子會利用同餘加密一次:
​ | 3 | ​ | 1 | ​ | 1 | ​ | 3 | ​ | 2 | ​ | 1 | ​ | 2 | ​ | 7 | ​ | 3 | ​ | 1 | ​ | 2 | ​ | 2 | ​ | 3 | ​ | 6 | ​ | 5 | ​ | 5 |
+ | 0 | ​ | 4 | ​ | 5 | ​ | 2 | ​ | 0 | ​ | 4 | ​ | 5 | ​ | 2 | ​ | 0 | ​ | 4 | ​ | 5 | ​ | 2 | ​ | 0 | ​ | 4 | ​ | 5 | ​ | 2 |
= | 3 | ​ | 5 | ​ | 6 | ​ | 5 | ​ | 2 | ​ | 5 | ​ | 7 | ​ | 9 | ​ | 3 | ​ | 5 | ​ | 7 | ​ | 4 | ​ | 3 | ​ | 0 | ​ | 0 | ​ | 7 |
之後,我們便可以使用相同的散列板將密文轉換回去:
3 | ​ | 5 | ​ | 65 | ​ | 25 | ​ | 7 | ​ | 9 | ​ | 3 | ​ | 5 | ​ | 7 | ​ | 4 | ​ | 3 | ​ | 0 | ​ | 0 | ​ | 7 |
A | ​ | N | ​ | W | ​ | H | ​ | R | ​ | S | ​ | A | ​ | N | ​ | R | ​ | O | ​ | A | ​ | E | ​ | E | ​ | R |
解密的方法就是將以上動作逆向做一次僅僅是這些過程的反向。雖然明文的數量可以不同,但以上方的表格可見,但凡第一階段解密後發現2或6,即可將其確定為第二或第三行字母。
使用到散列板的加密法包括VIC密碼及SECOM密碼。