




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
信息安全綜合實(shí)驗(yàn)實(shí)驗(yàn)報(bào)告專業(yè): 信息安全 班 級: 信息安全2班 小組成員: 韓非寒(20102033) 指導(dǎo)教師:唐召東、趙春蕾 職 稱: 講 師 天津理工大學(xué)計(jì)算機(jī)與通信工程學(xué)院 2014年 5 月 天津設(shè)計(jì)日期 2014 年 5月11 日至 2014年5月25日小組成員在本次設(shè)計(jì)中承擔(dān)的任務(wù)成績 指導(dǎo)教師簽字: 年 月 日目錄前言2實(shí)驗(yàn)一 網(wǎng)絡(luò)通信安全31.1 實(shí)驗(yàn)概述31.2 實(shí)驗(yàn)原理31.3 實(shí)驗(yàn)結(jié)果以及分析161.4實(shí)驗(yàn)小結(jié)20 前言為了提高學(xué)生的動手能力,培養(yǎng)同學(xué)們的學(xué)習(xí)興趣,同時對所學(xué)知識進(jìn)行全面的復(fù)習(xí),特在第7學(xué)期開設(shè)本課程。信息安全專業(yè)綜合實(shí)踐是信息安全專業(yè)的集中性實(shí)踐環(huán)節(jié)課程。本課程的任務(wù)是訓(xùn)練學(xué)生綜合利用所學(xué)理論知識和實(shí)踐技能解決實(shí)際問題,提高學(xué)生獨(dú)立鉆研及團(tuán)隊(duì)合作能力,為適應(yīng)今后的工作打下扎實(shí)的基礎(chǔ)。通過該課程實(shí)踐,使學(xué)生能夠利用密碼學(xué)知識實(shí)現(xiàn)通信系統(tǒng)的機(jī)密性、完整性;能夠評估系統(tǒng)的安全性,能夠利用弱點(diǎn)攻破遠(yuǎn)程系統(tǒng),能夠有效地防御遠(yuǎn)程攻擊;對Web服務(wù)、Email服務(wù)能夠熟練地管理和配置,增強(qiáng)系統(tǒng)的安全性;能夠綜合利用認(rèn)證、授權(quán)、訪問控制設(shè)計(jì)一個安全、高效的信息系統(tǒng)。實(shí)驗(yàn)一 網(wǎng)絡(luò)通信安全 1.1 實(shí)驗(yàn)概述本實(shí)驗(yàn)應(yīng)用DES,RSA,MD5等加密算法,以及Socket套接字實(shí)現(xiàn)一個簡單的加密解密的聊天工具CryptTalk。本實(shí)驗(yàn)的程序在jdk1.6與Eclipse開發(fā)環(huán)境下編寫,基本實(shí)現(xiàn)了消息加密的聊天工具的功能。通信的步驟基本如下:首先,服務(wù)器端隨機(jī)產(chǎn)生一對RSA密鑰,將公鑰發(fā)送給客戶端,客戶端將自己的對稱密鑰用公鑰加密發(fā)送給服務(wù)器端,服務(wù)器端接收到加密后的密鑰后,用自己的私鑰解密得到對稱密鑰。然后服務(wù)器端和客戶端都利用這個對稱密鑰對發(fā)送的消息加密,進(jìn)行加密后的聊天。同時把消息經(jīng)過MD5加密生成摘要發(fā)送,在接收端解密后進(jìn)行MD5加密比較,檢查信息是否被篡改。 1.2 實(shí)驗(yàn)原理 1.2.1 RSA加密算法RSA加密算法原理RSA算法它是第一個既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。它易于理解和操作,也很流行。算法的名字以發(fā)明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理論上的證明。它經(jīng)歷了各種攻擊,至今未被完全攻破。RSA算法的原理以及算法分析如下。首先,找出三個數(shù),其中,是兩個相異的質(zhì)數(shù),是與互質(zhì)的數(shù)。,這三個數(shù)便是privatekey。接著,找出,使得,這個一定存在,因?yàn)榕c互質(zhì),用輾轉(zhuǎn)相除法就可以得到。再來,計(jì)算。,這兩個數(shù)便是publickey。編碼過程是,若資料為,將其看成是一個大整數(shù),假設(shè)。如果的話,就將表成進(jìn)位(,通常取),則每一位數(shù)均小于,然后分段編碼。接下來,計(jì)算,(),就是編碼后的資料。解碼的過程是,計(jì)算(),于是乎,解碼完畢??梢宰C明和是相等的。如果第三者進(jìn)行竊聽時,他會得到幾個數(shù):,(),。他如果要解碼的話,必須想辦法得到,所以,他必須先對作質(zhì)因數(shù)分解。要防止他分解,最有效的方法是找兩個非常的大質(zhì)數(shù),使第三者作因數(shù)分解時發(fā)生困難。RSA算法的安全性RSA的安全性依賴于大數(shù)分解,但是否等同于大數(shù)分解一直未能得到理論上的證明,因?yàn)闆]有證明破解RSA就一定需要作大數(shù)分解。假設(shè)存在一種無須分解大數(shù)的算法,那它肯定可以修改成為大數(shù)分解算法。目前,RSA的一些變種算法已被證明等價(jià)于大數(shù)分解。不管怎樣,分解n是最顯然的攻擊方法?,F(xiàn)在,人們已能分解多個十進(jìn)制位的大素?cái)?shù)。因此,模數(shù)n必須選大一些,因具體適用情況而定。RSA的速度以及分析由于進(jìn)行的都是大數(shù)計(jì)算,使得RSA最快的情況也比DES慢上倍,無論是軟件還是硬件實(shí)現(xiàn)。速度一直是RSA的缺陷。一般來說只用于少量數(shù)據(jù)加密。RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗(yàn),逐漸為人們接受,普遍認(rèn)為是目前最優(yōu)秀的公鑰方案之一。RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA的難度與大數(shù)分解難度等價(jià)。即RSA的重大缺陷是無法從理論上把握它的保密性能如何,而且密碼學(xué)界多數(shù)人士傾向于因子分解不是NPC問題。 RSA的缺點(diǎn)主要有:A)產(chǎn)生密鑰很麻煩,受到素?cái)?shù)產(chǎn)生技術(shù)的限制,因而難以做到一次一密。B)分組長度太大,為保證安全性,n 至少也要 600 bits 以上,使運(yùn)算代價(jià)很高,尤其是速度較慢,較對稱密碼算法慢幾個數(shù)量級;且隨著大數(shù)分解技術(shù)的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。目前,SET( Secure Electronic Transaction )協(xié)議中要求CA采用比特長的密鑰,其他實(shí)體使用比特的密鑰。 1.2.2 DES加密算法DES加密算法原理當(dāng)今社會是信息化的社會。為了適應(yīng)社會對計(jì)算機(jī)數(shù)據(jù)安全保密越來越高的要求,美國國家標(biāo)準(zhǔn)局(NBS)于1997年公布了一個由IBM公司研制的一種加密算法,并且確定為非機(jī)要部門使用的數(shù)據(jù)加密標(biāo)準(zhǔn),簡稱DES(Data Encrypton Standard)。自公布之日起,DES算法作為國際上商用保密通信和計(jì)算機(jī)通信的最常用算法,一直活躍在國際保密通信的舞臺上,扮演了十分突出的角色?,F(xiàn)將DES算法簡單介紹一下,并給出實(shí)現(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置換后,得到的比特串的下標(biāo)列表如下:該比特串被分為32位的L0和32位的R0兩部分。R0子密鑰K1(子密鑰的生成將在后面講)經(jīng)過變換f(R0,K1)(f變換將在下面講)輸出32位的比特串f1,f1與L0做不進(jìn)位的二進(jìn)制加法運(yùn)算。運(yùn)算規(guī)則為:f1與L0做不進(jìn)位的二進(jìn)制加法運(yùn)算后的結(jié)果賦給R1,R0則原封不動的賦給L1。L1與R0又做與以上完全相同的運(yùn)算,生成L2,R2 一共經(jīng)過16次運(yùn)算。最后生成R16和L16。其中R16為L15與f(R15,K16)做不進(jìn)位二進(jìn)制加法運(yùn)算的結(jié)果,L16是R15的直接賦值。R16與L16合并成64位的比特串。值得注意的是R16一定要排在L16前面。R16與L16合并后成的比特串,經(jīng)過置換IP-1后所得比特串的下標(biāo)列表如下:經(jīng)過置換IP-1后生成的比特串就是密文e。下面再講一下變換f(Ri-1,Ki)。它的功能是將32比特的輸入再轉(zhuǎn)化為32比特的輸出。其過程如圖所示:對f變換說明如下:輸入Ri-1(32比特)經(jīng)過變換E后,膨脹為48比特。膨脹后的比特串的下標(biāo)列表如下:膨脹后的比特串分為8組,每組6比特。各組經(jīng)過各自的S盒后,又變?yōu)?比特(具體過程見后),合并后又成為32比特。該32比特經(jīng)過P變換后,其下標(biāo)列表如下:經(jīng)過P變換后輸出的比特串才是32比特的f (Ri-1,Ki)。下面再講一下S盒的變換過程。任取一S盒。見圖:在其輸入b1,b2,b3,b4,b5,b6中,計(jì)算出x=b1*2+b6, y=b5+b4*2+b3*4+b2*8,再從Si表中查出x 行,y 列的值Sxy。將Sxy化為二進(jìn)制,即得Si盒的輸出。(S表如圖所示)子密鑰的生成過程如下。64比特的密鑰生成16個48比特的子密鑰。其生成過程見圖:子密鑰生成過程具體解釋如下:64比特的密鑰K,經(jīng)過PC-1后,生成56比特的串。其下標(biāo)如表所示:該比特串分為長度相等的比特串C0和D0。然后C0和D0分別循環(huán)左移1位,得到C1和D1。C1和D1合并起來生成C1D1。C1D1經(jīng)過PC-2變換后即生成48比特的K1。K1的下標(biāo)列表為: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)換是一種壓縮映射,也就是,散列值的空間通常遠(yuǎn)小于輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。數(shù)學(xué)表述為:h = H(M) ,其中H( )-單向散列函數(shù),M-任意長度明文,h-固定長度散列值。在信息安全領(lǐng)域中應(yīng)用的Hash算法,還需要滿足其他關(guān)鍵特性:第一當(dāng)然是單向性(one-way),從預(yù)映射,能夠簡單迅速的得到散列值,而在計(jì)算上不可能構(gòu)造一個預(yù)映射,使其散列結(jié)果等于某個特定的散列值,即構(gòu)造相應(yīng)的M=H-1(h)不可行。這樣,散列值就能在統(tǒng)計(jì)上唯一的表征輸入值,因此,密碼學(xué)上的 Hash 又被稱為消息摘要(message digest),就是要求能方便的將消息進(jìn)行摘要,但在摘要中無法得到比摘要本身更多的關(guān)于消息的信息。第二是抗沖突性(collision-resistant),即在統(tǒng)計(jì)上無法產(chǎn)生2個散列值相同的預(yù)映射。給定M,計(jì)算上無法找到M,滿足H(M)=H(M) ,此謂弱抗沖突性;計(jì)算上也難以尋找一對任意的M和M,使?jié)M足H(M)=H(M) ,此謂強(qiáng)抗沖突性。要求強(qiáng)抗沖突性主要是為了防范所謂生日攻擊(birthday attack),在一個10人的團(tuán)體中,你能找到和你生日相同的人的概率是2.4%,而在同一團(tuán)體中,有2人生日相同的概率是11.7%。類似的,當(dāng)預(yù)映射的空間很大的情況下,算法必須有足夠的強(qiáng)度來保證不能輕易找到相同生日的人。第三是映射分布均勻性和差分分布均勻性,散列結(jié)果中,為 0 的 bit 和為 1 的 bit ,其總數(shù)應(yīng)該大致相等;輸入中一個 bit 的變化,散列結(jié)果中將有一半以上的 bit 改變,這又叫做雪崩效應(yīng)(avalanche effect);要實(shí)現(xiàn)使散列結(jié)果中出現(xiàn) 1bit 的變化,則輸入中至少有一半以上的 bit 必須發(fā)生變化。其實(shí)質(zhì)是必須使輸入中每一個 bit 的信息,盡量均勻的反映到輸出的每一個 bit 上去;輸出中的每一個 bit,都是輸入中盡可能多 bit 的信息一起作用的結(jié)果。Damgard 和 Merkle 定義了所謂“壓縮函數(shù)(compression function)”,就是將一個固定長度輸入,變換成較短的固定長度的輸出,這對密碼學(xué)實(shí)踐上 Hash 函數(shù)的設(shè)計(jì)產(chǎn)生了很大的影響。Hash函數(shù)就是被設(shè)計(jì)為基于通過特定壓縮函數(shù)的不斷重復(fù)“壓縮”輸入的分組和前一次壓縮處理的結(jié)果的過程,直到整個消息都被壓縮完畢,最后的輸出作為整個消息的散列值。盡管還缺乏嚴(yán)格的證明,但絕大多數(shù)業(yè)界的研究者都同意,如果壓縮函數(shù)是安全的,那么以上述形式散列任意長度的消息也將是安全的。這就是所謂 Damgard/Merkle 結(jié)構(gòu):在下圖中,任意長度的消息被分拆成符合壓縮函數(shù)輸入要求的分組,最后一個分組可能需要在末尾添上特定的填充字節(jié),這些分組將被順序處理,除了第一個消息分組將與散列初始化值一起作為壓縮函數(shù)的輸入外,當(dāng)前分組將和前一個分組的壓縮函數(shù)輸出一起被作為這一次壓縮的輸入,而其輸出又將被作為下一個分組壓縮函數(shù)輸入的一部分,直到最后一個壓縮函數(shù)的輸出,將被作為整個消息散列的結(jié)果。MD5 和 SHA1 可以說是目前應(yīng)用最廣泛的Hash算法,而它們都是以 MD4 為基礎(chǔ)設(shè)計(jì)的。MD4加密算法原理MD4(RFC 1320)是 MIT 的 Ronald L. Rivest 在 1990 年設(shè)計(jì)的,MD 是 Message Digest 的縮寫。它適用在32位字長的處理器上用高速軟件實(shí)現(xiàn)-它是基于 32 位操作數(shù)的位操作來實(shí)現(xiàn)的。它的安全性不像RSA那樣基于數(shù)學(xué)假設(shè),盡管 Den Boer、Bosselaers 和 Dobbertin 很快就用分析和差分成功的攻擊了它3輪變換中的 2 輪,證明了它并不像期望的那樣安全,但它的整個算法并沒有真正被破解過,Rivest 也很快進(jìn)行了改進(jìn)。MD5加密算法原理MD5(RFC 1321)是 Rivest 于1991年對MD4的改進(jìn)版本。它對輸入仍以512位分組,其輸出是4個32位字的級聯(lián),與 MD4 相同。它較MD4所做的改進(jìn)是: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ù)雜,并且速度較之要慢一點(diǎn),但更安全,在抗分析和抗差分方面表現(xiàn)更好。消息首先被拆成若干個512位的分組,其中最后512位一個分組是“消息尾+填充字節(jié)(1000)+64 位消息長度”,以確保對于不同長度的消息,該分組不相同。64位消息長度的限制導(dǎo)致了MD5安全的輸入長度必須小于264bit,因?yàn)榇笥?4位的長度信息將被忽略。而4個32位寄存器字初始化為A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210,它們將始終參與運(yùn)算并形成最終的散列結(jié)果。接著各個512位消息分組以16個32位字的形式進(jìn)入算法的主循環(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輪變換是對進(jìn)入主循環(huán)的512位消息分組的16個32位字分別進(jìn)行如下操作:將A、B、C、D的副本a、b、c、d中的3個經(jīng)F、G、H、I運(yùn)算后的結(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ù)來進(jìn)一步消除變換中的線性性。MD5加密算法的應(yīng)用Hash 算法也是現(xiàn)代密碼體系中的一個重要組成部分。由于非對稱算法的運(yùn)算速度較慢,所以在數(shù)字簽名協(xié)議中,單向散列函數(shù)扮演了一個重要的角色。在這種簽名協(xié)議中,雙方必須事先協(xié)商好雙方都支持的Hash函數(shù)和簽名算法。簽名方先對該數(shù)據(jù)文件進(jìn)行計(jì)算其散列值,然后再對很短的散列值結(jié)果-如Md5是16個字節(jié),SHA1是20字節(jié),用非對稱算法進(jìn)行數(shù)字簽名操作。對方在驗(yàn)證簽名時,也是先對該數(shù)據(jù)文件進(jìn)行計(jì)算其散列值,然后再用非對稱算法驗(yàn)證數(shù)字簽名。對 Hash 值,又稱數(shù)字摘要進(jìn)行數(shù)字簽名,在統(tǒng)計(jì)上可以認(rèn)為與對文件本身進(jìn)行數(shù)字簽名是等效的。而且這樣的協(xié)議還有其他的優(yōu)點(diǎn):首先,數(shù)據(jù)文件本身可以同它的散列值分開保存,簽名驗(yàn)證也可以脫離數(shù)據(jù)文件本身的存在而進(jìn)行。再者,有些情況下簽名密鑰可能與解密密鑰是同一個,也就是說,如果對一個數(shù)據(jù)文件簽名,與對其進(jìn)行
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DEEPSEEK大模型賦能數(shù)字化糧倉智慧糧庫物聯(lián)網(wǎng)管理平臺解決方案
- 消防員考試試題及答案
- 西方文化 試題及答案
- 河北省衡水市武強(qiáng)中學(xué)2024-2025學(xué)年高一年級下學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2025年普通高等學(xué)校招生全國統(tǒng)一考試數(shù)學(xué)試題(天津卷)(無答案)
- 2025年安徽省安慶市中考?xì)v史四模試卷 (含答案)
- 2025新款多人合作協(xié)議樣書
- 2025合同范本個人汽車出租協(xié)議租客出協(xié)議范本
- 家居用品行業(yè)競爭分析與應(yīng)對
- AZD-PEG2-acid-生命科學(xué)試劑-MCE
- 為什么先看見閃電后聽見打雷
- 安徽華塑股份有限公司年產(chǎn) 20 萬噸固堿及燒堿深加工項(xiàng)目環(huán)境影響報(bào)告書
- 硫磺回收裝置操作規(guī)程
- 醫(yī)療糾紛防范與處理模板
- 個人所得稅 個人所得稅財(cái)產(chǎn)租賃所得應(yīng)納稅額計(jì)算
- 加工中心點(diǎn)檢表
- 環(huán)境科學(xué)與工程-專業(yè)英語詞匯必備
- MT 754-1997小型煤礦地面用抽出式軸流通風(fēng)機(jī)技術(shù)條件
- GB/T 3863-2008工業(yè)氧
- GB/T 18391.1-2002信息技術(shù)數(shù)據(jù)元的規(guī)范與標(biāo)準(zhǔn)化第1部分:數(shù)據(jù)元的規(guī)范與標(biāo)準(zhǔn)化框架
- 護(hù)理科研選題與論文寫作
評論
0/150
提交評論