接下來匯總下換位密碼(transposition cipher):
Perform some sort of permutation on the plaintext letters(明文的某種排列);
Works on blocks of letters of the plaintext(作用于明文塊).
通常來講,設明文集為M,密文集為C,明文塊長t,K則是 {1,2,...,t} 的某種排列(僅是換位,無元素改變),
Each e∈K,m∈M,c∈C
=
...
;
=
...
.
1、Rail fence cipher (柵欄密碼):
Plaintexts are written as a sequence of diagonals, then read off as a sequence of rows.
先將明文按對角線排列,然后按行寫出,
For example:
(1)
明文:MEET ME
柵欄深度為2(with a rail fence of depth 2):
| M | E | M | |||
| E | T | E |
密文為:MEMETE
(2)
明文:WE ARE DISCOVERED
柵欄深度為3(with a rail fence of depth 3):
| W | E | C | R | |||||||||||
| E | R | D | S | O | E | E | ||||||||
| A | I | V | D |
密文為:WECRERDSOEEAIVO
(3)
密文為:TEKOOHRACIRMNREATANFTETYTGHH
密鑰為4(key = 4)
(共28個元素,4層深,即構建一個4行28列的表格,然后按規則填充即可)
| T | E | K | O | O | |||||||||||||||||||||||
| H | R | A | C | I | R | M | N | R | |||||||||||||||||||
| E | A | T | A | N | F | T | E | T | |||||||||||||||||||
| Y | T | G | H | H |
明文為:THEY ARE ATTACKING FROM THE NORTH
2、Rotating (turning) grilles (旋轉格柵密碼):
格柵由兩份正方形網格組成,網格1用于書寫;網格2部分格子被剪掉,用于旋轉,網格的材質可以是紙卡或者其他材質,
加密的時候,被剪切的網格2用約定好的方式(逆時針或順時針)旋轉90度,依次填充明文,
下圖展示了明文“thelordismyshepherdIshallnotbeinwant”加密的全部程序(格柵是一個6乘6的正方形網格,其中九個格子被剪掉了):

加密步驟:
(1) 明文的前九個字母( t,h,e,l,o,r,d,I,s )從左到右,從上到下一個接一個地寫在每個被切掉的格子中;
(2) 網格2沿預定方向(在例子中為逆時針方向)轉動90度;
(3) 將接下來的九個字母( m,y,s,h,e,p,h,e,r )以同樣的方法寫入網格1;
(4) 再次轉動網格2和書寫隨后的九個字母,然后繼續,直到網格1填滿字母;
(5) 只需要按照從左到右、從上到下寫的方式抄下字母,即為密文:
mtdhyeisthlbehoeapirhldnelwrainnostt.
然后將密文寫入6乘6格柵中:
| m | t | d | h | y | e |
| i | s | t | h | l | b |
| e | h | o | e | a | p |
| i | r | h | l | d | n |
| e | l | w | r | a | i |
| n | n | o | s | t | t |
解密步驟:
(1) 如果要解密旋轉格柵密碼,解密用的網格2要與加密時使用的網格2完全相同;
(2) 解密者可以通過剪切得到網格2,閱讀前九個明文字母( t,h,e,l,o,r,d,I,s ),然后將格網格2轉90度后,可以讀取接下來的9個字母,依此類推,
注意:當加密時,每次轉動網格2時,切掉的格子都會被精確地定位在尚未填充字母的格子處,為了達到這種的效果,應該仔細選擇要切割的格子,尺寸要精確,
下圖顯示了此程序:

(1) 將方格劃分為4個3X3的大正方形網格,每個大正方形的九個網格以相應的方式編號為1 - 9;
(2) 在編號為“1”的四個大正方形網格中,選擇一個小正方形網格進行裁剪,在上面的示例中,頂部行的最右邊的小正方形網格被剪掉,這保證了編號為“1”的四個大正方形中的每一個網格在由該特定剪切網格加密期間正好出現一次,
(3) 類似地,選擇編號為“2”的四個大正方形中的一個小正方形以將其剪切,因此,通過從具有相同數目的四個正方形中精確地選擇一個要被切出的正方形,可以確保每個正方形可以填充在四個旋轉位置之一的位置,
也許大家會覺得6X6的格柵太小,事實上,格柵的大小是沒有上限的,亞歷山大·漢密爾頓文獻中那份格柵的尺寸就是26X26,
如果將格柵換成10000X10000呢?那加密的資訊將變得極難破解,
3、Multiple-stage columnar transposition cipher (多級列位移密碼):
(1) Columnar transposition cipher (列位移密碼):
Write messages in a rectangle, row by row; read messages off, column by column; permute the order of the column.
意思就是,將明文按行寫成矩形(明文不夠可以填充),然后改變列的順序,
For example:
| Key | 4 | 3 | 1 | 2 | 5 | 6 | 7 |
| Plaintext | a | t | t | a | c | k | p |
| o | s | t | p | o | n | e | |
| d | u | n | t | i | l | t | |
| w | o | a | m | x填 | y充 | z位 |
Ciphertext: ttnaaptmtsuoaodwcoixknlypetz
注意:純換位密碼容易被攻破,因為密文與明文有相同的字母頻率,
(2) Multiple-stage columnar transposition cipher (多級列位移密碼):
More than one stage of transposition.
For example: 列位移密碼使用多次Key進行換位,
至此,換位密碼也匯總的差不多了,that's all, good luck!
借鑒:http://www.tuilizui.cn/thread-1331-1-1.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203830.html
標籤:其他
