資源描述:
《常用加密算法介紹》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、5.3常用加密算法介紹?5.3.1?古典密碼算法 古典密碼大都比較簡單,這些加密方法是根據(jù)字母的統(tǒng)計特性和語言學(xué)知識加密的,在可用計算機進行密碼分析的今天,很容易被破譯。雖然現(xiàn)在很少采用,但研究這些密碼算法的原理,對于理解、構(gòu)造和分析現(xiàn)代密碼是十分有益的。表5-1給出了英文字母在書報中出現(xiàn)的頻率統(tǒng)計。表5-1英文字母在書報中出現(xiàn)的頻率字母ABCDEFGHIJKLM頻率13.059.028.217.817.286.776.646.645.584.113.602.932.88 字母NOPQRSTUVWXYZ頻率2.772.622.151.511.49
2、1.391.281.000.420.300.230.140.09 古典密碼算法主要有代碼加密、替換加密、變位加密、一次性密碼簿加密等幾種算法?! ?.代碼加密 代碼加密是一種比較簡單的加密方法,它使用通信雙方預(yù)先設(shè)定的一組有確切含義的如日常詞匯、專有名詞、特殊用語等的代碼來發(fā)送消息,一般只能用于傳送一組預(yù)先約定的消息?! ∶芪模猴w機已燒熟?! ∶魑模悍孔右呀?jīng)過安全檢查?! 〈a加密的優(yōu)點是簡單好用,但多次使用后容易喪失安全性?! ?.替換加密 將明文字母表M中的每個字母替換成密文字母表C中的字母。這一類密碼包括移位密碼、替換密碼、仿射密碼、乘
3、數(shù)密碼、多項式代替密碼、密鑰短語密碼等。這種方法可以用來傳送任何信息,但安全性不及代碼加密。因為每一種語言都有其特定的統(tǒng)計規(guī)律,如英文字母中各字母出現(xiàn)的頻度相對基本固定,根據(jù)這些規(guī)律可以很容易地對替換加密進行破解。以下是幾種常用的替換加密算法。 1)移位密碼是最簡單的一類代替密碼,將字母表的字母右移k個位置,并對字母表長度作模運算,其形式為:ek(m)=(k+m)=cmodq,解密變換為:dk(c)=(m-k)=mmodq。凱撒(Caesar)密碼是對英文26個字母進行移位代替的密碼,其q=26。這種密碼之所以稱為凱撒密碼,是因為凱撒使用過k=3
4、的這種密碼?! ?)乘數(shù)密碼也是一種替換密碼,它將每個字母乘以一個密鑰k,ek(m)=kmmodq,其中k和q是互素的,這樣字母表中的字母會產(chǎn)生一個復(fù)雜的剩余集合,若是和q不互素,則會有一些明文字母被加密成相同的密文字母,而且不是所有的字母都會出現(xiàn)在密文字母表中。異或運算(XOR)也常用于替換加密,加密:c=mXORk,解密:m=cXORk?! ?)多名或同音替換。每個字母可加密或替換成多個密文字母,這種方法是一種一對多的映射關(guān)系,可以挫敗一般的頻度分析攻擊?! ?.變位加密 變位加密不隱藏明文的字符,即明文的字母保持相同,但其順序被打亂重新排列
5、成另一種不同的格式,由于密文字符與明文字符相同,密文中字母的出現(xiàn)頻率與明文中字母的出現(xiàn)頻率相同,密碼分析者可以很容易地由此進行判別。雖然許多現(xiàn)代密碼也使用換位,但由于它對存儲要求很大,有時還要求消息為某個特定的長度,因而比較少用。以下介紹幾種常見的變位加密算法?! ?)簡單變位加密。預(yù)先約定好一組數(shù)字表示密鑰,將文字依次寫在密鑰下,再按數(shù)字次序重新組織文字實現(xiàn)加密,也有人喜歡將明文逆序輸出作為密文。例如 密鑰:524163??(密文排列次序) 明文:信息安全技術(shù) 密文:技息全信術(shù)安 2)列變位法。將明文字符分割成個數(shù)固定的分組(
6、如5個一組,5即為密鑰!),按一組一行的次序整齊排列,最后不足一組用任意字符填充,完成后按列讀取即成密文。如明文是:InformationSecurityTechnology,則分組排列為: Infor matio nSecu rityT echno logy則密文是:ImnrelnaSicoftethgoicynyrouTo,這里的密鑰是數(shù)字5。解密過程則是按列排列密文,再按行讀取即可?! ?)矩陣變位加密。將明文中的字母按給定的順序安排在一個矩陣中,然后用另一種順序選出矩陣的字母來產(chǎn)生密文。一般為按列變換次序
7、,如原列次序為1234,現(xiàn)為2413。如將明文NetworkSecurity按行排列在3×6矩陣中,如下所示: 123456 Networ k??Secu rity???給定一個置換:,根據(jù)給定的次序,按5、2、6、4、1、3的列序重新排列,得到: 526413 oerwNt c??uekS ??i??yrt所以,密文為:oerwNtcuekSiyrt。解密過程正好相反,按序排列密文后,通過列置換再按行讀取數(shù)據(jù)即可?! ?.一次性密碼簿加密 一次性密碼簿加密具有代碼加密的可靠性,又保持了替換加密的靈活
8、性,密碼簿每一頁都是不同的代碼表,可用一頁上的代碼來加密一些詞,用后銷毀,再用另一頁加密另一些詞,直到全部的明文完成加密,