網(wǎng)絡(luò)安全導(dǎo)論 實(shí)驗(yàn) 第8章 消息認(rèn)證與數(shù)字簽名 實(shí)驗(yàn)匯報(bào)_第1頁(yè)
網(wǎng)絡(luò)安全導(dǎo)論 實(shí)驗(yàn) 第8章 消息認(rèn)證與數(shù)字簽名 實(shí)驗(yàn)匯報(bào)_第2頁(yè)
網(wǎng)絡(luò)安全導(dǎo)論 實(shí)驗(yàn) 第8章 消息認(rèn)證與數(shù)字簽名 實(shí)驗(yàn)匯報(bào)_第3頁(yè)
網(wǎng)絡(luò)安全導(dǎo)論 實(shí)驗(yàn) 第8章 消息認(rèn)證與數(shù)字簽名 實(shí)驗(yàn)匯報(bào)_第4頁(yè)
網(wǎng)絡(luò)安全導(dǎo)論 實(shí)驗(yàn) 第8章 消息認(rèn)證與數(shù)字簽名 實(shí)驗(yàn)匯報(bào)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第8章實(shí)驗(yàn)消息認(rèn)證與數(shù)字簽名A

PGP軟件的安裝與使用B消息摘要與數(shù)字簽名算法的實(shí)現(xiàn)目錄contents

PGP軟件的安裝與使用實(shí)驗(yàn)?zāi)康?1.掌握PGP軟件的安裝方法2.掌握PGP軟件的公鑰與私鑰生成方法,PGPKeys管理密鑰的方法4.學(xué)會(huì)使用PGP軟件收發(fā)加密郵件。PGP安裝1.進(jìn)入setup文件夾,雙擊PGP安裝文件進(jìn)行安裝,安裝完成后會(huì)問(wèn)要不要重啟,選擇不要重啟。2.進(jìn)入Keygen文件夾,打開(kāi)Keygen運(yùn)行注冊(cè)機(jī)(windows7必須選擇使用管理員身份運(yùn)行),點(diǎn)擊path。PGP安裝3.重啟系統(tǒng),運(yùn)行認(rèn)證程序(一般自動(dòng)運(yùn)行),填寫(xiě)用戶名和公司名,郵件可以不填寫(xiě):輸入序列號(hào)。4.選擇輸入客服認(rèn)證碼,并輸入注冊(cè)機(jī)生成的認(rèn)證碼,然后點(diǎn)擊完成PGP使用UserA先在PGPDesktop程序中新建一個(gè)密鑰KeyA,然后UserA將KeyA的公鑰導(dǎo)出并發(fā)送給UserB。UserB接收到KeyA將其命名為KeyB,接著UserB將KeyB導(dǎo)入到PGPDesktop10程序,并對(duì)密鑰KeyB進(jìn)行簽名,簽名之后到PGP壓縮包中選擇需要加密的UserB文件,利用KeyB將其加密成為.pgp文件,然后將其發(fā)送給UserA。UserA接收到UserB發(fā)送來(lái)的加密文件,利用KeyA之前生成的私鑰對(duì)加密文件進(jìn)行解密得到解密后的文件。PGP使用1.生成密鑰-輸入用戶名、郵箱-輸入口令-創(chuàng)建口令-完成密鑰生成PGP使用2.在PGPdesktop中選擇“工具“-選項(xiàng)”對(duì)話框,打開(kāi)“PGP選項(xiàng)”對(duì)話框,選擇“主密鑰”選項(xiàng)卡3.選中用戶A賬戶,點(diǎn)擊右鍵,選中”導(dǎo)出“,選擇好保存位置將密鑰保存PGP使用4.將用戶A導(dǎo)出的公鑰發(fā)送而給用戶B5.test2將要發(fā)送的文件利用PGP進(jìn)行加密。選中文件-右鍵-PGPDesktop-使用密鑰保護(hù)。PGP使用6.向test1用戶發(fā)送加密文件7.test1用戶接收文件,對(duì)加密附件右鍵選擇-PGPDesktop,選擇解密&校驗(yàn)選項(xiàng)進(jìn)行解密,即可得到明文郵件。實(shí)驗(yàn)報(bào)告(1)PGP在進(jìn)行消息簽名時(shí),為什么只對(duì)Hash值簽名?如果用公鑰對(duì)原文進(jìn)行加密,如果原文很長(zhǎng)的話,所需要的時(shí)間非常長(zhǎng),所得到的簽名需要更長(zhǎng)的時(shí)間進(jìn)行驗(yàn)證,也占據(jù)了更到的空間,會(huì)造成空間的浪費(fèi)。(2)PGP主要基于什么算法來(lái)實(shí)現(xiàn)加密和解密?PGP是個(gè)混合加密算法,它由一個(gè)對(duì)稱加密算法(IDEA)、一個(gè)非對(duì)稱加密算法(RSA)、與單向散列算法(MD5)以及一個(gè)隨機(jī)數(shù)產(chǎn)生器(從用戶擊鍵頻率產(chǎn)生偽隨機(jī)數(shù)序列的種子)組成的,每種算法都是PGP不可分割的組成部分。(3)使用郵件加密時(shí),對(duì)于收件人和發(fā)件人的使用環(huán)境有什么要求?雙方都應(yīng)該有電子郵件數(shù)字證書(shū);發(fā)件人必須要有收件人的公開(kāi)密鑰并確定收件人公開(kāi)密鑰是有效的,而且認(rèn)為他是具有一定的信任度;收件人必須要有發(fā)件人的公開(kāi)密鑰和會(huì)話密鑰。實(shí)驗(yàn)報(bào)告(4)PGP如何配置用戶的公鑰及私鑰?如何導(dǎo)入其他用戶的公鑰?PGP為用戶生成一對(duì)密鑰,一個(gè)公鑰可以發(fā)給任何可信的用戶進(jìn)行加密使用;另一個(gè)私密保留給自己用來(lái)解密時(shí)使用。在需要加密時(shí),PGP產(chǎn)生一個(gè)會(huì)話密鑰,并加密,然后PGP用接收方從公鑰環(huán)中獲取其公鑰,最后構(gòu)造消息的會(huì)話密鑰部分;在需要解密時(shí),PGP用消息的會(huì)話密鑰部分中的KeyID作為索引,從私鑰環(huán)中獲取私鑰,然后PGP提示輸入口令短語(yǔ),恢復(fù)私鑰,最后PGP恢復(fù)會(huì)話密鑰,并解密消息。(5)PGP的“文件粉碎”功能有什么作用?永久的粉碎銷毀文件、文件夾,并釋放出磁盤空間。使用PGP粉碎工具來(lái)永久地刪除那些敏感的文件和文件夾,而不會(huì)遺留任何的數(shù)據(jù)片段在硬盤上。這個(gè)工具是要確保您所刪除的數(shù)據(jù)將永遠(yuǎn)不可能被別有用心的人恢復(fù)。(6)PGP的密鑰是如何管理的?PGP使用了4種類型的密鑰:會(huì)話密鑰Ks

、公鑰、私鑰、私鑰加密口令。KS是一個(gè)偽隨機(jī)數(shù)密鑰,是一次性會(huì)話密鑰。PGP作為去中心化的分布式系統(tǒng),顯然不能利用信任CA機(jī)構(gòu)的方法來(lái)進(jìn)行公鑰管理,這里PGP使用的是信任網(wǎng)絡(luò)。當(dāng)任何使用者使用了別人的公鑰,他就會(huì)成為那把公鑰的引薦者。當(dāng)這樣的程序被持續(xù)地進(jìn)行著,就會(huì)形成一張信任網(wǎng)絡(luò)問(wèn)答題1.(1)什么是會(huì)話密鑰?會(huì)話密鑰是指當(dāng)兩個(gè)端系統(tǒng)希望通信,他們建立一條邏輯連接。在邏輯連接持續(xù)過(guò)程中,所以用戶數(shù)據(jù)都使用一個(gè)一次性的會(huì)話密鑰加密。在會(huì)話和連接結(jié)束時(shí),會(huì)話密鑰被銷毀。(2)描述SHA-256算法的基本流程。常量初始化:SHA256算法中用到了8個(gè)哈希初值以及64個(gè)哈希常量,64個(gè)哈希常量參與到后面的哈希值計(jì)算。SHA256中用到了8個(gè)散列初始值,這些初值是對(duì)自然數(shù)中前8個(gè)質(zhì)數(shù)的平方根的小數(shù)部分取前32bit而來(lái)。常量是對(duì)自然數(shù)中前64個(gè)質(zhì)數(shù)的立方根的小數(shù)部分取前32bit而來(lái)。信息預(yù)處理:1.填充比特。在報(bào)文末尾進(jìn)行填充,使報(bào)文長(zhǎng)度=448(mod512),規(guī)則為先補(bǔ)第一個(gè)比特為1,然后都補(bǔ)0,若長(zhǎng)度剛好為448也必須填充,此時(shí)需要增加512位,即填充的位數(shù)[1,512]。2.附加長(zhǎng)度值附加長(zhǎng)度值就是將原始數(shù)據(jù)的長(zhǎng)度信息(無(wú)符號(hào)整數(shù)64bit)附加到已經(jīng)填充消息的后面。前兩個(gè)附加長(zhǎng)度就構(gòu)成了一個(gè)長(zhǎng)度為512整數(shù)倍的消息結(jié)構(gòu)。問(wèn)答題基本流程:將消息M分解成n個(gè)512-bit大小的塊一個(gè)256-bit的摘要的初始值H0,經(jīng)過(guò)第一個(gè)數(shù)據(jù)塊進(jìn)行運(yùn)算,得到H1,即完成了第一次迭代H1經(jīng)過(guò)第二個(gè)數(shù)據(jù)塊得到H2,……,依次處理,最后得到Hn。Hi是第i個(gè)消息分組處理的最后一輪的輸出。H0[8]=[h0,h1,h2,h3,h4,h5,h6,h7]。Hi被描述8個(gè)小塊,這是因?yàn)镾HA256算法中的最小運(yùn)算單元稱為“字”(Word),一個(gè)字是32位。構(gòu)造64個(gè)字,對(duì)于每一個(gè)512bit的塊,將其分解為16個(gè)32bit的(big-endian)字,記為w[0],w[1],……,w[15]其余的字由如下迭代公式得到:Wt

=σ1(W

t?2

)+W

t?7

0

(W

t?15

)+W

t?16

然后進(jìn)行64次加密循環(huán),Hi按照一定規(guī)則不斷更新問(wèn)答題(3)描述PGP進(jìn)行數(shù)字簽名的工作流程。給出你對(duì)消息“informationsecurity”的簽名和對(duì)應(yīng)該簽名的公、私鑰。生成數(shù)字簽名:送者輸入簽名時(shí)用的口令。求口令的散列值,生成用于解密私鑰的密鑰。將鑰匙串中經(jīng)過(guò)加密的私鑰進(jìn)行解密。用單項(xiàng)散列函數(shù)計(jì)算消息的散列值。對(duì)上一次操作中得到的散列值進(jìn)行簽名。將生成的數(shù)字簽名與消息進(jìn)行加密。將結(jié)果進(jìn)行壓縮。將上一步結(jié)果轉(zhuǎn)換為文本數(shù)據(jù)。驗(yàn)證數(shù)字簽名:將報(bào)文數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)。將經(jīng)過(guò)壓縮的數(shù)據(jù)進(jìn)行解壓縮。將解壓縮后的數(shù)據(jù)分解成經(jīng)過(guò)簽名的散列值和消息兩部分。將經(jīng)過(guò)簽名的散列值用發(fā)送者的公鑰進(jìn)行解密,回復(fù)發(fā)送者發(fā)送的散列值。找到并計(jì)算散列值,與已有的散列值進(jìn)行對(duì)比,結(jié)果相等則數(shù)字簽名驗(yàn)證成功,否則失敗。(4)GPG軟件作為用于加密和數(shù)字簽名的開(kāi)放源碼工具,許多Linux發(fā)行版本都自帶了該軟件。請(qǐng)簡(jiǎn)單描述該軟件的使用方法。1生成密鑰。2查看已有密鑰。3對(duì)信息進(jìn)行加密。4解密。5生成簽名6驗(yàn)證簽名消息摘要與數(shù)字簽名算法的實(shí)現(xiàn)實(shí)驗(yàn)?zāi)康?1.熟練掌握消息摘要、認(rèn)證碼和數(shù)字簽名的概念和作用。2.熟悉Java環(huán)境下實(shí)現(xiàn)上述算法的類和方法的使用。3.能夠編程實(shí)現(xiàn)摘要、認(rèn)證碼和簽名的計(jì)算。實(shí)驗(yàn)報(bào)告(1)說(shuō)明實(shí)驗(yàn)內(nèi)容(1)中代碼的作用。//A使用私鑰(n,d)對(duì)h(m)加密,生成簽名

intc=1;for(inti=0;i<d;i++){c=c*m;c=c%n;}//A計(jì)算m的消息摘要

//B使用A的公鑰(n,e)解密inte=1769;//A公鑰m=1;for(inti=0;i<e;i++){m=m*c;m=m%n;}//B解密If(m=707)//B解密得到的m與A進(jìn)行對(duì)比System.out.println("\nSignatureverificationOK")//如果一致,簽名就驗(yàn)證成功elseSystem.out.println("\nSignatureverificationWrong");//不成功,輸出wrong}}M為消息內(nèi)容,(n,d)為A的私鑰,(n,e)為A的公鑰,第一個(gè)for循環(huán)是A用A的私鑰對(duì)M進(jìn)行簽名的過(guò)程,第二個(gè)for循環(huán)是B用A的公鑰對(duì)消息摘要進(jìn)行解密的過(guò)程,驗(yàn)證B解密得到的消息摘要M與最初的M是否一致,如果一致,數(shù)字簽名就驗(yàn)證成功,否者就不成功publicclassCheckSign{publicstaticvoidmain(){intm=707;//消息摘要

intd=425;//A私鑰intn=3431;//A私鑰/(2)實(shí)驗(yàn)內(nèi)容(2)的輸出是多少位?給出一個(gè)測(cè)試結(jié)果

(3)給出實(shí)驗(yàn)內(nèi)容(3)的測(cè)試結(jié)果,為什么要先做摘要后簽名?。從可行性上看:接收方需要通過(guò)摘要驗(yàn)證數(shù)據(jù)完整性,然而接收方無(wú)法對(duì)數(shù)據(jù)進(jìn)行簽名,因此無(wú)法驗(yàn)證數(shù)據(jù)摘要一致性。從時(shí)間效率看:對(duì)原始數(shù)據(jù)進(jìn)行簽名(加密)時(shí)間太長(zhǎng),而摘要算法本身是壓縮映射,可以縮短簽名消耗的時(shí)間。問(wèn)答題(1)請(qǐng)描述SHA系列的摘要算法的安全性。SHA系列摘要算法是在MD4算法的基礎(chǔ)上演進(jìn)而來(lái),通過(guò)SHA算法同樣能夠得到一個(gè)固定長(zhǎng)度的摘要信息。與MD系列算法不同的是:若輸入的消息不同,則與其相對(duì)應(yīng)的摘要信息的差異概率很高。SHA算法是FIPS所認(rèn)證的五種安全雜湊算法。SHA算法的安全性體現(xiàn)在:由消息摘要反推輸入信息,從理論上來(lái)說(shuō)是非常困難的。想要找到兩組不同輸入信息對(duì)應(yīng)到相同的摘要信息,從理論上來(lái)說(shuō)是非常困難的。輸入信息任何變動(dòng),都有很高的幾率導(dǎo)致其產(chǎn)生的摘要消息差異很大。問(wèn)答題(2)常用的數(shù)字簽名算法有哪些?Java的signature類提供了哪些算法?常見(jiàn)的數(shù)字簽名算法主要有RSA、DSA、ECDSA三種。RSA是目前計(jì)算機(jī)密碼學(xué)中最經(jīng)典算法,也是目前為止使用最廣泛的數(shù)字簽名算法,密鑰的產(chǎn)生和轉(zhuǎn)換都是一樣的,包括在售的所有SSL數(shù)字證書(shū)、代碼簽名證書(shū)、文檔簽名以及郵件簽名大多都采用RSA算法進(jìn)行加密。DSA只是一種算法,不能用于加密和解密,也不能進(jìn)行密鑰交換,只用于簽名,所以它比RSA要快很多,其安全性與RSA相比差不多,DSA的一個(gè)重要特點(diǎn)是兩個(gè)素?cái)?shù)公開(kāi),當(dāng)使用別人的p和q時(shí),即使不知道私鑰,也能確認(rèn)它們是否是隨機(jī)產(chǎn)生的。ECDSA用于數(shù)字簽名是

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論