密文的設計通常利用密碼轉換。以傳送命令:“We will start the fight at eleven o'clock on Wednesday ”為例,顯然,在傳送過程中應當做到:即使敵方得到了這個命令也不知道其含義。最早的加密方法是偉大的羅馬軍事家和政治家凱撒(Gaius Julius Caesar,約前100--前44)發(fā)明的。他設計了把密文中的每個字母用按字母次序后移三位的字母代替的方法。用此方法編譯上面的命令,得到“Zh zloo vwduw wkh iljkw dw hohyhq r'forfn rq Zhgqhvgdb ”。如果不知道替換規(guī)則,很難理解其中的含義。
后來有人使用26個字母分別對應1~26個自然數(shù)或其他代碼等方法傳送密文,只要傳送一方和接受一方均知道這個對應表即可。
為了使密碼設計的更難破譯,人們發(fā)明了許多反破譯的方法。利用隨機序列就是一種極為重要的方法。
其原理是:利用取值于1~26之間的整數(shù)值隨機數(shù)序列,使每個字母出現(xiàn)在密碼中的概率基本相等。一種理論上不可破譯的密碼是“(用后即銷毀的)一次密碼本”。
在實際應用中,這種密碼本是偽隨機序列,序列中的每一個數(shù)字都是1~26之間的整數(shù)。例如,若組成這個密碼本的偽隨機數(shù)列為:“12,16,5,7,21,19,15,13,4,14,11,10,16,24,18,15,19,11,5,…,要發(fā)送的命令是:“We will start the fight at eleven o'clock on Wednesday ”,那么在“We”這個詞中,W對應于偽隨機數(shù)12,就按字母順序用W后面的第12個字母 I 表示W(wǎng),e對應的偽隨機數(shù)16,就用e后面第16個字母u表示e,“will”編譯的過程為w+5=b,i+7=p, l+21=g, l+19=e等等。全句的密文為“Iu bpge hgefe dxb...”這樣一來,對方在想通過分析每個字母出現(xiàn)的頻率來破譯密碼就不可能了,因為在密文中每個字母出現(xiàn)的頻率幾乎相等。