實驗報告模板-信息安全綜合實驗.doc_第1頁
實驗報告模板-信息安全綜合實驗.doc_第2頁
實驗報告模板-信息安全綜合實驗.doc_第3頁
實驗報告模板-信息安全綜合實驗.doc_第4頁
實驗報告模板-信息安全綜合實驗.doc_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

信息安全綜合實驗實驗報告專業(yè): 信息安全 班 級: 信息安全2班 小組成員: 韓非寒(20102033) 指導(dǎo)教師:唐召東、趙春蕾 職 稱: 講 師 天津理工大學(xué)計算機與通信工程學(xué)院 2014年 5 月 天津設(shè)計日期 2014 年 5月11 日至 2014年5月25日小組成員在本次設(shè)計中承擔的任務(wù)成績 指導(dǎo)教師簽字: 年 月 日目錄前言2實驗一 網(wǎng)絡(luò)通信安全31.1 實驗概述31.2 實驗原理31.3 實驗結(jié)果以及分析161.4實驗小結(jié)20 前言為了提高學(xué)生的動手能力,培養(yǎng)同學(xué)們的學(xué)習(xí)興趣,同時對所學(xué)知識進行全面的復(fù)習(xí),特在第7學(xué)期開設(shè)本課程。信息安全專業(yè)綜合實踐是信息安全專業(yè)的集中性實踐環(huán)節(jié)課程。本課程的任務(wù)是訓(xùn)練學(xué)生綜合利用所學(xué)理論知識和實踐技能解決實際問題,提高學(xué)生獨立鉆研及團隊合作能力,為適應(yīng)今后的工作打下扎實的基礎(chǔ)。通過該課程實踐,使學(xué)生能夠利用密碼學(xué)知識實現(xiàn)通信系統(tǒng)的機密性、完整性;能夠評估系統(tǒng)的安全性,能夠利用弱點攻破遠程系統(tǒng),能夠有效地防御遠程攻擊;對Web服務(wù)、Email服務(wù)能夠熟練地管理和配置,增強系統(tǒng)的安全性;能夠綜合利用認證、授權(quán)、訪問控制設(shè)計一個安全、高效的信息系統(tǒng)。實驗一 網(wǎng)絡(luò)通信安全 1.1 實驗概述本實驗應(yīng)用DES,RSA,MD5等加密算法,以及Socket套接字實現(xiàn)一個簡單的加密解密的聊天工具CryptTalk。本實驗的程序在jdk1.6與Eclipse開發(fā)環(huán)境下編寫,基本實現(xiàn)了消息加密的聊天工具的功能。通信的步驟基本如下:首先,服務(wù)器端隨機產(chǎn)生一對RSA密鑰,將公鑰發(fā)送給客戶端,客戶端將自己的對稱密鑰用公鑰加密發(fā)送給服務(wù)器端,服務(wù)器端接收到加密后的密鑰后,用自己的私鑰解密得到對稱密鑰。然后服務(wù)器端和客戶端都利用這個對稱密鑰對發(fā)送的消息加密,進行加密后的聊天。同時把消息經(jīng)過MD5加密生成摘要發(fā)送,在接收端解密后進行MD5加密比較,檢查信息是否被篡改。 1.2 實驗原理 1.2.1 RSA加密算法RSA加密算法原理RSA算法它是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字以發(fā)明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理論上的證明。它經(jīng)歷了各種攻擊,至今未被完全攻破。RSA算法的原理以及算法分析如下。首先,找出三個數(shù),其中,是兩個相異的質(zhì)數(shù),是與互質(zhì)的數(shù)。,這三個數(shù)便是privatekey。接著,找出,使得,這個一定存在,因為與互質(zhì),用輾轉(zhuǎn)相除法就可以得到。再來,計算。,這兩個數(shù)便是publickey。編碼過程是,若資料為,將其看成是一個大整數(shù),假設(shè)。如果的話,就將表成進位(,通常取),則每一位數(shù)均小于,然后分段編碼。接下來,計算,(),就是編碼后的資料。解碼的過程是,計算(),于是乎,解碼完畢??梢宰C明和是相等的。如果第三者進行竊聽時,他會得到幾個數(shù):,(),。他如果要解碼的話,必須想辦法得到,所以,他必須先對作質(zhì)因數(shù)分解。要防止他分解,最有效的方法是找兩個非常的大質(zhì)數(shù),使第三者作因數(shù)分解時發(fā)生困難。RSA算法的安全性RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因為沒有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法?,F(xiàn)在,人們已能分解多個十進制位的大素數(shù)。因此,模數(shù)n必須選大一些,因具體適用情況而定。RSA的速度以及分析由于進行的都是大數(shù)計算,使得RSA最快的情況也比DES慢上倍,無論是軟件還是硬件實現(xiàn)。速度一直是RSA的缺陷。一般來說只用于少量數(shù)據(jù)加密。RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學(xué)界多數(shù)人士傾向于因子分解不是NPC問題。 RSA的缺點主要有:A)產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits 以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數(shù)量級;且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式的標準化。目前,SET( Secure Electronic Transaction )協(xié)議中要求CA采用比特長的密鑰,其他實體使用比特的密鑰。 1.2.2 DES加密算法DES加密算法原理當今社會是信息化的社會。為了適應(yīng)社會對計算機數(shù)據(jù)安全保密越來越高的要求,美國國家標準局(NBS)于1997年公布了一個由IBM公司研制的一種加密算法,并且確定為非機要部門使用的數(shù)據(jù)加密標準,簡稱DES(Data Encrypton Standard)。自公布之日起,DES算法作為國際上商用保密通信和計算機通信的最常用算法,一直活躍在國際保密通信的舞臺上,扮演了十分突出的角色?,F(xiàn)將DES算法簡單介紹一下,并給出實現(xiàn)DES算法的VC源代碼。DES算法由加密、解密和子密鑰的生成三部分組成。DES加密算法過程DES算法處理的數(shù)據(jù)對象是一組64比特的明文串。設(shè)該明文串為m=m1m2m64 (mi=0或1)。明文串經(jīng)過64比特的密鑰K來加密,最后生成長度為64比特的密文E。其加密過程圖示如下:對DES算法加密過程圖示的說明如下:待加密的64比特明文串m,經(jīng)過IP置換后,得到的比特串的下標列表如下:該比特串被分為32位的L0和32位的R0兩部分。R0子密鑰K1(子密鑰的生成將在后面講)經(jīng)過變換f(R0,K1)(f變換將在下面講)輸出32位的比特串f1,f1與L0做不進位的二進制加法運算。運算規(guī)則為:f1與L0做不進位的二進制加法運算后的結(jié)果賦給R1,R0則原封不動的賦給L1。L1與R0又做與以上完全相同的運算,生成L2,R2 一共經(jīng)過16次運算。最后生成R16和L16。其中R16為L15與f(R15,K16)做不進位二進制加法運算的結(jié)果,L16是R15的直接賦值。R16與L16合并成64位的比特串。值得注意的是R16一定要排在L16前面。R16與L16合并后成的比特串,經(jīng)過置換IP-1后所得比特串的下標列表如下:經(jīng)過置換IP-1后生成的比特串就是密文e。下面再講一下變換f(Ri-1,Ki)。它的功能是將32比特的輸入再轉(zhuǎn)化為32比特的輸出。其過程如圖所示:對f變換說明如下:輸入Ri-1(32比特)經(jīng)過變換E后,膨脹為48比特。膨脹后的比特串的下標列表如下:膨脹后的比特串分為8組,每組6比特。各組經(jīng)過各自的S盒后,又變?yōu)?比特(具體過程見后),合并后又成為32比特。該32比特經(jīng)過P變換后,其下標列表如下:經(jīng)過P變換后輸出的比特串才是32比特的f (Ri-1,Ki)。下面再講一下S盒的變換過程。任取一S盒。見圖:在其輸入b1,b2,b3,b4,b5,b6中,計算出x=b1*2+b6, y=b5+b4*2+b3*4+b2*8,再從Si表中查出x 行,y 列的值Sxy。將Sxy化為二進制,即得Si盒的輸出。(S表如圖所示)子密鑰的生成過程如下。64比特的密鑰生成16個48比特的子密鑰。其生成過程見圖:子密鑰生成過程具體解釋如下:64比特的密鑰K,經(jīng)過PC-1后,生成56比特的串。其下標如表所示:該比特串分為長度相等的比特串C0和D0。然后C0和D0分別循環(huán)左移1位,得到C1和D1。C1和D1合并起來生成C1D1。C1D1經(jīng)過PC-2變換后即生成48比特的K1。K1的下標列表為:C1、D1分別循環(huán)左移LS2位,再合并,經(jīng)過PC-2,生成子密鑰K2依次類推直至生成子密鑰K16。注意:Lsi (I =1,2,.16)的數(shù)值是不同的。具體見下表:DES的解密過程和DES的加密過程完全類似,只不過將16圈的子密鑰序列K1,K2K16的順序倒過來。即第一圈用第16個子密鑰K16,第二圈用K15,其余類推。L=R15, R=L15f(R15,K16)f(R15,K16)=L15同理R15=L14f(R14,K15), L15=R14。同理類推:得 L=R0, R=L0。其程序源代碼與加密相同。在此就不重寫。 1.2.3 MD5加密算法HASH原理Hash,一般翻譯做“散列”,也有直接音譯為哈希的,就是把任意長度的輸入(又叫做預(yù)映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉(zhuǎn)換是一種壓縮映射,也就是,散列值的空間通常遠小于輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。數(shù)學(xué)表述為:h = H(M) ,其中H( )-單向散列函數(shù),M-任意長度明文,h-固定長度散列值。在信息安全領(lǐng)域中應(yīng)用的Hash算法,還需要滿足其他關(guān)鍵特性:第一當然是單向性(one-way),從預(yù)映射,能夠簡單迅速的得到散列值,而在計算上不可能構(gòu)造一個預(yù)映射,使其散列結(jié)果等于某個特定的散列值,即構(gòu)造相應(yīng)的M=H-1(h)不可行。這樣,散列值就能在統(tǒng)計上唯一的表征輸入值,因此,密碼學(xué)上的 Hash 又被稱為消息摘要(message digest),就是要求能方便的將消息進行摘要,但在摘要中無法得到比摘要本身更多的關(guān)于消息的信息。第二是抗沖突性(collision-resistant),即在統(tǒng)計上無法產(chǎn)生2個散列值相同的預(yù)映射。給定M,計算上無法找到M,滿足H(M)=H(M) ,此謂弱抗沖突性;計算上也難以尋找一對任意的M和M,使?jié)M足H(M)=H(M) ,此謂強抗沖突性。要求強抗沖突性主要是為了防范所謂生日攻擊(birthday attack),在一個10人的團體中,你能找到和你生日相同的人的概率是2.4%,而在同一團體中,有2人生日相同的概率是11.7%。類似的,當預(yù)映射的空間很大的情況下,算法必須有足夠的強度來保證不能輕易找到相同生日的人。第三是映射分布均勻性和差分分布均勻性,散列結(jié)果中,為 0 的 bit 和為 1 的 bit ,其總數(shù)應(yīng)該大致相等;輸入中一個 bit 的變化,散列結(jié)果中將有一半以上的 bit 改變,這又叫做雪崩效應(yīng)(avalanche effect);要實現(xiàn)使散列結(jié)果中出現(xiàn) 1bit 的變化,則輸入中至少有一半以上的 bit 必須發(fā)生變化。其實質(zhì)是必須使輸入中每一個 bit 的信息,盡量均勻的反映到輸出的每一個 bit 上去;輸出中的每一個 bit,都是輸入中盡可能多 bit 的信息一起作用的結(jié)果。Damgard 和 Merkle 定義了所謂“壓縮函數(shù)(compression function)”,就是將一個固定長度輸入,變換成較短的固定長度的輸出,這對密碼學(xué)實踐上 Hash 函數(shù)的設(shè)計產(chǎn)生了很大的影響。Hash函數(shù)就是被設(shè)計為基于通過特定壓縮函數(shù)的不斷重復(fù)“壓縮”輸入的分組和前一次壓縮處理的結(jié)果的過程,直到整個消息都被壓縮完畢,最后的輸出作為整個消息的散列值。盡管還缺乏嚴格的證明,但絕大多數(shù)業(yè)界的研究者都同意,如果壓縮函數(shù)是安全的,那么以上述形式散列任意長度的消息也將是安全的。這就是所謂 Damgard/Merkle 結(jié)構(gòu):在下圖中,任意長度的消息被分拆成符合壓縮函數(shù)輸入要求的分組,最后一個分組可能需要在末尾添上特定的填充字節(jié),這些分組將被順序處理,除了第一個消息分組將與散列初始化值一起作為壓縮函數(shù)的輸入外,當前分組將和前一個分組的壓縮函數(shù)輸出一起被作為這一次壓縮的輸入,而其輸出又將被作為下一個分組壓縮函數(shù)輸入的一部分,直到最后一個壓縮函數(shù)的輸出,將被作為整個消息散列的結(jié)果。MD5 和 SHA1 可以說是目前應(yīng)用最廣泛的Hash算法,而它們都是以 MD4 為基礎(chǔ)設(shè)計的。MD4加密算法原理MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年設(shè)計的,MD 是 Message Digest 的縮寫。它適用在32位字長的處理器上用高速軟件實現(xiàn)-它是基于 32 位操作數(shù)的位操作來實現(xiàn)的。它的安全性不像RSA那樣基于數(shù)學(xué)假設(shè),盡管 Den Boer、Bosselaers 和 Dobbertin 很快就用分析和差分成功的攻擊了它3輪變換中的 2 輪,證明了它并不像期望的那樣安全,但它的整個算法并沒有真正被破解過,Rivest 也很快進行了改進。MD5加密算法原理MD5(RFC 1321)是 Rivest 于1991年對MD4的改進版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯(lián),與 MD4 相同。它較MD4所做的改進是:1) 加入了第四輪2) 每一步都有唯一的加法常數(shù);3) 第二輪中的G函數(shù)從(X Y) (X Z) (Y Z) 變?yōu)?(X Z) (Y Z)以減小其對稱性;4) 每一步都加入了前一步的結(jié)果,以加快雪崩效應(yīng);5) 改變了第2輪和第3輪中訪問輸入子分組的順序,減小了形式的相似程度;6) 近似優(yōu)化了每輪的循環(huán)左移位移量,以期加快雪崩效應(yīng),各輪的循環(huán)左移都不同。盡管MD5比MD4來得復(fù)雜,并且速度較之要慢一點,但更安全,在抗分析和抗差分方面表現(xiàn)更好。消息首先被拆成若干個512位的分組,其中最后512位一個分組是“消息尾+填充字節(jié)(1000)+64 位消息長度”,以確保對于不同長度的消息,該分組不相同。64位消息長度的限制導(dǎo)致了MD5安全的輸入長度必須小于264bit,因為大于64位的長度信息將被忽略。而4個32位寄存器字初始化為A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210,它們將始終參與運算并形成最終的散列結(jié)果。接著各個512位消息分組以16個32位字的形式進入算法的主循環(huán),512位消息分組的個數(shù)據(jù)決定了循環(huán)的次數(shù)。主循環(huán)有4輪,每輪分別用到了非線性函數(shù)F(X, Y, Z) = (X Y) (X Z)G(X, Y, Z) = (X Z) (Y Z)H(X, Y, Z) =X Y ZI(X, Y, Z) = X (Y Z)這4輪變換是對進入主循環(huán)的512位消息分組的16個32位字分別進行如下操作:將A、B、C、D的副本a、b、c、d中的3個經(jīng)F、G、H、I運算后的結(jié)果與第4個相加,再加上32位字和一個32位字的加法常數(shù),并將所得之值循環(huán)左移若干位,最后將所得結(jié)果加上a、b、c、d之一,并回送至ABCD,由此完成一次循環(huán)。所用的加法常數(shù)由這樣一張表Ti來定義,其中i為164,Ti是i的正弦絕對值之4294967296次方的整數(shù)部分,這樣做是為了通過正弦函數(shù)和冪函數(shù)來進一步消除變換中的線性性。MD5加密算法的應(yīng)用Hash 算法也是現(xiàn)代密碼體系中的一個重要組成部分。由于非對稱算法的運算速度較慢,所以在數(shù)字簽名協(xié)議中,單向散列函數(shù)扮演了一個重要的角色。在這種簽名協(xié)議中,雙方必須事先協(xié)商好雙方都支持的Hash函數(shù)和簽名算法。簽名方先對該數(shù)據(jù)文件進行計算其散列值,然后再對很短的散列值結(jié)果-如Md5是16個字節(jié),SHA1是20字節(jié),用非對稱算法進行數(shù)字簽名操作。對方在驗證簽名時,也是先對該數(shù)據(jù)文件進行計算其散列值,然后再用非對稱算法驗證數(shù)字簽名。對 Hash 值,又稱數(shù)字摘要進行數(shù)字簽名,在統(tǒng)計上可以認為與對文件本身進行數(shù)字簽名是等效的。而且這樣的協(xié)議還有其他的優(yōu)點:首先,數(shù)據(jù)文件本身可以同它的散列值分開保存,簽名驗證也可以脫離數(shù)據(jù)文件本身的存在而進行。再者,有些情況下簽名密鑰可能與解密密鑰是同一個,也就是說,如果對一個數(shù)據(jù)文件簽名,與對其進行

溫馨提示

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

評論

0/150

提交評論