2-3 換位加密法
『換位加密法』(Transposition Cipher)是利用一個特定排列的規則,將明文中的字元重新排列過,來產生另一個無規律的密文;解密時再使用該特定規則,將密文倒回原來的明文,所謂特定排列規則就是加密與解密的『鑰匙』。我們用最簡單的換位加密法來看其結果,如明文是: I SIT BY MY WINDOW WAITING FOR YOU 此明文經過加密後成為: UOY ROF GNITIAW WODNIW YM YB TIS I 由以上的例子,我們很容易看出換位的規則是將明文以相反次序來重寫。所以換位加密法只是改變字母之間的順序位置,並沒有更動字母原來的意義。譬如,上例中字母”U”的位置更換之後,仍然代表”U”原來字母,只是該字母原來在明文中的位置變更而已,這是換位加密法最主要的精神。由上述例子,可以很容易的由明文和密文之間比較出換位的規則(加密鑰匙)。得到換位規則之後,就可以破解爾後利用此規則來加密的任何密文。所以換位法的規則必須有所變化,否則根本沒有保密性可言,以下介紹三種基本的換位加密法。 2-3-1 鐵軌法 『鐵軌法』(Railroad Method)是將明文排列成像鐵軌一樣上下兩行,排列中明文必須扣除空白鍵,並以上下次序排列。明文中不計空白鍵,且明文的字元數必須是四的倍數,不到四的倍數則以 “E” 字元補滿。我們還是用上述的例子來編碼:
密文:IIBMWNOWIIGOYUSTYYIDWATNFROE
密文:IIBM WNOW IIGO YUST YYID WANT FROE 以下說明為什麼密文的長度必須是 4 的倍數的原因。當接收端收到此密文之後,因為他知道加密的順序,因此他可將密文由中間切開分成兩半,如下所示: IIBM WNOW IIGO YU │ ST YYID WANT FROE 然後左右兩半依序輪流讀出字母便可還原成原來的明文了: ISITBYMYWINDOWWAITINGFORYOU 當然,鐵軌法是用兩行來排列,我們也可以用三行或四行來排列,轉換成更複雜的編碼技巧。這些簡單的變形,請讀者自行玩一玩。 2-3-2 鑰匙排列法 『鑰匙排列法』的排列與鐵軌法非常相似,但是使用多行列矩陣方式排列;同鐵軌排列法將明文的長度調整為四的倍數,調整後的明文由左至右;由上而下的順序排列填入矩陣的方格中,如果還有空格的話,則填入”E”來補滿。另外採用一把取出密文的鑰匙,鑰匙的長度與矩陣的行數目相同;每相對應行的鑰匙數字,為取出密文的次序。譬如,鑰匙為 {4, 3, 1, 2, 5, 6, 7},則表示第 3 行是第一個被取出,接著取出第 4 行;依此類推。取出每一行內的字母時,依由上至下的順序。 (A) 加密範例如下:
填入矩陣後,可依照鑰匙所指定的順序取出矩陣內字母,即得密文如下:
(B)解密範例如下: 解密時,只要依照鑰匙所指定的順序將密文填入矩陣中,再由左至右、由上到下的順序取出,便可以還原明文了。
每四個字元一組:IIIR TNTY SWAO IYWF BDIO YONU MWGE,依序填入陣列內,如下:
再由左至右,從陣列內取出明文,如下:
如果一次排列的加密易被破解的話,可利用同樣一把鑰匙重複加密,以增加其複雜度與破解的困難度。 2-3-3 位元換位箱 前面所介紹的兩種方法,都是採用字元的換位方法。但在資訊系統上大多是以二進位元來表示資料,因此,我們必須針對二進位中數字來排列移位,以達到加密的功能。二進位的移位排列最常用的是『換位箱』(Permutation Box)換位方法,如圖 2-2 所示。解密時,我們只需要以反向對應即可將密文還原成明文。換位箱的方法是許多加密法中的主要配備,也是資訊安全加密法的根本基礎。
圖 2-2 位元換位箱 |
翻轉工作室:粘添壽
資訊與網路安全技術
翻轉電子書系列:
|