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