資訊與網路安全技術 第 二章 傳統秘密鑰匙系統  上一頁      下一頁

 

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” 字元補滿。我們還是用上述的例子來編碼:

  • 明文:I SIT BY MY WINDOW WAITING FOR YOU

  • 鐵軌排列:

I

I

B

M

W

N

O

W

I

I

G

O

Y

U

S

T

Y

Y

I

D

W

A

T

N

F

R

O

E

  • 再將鐵軌排列中的字母,由左至右、由上而下,依序編寫出來,即成為加密後的密文,密文如下:

密文:IIBMWNOWIIGOYUSTYYIDWATNFROE

  • 為了方便起見,我們將密文以每 4 個字母為單位排成一數,期間用空白隔開:

密文: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) 加密範例如下:

  • 明文:I SIT BY MY WINDOW WAITING FOR YOU

鑰匙:

4

3

1

2

5

6

7

明文:

I

S

I

T

B

Y

M

 

Y

W

I

N

D

O

W

 

W

A

I

T

I

N

G

 

F

O

R

Y

O

U

E

填入矩陣後,可依照鑰匙所指定的順序取出矩陣內字母,即得密文如下:

  • 密文:IIIRTNTYSWAOIYWFBDIOYONUMWGE

(B)解密範例如下:

解密時,只要依照鑰匙所指定的順序將密文填入矩陣中,再由左至右、由上到下的順序取出,便可以還原明文了。

  • 密文:IIIRTNTYSWAOIYWFBDIOYONUMWGE

每四個字元一組:IIIR  TNTY  SWAO  IYWF  BDIO  YONU  MWGE,依序填入陣列內,如下:

鑰匙:

4

3

1

2

5

6

7

密文:

I

S

I

T

B

Y

M

 

Y

W

I

N

D

O

W

 

W

A

I

T

I

N

G

 

F

O

R

Y

O

U

E

再由左至右,從陣列內取出明文,如下:

  • 明文:I SIT BY MY WINDOW WAITING FOR YOU

如果一次排列的加密易被破解的話,可利用同樣一把鑰匙重複加密,以增加其複雜度與破解的困難度。

2-3-3 位元換位箱

前面所介紹的兩種方法,都是採用字元的換位方法。但在資訊系統上大多是以二進位元來表示資料,因此,我們必須針對二進位中數字來排列移位,以達到加密的功能。二進位的移位排列最常用的是『換位箱』(Permutation Box換位方法,如圖 2-2 所示。解密時,我們只需要以反向對應即可將密文還原成明文。換位箱的方法是許多加密法中的主要配備,也是資訊安全加密法的根本基礎。

2-2 位元換位箱

主講人:粘添壽博士

 

資訊與網路安全技術