密碼發(fā)展史之近現(xiàn)代密碼

中國密碼學(xué)會(huì)
中國密碼學(xué)會(huì)
隨著計(jì)算機(jī)科學(xué)的發(fā)展,快速電子計(jì)算機(jī)和現(xiàn)代數(shù)學(xué)方法一方面為加密技術(shù)提供了新的方法、新的概念和新的工具,另一方面也為破譯者提供了有力的武器。計(jì)算機(jī)和電子時(shí)代的到來給密碼設(shè)計(jì)者們帶來了前所未有的自由,他們可以輕松地減少原先用鉛筆和紙?jiān)谧鍪止ぴO(shè)計(jì)時(shí)易犯的錯(cuò)誤,也不用再擔(dān)心使用電子機(jī)械方式實(shí)現(xiàn)密碼機(jī)的高額費(fèi)用。

一、近代密碼階段

近代密碼是指從第一次世界大戰(zhàn)、第二次世界大戰(zhàn)到1976年這段時(shí)期密碼的發(fā)展階段。

電報(bào)的出現(xiàn)第一次使遠(yuǎn)距離快速傳遞信息成為可能,事實(shí)上,它增強(qiáng)了西方各國的通訊能力;20世紀(jì)初,意大利物理學(xué)家奎里亞摩•馬可尼發(fā)明了無線電報(bào),讓無線電波成為新的通訊手段,它實(shí)現(xiàn)了遠(yuǎn)距離通訊的即時(shí)傳輸,但是通過無線電波送出的每條信息不僅傳給了己方,也傳送給了敵方,因此這就意味著必須給每條信息加密,隨著第一次世界大戰(zhàn)的爆發(fā),對密碼和解碼人員的需求急劇上升,一場秘密通訊的全球戰(zhàn)役打響了。

公元20世紀(jì)初,第一次世界大戰(zhàn)進(jìn)行到關(guān)鍵時(shí)刻,英國破譯密碼的專門機(jī)構(gòu)“40號房間”利用繳獲的德國密碼本破譯了著名的“齊默爾曼電報(bào)”,促使美國放棄中立參戰(zhàn),改變了戰(zhàn)爭進(jìn)程。

隨著計(jì)算機(jī)科學(xué)的發(fā)展,快速電子計(jì)算機(jī)和現(xiàn)代數(shù)學(xué)方法一方面為加密技術(shù)提供了新的方法、新的概念和新的工具,另一方面也為破譯者提供了有力的武器。計(jì)算機(jī)和電子時(shí)代的到來給密碼設(shè)計(jì)者們帶來了前所未有的自由,他們可以輕松地減少原先用鉛筆和紙?jiān)谧鍪止ぴO(shè)計(jì)時(shí)易犯的錯(cuò)誤,也不用再擔(dān)心使用電子機(jī)械方式實(shí)現(xiàn)密碼機(jī)的高額費(fèi)用??傊?利用電子和計(jì)算機(jī)技術(shù)可以設(shè)計(jì)出更加復(fù)雜的密碼體系。

Enigma(隱匿之王):ArthurScherbius于1919在德國問世,它的設(shè)計(jì)結(jié)合了機(jī)械系統(tǒng)與電子系統(tǒng)。它被證明是有史以來最為可靠的加密系統(tǒng)之一,從而使得二戰(zhàn)期間德軍的保密通訊技術(shù)處于當(dāng)時(shí)的領(lǐng)先地位。

1943年,美國從破譯的日本電報(bào)中得知山本五十六將于4月18日乘中型轟炸機(jī),由6架戰(zhàn)斗機(jī)護(hù)航,到中途島視察時(shí),美國總統(tǒng)羅斯福親自做出決定截?fù)羯奖?山本乘坐的飛機(jī)在去往中途島的路上被美軍擊毀,山本機(jī)毀人亡,日本海軍從此一蹶不振。密碼學(xué)的發(fā)展直接影響了二戰(zhàn)的戰(zhàn)局。

在二次世界大戰(zhàn)中,印第安納瓦霍土著語言被美軍用作密碼,美國二戰(zhàn)時(shí)候特別征摹使用印第安納瓦霍通信兵。在二次世界大戰(zhàn)日美的太平洋戰(zhàn)場上,美國海軍軍部讓北墨西哥和亞歷桑那印第安納瓦霍族人使用納瓦霍語進(jìn)行情報(bào)傳遞。納瓦霍語的語法、音調(diào)及詞匯都極為獨(dú)特,不為世人所知道,當(dāng)時(shí)納瓦霍族以外的美國人中,能聽懂這種語言的也就一二十人。這是密碼學(xué)和語言學(xué)的成功結(jié)合,納瓦霍語密碼成為歷史上從未被破譯的密碼。

有人說密碼學(xué)至少使二戰(zhàn)的時(shí)間縮短了一年。

隨著Enigma的破譯,人們意識到其實(shí)真正保證密碼安全的往往不是算法,而是密鑰。即使算法外泄,但只要密鑰保密,密碼就不會(huì)失效。

荷蘭密碼學(xué)家Kerckhoffs于1883年在其名著作《軍事密碼學(xué)》中提出密碼學(xué)的基本假設(shè):密碼系統(tǒng)中的算法即使為密碼分析者所知,對推導(dǎo)出明文或密鑰也沒有幫助。也就是說,密碼系統(tǒng)的安全性應(yīng)只取決于可隨時(shí)改變的密鑰,而不應(yīng)取決于不易被改變的事物(算法)。

二、現(xiàn)代密碼階段

現(xiàn)代密碼學(xué)的發(fā)展與計(jì)算機(jī)技術(shù)、電子通信技術(shù)密切相關(guān)。在這一階段,密碼理論得到了蓬勃發(fā)展,密碼算法的設(shè)計(jì)與分析互相促進(jìn),從而出現(xiàn)了大量的加密算法和各種分析方法。除此之外,密碼的使用擴(kuò)張到各個(gè)領(lǐng)域,而且出現(xiàn)了許多通用的加密標(biāo)準(zhǔn),從而促進(jìn)了網(wǎng)絡(luò)和技術(shù)的發(fā)展。

(一)序列密碼

1.歐洲的序列密碼

2004年,歐洲啟動(dòng)了為期四年的ECRYPT(EuropeanNetworkofExcellenceforCryptology)計(jì)劃,其中的序列密碼項(xiàng)目稱為eSTREAM,主要任務(wù)是征集新的可以廣泛使用的序列密碼算法,以改變NESSIE(NewEuropeanSchemesforSignatures,Integnity,andEncryption)工程6個(gè)參賽序列密碼算法完全落選的狀況。該工程于2004年11月開始征集算法,共收集到了34個(gè)候選算法。經(jīng)過3輪為期4年的評估,2008年eSTREAM項(xiàng)目結(jié)束,最終有7個(gè)算法勝出。

eSTREAM項(xiàng)目豐富了序列密碼研究的數(shù)據(jù)庫,極大地促進(jìn)了序列密碼的研究。雖然eSTREAM計(jì)劃的評選工作已結(jié)束,但是其中的好多獲選序列密碼算法非常值得進(jìn)一步的深入分析研究。另外,沒有最終獲選的一些密碼體制也都具有各自獨(dú)特的優(yōu)點(diǎn),其設(shè)計(jì)思想有借鑒意義,因此同樣值得我們繼續(xù)分析和研究。

2.中國的ZUC算法

ZUC算法,又稱祖沖之算法,是3GPP(3rdGenerationPartnershipProject)機(jī)密性算法EEA3和完整性算法EIA3的核心,是由中國自主設(shè)計(jì)的加密算法。2009年5月ZUC算法獲得3GPP安全算法組SA立項(xiàng),正式申請參加3GPPLTE第三套機(jī)密性和完整性算法標(biāo)準(zhǔn)的競選工作。歷時(shí)兩年多的時(shí)間,ZUC算法經(jīng)過包括3GPPSAGE內(nèi)部評估,兩個(gè)邀請付費(fèi)的學(xué)術(shù)團(tuán)體的外部評估以及公開評估等在內(nèi)的3個(gè)階段的安全評估工作后,于2011年9月正式被3GPPSA全會(huì)通過,成為3GPPLTE第三套加密標(biāo)準(zhǔn)核心算法。

ZUC算法是中國第一個(gè)成為國際密碼標(biāo)準(zhǔn)的密碼算法。其標(biāo)準(zhǔn)化的成功,是中國在商用密碼算法領(lǐng)域取得的一次重大突破,體現(xiàn)了中國商用密碼應(yīng)用的開放性和商用密碼設(shè)計(jì)的高能力,其必將增大中國在國際通信安全應(yīng)用領(lǐng)域的影響力,且今后無論是對中國在國際商用密碼標(biāo)準(zhǔn)化方面的工作還是商用密碼的密碼設(shè)計(jì)來說都具有深遠(yuǎn)的影響。

(二)分組密碼

1.DES算法

DES算法,即美國數(shù)據(jù)加密標(biāo)準(zhǔn)算法,是1972年美國IBM公司研制的對稱密碼體制加密算法。明文按64位進(jìn)行分組,密鑰長度為64位,密鑰事實(shí)上是56位參與DES運(yùn)算。

DES在最初預(yù)期作為一個(gè)標(biāo)準(zhǔn)只能使用10-15年,然而,出于種種原因,可能是DES還沒有受到嚴(yán)重的威脅,使得DES的壽命要比預(yù)期長得多。在其被采用后,大約每隔5年被評審一次。DES的最后一次評審是在1999年1月。但是,隨著計(jì)算機(jī)計(jì)算能力的提高,DES密鑰過短的問題成為了DES算法安全的隱患。例如:1999年1月,RSA數(shù)據(jù)安全公司宣布:該公司所發(fā)起的對56位DES的攻擊已經(jīng)由一個(gè)稱為電子邊境基金(EFF)的組織,通過互聯(lián)網(wǎng)上的100000臺(tái)計(jì)算機(jī)合作在22小時(shí)15分鐘內(nèi)完成。

在這種情況下,對于替代DES的要求日益增多。最終,NIST于1997年發(fā)布公告,征集新的數(shù)據(jù)加密標(biāo)準(zhǔn)作為聯(lián)邦信息處理標(biāo)準(zhǔn)以代替DES。新的數(shù)據(jù)加密標(biāo)準(zhǔn)稱為AES。

盡管如此,DES的出現(xiàn)是現(xiàn)代密碼學(xué)歷史上非常重要的事件。它對于我們分析掌握分組密碼的基本理論與設(shè)計(jì)原理仍然具有重要的意義。

2.AES算法

密碼學(xué)中的高級加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES),又稱Rijndael加密算法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來替代原先的DES,已經(jīng)被多方分析且廣為全世界所使用。經(jīng)過五年的甄選流程,高級加密標(biāo)準(zhǔn)由美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)于2001年11月26日發(fā)布于FIPSPUB197,并在2002年5月26日成為有效的標(biāo)準(zhǔn)。2006年,高級加密標(biāo)準(zhǔn)已然成為對稱密鑰加密中最流行的算法之一。AES有一個(gè)固定的128位的塊大小和128,192或256位大小的密鑰大小。

該算法為比利時(shí)密碼學(xué)家JoanDaemen和VincentRijmen所設(shè)計(jì),結(jié)合兩位作者的名字,以Rijndael命名之。AES在軟件及硬件上都能快速地加解密,相對來說較易于操作,且只需要很少的存儲(chǔ)空間。作為一個(gè)新的加密標(biāo)準(zhǔn),目前正被部署應(yīng)用到更廣大的范圍。

3.SM4算法

SM4算法全稱為SM4分組密碼算法,是國家密碼管理局2012年3月發(fā)布的第23號公告中公布的密碼行業(yè)標(biāo)準(zhǔn)。SM4算法是一個(gè)分組對稱密鑰算法,明文、密鑰、密文都是16字節(jié),加密和解密密鑰相同。加密算法與密鑰擴(kuò)展算法都采用32輪非線性迭代結(jié)構(gòu)。解密過程與加密過程的結(jié)構(gòu)相似,只是輪密鑰的使用順序相反。

SM4算法的優(yōu)點(diǎn)是軟件和硬件實(shí)現(xiàn)容易,運(yùn)算速度快。

4.國際數(shù)據(jù)加密算法IDEA

國際數(shù)據(jù)加密算法IDEA(InternationalDataEncryptionAlgorithm)是由來學(xué)嘉(LaiXuejia)和JamesMasseey于1990年提出第一版,并命名為PES(ProposedEncryptionStandard)。在EuroCrypt'91年會(huì)上,來學(xué)嘉等又針對PES算法的輪函數(shù)作出調(diào)整,使得算法能更加有效地抵抗差分密碼分析,改進(jìn)后的PES稱為改進(jìn)的建議加密標(biāo)準(zhǔn)IPES(ImprovedPES)。1992年,又將IPES商品化,正式改名為IDEA,它是對64bit大小的數(shù)據(jù)塊加密的分組加密算法,密鑰長度為128位,它基于“相異代數(shù)群上的混合運(yùn)算”的算法設(shè)計(jì)思想,用硬件和軟件實(shí)現(xiàn)都很容易且比DES在實(shí)現(xiàn)上快的多。IDEA自問世以來,己經(jīng)歷了大量的詳細(xì)測試分析,對密碼分析具有很強(qiáng)的抵抗能力,在多種商業(yè)產(chǎn)品中被使用。

(三)公鑰密碼

1.RSA算法

1977年,美國MIT的RonaldRivest、AdiShamir和LenAdleman提出了第一個(gè)較完善的公鑰密碼體制——RSA體制,這是一種基于大素?cái)?shù)因子分解的困難問題上的算法。

RSA是被研究最廣泛的公鑰算法,從1978年提出到現(xiàn)在已近四十年,期間它經(jīng)歷了各種攻擊的考驗(yàn),逐漸被人們接受,是目前應(yīng)用最廣泛的公鑰方案之一。通常認(rèn)為RSA的破譯難度與大數(shù)的素因子分解難度等價(jià)。

2.ECC算法

橢圓曲線密碼系統(tǒng)(ECC)在1985年分別由VictorMiller和NealKoblitz獨(dú)立提出。但在當(dāng)時(shí),他們都認(rèn)為ECC的概念僅是數(shù)學(xué)范疇的,而其在當(dāng)時(shí)實(shí)際實(shí)現(xiàn)是不現(xiàn)實(shí)的。從1985年以來,ECC受到全世界密碼學(xué)家、數(shù)學(xué)家和計(jì)算機(jī)科學(xué)家的密切關(guān)注。一方面,由于沒有發(fā)現(xiàn)ECC明顯的漏洞,使人們充分相信其安全性;另一方面,在增加ECC系統(tǒng)的實(shí)現(xiàn)效率上取得了長足的進(jìn)步,到今日ECC不僅可被實(shí)現(xiàn),而且成為已知的效率最高的公鑰密碼系統(tǒng)之一。

加密算法的安全性能一般通過該算法的抗攻擊強(qiáng)度來反映。ECC和其他幾種公鑰系統(tǒng)相比,其抗攻擊性具有絕對的優(yōu)勢,例如160位ECC與1024位RSA,DSA具有相同的安全強(qiáng)度,210位ECC則與2048位RSA,DSA具有相同的安全強(qiáng)度,這就意味著帶寬要求更低,所占的存儲(chǔ)空間更小。這些優(yōu)點(diǎn)在一些對于帶寬、處理器能力、能量或存儲(chǔ)有限制的應(yīng)用中顯得尤為重要。這些應(yīng)用包括:IC卡、電子商務(wù)、Web服務(wù)器、移動(dòng)電話和便攜終端等。

3.SM2算法

SM2算法全稱為SM2橢圓曲線公鑰密碼算法,是國家密碼管理局2010年12月發(fā)布的第21號公告中公布的密碼行業(yè)標(biāo)準(zhǔn)。SM2算法屬于非對稱密鑰算法,使用公鑰進(jìn)行加密,私鑰進(jìn)行解密,已知公鑰求私鑰在計(jì)算上不可行。發(fā)送者用接收者的公鑰將消息加密成密文,接收者用自已的私鑰對收到的密文進(jìn)行解密還原成原始消息。

SM2算法相比較其他非對稱公鑰算法如RSA而言使用更短的密鑰串就能實(shí)現(xiàn)比較牢固的加密強(qiáng)度,同時(shí)由于其良好的數(shù)學(xué)設(shè)計(jì)結(jié)構(gòu),加密速度也比RSA算法快。

(四)HASH函數(shù)

1.MD4

MD4是麻省理工學(xué)院教授RonaldRivest于1990年設(shè)計(jì)的一種信息摘要算法。它是一種用來測試信息完整性的密碼散列函數(shù)。其摘要長度為128位,一般128位長的MD4散列被表示為32位的十六進(jìn)制數(shù)字。這個(gè)算法影響了后來的算法如MD5、SHA家族和RIPEMD等。

2004年8月,山東大學(xué)教授王小云報(bào)告在計(jì)算MD4時(shí)可能發(fā)生雜湊沖撞,同時(shí)公布了對MD5、HAVAL-128、MD4和RIPEMD四個(gè)著名HASH算法的破譯結(jié)果。

Denboer和Bosselaers以及其他人很快地發(fā)現(xiàn)了攻擊MD4版本中第一步和第三步的漏洞。Dobbertin向大家演示了如何利用一部普通的個(gè)人電腦在幾分鐘內(nèi)找到MD4完整版本中的沖突(這個(gè)沖突實(shí)際上是一種漏洞,它將導(dǎo)致對不同的內(nèi)容進(jìn)行加密卻可能得到相同的加密后結(jié)果)。毫無疑問,MD4就此被淘汰掉了。

盡管MD4算法在安全上有個(gè)這么大的漏洞,但它對在其后才被開發(fā)出來的好幾種摘要算法的出現(xiàn)卻有著不可忽視的引導(dǎo)作用。

2.MD5

MD5的全稱是Message-DigestAlgorithm5(信息—摘要算法),在20世紀(jì)90年代初由MITLaboratoryforComputerScience和RSADataSecurityIn的RonaldLRivest開發(fā)出來,經(jīng)MD2、MD3和MD4發(fā)展而來。它的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密匙前被“壓縮”成一種保密的格式(就是把一個(gè)任意長度的字節(jié)串變換成一定長的大整數(shù))。

對任意少于2的64次方比特長度的信息輸入,MD5都將產(chǎn)生一個(gè)長度為128比特的輸出。這一輸出可以被看作是原輸入報(bào)文的“報(bào)文摘要值”。MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個(gè)32位子分組,經(jīng)過了一系列的處理后,算法的輸出由四個(gè)32位分組組成,將這四個(gè)32位分組級聯(lián)后將生成一個(gè)128位散列值。

3.SM3算法

SM3密碼雜湊算法是國家密碼管理局2010年公布的中國商用密碼雜湊算法標(biāo)準(zhǔn)。該算法消息分組長度為512比特,輸出雜湊值256比特,采用Merkle-Damgard結(jié)構(gòu)。SM3密碼雜湊算法的壓縮函數(shù)與SHA-256的壓縮函數(shù)具有相似的結(jié)構(gòu),但是SM3密碼雜湊算法的設(shè)計(jì)更加復(fù)雜,比如壓縮函數(shù)的每一輪都使用2個(gè)消息字,消息拓展過程的每一輪都使用5個(gè)消息字等。目前對SM3密碼雜湊算法的攻擊還比較少。

限于篇幅,我們對密碼學(xué)各個(gè)領(lǐng)域及其發(fā)展情況的介紹還不全面,部分描述還比較膚淺??梢钥吹矫艽a學(xué)的發(fā)展日新月異,密碼編碼及密碼分析技術(shù)層出不窮,可以預(yù)見,密碼學(xué)必將在我們未來生活中扮演越來越重要的角色。

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論