畢業(yè)論文初稿 軟件工程 正文_第1頁
畢業(yè)論文初稿 軟件工程 正文_第2頁
畢業(yè)論文初稿 軟件工程 正文_第3頁
畢業(yè)論文初稿 軟件工程 正文_第4頁
畢業(yè)論文初稿 軟件工程 正文_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/摘要由于互聯(lián)網(wǎng)的開放性和匿名性,不可防止的存在諸多平安隱患,因此實現(xiàn)數(shù)據(jù)在網(wǎng)絡傳輸上的機密性、完整性、不可抵賴性、訪問控制性和身份可靠性等是保證數(shù)據(jù)平安的關鍵所在。這就要求網(wǎng)絡能提供平安效勞,包括加密技術、數(shù)字簽名、電子平安交易認證、防火墻、虛擬專用網(wǎng)等,使數(shù)據(jù)和資源免遭泄密、系統(tǒng)免受基于網(wǎng)絡攻擊。Web本質上就是運行在Internet上的客戶柵效勞器應用程序,Internet上的各種網(wǎng)絡應用幾乎都以Web的形式出現(xiàn)。由于Internet是一個開放的環(huán)境,各種數(shù)據(jù)將通過公共網(wǎng)絡進行傳輸,因此保障Web系統(tǒng)平安的關鍵性問題之一在于保證數(shù)據(jù)的傳輸平安。密碼技術是數(shù)據(jù)平安的核心技術,是所有通信平安的基石。數(shù)據(jù)加密過程是由形形色色的加密算法來具體實施,它以很小的代價提供很大的平安保護,數(shù)據(jù)加密幾乎是保證信息機密性的唯一方法。本文主要針對以下幾個重點進行論述:首先系統(tǒng)研究了密碼學理論基礎和應用技術,著重分析了各種密碼技術的思想、方法,給出了各種密碼的數(shù)學描述及特點,比較了主要算法的優(yōu)缺點,重點研究了AES、ECC算法、身份認證和數(shù)字簽名等相關算法。其次分析了WEB網(wǎng)絡數(shù)據(jù)傳輸平安需求,比較了現(xiàn)有主要密碼算法的平安性,特別是AES算法的平安性和ECC算法的平安性。接著針對Web網(wǎng)絡數(shù)據(jù)傳輸所面臨的平安威脅,依據(jù)各種密碼技術的特點,本文給出了一種基于ECC與AES混合加密的網(wǎng)絡數(shù)據(jù)傳輸方案,該方案主要實現(xiàn)了基于ECC身份認證,并共同協(xié)商會話密鑰。協(xié)商出會話密鑰后采用AES算法對所傳輸?shù)臄?shù)據(jù)進行加密。針對WEB網(wǎng)絡數(shù)據(jù)傳輸方案,對身份認證模塊、AES優(yōu)化模塊和ECC與AES混合簽名模塊進行了實現(xiàn)。計算機模擬說明,該方案具有較高的平安性和實用性。關鍵詞:Web網(wǎng)絡,數(shù)據(jù)傳輸平安,橢圓曲線加密算法,高級加密算法,混合加密AbstractBecauseoftheopennessandanonymityofInternet,thereexistmanyhiddentroubleofsecurity,thekeyforkeepinformationsecurityistoimplementsecureinformationtransmission、reliablesystemidentityauthenticationandsomeothersecuremeasures。Sothererequireasolutiontoprovideaend.to-endproject,itmustincludeencryption,digitalsignatures,firewall,VPN,etc.AnditCanprotectinformationfromleak。EssentialofWebiSac/sapplicationwhichiSrunningontheInternet,andavarietyofapplicationsonInternetalmostentirelytotheformofWeb.AstheInternetisanopenenvironment,avarietyofdatawillbetransmittedthroughpublicnetworks,oneofthekeyissuestoprotectthesafetyoftheWebsystemistoensuresecurityofdatatransmission.Cryptographyisthecoretechnologyfordatasecurity,andthisisthecornerstoneofsecurityillallcommunications.DataEncryptionisimplementedbyallkindsofencryptionalgorithms,itprovidesalotofsecurityprotectionwithasmallprice,dataencryptionisalmosttheonlywaytoensureconfidentialityofinformation.Thispaperdiscussesthefollowingpriorities:Firstly,thesystemresearchesonthebasistheoriesofcryptographyandapplicationoftechnology,focusesonananalysisofthethinkingofthevariouscryptographictechniquesandmethods,andgivesthemathematicaldescriptionofthevariouspasswordsandthecharacteristics,comparestheseveralmainalgorithmsontheadvantagesanddisadvantagesespeciallyontheAES,ECCalgorithms,digitalsignatureauthenticationandotherrelatedalgorithms.Secondly,itanalysesdatasecurityrequirementsofWEBnetwork,comparestheexistingthemajorcryptographicalgorithmsofsafety,particularlythesecurityofAESalgorithmandECCalgorithm’Ssecurity.ThenforWebnetworksecuritythreatsofdatatransmissionoffacing,andbasesonthecharacteristicsofavarietyofcryptographictechniques,thispaperpresentsamixedencryptionofnetworkdatatransmissionprogrambasesontheECCandAES,whichimplementsthemainECC-basedauthentication,andthecommonconsensussessionkey.AfterthesessionkeyisconsulteditusesAESalgorithmtoencryptthesensitivedataoftransmission.Finally,formeWEBnetworkprogramofdatatransmission,itimplementstheauthenticationmodule,optimizedAESmodule,ECCandAESmixedsignaturemodules.Computersimulationshowsthattheprogramhasahi.ghsafetyandpracticality.Keyword:WebNetwork,DateSecureTransmission,ECC,AES,MixedEncryption1緒論1.1課題背景1.1.1網(wǎng)絡數(shù)據(jù)平安現(xiàn)狀隨著計算機技術,特別是網(wǎng)絡的高速開展,無論是軍隊、政府、企事業(yè)單位還是個人都逐漸依賴和使用計算機存儲數(shù)據(jù),并借助網(wǎng)絡進行傳遞和交換,所涉及的數(shù)據(jù)范圍更加廣泛,形式也更加多樣。以Intemet為代表的信息網(wǎng)絡必將在21世紀成為人類生產(chǎn)、生活的一個根本方式。世界很精彩也很無奈,任何科技的開展過程中都必然會產(chǎn)生自己的對立面。Intemet是在特殊歷史環(huán)境下成長起來的,軍轉民后,開始只用于科研信息的共享,網(wǎng)上連接并不多。隨著Intemet大舉進入社會生活、工作、生產(chǎn)的各個領域,其潛在的平安隱患也充分暴露出來。一方面,Intemet分布范圍廣泛,具有開放和分布處理的體系結構,提高了資源共享程度和工作效率。另一方面,也帶來了網(wǎng)絡平安的脆弱性和復雜性,資源共享和分布計算增加了網(wǎng)絡受到威脅和攻擊的可能性。通過網(wǎng)絡犯罪給國家、企業(yè)、個人造成的損失也日益嚴重,網(wǎng)絡數(shù)據(jù)平安己經(jīng)成為最為關心和棘手的問題。網(wǎng)絡平安的實質是網(wǎng)絡數(shù)據(jù)平安,因此確保網(wǎng)絡系統(tǒng)的數(shù)據(jù)平安是網(wǎng)絡平安的主要目標。隨著我國Intemet建設的飛速開展,各種Web應用在社會生活、工作、生產(chǎn)的各個領域發(fā)揮著越來越大的作用。但同時在我國發(fā)生的信息平安事件也大為增加,比方電子商務、數(shù)字貨幣、網(wǎng)絡銀行等一些網(wǎng)絡新業(yè)務中,任何關鍵、敏感的數(shù)據(jù)流動均是通過不平安的網(wǎng)絡傳輸實現(xiàn)的,所以保障網(wǎng)絡數(shù)據(jù)在動態(tài)傳輸過程中的平安成為數(shù)據(jù)平安的關鍵。Web本質上就是運行在Internet上的客戶機/1t務器應用程序,Intemet上的各種網(wǎng)絡應用幾乎都以Web的形式出現(xiàn)。由于Internet是一個開放的環(huán)境,各種數(shù)據(jù)都是通過公共網(wǎng)絡進行傳輸,因此保障Web系統(tǒng)平安的關鍵性問題之一在于保證數(shù)據(jù)的傳輸平安。密碼技術的開展使之成為數(shù)據(jù)傳輸平安的核心和基礎。密碼技術是數(shù)據(jù)平安的核心技術。如今,計算機網(wǎng)絡環(huán)境中數(shù)據(jù)的保密性、完整性、可用性和抗抵賴性,都需要采用密碼技術來解決。密碼體制大體分為對稱密碼(私鑰密碼)和非對稱密碼(公鑰密碼)兩種。1.1.2網(wǎng)絡數(shù)據(jù)傳輸面臨的主要威脅網(wǎng)絡數(shù)據(jù)傳輸過程中主要面臨兩方面威脅:一是被動攻擊,二是主動攻擊。被動攻擊主要包括:流量分析、監(jiān)視和竊聽明文、解密弱加密的數(shù)據(jù)流、獲取鑒別信息(如口令)等攻擊。攻擊者利用這些攻擊可能竊取傳輸?shù)男畔ⅲ治?、判斷網(wǎng)絡的規(guī)模、拓撲結構、定位節(jié)點位置、設備特性等。主動攻擊主要包括:修改傳輸數(shù)據(jù)、重放、劫持會話、偽裝成授權的用戶效勞器、未授權使用應用程序和操作系統(tǒng)軟件、利用數(shù)據(jù)執(zhí)行、插入或利用惡意代碼(特洛伊木馬、陷門、蠕蟲)、利用協(xié)議或基礎設施的錯誤、拒絕效勞。攻擊者利用篡改或偽造的信息插入網(wǎng)絡,尤其是對網(wǎng)管和信令信息的攻擊,會影響網(wǎng)絡設備的正常運行,甚至造成網(wǎng)絡配置混亂,使整個網(wǎng)絡癱瘓‘11。1.2國內外研究現(xiàn)狀目前在網(wǎng)絡數(shù)據(jù)傳輸平安領域人們所關注的焦點主要是密碼理論與技術,下面就簡要介紹一下國內外在這個問題上的研究現(xiàn)狀及開展趨勢。1976年Diffie和Hellman提出公開密鑰密碼體制是現(xiàn)代密碼學的里程碑。自此以后,密碼算法的改良和研究沿著對稱密鑰密碼體制和公開密鑰密碼體制兩個分支開展的【21。在對稱密鑰密碼體制算法方面,繼最常用的DES算法之后,針對DES密鑰長度過短的弱點開發(fā)了3DES算法或DESX算法,他們分別將密鑰長度加長到168位和184位。相繼出現(xiàn)了RC5,RC6,IDEA等算法【3J,在1997年,美國國家標準局(NISn征集代替研究說明不平安DES的下一代密碼標準,即AES(AdvanceEncryptionStandard),它有一點與DES顯著不同,即密鑰長度是可變的。到1999年,共有5個算法入選,分別是MARS(IBM公司)、RC6(RSA公司)、Rijndael(L卜,利時)、Serpent(英國、以色列、挪威)、Twofish(美國),2000年NIST宣布選中了Rijndael算法建議作為AESl4],2001AES成為FIPS批準的高級對稱密碼算法【5J。目前,DES算法已存在著極大平安隱患,由于其密鑰空間小,進行窮舉攻擊就可能取得成功。此外,對DES的攻擊還有差分分析方法和線性分析方法,為了增強DES算法的平安性,密碼設計者又研究并提出了DES改良算法3DES,這些改變有些作用但作用不大,有些還削弱了DES的效率和平安性??傊?,DES需要更新更有效的加密標準來代替。而AES算法聚集了強平安性、高效性、易用性和靈活性等優(yōu)點,使得其最終將替代DES算法。國內外許多研究機構和學者從事AES算法研究,取得了不少成果。主要研究了AES算法在網(wǎng)絡傳輸協(xié)議中的應用和算法的改良與實現(xiàn)。如:研究了AES的特點,提出了一種高速先進加密算法(AES)IP核的VLSI實現(xiàn)方案161;研究了在IPSec封裝平安載荷(ESP)qb應用AES加密機制,實現(xiàn)了AES加密機制在IPSec協(xié)議中應用【7J;研究了AES算法,實現(xiàn)了基于Jave的AES數(shù)據(jù)加密器【8】;研究分析了AES算法,并對關鍵單元的硬件設計進行了優(yōu)化,設計了一個用于IPSee協(xié)議的AES核【9】。在公開密鑰密碼體制算法方面,目前呈百花齊放的局面。公開密鑰都是基于某些數(shù)學上的難解問題,比較著名的算法有RSA算法和EIGamal算法【lo】和目前最新進展的ECC算法?,F(xiàn)今流行的公鑰密碼算法主要有兩類:一類是基于大整數(shù)因子分解問題的,其中最典型的代表是RSA;另一類是基于離散對數(shù)問題的,比方EIGamal公鑰密碼和影響比較大的ECC密碼。RSA算法主要是利用由兩個大質數(shù)之積的模運算來實現(xiàn),其基礎是歐拉定理,其加密強度依賴于對大數(shù)因式分解的難度。EIGamal則是利用解離散對數(shù)的問題?。但目前所有公開密鑰算法的普遍缺點,就是其加密解密速度遠比私密密鑰算法慢,現(xiàn)今一般不單獨使用它對大批量數(shù)據(jù)進行加密解密,而是與私密密鑰加密算法配合使用。由于科技的開展,分解大整數(shù)的能力日益增強,所以給RSA的平安帶來了一定的威脅。研究證明目前128比特模長的RSA已不平安,一般建議使用1024比特模長,而要保證20年的平安就要選擇1280比特的模長,增大模長就帶來了實現(xiàn)上的難度。基于離散對數(shù)問題的公鑰密碼算法在目前技術下只需512比特模長就能夠保證其平安性;特別是橢圓曲線上的離散對數(shù)問題的計算要比有限域上的離散對數(shù)問題的計算更困難,目前技術條件下只需160比特模長即可,適合使用智能卡實現(xiàn),引起國內外研究機構的廣泛關注。國際上制定了橢圓曲線公鑰密碼標準,IEEE、RSA等一些公司聲稱他們已研發(fā)出了符合該標準的橢圓曲線公鑰密碼。我國研究機構和學者也提出了一些公鑰密碼,對公鑰密碼的快速實現(xiàn)方面也做了許多工作,比方在RSA的快速實現(xiàn)和橢圓曲線公鑰密碼的快速實現(xiàn)方面都有所突破。公鑰密碼的快速實現(xiàn)是當前公鑰密碼研究中的一個熱點,包括算法優(yōu)化和程序優(yōu)化,特別是ECC將會成為將來公鑰密碼算法的一個研究方向。國內外有很多科研院所從事基于橢圓曲線加密算法的數(shù)字簽名技術的研究,取得了不少研究成果,主要研究應用于不同環(huán)境下的數(shù)字簽名技術的理論和應用,如:研究了基于橢圓曲線的數(shù)字有序多簽名技術【l21,并提出一種基于橢圓曲線的無需求逆的數(shù)字簽名方案;研究了基于橢圓曲線數(shù)字簽名的序列碼生成算法,并提出了一種基于該算法的軟件序列碼生成和驗證方案Il習;研究了基于橢圓曲線的可轉移不可否認的數(shù)字簽名技術,并提出了一個新的基于橢圓曲線的可轉移不可否認的數(shù)字簽名方案【14l;研究了對具有消息恢復功能的橢圓曲線簽名技術,并提出了一種基于該技術的數(shù)字簽名方案【l51。由于對稱密碼體制和公鑰密碼體制各有千秋,因此在構建一個密碼系統(tǒng)時,為了發(fā)揮他們各自的優(yōu)點,建立一個高效的系統(tǒng),我們常常把私鑰密碼和公鑰密碼配合使用,形成混合密碼體制。在混合密碼系統(tǒng)中,使用私鑰算法加密大量數(shù)據(jù),實現(xiàn)了數(shù)據(jù)的保密性;使用公鑰算法對對稱密碼密鑰管理,此外公鑰密碼還實現(xiàn)了確保數(shù)據(jù)的完整性、可鑒別性、抗否認性等效勞。我們可以充分發(fā)揮公鑰算法密鑰易管理、密鑰短,計算開銷少,帶寬要求低、運算速度快等優(yōu)點和私鑰算法的加、解密速度快等優(yōu)勢,構造出平安、高效的密碼系統(tǒng)?;旌霞用芩惴ǖ难芯恐?,發(fā)表的論文不是很多,主要是研究公鑰密碼體制和私鑰密碼體制相結合的混合加密算法,并把混合加密算法應用到數(shù)字簽名中,主要有:研究了基于RSA與AES混合加密系統(tǒng)的算法【16】,混合加密的方法是提出混合動態(tài)RSA密碼系統(tǒng)的新思想;對基于DSA和RSA的證實數(shù)字簽名方案平安性問題進行研究,并提出了一種證實數(shù)字簽名方案【l‘7】;研究了DES與ECC混合數(shù)字簽名技術,主要是使用ECC私鑰對信息摘要簽名,公鑰進行驗證簽名,明文發(fā)送前用DES進行加密,并設計了一種數(shù)字簽名系統(tǒng)Il馴;實現(xiàn)了一種基于IDEA和RSA算法的多媒體會議系統(tǒng)加密方案,方案中把IDEA和RSA兩種算法的優(yōu)點結合起來實現(xiàn)混合加刮191。了解密碼學基礎知識清楚,如果密鑰序列真正隨機產(chǎn)生,而且密鑰序列的長度不小于所需保護的信息序列長度,就可構成理論上保密的完全保密體制?,F(xiàn)有的絕大局部密碼體制都不是真正意義上的保密體制,只是理論上的保密體制。人們在不斷改良那種實際保密的密碼體制的同時,也時刻不忘密碼學理論所指出的那種理論保密體制,并從實際物理世界中去尋找這樣的體制,量子密碼及混沌密碼正是在這種背景下應運而生。這些體制都有了較為深入的研究,并取得了很好的效果,但要真正實際應用還需很多工作要做,下面簡單介紹這兩種密碼體制。量子密碼學的根本思路是利用光子傳送密鑰信息。如果第三方對光子的所有測定嘗試都會改變電子的偏振特性,就會造成接收者產(chǎn)生測試偏差。竊聽者要想不改變密鑰信息的內容,逃過收發(fā)方的眼睛而竊取密鑰是絕對不可能的。一旦發(fā)現(xiàn)密鑰被竊聽,雙方就會自動丟棄收到的信息重新進行密鑰分配。作為現(xiàn)代密碼體制中的一個新理論,量子密碼學已從純理論階段開展到試驗階段,但離實際應用還有一些重要的工作要做,特別是在實際通信環(huán)境中,敵方的攻擊是多種多樣的。比方斷斷續(xù)續(xù)地竊聽密鑰信息,就有可能會使正常的收發(fā)雙方無法最終完成隨機密鑰的分配工作,因此研究實用的量子密碼體制是今后的主要研究內容120J。上世紀60年代人們發(fā)現(xiàn)了一種特殊自然現(xiàn)象一混沌(英文為chaos)。這種物理現(xiàn)象可以用確定的方程來描述,且其數(shù)學模型非常簡單;“混沌’’現(xiàn)象具有以下奇特的特性:對參數(shù)和初始條件極其敏感,參數(shù)和初始條件的極微小變化都將使結果大相徑庭,而且不可預測?;煦鐚W和密碼體制相結合,就形成了所謂的“混沌密碼體制"。從密碼學的角度來研究和探討混沌理論在保密通信中的應用當前還處在起步階段。國內在這方面也做了大量的研究工作。比方電子科技大學、復旦大學、四川大學、中科院上海技術物理研究所、南京通信工程學院等單位院所均對此進行了相關研究,就目前狀況而言,“混沌保密"能否成為一種實用的密碼體制,還有待于進一步研究、探索【2l】。1.3論文主要工作本文主要做了以下工作:本文系統(tǒng)研究了密碼學理論基礎和應用技術,著重分析了各種密碼技術的思想、方法,給出了各種密碼的數(shù)學描述及特點,比較了主要算法的優(yōu)缺點,重點研究了AES、ECC算法、身份認證和數(shù)字簽名等相關算法。(2)分析了WEB網(wǎng)絡數(shù)據(jù)傳輸平安需求,比較了現(xiàn)有主要密碼算法的平安性,特別是AES算法的平安性和ECC算法的平安性。(3)針對Web網(wǎng)絡數(shù)據(jù)傳輸所面臨的平安威脅,依據(jù)各種密碼技術的特點,本文給出了一種基于ECC與AES混合加密的網(wǎng)絡數(shù)據(jù)傳輸方案,該方案主要實現(xiàn)了基于ECC身份認證,并共同協(xié)商會話密鑰。協(xié)商出會話密鑰后采用AES算法對所傳輸?shù)拿舾袛?shù)據(jù)進行加密。(4)針對WEB網(wǎng)絡數(shù)據(jù)傳輸方案,對身份認證模塊、AES優(yōu)化模塊和ECC與AES混合簽名模塊進行了實現(xiàn)。計算機模擬說明,該方案具有較高的平安性和實用性。1.4論文的組織結構論文共分六章:第一章,介紹了選題背景、國內外研究現(xiàn)狀、論文的主要工作。第二章,研究和分析各種密碼體制相關理論基礎,重點研究了AES、ECC算法、身份認證和數(shù)字簽名等相關算法。第三章,分析了WEB網(wǎng)絡數(shù)據(jù)傳輸平安需求,比較了主要密碼算法的平安性。第四章,針對現(xiàn)有WEB網(wǎng)絡數(shù)據(jù)傳輸平安方案的缺乏,給出了一種基于橢圓曲線和AES混合加密的信息平安系統(tǒng),實現(xiàn)了基于ECC身份認證,并共同協(xié)商會話密鑰。協(xié)商出會話密鑰后采用AES算法對所傳輸?shù)拿舾袛?shù)據(jù)進行加密。第五章,對本文給出的WEB網(wǎng)絡數(shù)據(jù)傳輸平安技術方案進行了具體的實現(xiàn)。第六章,總結了論文所做的工作,并對下一步工作進行了展望。2密碼技術基礎2.1密碼學概述從遠古時代到1949年,可看作是科學密碼學開展的前夜,此期間的密碼學與其說是--1"7科學,不如說是-I"1藝術。密碼專家們通常是憑直覺和信念來進行密碼分析和設計,而不是依靠嚴格的推理證明。從1949年到1975年,以Shannon于1949年發(fā)表的《保密系統(tǒng)的信息理論》一文為起點,密碼學就成為了-I"3科學,Shannon的文章也從此成為了對稱加密體制(私鑰密碼系統(tǒng))的理論基礎【221。由于美國政府的嚴格審查和保密,密碼學理論的研究工作進展不大,公開的密碼學文獻很少。1967年DavidKahn出版了一本專著《破譯者》(Thecodebreakers),它的意義在于記述了1967年以前的密碼學開展簡史,并使很多不懂密碼學的人了解了密碼學并開始研究密碼學。1976年Diffie和Hellman提出公開密鑰密碼體制是現(xiàn)代密碼學的里程碑。自此以后,密碼算法的改良和研究是沿著對稱密鑰密碼體制和公開密鑰密碼體制兩個分支開展的。密碼學是以認識密碼變換的本質,研究密碼保密與破譯的根本規(guī)律為對象的學科,它包括兩個分支:密碼編碼學和密碼分析學。密碼編碼學主要研究信息變換,以保護信息在信道的傳輸過程中不被攻擊者竊取、解讀和利用的方法。而密碼分析學則與密碼編碼學相反,它主要研究如何分析和破譯密碼。兩者之間形成既相互對立又相互促進的局面。一個密碼體制(或密碼系統(tǒng))由以下五大局部組成:1.明文空間P:全體明文集合;2.密文空間C:全體密文集合;3.密鑰空間K:全體密鑰集合,K=Ke+Kd,Ke表示加密密鑰,Kd表示解密密鑰;4.加密算法E:明文和密文之間的變換規(guī)則;5.解密算法D:密文和明文之間的變換規(guī)則。加密變換:C=E(P,Ke);(2.1)解密變換:P=D(C,Kd)=D(E(P,Ke),Kd)。(2.2)典型的密碼體制如圖2.1所示。發(fā)送端首先將明文P利用加密變換E及加密密鑰毛加密成密文C=Ek1(P),接著將c利用公開信道送給接收端。接收端收到密文后利用解密變換D及解密密鑰K2將密文解密成明文P=Dk2(C)=Dk2(Ek1(P))。假設公開信道中有一密碼分析者,他并不知道解密密鑰毛,但想利用各種方法得知明文P,或假冒發(fā)送端偽造信息讓接收端誤以為真,這一過程稱為密碼分析或密碼攻擊田】I冽【25】。圖2.1完整密碼體制原理圖一般而言,密碼體制依其應用可對數(shù)據(jù)提供如下功能:1.秘密性:防止非法的接收者發(fā)現(xiàn)明文;2.鑒別性:確定數(shù)據(jù)來源的合法性,也即此數(shù)據(jù)確實是由發(fā)送方所傳送,而非別人偽造;3.完整性:確定數(shù)據(jù)沒有被有意或無意的更撰改,以及被局部替換、添加或刪除等;4.不可否認性:發(fā)送方在事后不可否認其傳送過此信息。2.2對稱密鑰體制對稱(單鑰或私鑰)密碼體制如圖2.2所示,它的加密密鑰和解密密鑰相同或彼此間容易確定,通信雙方都采用相同的加密算法和共享的專用密鑰。由于數(shù)據(jù)加密和解密采用的都是同一個密鑰,因而它的平安性依賴于所持有共享密鑰的平安性。傳送和保管密鑰是也就成為新的問題,通信雙方之間要確保密鑰平安交換,若使用對稱加密技術進行數(shù)據(jù)加密,系統(tǒng)就必須強化密鑰管理體系。圖2.2對稱密碼體制原理圖在對稱密碼算法中,它的平安性都是基于復雜的數(shù)學運算。我們以M表示所有的明文信息,C表示密文信息,K是所有的密鑰,則對稱密碼體制就是由這樣一組函數(shù)對構成的:Ek:M→CDk:C→M.k∈K在這里,對于所有的m∈M及k∈K,都有Dk[Ek(m)]=M.使用此系統(tǒng)時,通信的雙方A和B需要事先達成某一秘密鑰k∈K,他們可以通過直接會晤或者可以信賴的方式來互相得到對方的秘密鑰;之后,若A想發(fā)送一組明文給B,它傳送的密文數(shù)據(jù)C∈Ek(m);B接收到C后,通過解碼函數(shù)DK復原成明文M。2.2.1DES、3DES密碼數(shù)據(jù)加密標準(DES)是迄今為止世界上最為廣泛使用和流行的一種對稱密碼加密算法,它是由美國IBM公司研制的,是對早期Lucifer密碼的一種改良和開展。DES是一種分組加密算法,它先把數(shù)據(jù)進行64位分組后對數(shù)據(jù)進行加密。同時DES也是一個對稱算法,即加密和解密用的是同一個算法。它的密鑰長度是56位,密鑰可以是任意的56位的數(shù),而且可以隨時改變。雖有極少量的數(shù)被認為是弱密鑰,但是使用過程中很容易避開它們。DES對64(bit)位的明文M分組進行操作,明文M首先經(jīng)過一個初始置換IP置換,將明文分成左半局部和右半局部,各32位長。然后進行16輪完全相同的運算,這些運算被稱為函數(shù)f,在運算過程中數(shù)據(jù)與密鑰結合。再經(jīng)過16輪后,左、右半局部合在一起經(jīng)過一個末置換,最后所得到的輸出即為密文。每一輪中,密鑰位先移位,然后再從密鑰的56位中選出48位,接著通過一個擴展置換將數(shù)據(jù)的右半局部擴展成48位,并通過一個異或操作替代成新的32位數(shù)據(jù),再將其置換一次,這四步運算構成了函數(shù)fo然后,通過另一個異或運算,函數(shù)f的輸出與左半局部結合,其結果成為新的右半局部,原來的右半局部成為新的左半局部。將所有操作重復16次,便實現(xiàn)了DES的16輪運算【26】。其加密過程如圖2.3所示。3DES是DES加密算法的一種改良算法,它使用3條64位的密鑰對數(shù)據(jù)進行三次加密。3DES(即TripleDES)是DES向AES過渡的加密算法(1999年,NIST將3DES指定為過渡的加密標準),是DES的一個更平安的改良。它以DES為根本模塊,通過組合分組方法設計出來的分組加密算法,其具體實現(xiàn)如下:設E()和q()表示DES算法的加密和解密過程,K表示DES算法使用的密鑰,P表示明文,C表示密表,3DES加密過程為:C=Ek3(Dk2(Ek1(P)))(2.4)3DES解密過程為:P=Dk1(Ek2(Dk3(C)))(2.5)毛,七2,毛決定了算法的平安性,若三個密鑰互不相同,該算法本質上就相當于用一個長為168位的密鑰進行加密。多年來,它對付強力攻擊時是比較平安的。使用過程中對數(shù)據(jù)平安性要求不那么高,毛可以等于毛。在這種情況下,密鑰的有效長度為112位。圖2.3DES加密流程圖2.2.2AES密碼由于DES算法的密鑰太短,已不能滿足現(xiàn)代通信系統(tǒng)的平安性要求,因此需要尋求一種新的加密標準來代替DES算法。2000年10月,NIST選中了Rijdael算法作為AES來代替DES,評選標準有:1.抵御所有攻擊的;2.在各種平臺上的速度及編碼緊湊型;3.設計簡單性。Rijndael算法之所以能中選AES主要有以下原因:1.運算速度快:在無論是否具有反應模式的計算環(huán)境下的軟硬件中,都能表現(xiàn)出非常好的性能;2.適應性強:對內存的需求非常低,它很適合用于受限制的環(huán)境;3.可靠性高:使用非線性結構的S盒,表現(xiàn)出有足夠的平安余地;4.抗攻擊性強:它的設計謀略是寬軌跡策略,這種策略能有效抵抗差分分析和線性分析攻擊;5.靈活性好:Rijndael是一個分組迭代密碼,被設計成128/192/256比特三種密鑰長度,可用于加密長度為128/192/256比特的分組,相應的輪數(shù)為10/12/14,分組長度和密鑰長度設計靈活:6.簡易性好:操作簡單,并可抵御時間和能量攻擊[27][28][29][30]。2.2.2.1AES算法的數(shù)學基礎1.有限域和域上的多項式有限域即有有限個元素的域,域中元素個數(shù)稱為域的階。q階域存在,當且僅當q=pn,P為素數(shù)并稱為有限域的特征,有限域記為GF(pn)。AES算法中涉及兩類如下形式的特征2域上的多項式:b(x)=b7x7+b6x6+b5x5+b4x4+b3x3+b2x2+blx+b0,b1∈GF(2)(2.6)a(x)=a3x3+a2x2+alx+a0,ai∈GF(28)(2.7)其中b(x)表示AES算法中的單字節(jié)(Byte)數(shù)據(jù),a(x)表示AES算法中的4字節(jié)(4Bytes)或字(word)數(shù)據(jù)。單字節(jié)也可以用數(shù)據(jù)向量{b7,b6,b5,b4,b3,b2,bl,b0}八進制數(shù){m,n)表示。2.字節(jié)運算與字運算1)單字節(jié)(Byte)運算單字節(jié)運算是兩個形如(2.6)的多項式的運算。a)單字節(jié)加法:兩個多項式相同指數(shù)項系數(shù)的模2加,用符號+表示。b)單字節(jié)乘法:兩多項式相同指數(shù)項系數(shù)的模m(x)乘,用符號×表示。m(x)為8次既約多項式,+X4+x3+x+l,模m(x)能保證乘后的多項式始終在GF(28)上。2)字(Word)運算字運算是兩個形如(2.7)的多項式的運算。a)字加法:兩多項式的相同指數(shù)項系數(shù)的對應比特的模2加。例:a(x)=a3x3+a2x2+alx+a0b(x)=b3x3+b22x2+b1x+b0則a(x)+b(x)=(a3+b3)x3+(a2+b2)x2+(a1+b1)x+(a0+b0)(2.8)b)字乘法:兩多項式相同指數(shù)項系數(shù)的模m′(x)乘,用符號×表示。m′(x)是可約多項式x4+l,模m′(x)以保證字乘之后的結果仍為一個字。由于m′(x)不是GF(28)上的不可約多項式,故并非所有多項式在模m′(x)下均有乘法逆元。2.2.2.2AES算法結構AES算法加密設計中突出特點是設計者放棄了Feistel結構,而采用Suqare結構。因為Feistel結構的特點是其中間狀態(tài)的局部字節(jié)被沒有改變地置換到其他位置,導致一些密鑰信息泄露給密碼分析者,而且近幾年密碼分析者提出的差分分析和線性分析方法都是針對Feistel結構設計的密鑰分析方法。AES中間態(tài)的變換僅僅是作簡單的移位處理,其輪變換是由3個可逆的簡單變換組成,我們稱之為層。狀態(tài)變換過程中,每個字節(jié)的處理根本相同,這為算法實現(xiàn)快速并行處理提供了可能。在設計中通過這種不同層的選擇和組合,使之具有抗線性和差分攻擊的能力。各層具體功能如下:1.線性混合層:確保通過多輪變換后,系統(tǒng)具備很好的擴散效果;2.非線性層:通過這些S盒變換的并行應用優(yōu)化了輸入數(shù)據(jù)與密鑰組合在最壞情況下的非線性特征;3.密鑰相加層:在各中間狀態(tài),將本輪密鑰與該狀態(tài)的數(shù)據(jù)塊做簡單的異或操作。2.2.2.3AES算法的輪變換輪變換由4個不同的變換組成:S盒(SubByte)變換、行(ShiftRow)變換、歹lJ(MixColumnl變換和密鑰加與擴展(AddRoundKey),輪變換中的各個變換如下[31]。S盒變換S盒變換即S盒運算,將每個字節(jié)通過S盒做非線性運算。這個替換表(或說是S盒)是可逆的,并且它是由兩個變換復合而成,這兩個變換是:1)對所有的子字節(jié)在有限域GF(28)中求其乘法逆,且規(guī)定‘00’的逆為‘00’,‘0l’的逆仍然為‘0l’;2)經(jīng)1)處理后的字節(jié)值進行如下定義的仿射轉換:通過兩個變換構造出S盒。S盒在狀態(tài)的所有字節(jié)上運算的變換用SubByte(State)來記。在這個變換中通過查S盒表找到這個字節(jié)對應的多項式,然后對這個字節(jié)進行替換。逆S變換的計算則是通過查逆S盒表來進行字節(jié)替換,即首先進行逆仿射變換運算,然后利用前面介紹過的方法求得輸入字節(jié)乘法逆。2.行變換在行左平移變換中,狀態(tài)的行以不同的位移向左循環(huán)平移,第0行不動,第1行移動C1個字節(jié),第2行移動C2個字節(jié),第3行移動C3個字節(jié)。Cl,C2,C3與分組長Nb有關,相關關系如表2.1所示。此變換用ShiflRow(State)來表示。3.列變換和逆列(InvMixColumn)變換在列變換中,我們把狀態(tài)的每一列看作是在系數(shù)域GF(28)上的多項式,然后用模(x4+1)與固定多項式c(x)=’03’x3+。01’x2+’01’x+’02’相乘。此運算可用矩陣乘法來表示,記b(x)=a(x)×c(x),則:對所有的列進行此運算就用MixColumn(State)表示。由于c(x)與x4+l互素,因此c(x)可逆,且c-1(x)=d(x)=‘OB’x3+’0D’x2+’09’x+’0E’。逆列變換類似于列變換,只需將c(x)換成d(x)即可,即只需要將系數(shù)矩陣換成其乘法逆矩陣,如下式:4.密鑰加與擴展輪變換開始前,一般先進行密鑰擴展,來產(chǎn)生輪密鑰(RoundKey)。若不算初始密鑰,此過程中需擴展出Nr個輪密鑰,用于每輪變換的最后的密鑰加運算(AddRoundKey),即把狀態(tài)矩陣和輪密鑰進行異或,實現(xiàn)將狀態(tài)矩陣的一次性掩蓋。由于每輪使用的輪密鑰相關,因此在有些算法中需要把產(chǎn)生輪密鑰的步驟置于輪變換中。密鑰擴展的作用是在數(shù)據(jù)加/解密前得到輪變換中使用的輪密鑰,它的根本原則是:1)輪密鑰的總位數(shù)等于分組長乘以(1+Nr),如果分組長為256bits,輪數(shù)為10,則輪密鑰的長度為256×(10+1)=2416bits;2)種子密鑰擴展為擴展密鑰,種子密鑰長度為4×Nk個字節(jié);3)輪密鑰由如下方法從擴展密鑰中獲得:第一輪密鑰由前Nb個字構成:第二輪密鑰由第二個Nb個字即第Nb+1個字到第2Nb個字構成:以下依次類推。Rijndael的算法操作簡單,都是根本的邏輯、代數(shù)運算,有較強的擴展性,能以較少的編碼和資源需求在智能卡上實現(xiàn)。密鑰擴展的非線性使得該算法不存在弱密鑰(所謂弱密鑰,就是密鑰與輸出之間存在超出一個好密碼所應具有的相關性)和半弱密鑰。AES算法不僅具有良好的平安性,而且在軟硬件實現(xiàn)上都比較簡單且具備很快的加密速度。同時AES并不依賴于S-Box的選擇,對抗擊差分密鑰分析及線性密碼分析具有良好的防御能力。但由于沒有使用Feistel結構,導致加解密過程不完全相同,使得查找表和電路不能被充分利用。2.3公鑰密碼體制由于對稱密碼體制必須事先傳送加密密鑰而使得保密性受到威脅,再加上對稱密碼先天缺乏無法實現(xiàn)不可否認的數(shù)據(jù)傳輸,因此在計算機網(wǎng)絡上傳輸加密數(shù)據(jù)就迫切需要一種新的加密技術的出現(xiàn)。1976年,Diffie和Hellman的文章“密碼學的新方向",掀開了公鑰密碼研究的序幕。在圖2.4所示的密碼體制中加密密鑰K1與解密密鑰K2不同,即使密碼分析者知道了加密密鑰K1還是無法得知解密密鑰K2,那就可以將K1公開,但只有接收方知道K2。在這種情況下,任何人都可以利用K1加密,而只有知道K2的接收方才能解密復原所傳數(shù)據(jù)。圖2.4公鑰密碼體制的原理圖按數(shù)論所說,任何公鑰系統(tǒng)的基礎都是建立在一個NP問題之上,即對于特定的問題我們沒有方法找到一個多項式時間的算法求解該問題,一般求解此類問題的算法都是指數(shù)時間或者亞指數(shù)時間,現(xiàn)有的計算機體系結構不適于求解此類問題。正因為有了此理論依據(jù),我們才可以放心地將公開密鑰發(fā)送給任何人,而不必擔憂它利用公鑰反推出私鑰。目前比較典型公鑰密碼算法主要有:1.基于整數(shù)因式分解的公鑰密碼算法,如RSA;2.基于離散對數(shù)的公鑰密碼算法,如DSA,DH,EIGamal:3.基于橢圓曲線的公鑰密碼算法,如ECC。公鑰密碼體制使用的密碼算法的平安強度都是基于一些數(shù)學難題,這些難題被專家們認為在短期內不可能得到解決。這些難題(如因子分解問題)至今己有數(shù)千年的歷史了。公鑰密碼采用公鑰、私鑰分別加、解密的方法,使加、解密密鑰別離,從而保證保密性,能夠很好地解決對稱密碼所存在的問題,從技術上打彌補了對稱密碼體制的缺乏[32]。2.3.1RSA密碼RSA算法是Rivest、Shami和Adleman于1977年提出的一個比較完善的公鑰密碼算法。RSA的數(shù)學基礎是數(shù)論中的歐拉定理,其平安性基于分解大整數(shù)的困難性,即到目前為止尚無法找到一個有效的算法來分解兩個大素數(shù)之積[33]。一般地講,可將RSA密碼算法分成三個主要函數(shù)即:大素數(shù)的產(chǎn)生、密鑰對的產(chǎn)生和RSA消息處理。1.大素數(shù)的產(chǎn)生產(chǎn)生兩個大素數(shù)P、q,大素數(shù)的產(chǎn)生是RSA算法體制中一個重要算法,是基礎。2.密鑰對的產(chǎn)生就是加密指數(shù)e和解密指數(shù)d的產(chǎn)生,二者滿足ed=lmodθ(n),密鑰對的產(chǎn)生是RSA的關鍵,只有適宜的密鑰對,才能確保RSA的平安。3.RSA消息處理消息處理是RSA的核心,包括加密、解密、簽名和驗證四種,其實質上它們是相通的,處理過程也類似。這里以對信息n的加解、密為例,處理過程描述如下:將n劃分成若干個數(shù)據(jù)塊mi,mi<n(此舉是為了保證mi在解密時的唯一性)。加密公式為:ci≡mie(mod)n(2.12)解密公式為:mi≡cid(mod)n(2.13)2.3.2ECC密碼1985年,NeilKoblitz和VictorMiller分別提出了橢圓曲線密碼算法(ECC)。橢圓曲線密碼算法平安強度不僅依賴于在橢圓曲線上離散對數(shù)的分解難度,也依賴于曲線的選取和參數(shù)的選定,目前160比特長的橢圓曲線密碼體制己經(jīng)有相當高的平安強度。橢圓曲線密碼算法是一種新的密碼算法思想,與傳統(tǒng)的密碼算法不同的是它需要人為構造有限域和定義域中的運算,并將信息通過編碼嵌入自構造的有限域中。橢圓曲線密碼體制的平安性由橢圓曲線上的離散對數(shù)問題(ECDLP)確保,這是一個NP完全問題,解決這個問題的時間復雜度為指數(shù)級,遠遠超過了其它公鑰密碼算法的復雜程度[34][35]。2.3.2.1ECC算法數(shù)學基礎橢圓曲線作為代數(shù)幾何的一個重要分支,經(jīng)過150多年開展,它已得到廣泛的研究,并通過這些研究形成了一套豐富而深刻的理論[36]。因為日常所接觸得到的橢圓曲線是連續(xù)的(定義域是實數(shù)域),并不適合用于加密,所以,我們必須把橢圓曲線變成離散的點,才能應用到密碼學中。橢圓曲線理論描述為:橢圓曲線上所有的點外加一個叫做無窮遠點的特殊點構成的集合連同一個定義在該集合上的加法運算構成一個阿貝爾(Abel)群。在有限域Fq中定義橢圓曲線為:E:y2=x3+ax+bmodq,其中q為素數(shù),4a3+27b2≠0,E能構成群。橢圓曲線有一個特殊的點,記為O,它并不在橢圓曲線E上,故此點稱為無限遠的點,在E這個群集合中有如下運算規(guī)則:1.加法規(guī)則對所有的點P∈Ep(a,b),則:P+O=O+P=P,P+(-P)=0(2.14)令P=(x1,y1)∈Ep(a,b),及Q=(x2,y2)∈Ep(a,b),且P≠-Q,則:P+Q=(x3,y3)(2.15)其中x3=λ2-x1-x2y3=λ(x1-x2)-y1(y2-y1)/(x2-x1)ifP≠Q(mào)λ=(3x12+a)/2y1ifP=Q由于加法的操作對象和運算結果均是橢圓曲線上的點,因此橢圓曲線上的加法又簡稱為點加運算。點加運算的結果一定是橢圓曲線上的點,反之,若有一條曲線上的點加運算的結果不在該曲線上,則它不是橢圓曲線。點加運算滿足交換律和結合律。2.數(shù)乘規(guī)則橢圓曲線上的點能夠相加,但不能相乘??梢远x一種數(shù)量乘法運算:將一個正整數(shù)和橢圓曲線上一個點相乘,簡稱數(shù)乘。設k是一個正整數(shù),而尸是橢圓曲線上的一個點,則數(shù)量乘法即的運算結果就是對點尸自身累加k次。如下式所示:kP=P+P+…+P=Q(2.16)等式KP=Q,其中Q和P屬于EP(a,b),k<p。(如圖2.5所示)圖2.5橢圓曲線的加法運算k和點尸求點Q比較容易,反之點Q和點P求k卻是相當困難的,這個問題稱為橢圓曲線上點群的離散對數(shù)問題(ECDLP)。橢圓曲線離散對數(shù)問題是橢圓曲線密碼算法的核心。橢圓曲線密碼算法的平安性與相應的橢圓曲線離散對數(shù)問題的求解困難性等價。一個群G上的離散對數(shù)問題定義如下:用E(F)表示定義在有限域GF(Fq)上的橢圓曲線E在擴域F上的有理子群,設P,Q∈E(F),若對某整數(shù)m有Q=mP成立,則稱m為點Q的橢圓曲線離散對數(shù),簡記為ECDL;而由P,Q及E求出m的問題稱為E上的橢圓曲線離散對數(shù)問題,簡記為ECDLP;相對于點Q,點P稱為基點。與一般的DLP求解不同,ECDLP的求解更難。這是因為一般的DLP中,有限域上的對數(shù)問題由域加法和域乘法兩種根本運算構成,這使亞指數(shù)時間的DLP指數(shù)積分算法變得可行[37];而在ECDLP中,其代數(shù)對象只包括一種根本運算,即橢圓曲線群上的點加運算,這使得除了少數(shù)非常特殊的,可以轉化為有限乘法域的橢圓曲線以外,亞指數(shù)時間的DLP求解算法對求解ECDLP無效。目前針對一般的ECDLP求解,尚未出現(xiàn)好的低于指數(shù)級時間的求解算法。目前針對ECDLP的求解算法主要有以下三類:1)針對一般DLP的大步小步算法和Po

溫馨提示

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

評論

0/150

提交評論