散列板
此條目沒有列出任何參考或來源。 (2011年12月4日) |
散列板在密碼學中是一種將字母式明文替換至純數字的工具。其同時實現分餾和資料壓縮。它也是單-雙體密碼。VIC密碼主要依靠散列板來進行加密。
散列板是一個類似以下的表格:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
E | T | A | O | N | R | I | S | |||
2 | B | C | D | F | G | H | J | K | L | M |
6 | P | Q | / | U | V | W | X | Y | Z | ‧ |
散列板的第一行提入數字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密碼。