現(xiàn)代密碼學(xué)論文_第1頁
現(xiàn)代密碼學(xué)論文_第2頁
現(xiàn)代密碼學(xué)論文_第3頁
現(xiàn)代密碼學(xué)論文_第4頁
現(xiàn)代密碼學(xué)論文_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

對(duì)現(xiàn)代密碼學(xué)的認(rèn)識(shí)一、密碼學(xué)的發(fā)展歷程密碼學(xué)在公元前400多年就早已經(jīng)產(chǎn)生了,正如《破譯者》一書中所說“人類使用密碼的歷史幾乎與使用文字的時(shí)間一樣長(zhǎng)”。密碼學(xué)的起源的確要追溯到人類剛剛出現(xiàn),并且嘗試去學(xué)習(xí)如何通信的時(shí)候,為了確保他們的通信的機(jī)密,最先是有意識(shí)的使用一些簡(jiǎn)單的方法來加密信息,通過一些(密碼)象形文字相互傳達(dá)信息。接著由于文字的出現(xiàn)和使用,確保通信的機(jī)密性就成為一種藝術(shù),古代發(fā)明了不少加密信息和傳達(dá)信息的方法。例如我國(guó)古代的烽火就是一種傳遞軍情的方法,再如古代的兵符就是用來傳達(dá)信息的密令。就連闖蕩江湖的俠士,都有秘密的黑道行話,更何況是那些不堪忍受壓迫義士在秘密起義前進(jìn)行地下聯(lián)絡(luò)的暗語,這都促進(jìn)了密碼學(xué)的發(fā)展。事實(shí)上,密碼學(xué)真正成為科學(xué)是在19世紀(jì)末和20世紀(jì)初期,由于軍事、數(shù)學(xué)、通訊等相關(guān)技術(shù)的發(fā)展,特別是兩次世界大戰(zhàn)中對(duì)軍事信息保密傳遞和破獲敵方信息的需求,密碼學(xué)得到了空前的發(fā)展,并廣泛的用于軍事情報(bào)部門的決策。例如在希特勒一上臺(tái)時(shí),德國(guó)就試驗(yàn)并使用了一種命名為“謎”的密碼機(jī),“謎”型機(jī)能產(chǎn)生220億種不同的密鑰組合,假如一個(gè)人日夜不停地工作,每分鐘測(cè)試一種密鑰的話,需要約4.2萬年才能將所有的密鑰可能組合試完,希特勒完全相信了這種密碼機(jī)的安全性。然而,英國(guó)獲知了“謎”型機(jī)的密碼原理,完成了一部針對(duì)“謎”型機(jī)的綽號(hào)叫“炸彈”的密碼破譯機(jī),每秒鐘可處理2000個(gè)字符,它幾乎可以破譯截獲德國(guó)的所有情報(bào)。后來又研制出一種每秒鐘可處理5000個(gè)字符的“巨人”型密碼破譯機(jī)并投入使用,至此同盟國(guó)幾乎掌握了德國(guó)納粹的絕大多數(shù)軍事秘密和機(jī)密,而德國(guó)軍方卻對(duì)此一無所知;太平洋戰(zhàn)爭(zhēng)中,美軍成功破譯了日本海軍的密碼機(jī),讀懂了日本艦隊(duì)司令官山本五十六發(fā)給各指揮官的命令,在中途島徹底擊潰了日本海軍,擊斃了山本五十六,導(dǎo)致了太平洋戰(zhàn)爭(zhēng)的決定性轉(zhuǎn)折。因此,我們可以說,密碼學(xué)為戰(zhàn)爭(zhēng)的勝利立了大功。在當(dāng)今密碼學(xué)不僅用于國(guó)家軍事安全上,人們已經(jīng)將重點(diǎn)更多的集中在實(shí)際應(yīng)用,在你的生活就有很多密碼,例如為了防止別人查閱你文件,你可以將你的文件加密;為了防止竊取你錢物,你在銀行賬戶上設(shè)置密碼,等等。隨著科技的發(fā)展和信息保密的需求,密碼學(xué)的應(yīng)用將融入了你的日常生活。二、密碼學(xué)的基礎(chǔ)知識(shí)密碼學(xué)(Cryptography)在希臘文用Kruptos(hidden)+graphein(towrite)表達(dá),現(xiàn)代準(zhǔn)確的術(shù)語為“密碼編制學(xué)”,簡(jiǎn)稱“編密學(xué)”,與之相對(duì)的專門研究如何破解密碼的學(xué)問稱之為“密碼分析學(xué)”。密碼學(xué)是主要研究通信安全和保密的學(xué)科,他包括兩個(gè)分支:密碼編碼學(xué)和密碼分析學(xué)。密碼編碼學(xué)主要研究對(duì)信息進(jìn)行變換,以保護(hù)信息在傳遞過程中不被敵方竊取、解讀和利用的方法,而密碼分析學(xué)則于密碼編碼學(xué)相反,它主要研究如何分析和破譯密碼。這兩者之間既相互對(duì)立又相互促進(jìn)。密碼的基本思想是對(duì)機(jī)密信息進(jìn)行偽裝。一個(gè)密碼系統(tǒng)完成如下偽裝:加密者對(duì)需要進(jìn)行偽裝機(jī)密信息(明文)進(jìn)行偽裝進(jìn)行變換(加密變換),得到另外一種看起來似乎與原有信息不相關(guān)的表示(密文),如果合法者(接收者)獲得了偽裝后的信息,那么他可以通過事先約定的密鑰,從得到的信息中分析得到原有的機(jī)密信息(解密變換),而如果不合法的用戶(密碼分析者)試圖從這種偽裝后信息中分析得到原有的機(jī)密信息,那么,要么這種分析過程根本是不可能的,要么代價(jià)過于巨大,以至于無法進(jìn)行。在計(jì)算機(jī)出現(xiàn)以前,密碼學(xué)的算法主要是通過字符之間代替或易位實(shí)現(xiàn)的,我們稱這些密碼體制為古典密碼。其中包括:易位密碼、代替密碼(單表代替密碼、多表代替密碼等)。這些密碼算法大都十分簡(jiǎn)單,現(xiàn)在已經(jīng)很少在實(shí)際應(yīng)用中使用了。由于密碼學(xué)是涉及數(shù)學(xué)、通訊、計(jì)算機(jī)等相關(guān)學(xué)科的知識(shí),就我們現(xiàn)有的知識(shí)水平而言,只能初步研究古典密碼學(xué)的基本原理和方法。但是對(duì)古典密碼學(xué)的研究,對(duì)于理解、構(gòu)造和分析現(xiàn)代實(shí)用的密碼都是很有幫助。以下介紹我們所研究的古典密碼學(xué)。三、現(xiàn)代密碼學(xué)的作用現(xiàn)代密碼學(xué)研究信息從發(fā)端到收端的安全傳輸和安全存儲(chǔ),是研究“知己知彼”的一門科學(xué)。其核心是密碼編碼學(xué)和密碼分析學(xué)。前者致力于建立難以被敵方或?qū)κ止テ频陌踩艽a體制,即“知己”;后者則力圖破譯敵方或?qū)κ忠延械拿艽a體制,即“知彼”。人類有記載的通信密碼始于公元前400年。古希臘人是置換密碼的發(fā)明者。1881年世界上的第一個(gè)電話保密專利出現(xiàn)。電報(bào)、無線電的發(fā)明使密碼學(xué)成為通信領(lǐng)域中不可回避的研究課題。在第二次世界大戰(zhàn)初期,德國(guó)軍方啟用“恩尼格瑪”密碼機(jī),盟軍對(duì)德軍加密的信息有好幾年一籌莫展,“恩尼格瑪”密碼機(jī)似乎是不可破的。但是經(jīng)過盟軍密碼分析學(xué)家的不懈努力,“恩尼格瑪”密碼機(jī)被攻破,盟軍掌握了德軍的許多機(jī)密,而德國(guó)軍方卻對(duì)此一無所知。太平洋戰(zhàn)爭(zhēng)中,美軍破譯了日本海軍的密碼機(jī),讀懂了日本艦隊(duì)司令官山本五十六發(fā)給各指揮官的命令,在中途島徹底擊潰了日本海軍,導(dǎo)致了太平洋戰(zhàn)爭(zhēng)的決定性轉(zhuǎn)折,而且不久還擊斃了山本五十六。相反軸心國(guó)中,只有德國(guó)是在第二次世界大戰(zhàn)的初期在密碼破譯方面取得過輝煌的戰(zhàn)績(jī)。因此,我們可以說,密碼學(xué)在戰(zhàn)爭(zhēng)中起著非常重要的作用。隨著信息化和數(shù)字化社會(huì)的發(fā)展,人們對(duì)信息安全和保密的重要性認(rèn)識(shí)不斷提高。如網(wǎng)絡(luò)銀行、電子購(gòu)物、電子郵件等正在悄悄地融入普通百姓的日常生活中,人們自然要關(guān)注其安全性如何。1977年,美國(guó)國(guó)家標(biāo)準(zhǔn)局公布實(shí)施了“美國(guó)數(shù)據(jù)加密標(biāo)(DES)”,軍事部門壟斷密碼的局面被打破,民間力量開始全面介入密碼學(xué)的研究和應(yīng)用中。民用的加密產(chǎn)品在市場(chǎng)上已有大量出售,采用的加密算法有DES、IDEA、RSA等?,F(xiàn)有的密碼體制千千萬萬,各不相同。但是它們都可以分為私鑰密碼體制(如DES密碼)和公鑰密碼(如公開密鑰密碼)。前者的加密過程和脫密過程相同,而且所用的密鑰也相同;后者,每個(gè)用戶都有公開和秘密鑰。編碼密碼學(xué)主要致力于信息加密、信息認(rèn)證、數(shù)字簽名和密鑰管理方面的研究。信息加密的目的在于將可讀信息轉(zhuǎn)變?yōu)闊o法識(shí)別的內(nèi)容,使得截獲這些信息的人無法閱讀,同時(shí)信息的接收人能夠驗(yàn)證接收到的信息是否被敵方篡改或替換過;數(shù)字簽名就是信息的接收人能夠確定接收到的信息是否確實(shí)是由所希望的發(fā)信人發(fā)出的;密鑰管理是信息加密中最難的部分,因?yàn)樾畔⒓用艿陌踩栽谟诿荑€。歷史上,各國(guó)軍事情報(bào)機(jī)構(gòu)在獵取別國(guó)的密鑰管理方法上要比破譯加密算法成功得多。密碼分析學(xué)與編碼學(xué)的方法不同,它不依賴數(shù)學(xué)邏輯的不變真理,必須憑經(jīng)驗(yàn),依賴客觀世界覺察得到的事實(shí)。因而,密碼分析更需要發(fā)揮人們的聰明才智,更具有挑戰(zhàn)性?,F(xiàn)代密碼學(xué)是一門迅速發(fā)展的應(yīng)用科學(xué)。隨著因特網(wǎng)的迅速普及,人們依靠它傳送大量的信息,但是這些信息在網(wǎng)絡(luò)上的傳輸都是公開的。因此,對(duì)于關(guān)系到個(gè)人利益的信息必須經(jīng)過加密之后才可以在網(wǎng)上傳送,這將離不開現(xiàn)代密碼技術(shù)。1976年Diffie和Hellman在《密碼新方向》中提出了著名的D-H密鑰交換協(xié)議,標(biāo)志著公鑰密碼體制的出現(xiàn)。Diffie和Hellman第一次提出了不基于秘密信道的密鑰分發(fā),這就是D-H協(xié)議的重大意義所在。PKI(PublicKeyInfrastructure)是一個(gè)用公鑰概念與技術(shù)來實(shí)施和提供安全服務(wù)的具有普適性的安全基礎(chǔ)設(shè)施。PKI公鑰基礎(chǔ)設(shè)施的主要任務(wù)是在開放環(huán)境中為開放性業(yè)務(wù)提供數(shù)字簽名服務(wù)。四、現(xiàn)代密碼學(xué)的算法研究信息安全本身包括的范圍很大,從安全性需求的角度來說涉及到信息的保密性、完整性、可用性、認(rèn)證性和不可否認(rèn)性。其中,密碼技術(shù)是保障信息安全的核心技術(shù)。密碼學(xué)是一門充挑戰(zhàn)的交叉學(xué)科,有著悠久而迷人的歷史。4000多年前就有埃及人運(yùn)用簡(jiǎn)單的加密手段傳遞秘密信息的記錄。在兩次世界大戰(zhàn)中,密碼學(xué)更是扮演了舉足輕重的角色。但是,早期密碼技術(shù)的研究和應(yīng)用多屬于軍隊(duì)、外交和政府行為。20世紀(jì)60年代計(jì)算機(jī)與通信系統(tǒng)的迅猛發(fā)展,促使人們開始考慮如何通過計(jì)算機(jī)和通信網(wǎng)絡(luò)安全地完成各項(xiàng)事務(wù),從而使得密碼技術(shù)開始廣泛應(yīng)用于民間,也進(jìn)一步促進(jìn)了密碼技術(shù)的迅猛發(fā)展。傳統(tǒng)密碼技術(shù)更多被看成是一門藝術(shù),密碼學(xué)專家常常是憑自己的直覺來進(jìn)行密碼算法的設(shè)計(jì)和分析。直到1949年Shannon[1]發(fā)表《保密系統(tǒng)的通信理論》一文,文章從信息論的角度討論了加密系統(tǒng)的安全性和設(shè)計(jì)準(zhǔn)則,從此將密碼學(xué)從藝術(shù)帶入了系統(tǒng)科學(xué)的殿堂。20世紀(jì)70年代,IBM公司設(shè)計(jì)出數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)分組密碼算法,并在1977年被美國(guó)聯(lián)邦政府采納為聯(lián)邦信息處理標(biāo)準(zhǔn)。幾乎同時(shí),Diffie和Hellman[2]提出了公鑰密碼學(xué)的思想。他們?cè)凇睹艽a學(xué)的新方向》一文中解決了原有對(duì)稱密碼系統(tǒng)存在的密鑰分配問題,并提出了數(shù)字簽名的新思路。1978年,Rivest、Shamir和Aldleman[3]設(shè)計(jì)出了第一個(gè)在實(shí)踐中可用的公開密鑰加密和簽名方案———RSA,從而拉開了現(xiàn)代密碼學(xué)的序幕。4.1對(duì)稱加密算法密碼算法主要分為對(duì)稱密碼算法和非對(duì)稱密碼算法兩大類。對(duì)稱加密算法指加密密鑰和解密密鑰相同,或知道密鑰之一很容易推導(dǎo)得到另一個(gè)密鑰。通常情況下,對(duì)稱密鑰加密算法的加/解密速度非???因此,這類算法適用于大批量數(shù)據(jù)加密的場(chǎng)合。這類算法又分為分組密碼和流密碼兩大類。4.1.1分組密碼分組密碼算法如圖1所示。相對(duì)流密碼算法來說,分組密碼算法不需要存儲(chǔ)生成的密鑰序列,所以適用于存儲(chǔ)空間有限的加密場(chǎng)合。此外,目前使用的分組密碼算法的分析和設(shè)計(jì)過程都相對(duì)公開,通常伴隨著大型的征集和公開評(píng)估活動(dòng)。這樣一來不僅僅增加了算法的透明度,防止攻擊者隱藏陷門并使得用戶充分相信算法的安全強(qiáng)度;另一方面極大促進(jìn)了分組密碼技術(shù)的飛速發(fā)展。1973年5月13日的美國(guó)聯(lián)邦政府提出征求在傳輸和存儲(chǔ)數(shù)據(jù)中保護(hù)計(jì)算機(jī)數(shù)據(jù)的密碼算法的建議,這一舉措最終導(dǎo)致了DES算法的研制。在公開征得的眾多算法中,IBM公司提出的算法Lucifer中選。1975年3月17日,美國(guó)國(guó)家標(biāo)準(zhǔn)局(NBS)首次公布了此算法,請(qǐng)公眾評(píng)議。1977年1月NBS正式向社會(huì)公布,采納IBM公司設(shè)計(jì)的方案作為非機(jī)密數(shù)據(jù)的數(shù)據(jù)加密標(biāo)準(zhǔn)。DES正式成為美國(guó)聯(lián)邦政府信息處理標(biāo)準(zhǔn),即FIPS-46標(biāo)準(zhǔn),同年7月15日開始生效。此后,每隔5年美國(guó)國(guó)家保密局(NSA)對(duì)DES作新的評(píng)估,并重新批準(zhǔn)它是否繼續(xù)作為聯(lián)邦加密標(biāo)準(zhǔn)。1997年,美國(guó)標(biāo)準(zhǔn)技術(shù)研究所(NIST)對(duì)DES進(jìn)行再次評(píng)測(cè)并宣布:DES算法的安全強(qiáng)度已經(jīng)不足以保障聯(lián)邦政府信息數(shù)據(jù)的安全性,所以NIST建議撤銷相關(guān)標(biāo)準(zhǔn),此后DES算法只作為三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)(TDES)的一個(gè)組成部分使用。同時(shí),NIST開始征集新的數(shù)據(jù)加密標(biāo)準(zhǔn)高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn)(AES)[4],他們要求新算法的分組長(zhǎng)度為128,支持可變密鑰長(zhǎng)度128、192、256比特。1998年,NIST在第一輪AES征集會(huì)議上公布了征集到15個(gè)算法,并且邀請(qǐng)全世界的密碼研究機(jī)構(gòu)對(duì)算法進(jìn)行安全性等方面的評(píng)測(cè)。1999年,NIST從中選取了5個(gè)優(yōu)良的算法作為AES的候選算法,它們分別是MARS、RC6、Rijndael、Serpent和Twofish,并通過最終的綜合評(píng)價(jià)確定Rijndael算法為新的數(shù)據(jù)加密標(biāo)準(zhǔn),2001年12月正式公布FIPS-197標(biāo)準(zhǔn)。歐洲于2000年1月啟動(dòng)了NESSIE工程[5],該工程的目的是評(píng)價(jià)出包含分組密碼、流密碼等在內(nèi)的一系列安全、高效和靈活的密碼算法。至2000年9月,共收集到了17個(gè)分組密碼算法,同時(shí)他們將TDES和AES納入了評(píng)估范圍,并作為分組密碼算法的評(píng)測(cè)基準(zhǔn)。經(jīng)過3年2個(gè)階段的篩選,最終確定下列算法為推薦的分組密碼算法:MISTY164、Camllia128、SHACAL-2和AES128。日本政府在2000年成立了密碼研究與評(píng)估委員會(huì)(CRYPTREC)[6]并參考?xì)W洲NESSIE工程的作法對(duì)密碼算法的安全性和效率等問題進(jìn)行評(píng)估,以備政府使用。評(píng)估涵蓋了對(duì)稱密碼算法、非對(duì)稱密碼算法、散列函數(shù)和隨機(jī)數(shù)生成器4部分。2002年初步擬定了推薦算法的草案,2003年3月確定了推薦算法名單,其中分組密碼算法包括:!分組長(zhǎng)度為64比特的算法:CIPHERUNICORN-E、MISTY1[Ma00]和3-keyTDES。!分組長(zhǎng)度為128比特的算法:Camellia、CIPHERUNICORN-A、SC2000、Hierocrypt-3和Rijndael128。目前,分組密碼的設(shè)計(jì)與分析依然是密碼學(xué)研究的熱點(diǎn)。設(shè)計(jì)方面主要是尋求更好的設(shè)計(jì)技術(shù)在安全性和效率方面突破AES算法。分析方面主要是可證明安全性理論研究、應(yīng)用安全性研究及新的攻擊方法挖掘。此外,利用分組密碼技術(shù)設(shè)計(jì)新的流密碼算法、新的Hash函數(shù)算法也是研究的熱點(diǎn)。4.1.2流密碼流密碼(也叫序列密碼)的理論基礎(chǔ)是一次一密算法,它的主要原理是:生成與明文信息流同樣長(zhǎng)度的隨機(jī)密鑰序列,使用該序列按比特加密信息流,得到密文序列,解密變換是加密變換的逆過程。根據(jù)Shannon的研究,這樣的算法可以達(dá)到完全保密的要求。但是,在現(xiàn)實(shí)生活中,生成完全隨機(jī)的密鑰序列是不可行的,因此只能生成一些類似隨機(jī)的密鑰序列,稱之為偽隨機(jī)序列。流密碼內(nèi)部存在記憶元件(存儲(chǔ)器)來存儲(chǔ)生成的密鑰序列。根據(jù)加密器中記憶元件的存儲(chǔ)狀態(tài)是否依賴于輸入的明文序列,又分為同步流密碼算法(如圖2所示)和自同步流密碼算法(如圖3所示)。流密碼算法最初主要用于政府、軍方等國(guó)家要害部門,因此,流密碼不像分組密碼那樣有公開的國(guó)際標(biāo)準(zhǔn),大多數(shù)設(shè)計(jì)、分析成果都是保密的。但是隨著流密碼的應(yīng)用需求越來越廣泛,從NESSIE工程開始,流密碼算法的設(shè)計(jì)與分析也列上了公開征集評(píng)測(cè)的日程。2000年1月歐洲啟動(dòng)的NESSIE工程中,有6個(gè)流密碼算法(Leviathan、UIi-128、BMGL、SOBER-t32、SNOW、SOBER-tl)進(jìn)入了第二階段評(píng)估,但是因?yàn)樗麄兌疾环螻ESSIE的征集準(zhǔn)則而最終全部落選。2003年3月,日本政府的密碼研究與評(píng)估委員會(huì)(CRYPTREC)推薦了3個(gè)流密碼算法:MUGI、MULTI-S01和RC4-128。ECRYPT[7]是歐洲第6框架研究計(jì)劃(FP6)下IST基金支持的一個(gè)為期4年的項(xiàng)目,該項(xiàng)目啟動(dòng)于2004年2月,分為AZTEC、PROVILAB、VAMPIRE、STVL和WAVILA5個(gè)部分。其中STVL正在進(jìn)行流密碼算法的公開征集評(píng)估活動(dòng):2004年10月14—15日在比利時(shí)舉行了一個(gè)名為SASC的特別會(huì)議,會(huì)議的討論引發(fā)了流密碼算法的征集活動(dòng),并于2004年11月發(fā)布了征集公告,這也是對(duì)NESSIE沒有征集到流密碼算法的一個(gè)補(bǔ)充。征集活動(dòng)到2005年4月29日結(jié)束,根據(jù)4個(gè)征集原則,一共征集到了34個(gè)流密碼算法。2007年4月開始進(jìn)入第三輪評(píng)估,針對(duì)軟件設(shè)計(jì)的候選算法有CryptMT(Version3)、Dragon、Rabbit、HC(HC-128和HC-256)、LEX(LEX-128、LEX-192和LEX-256)、NLS(NLSv2加密)、Salsa20和SOSEMANUK。針對(duì)硬設(shè)計(jì)的候選算法包括DECIM(DECIMv2和DECIM-128)、F-FCSR(F-FCSR-Hv2和F-FCSR-16)、Edon80、Grain(Grainv1和Grain-128)、MICKEY(MICKEY2.0和MICKEY-1282.0)、Moustique、Trivium和Pomaranch(Version3)。對(duì)流密碼研究?jī)?nèi)容集中在如下兩方面:(1)衡量密鑰流序列好壞的標(biāo)準(zhǔn)。通常,密鑰序列的檢驗(yàn)標(biāo)準(zhǔn)采用Golomb的3點(diǎn)隨機(jī)性公設(shè),除此之外,還需做進(jìn)一步局部隨機(jī)性檢驗(yàn),包括頻率檢驗(yàn)、序列檢驗(yàn)、撲克檢驗(yàn)、自相關(guān)檢驗(yàn)和游程檢驗(yàn),以及反映序列不可預(yù)測(cè)性的復(fù)雜度測(cè)試等。但是,究竟什么樣的序列可以作為安全可靠的密鑰序列,還是一個(gè)未知的問題。(2)構(gòu)造線性復(fù)雜度高、周期大的密鑰流序列。當(dāng)前最常用的密鑰序列產(chǎn)生器主要有:基于線性反饋移位寄存器的前饋序列產(chǎn)生器、非線性組合序列產(chǎn)生器、鐘控序列產(chǎn)生器、基于分組密碼技術(shù)的密鑰生成器等。4.2Hash函數(shù)Hash函數(shù)(也稱雜湊函數(shù)、散列函數(shù))就是把任意長(zhǎng)的輸入消息串變化成固定長(zhǎng)度的輸出“0”、“1”串的函數(shù),輸出“0”、“1”串被稱為該消息的Hash值(或雜湊值)。一個(gè)比較安全的Hash函數(shù)應(yīng)該至少滿足以下幾個(gè)條件:輸出串長(zhǎng)度至少為128比特,以抵抗生日攻擊。!對(duì)每一個(gè)給定的輸入,計(jì)算Hash值很容易(Hash算法的運(yùn)行效率通常都很高)。對(duì)給定的Hash函數(shù),已知Hash值,得到相應(yīng)的輸入消息串(求逆)是計(jì)算上不可行的。對(duì)給定的Hash函數(shù)和一個(gè)隨機(jī)選擇的消息,找到另一個(gè)與該消息不同的消息使得它們Hash值相同(第二原像攻擊)是計(jì)算上不可行的。對(duì)給定的Hash函數(shù),找到兩個(gè)不同的輸入消息串使得它們的Hash值相同(即碰撞攻擊)實(shí)際計(jì)算上是不可行的Hash函數(shù)主要用于消息認(rèn)證算法構(gòu)造、口令保護(hù)、比特承諾協(xié)議、隨機(jī)數(shù)生成和數(shù)字簽名算法中。Hash函數(shù)算法有很多,最著名的主要有MD系列和SHA系列,一直以來,對(duì)于這些算法的安全性分析結(jié)果沒有很大突破,這給了人們足夠的信心相信它們是足夠安全的,并被廣泛應(yīng)用于網(wǎng)絡(luò)通信協(xié)議當(dāng)中。直到2004年,中國(guó)密碼學(xué)家王小云教授和她的團(tuán)隊(duì)將MD4的碰撞攻擊復(fù)雜度時(shí)間降到手工可計(jì)算[8];并將尋找MD5算法實(shí)際碰撞的復(fù)雜度和SHA-1算法碰撞的理論復(fù)雜度分別降為239和263[9-10]。她們的出色工作,顛覆了這座堅(jiān)固的大廈,也迫使眾多密碼學(xué)家重新評(píng)價(jià)目前Hash算法的安全強(qiáng)度,同時(shí)思考新的Hash函數(shù)算法設(shè)計(jì)方法。NESSIE工程推薦使用的Hash算法有SHA-256/384/512和Whirlpool,日本密碼研究與評(píng)估委員會(huì)推薦使用的算法有SHA-1/256/384/512、RIPEMD-160。ECRYPT也在Hash算法研究方面舉辦了一系列活動(dòng)。此外,NIST研究所將于2008年啟動(dòng)新的Hash標(biāo)準(zhǔn)的征集活動(dòng)。3非對(duì)稱密碼算法非對(duì)稱密鑰密碼體制,即公開密鑰密碼體制指用戶有兩個(gè)密鑰,一個(gè)公開密鑰,一個(gè)私有密鑰,并且從私有密鑰推導(dǎo)公開密鑰是計(jì)算不可行的。公鑰加密算法在運(yùn)行速度方面無法和對(duì)稱加密算法媲美,但是這一思想很好地解決了對(duì)稱密碼學(xué)面臨的密鑰的分發(fā)與管理問題,同時(shí)對(duì)于數(shù)字簽名問題也給出了完美的解答,并正在繼續(xù)產(chǎn)生許多新的,優(yōu)秀的思想和方案。4.3.1基于CA的公鑰密碼公鑰密碼算法設(shè)計(jì)的關(guān)鍵是存在多項(xiàng)式時(shí)間內(nèi)不可解的困難問題。最早的也是目前使用最廣泛的公鑰加密和簽名方案是RSA算法,該算法的安全性基于大整數(shù)分解問題。Diffie和Hellman提出的DH密鑰交換方案以及后來的數(shù)字簽名標(biāo)準(zhǔn)(DSS)和ElGamal加密算法多基于同離散對(duì)數(shù)問題相關(guān)的困難問題。此外,在基于離散對(duì)數(shù)問題的密碼算法中有一類特殊的算法———橢圓曲線和超橢圓曲線密碼學(xué)(ECC)。這類算法的優(yōu)點(diǎn)是參數(shù)長(zhǎng)度較短(見表1)可以達(dá)到較高的安全性,因此,非常適合在智能卡等存儲(chǔ)空間有限的密碼設(shè)備上使用。在NESSIE工程中共推薦了3個(gè)數(shù)字簽名算法:ECDSA、RSA-PSS、SFLASH。2003年3月,日本政府的密碼研究與評(píng)估委員會(huì)推薦了兩個(gè)公鑰加密算法(RSAES-PKCS1-v15、RAS-OAEP)和4個(gè)數(shù)字簽名算法(ECDSA、RSASSA-PKCS1-v15、DSA、RSA-PSS)。歷經(jīng)20多年的分析研究,密碼學(xué)家依然沒有徹底攻破基于整數(shù)分解和基于離散對(duì)數(shù)的經(jīng)典算法,從而增強(qiáng)了人們對(duì)于這些算法的信心,但是這并不意味著公鑰加密和簽名算法的研究可以停滯不前了。首先,雖然在原始計(jì)算模型的假設(shè)下,目前為止最有效的分解因子解法和離散對(duì)數(shù)解法都是亞指數(shù)時(shí)間。但是離散對(duì)數(shù)問題和分解因子問題始終沒有被證明是多項(xiàng)式時(shí)間內(nèi)不可解(NP)問題。其次,即使證明他們是NP問題,也不能確保相應(yīng)的密碼算法是安全的,例如基于背包問題設(shè)計(jì)的密碼算法幾乎全軍覆沒。最后,在量子計(jì)算機(jī)問世后,這兩類問題將存在多項(xiàng)式時(shí)間解法[11]。所以,密碼學(xué)家一直在探尋新的、可以用于設(shè)計(jì)公鑰密碼算法的困難問題。目前研究比較廣泛的算法主要有如下幾種:基于編碼問題的公鑰密碼算法(McEliece,1978)、基于格問題的密碼算法(NTRU,1996)、多變量密碼系統(tǒng)(MultivariatePKC,1999)以及基于無限群理論的密碼算法(辮子群,2000)等。4.3.2基于身份的公鑰密碼基于身份的密碼學(xué)是由Shamir[12]于1984年提出。其主要思想是,系統(tǒng)中可以直接使用用戶的標(biāo)識(shí),如姓名、IP地址、電子郵件地址等作為用戶的公鑰。用戶的私鑰通過一個(gè)被稱作私鑰生成器(PKG)的可信任第三方計(jì)算分發(fā)給用戶。Shamir在提出這一思想的同時(shí)設(shè)計(jì)了一個(gè)基于身份的數(shù)字簽名方案。然而,直到2001年,Boneh等人[13]利用橢圓曲線的雙線性對(duì)才得到一個(gè)真正有效的基于身份的加密體制(IBE)。目前,基于身份的方案(包括基于身份的加密算法、簽名算法以及各種協(xié)議)不斷涌現(xiàn)出來?,F(xiàn)階段,基于對(duì)的運(yùn)算效率問題是亟需解決的問題,也是現(xiàn)在研究的熱門問題。4.3.3密碼協(xié)議所謂協(xié)議,就是兩個(gè)或者兩個(gè)以上的參與者為完成某項(xiàng)特定的任務(wù)而采取的一系列步驟。密碼協(xié)議的參與者可能是可以信任的人,也可能是攻擊者。在網(wǎng)絡(luò)通信中最常用的基本的密碼協(xié)議按照其完成的功能可以分成以下3類:(1)密鑰交換協(xié)議參與協(xié)議的兩個(gè)或者多個(gè)實(shí)體之間建立共享的秘密,例如在一次通信中所使用的會(huì)話密鑰。協(xié)議可以采用對(duì)稱密碼體制,也可以采用非對(duì)稱密碼體制,例如Diffie-Hellman密鑰交換協(xié)議。日本政府的密碼研究與評(píng)估委員會(huì)推薦了3個(gè)密鑰交換協(xié)議(DH、ECDH、PSEC-KEM)。(2)認(rèn)證協(xié)議認(rèn)證協(xié)議中包括實(shí)體認(rèn)證(身份認(rèn)證)協(xié)議、消息認(rèn)證協(xié)議、數(shù)據(jù)源認(rèn)證和數(shù)據(jù)目的認(rèn)證協(xié)議等,用來防止假冒、篡改、否認(rèn)等攻擊。NESSIE工程中推薦了一個(gè)由法國(guó)的EcoleNormalSuperieure大學(xué)和電信公司提交的鑒別方案GPS。(3)解決特殊問題的安全協(xié)議解決特殊問題的安全協(xié)議有電子選舉協(xié)議、電子錢幣協(xié)議、安全多方計(jì)算協(xié)議等。ECRYPT的PROVI實(shí)驗(yàn)室在密碼協(xié)議研究方面又劃分了3個(gè)研究小組:模型和定義小組,主要負(fù)責(zé)認(rèn)證、密鑰協(xié)商、零知識(shí)和身份認(rèn)證的研究;安全計(jì)算小組,主要負(fù)責(zé)高效的多方計(jì)算協(xié)議、實(shí)用協(xié)議的可證明安全性和安全協(xié)議的無條件安全性研究;合理密碼協(xié)議小組,主要負(fù)責(zé)密碼協(xié)議模型的定義和合理參與者的多方計(jì)算問題研究。ECRYPT于2007年3月和7月分別舉辦了相關(guān)的主題研討會(huì)。密碼協(xié)議是許多分布式系統(tǒng)安全的基礎(chǔ),因此,對(duì)協(xié)議的安全性進(jìn)行分析和研究是一個(gè)重要的課題。造成協(xié)議存在安全缺陷的原因主要有兩個(gè):一是協(xié)議設(shè)計(jì)者誤解或者采用了不恰當(dāng)?shù)募夹g(shù);二是協(xié)議設(shè)計(jì)者對(duì)環(huán)境的安全需求研究不足。目前,對(duì)密碼協(xié)議進(jìn)行分析的方法主要有兩大類:一類是攻擊檢驗(yàn)方法;一類是形式化的分析方法。所謂攻擊檢驗(yàn)方法就是搜集使用目前的對(duì)協(xié)議的有效攻擊方法,逐一對(duì)安全協(xié)議進(jìn)行攻擊,驗(yàn)安全協(xié)議是否具有抵抗這些攻擊的能力。這種分析方法是否奏效關(guān)鍵在于攻擊方法的選擇。形式化的分析方法是采用各種語言或者模型,為協(xié)議建立模型,并按照規(guī)定的假設(shè)和分析、驗(yàn)證方法證明協(xié)議的安全性。目前,形式化的分析方法是研究的熱點(diǎn),但是就其實(shí)用性來說,還沒有什么突破性的進(jìn)展。五、密碼學(xué)的前景一般來講,信息安全主要包括系統(tǒng)安全及數(shù)據(jù)安全兩方面的內(nèi)容。系統(tǒng)安全一般采用防火墻、病毒查殺、防范等被動(dòng)措施;而數(shù)據(jù)安全則主要是指采用現(xiàn)代密碼技術(shù)對(duì)數(shù)據(jù)進(jìn)行主動(dòng)保護(hù),如數(shù)據(jù)保密、數(shù)據(jù)完整性、數(shù)據(jù)不可否認(rèn)與抵賴、雙向身份認(rèn)證等。密碼技術(shù)是保障信息安全的核心技術(shù)。密碼技術(shù)在古代就已經(jīng)得到應(yīng)用,但僅限于外交和軍事等重要領(lǐng)域。隨著現(xiàn)代計(jì)算機(jī)技術(shù)的飛速發(fā)展,密碼技術(shù)正在不斷向更多其他領(lǐng)域滲透。它是集數(shù)學(xué)、計(jì)算機(jī)科學(xué)、電子與通信等諸多學(xué)科于一身的交叉學(xué)科。密碼技術(shù)不僅能夠保證機(jī)密性信息的加密,而且完成數(shù)字簽名、身份驗(yàn)證、系統(tǒng)安全等功能。所以,使用密碼技術(shù)不僅可以保證信息的機(jī)密性,而且可以保證信息的完整性和確證性,防止信息被篡改、偽造和假冒。5.1密碼學(xué)基礎(chǔ)及新方向提出的前提密碼學(xué)(Cryptography)包括密碼編碼學(xué)和密碼分析學(xué)。密碼體制設(shè)計(jì)是密碼編碼學(xué)的主要內(nèi)容,密碼體制的破譯是密碼分析學(xué)的主要內(nèi)容,密碼編碼技術(shù)和密碼分析技術(shù)是相互依相互支持、密不可分的兩個(gè)方面。密碼體制有對(duì)稱密鑰密碼體制和非對(duì)稱密鑰密碼體制。對(duì)稱密鑰密碼體制要求加密解密雙方擁有相同的密鑰。而非對(duì)稱密鑰密碼體制是加密解密雙方擁有不相同的密鑰,在不知道陷門信息的情況下,加密密鑰和解密密鑰是不能相互算出的。然而密碼學(xué)不僅僅只包含編碼與破譯,而且包括安全管理、安全協(xié)議設(shè)計(jì)、散列函數(shù)等內(nèi)容。不僅如此,密碼學(xué)的進(jìn)一步發(fā)展,涌現(xiàn)了大量的新技術(shù)和新概念,如零知識(shí)證明技術(shù)、盲簽名、量子密碼技術(shù)、混沌密碼等。密碼學(xué)還有許許多多這樣的問題。當(dāng)前,密碼學(xué)發(fā)展面臨著挑戰(zhàn)和機(jī)遇。計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)的發(fā)展和信息時(shí)代的到來,給密碼學(xué)提供了前所未有的發(fā)展機(jī)遇。在密碼理論、密碼技術(shù)、密碼保障、密碼管理等方面進(jìn)行創(chuàng)造性思維,去開辟密碼學(xué)發(fā)展的新紀(jì)元才是我們的追求。5.2密碼學(xué)的新方向?qū)ΨQ密鑰密碼體制中,加密運(yùn)算與解密運(yùn)算使用同樣的密鑰。這種體制所使用的加密算法比較簡(jiǎn)單,而且高效快速、密鑰簡(jiǎn)短、破譯困難,但是存在著密鑰傳送和保管的問題。例如:甲方與乙方通訊,用同一個(gè)密鑰加密與解密。首先,將密鑰分發(fā)出去是一個(gè)難題,在不安全的網(wǎng)絡(luò)上分發(fā)密鑰顯然是不合適的;另外,如果甲方和乙方之間任何一人將密鑰泄露,那么大家都要重新啟用新的密鑰。通常,使用的加密算法比較簡(jiǎn)便高效,密鑰簡(jiǎn)短,破譯極其困難。但是,在公開的計(jì)算機(jī)網(wǎng)絡(luò)上安全地傳送和保管密鑰是一個(gè)嚴(yán)峻的問題。1976年,Diffie和Hellman為解決密鑰管理問題,在他們的奠基性的工作"密碼學(xué)的新方向"一文中,提出一種密鑰交換協(xié)議,允許在不安全的媒體上通訊雙方交換信息,安全地達(dá)成一致的密鑰,它是基于離散指數(shù)加密算法的新方案:交易雙方仍然需要協(xié)商密鑰,但離散指數(shù)算法的妙處在于:雙方可以公開提交某些用于運(yùn)算的數(shù)據(jù),而密鑰卻在各自計(jì)算機(jī)上產(chǎn)生,并不在網(wǎng)上傳遞。在此新思想的基礎(chǔ)上,很快出現(xiàn)了"不對(duì)稱密鑰密碼體制",即"公開密鑰密碼體制",其中加密密鑰不同于解密密鑰,加密密鑰公之于眾,誰都可以用,解密密鑰只有解密人自己知道,分別稱為"公開密鑰"(public-key)和"秘密密鑰"(private-key),由于公開密鑰算法不需要聯(lián)機(jī)密鑰服務(wù)器,密鑰分配協(xié)議簡(jiǎn)單,所以極大地簡(jiǎn)化了密鑰管理。除加密功能外,公鑰系統(tǒng)還可以提供數(shù)字簽名。目前,公開密鑰加密算法主要有RSA、Fertezza、EIGama等。我們說區(qū)分古典密碼和現(xiàn)代密碼的標(biāo)志,也就是從76年開始,迪非,赫爾曼發(fā)表了一篇叫做《密碼學(xué)的新方向》的文章,這篇文章是劃時(shí)代的;同時(shí)1977年美國(guó)的數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)公布,這兩件事情導(dǎo)致密碼學(xué)空前研究。以前都認(rèn)為密碼是政府、軍事、外交、安全等部門專用,從這時(shí)候起,人們看到密碼已由公用到民用研究,這種轉(zhuǎn)變也導(dǎo)致了密碼學(xué)的空前發(fā)展。迄今為止的所有公鑰密碼體系中,RSA系統(tǒng)是最著名、使用最廣泛的一種。RSA公開密鑰密碼系統(tǒng)是由R.Rivest、A.Shamir和L.Adleman三位教授于1977年提出的,RSA的取名就是來自于這三位發(fā)明者姓氏的第一個(gè)字母。RSA算法研制的最初目標(biāo)是解決利用公開信道傳輸分發(fā)DES算法的秘密密鑰的難題。而實(shí)際結(jié)果不但很好地解決了這個(gè)難題,還可利用RSA來完成對(duì)電文的數(shù)字簽名,以防止對(duì)電文的否認(rèn)與抵賴,同時(shí)還可以利用數(shù)字簽名較容易地發(fā)現(xiàn)攻擊者對(duì)電文的非法篡改,從而保護(hù)數(shù)據(jù)信息的完整性。公用密鑰的優(yōu)點(diǎn)就在于:也許使用者并不認(rèn)識(shí)某一實(shí)體,但只要其服務(wù)器認(rèn)為該實(shí)體的CA(即認(rèn)證中心CertificationAuthority的縮寫)是可靠的,就可以進(jìn)行安全通信,而這正是Web商務(wù)這樣的業(yè)務(wù)所要求的。例如使用信用卡購(gòu)物,服務(wù)方對(duì)自己的資源可根據(jù)客戶CA的發(fā)行機(jī)構(gòu)的可靠程度來授權(quán)。目前國(guó)內(nèi)外尚沒有可以被廣泛信賴的CA,而由外國(guó)公司充當(dāng)CA在我國(guó)是非常危險(xiǎn)的。公開密鑰密碼體制較秘密密鑰密碼體制處理速度慢,因此,通常把這兩種技術(shù)結(jié)合起來能實(shí)現(xiàn)最佳性能。即用公開密鑰密碼技術(shù)在通信雙方之間傳送秘密密鑰,而用秘密密鑰來對(duì)實(shí)際傳輸?shù)臄?shù)據(jù)加密解密。5.3、密碼學(xué)的最新進(jìn)展在實(shí)際應(yīng)用中不僅需要算法本身在數(shù)學(xué)證明上是安全的,同時(shí)也需要算法在實(shí)際應(yīng)用中也是安全的。因此,在密碼分析和攻擊手段不斷進(jìn)步,計(jì)算機(jī)運(yùn)算速度不斷提高以及密碼應(yīng)用需求不斷增長(zhǎng)的情況下,迫切需要發(fā)展密碼理論和創(chuàng)新密碼算法,在最近研究中,對(duì)密碼學(xué)的發(fā)展提出了更多的新技術(shù)與新的研究方向.5.3.1在線/離線密碼學(xué)非對(duì)稱密碼的執(zhí)行效率不能很好地滿足速度的需要.針對(duì)效率問題,在線/離線的概念被提出。其主要觀點(diǎn)是將一個(gè)密碼體制分成兩個(gè)階段:在線執(zhí)行階段和離線執(zhí)行階段。在離線執(zhí)行階段,一些耗時(shí)較多的計(jì)算可以預(yù)先被執(zhí)行。在在線階段,一些低計(jì)算量的工作被執(zhí)行。5.3.2.圓錐曲線密碼學(xué)圓錐曲線密碼學(xué)是1998年由本文第一作者首次提出,C.Schnorr認(rèn)為,除橢圓曲線密碼以外這是人們最感興趣的密碼算法。在圓錐曲線群上的各項(xiàng)計(jì)算比橢圓曲線群上的更簡(jiǎn)單,一個(gè)令人激動(dòng)的特征是在其上的編碼和解碼都很容易被執(zhí)行。同時(shí),還可以建立模n的圓錐曲線群,構(gòu)造等價(jià)于大整數(shù)分解的密碼。5.3.3.代理密碼學(xué)代理密碼學(xué)包括代理簽名和代理密碼系統(tǒng)。兩者都提供代理功能,另外分別提供代理簽名和代理解密功能。5.3.4.密鑰托管問題在密鑰托管系統(tǒng)中,法律強(qiáng)制訪問域LEAF(LawEnforcementAccessField)是被通信加密和存儲(chǔ)的額外信息塊,用來保證合法政府實(shí)體或被授權(quán)第三方獲得通信的明文消息。對(duì)于一個(gè)典型的密鑰托管系統(tǒng),LEAF可以通過獲得通信的解密密鑰來構(gòu)造。為了更合理,可以將密鑰分成一些密鑰碎片,用不同的密鑰托管代理的公鑰加密密鑰碎片,再將加密的密鑰碎片通過門限化的方法合成。以此來解決“一次監(jiān)控,永遠(yuǎn)監(jiān)控”和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論