置換密碼
置換密碼
置換只不過是一個簡單的換位,每個置換都可以用一個置換矩陣Ek來表示。每個置換都有一個與之對應的逆置換Dk。
中文名稱:置換密碼,又稱換位密碼
英文名稱:permutation cipher
(transposition cipher):明文的字母保持相同,但順序被打亂了。
置換密碼的特點是僅有一個發送方和接受方知道的加密置換(用於加密)及對應的逆置換(用於解密)。它是對明文L長字母組中的字母位置進行重新排列,而每個字母本身並不改變。
令明文m=m1,m2,...mL。令置換矩陣所決定的置換為pi,則加密置換
c=Ek(m)=(c1,c2,...cL)=mpi(1),mpi(2),...,mpi(L)
解密置換
d=Dk(c)=(cn^-1(1),cn^-1(2),...cn^-1(L))
例,置換密碼。給定明文為the simplest possible transposition ciphers,將明文分成長為L=5的段,
m1=thesi, m2=mples m3=tposs m4=iblet,
m5=ransp, m6=ositi m7=oncip m8=hersx
最後一段長不足5,加添一個字母x。將隔斷的字母序號按下述置換矩陣進行換位:
Ek= 0 1 2 3 4
3 0 4 2 1
得到密文如下
STIEH EMSLP STSOP EITLB SRPNA TOIIS IOPCN SHXRE
利用下述置換矩陣:
Dk=0 1 2 3 4
1 4 3 0 2
可將密文恢復為明文。
L=5時可能的置換矩陣總數為5!=120,一般為L!個。可以證明,在給定L下所有的置換矩陣構成一個L!對稱群。