換位密碼
換位密碼
換位密碼就是一種早期的加密方法,與明文的字母保持相同,區別是順序被打亂了。
在計算機出現之前,密碼學由基於字元的密碼演演算法構成。不同的密碼演演算法是字元之間的互相替代或是互相之間的換位。好的密碼是結合這兩種方法,每次進行多次運算。這些演演算法的安全性是基於演演算法的保密性,一旦演演算法被泄露,就很容易被破譯,在今天看來它們都是一些比較簡單的密碼,雖然現在加密更複雜,但原理沒變,只是演演算法對位而不是對字母進行變換。了解過去的密碼仍然是一件很有意義的事。
在簡單的縱行換位密碼中,明文以固定的寬度水平的寫在一張圖表紙上,密文按垂直方向讀出,解密就是密文按相同的寬度垂直的寫在圖表紙上,然後水平的讀出明文。
例如周期為e的換位是將明文字母劃分為組,每組e個字母,密鑰是1,2,…e的一個置換f。然後按照公式Yi+ne=Xf(i)+ ne,(其中i=1,…e;n=0,1,…)將明文X1X2X3…加密為密文Y1Y2Y3…。解密過程則按照下式進行:Xj+ne=Yf-1(j)+ ne,(其中j=1,…e;n=0,1…)。明文:COMPUTER CRAPHICS MAY BE SLOW BUT ATLEASTTIE’S EXPENSIVE
C O M P U T E R C R
A P H I C S M A Y B
E S L O W B U T A T
L E A S T I T S E X
P E N S I V E
密文:CAELP OPSEE MHLAN PIOSS UCWTI TSBIV EMUTE RATSC YAERB TX
由於密文字元和明文字元相同,對密文的頻數分析將揭示和英語有相似的或然值。這給了密碼分析者很好的線索,他能用各種技術去決定字母的準確順序,以得到明文。密文通過兩次換位密碼極大增強了安全性。
雖然現代密碼也用換位,但由於它對存儲要求很大,有時還要求消息為某個特定的長度,因此比較麻煩。代替密碼要常用的多。