ch數(shù)字簽名與認證散列算法實用_第1頁
ch數(shù)字簽名與認證散列算法實用_第2頁
ch數(shù)字簽名與認證散列算法實用_第3頁
ch數(shù)字簽名與認證散列算法實用_第4頁
ch數(shù)字簽名與認證散列算法實用_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1ch數(shù)字簽名與認證散列算法實用思考題1:安全的hash函數(shù)的特點是:

1.hash函數(shù)能從任意長度的M中產(chǎn)生固定長度的散列值h。

2.已知M時,利用h(M)很容易計算出h。

3.已知h時,要想從h(M)中計算出M是很困難的。

4.已知M時,要找出另一信息M‘,使h(M)=h(M’)是很困難的。最常用的hash算法有MD5、SHA算法等。第1頁/共17頁MD5MD5(Message-Digest

Algorithm

5)是由Ronald

L.

Rivest(RSA算法中的“R”)這90年代初開發(fā)出來的,經(jīng)MD2、MD3和MD4發(fā)展而來。它比MD4復雜,但設計思想類似,同樣生成一個128位的信息散列值。其中,MD2是為8位機器做過設計優(yōu)化的,而MD4和MD5卻是面向32位的計算機。2004年8月,在美國召開的國際密碼學會議(Crypto’2004)上,王小云教授給出破解MD5、HAVAL-128、MD4和RIPEMD算法的報告。給出了一個非常高效的尋找碰撞的方法,可以在數(shù)個小時內(nèi)找到MD5的碰撞。第2頁/共17頁MD5算法步驟1)填充消息:任意長度的消息首先需要進行填充處理,使得填充后的消息總長度與448模512同余(即填充后的消息長度448mod512)。填充的方法是在消息后面添加一位“1”,后續(xù)都是“0”。2)添加原始消息長度:在填充后的消息后面再添加一個64位的二進制整數(shù)表示填充前原始消息的長度。這時經(jīng)過處理后的消息長度正好是512位的倍數(shù)。3)初始值(IV)的初始化:MD5中有四個32位緩沖區(qū),用(A,B,C,D)表示,用來存儲散列計算的中間結(jié)果和最終結(jié)果,緩沖區(qū)中的值被稱為鏈接變量。首先將其分別初始化為為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。第3頁/共17頁3.2.2MD5算法4)以512位的分組為單位對消息進行循環(huán)散列計算:經(jīng)過處理的消息,以512位為單位,分成N個分組,用M0,M1,...,MN-1。MD5對每個分組進行散列處理。每一輪的處理會對(A,B,C,D)進行更新。5)輸出散列值:所有的N個分組消息都處理完后,最后一輪得到的四個緩沖區(qū)的值即為整個消息的散列值。第4頁/共17頁消息100...00LM0M11MiMN-1-512位512位512位512位……HMD5512128IVHMD5512128…HMD5512128…HMD5512128CV1CViCVN-1128位的散列值L位原始消息長度(64位)填充位N′512位MD5算法步驟-續(xù)第5頁/共17頁

最后的輸出就是A、B、C、D的級聯(lián),即A作為低位,D作為高位,共128位輸出。

MD5被廣泛用于加密和解密技術中,可以用來保護密碼、生成軟件注冊碼等。MD5典型應用:在很多操作系統(tǒng)中,用戶的密碼是以MD5值的方式保存的.

第6頁/共17頁

3.2.3SHA算法

SHA-1散列算法過程如下:

1.SHA-1對輸入明文的預處理過程和MD5相同,但SHA輸出為160位,并分別存儲于五個32位變量中,這五個變量初始值為:

A=0x67452301B=0xefedab89C=0x98badefeD=0x10325476E=0xc3d2elf0

和MD5算法一樣,SHA-1一次處理512位信息,主循環(huán)的次數(shù)就是信息中512位分組的數(shù)目。第7頁/共17頁

3.2.4SHA-1與MD5比較1安全性

SHA-1摘要比MD5摘要長32比特,強行攻擊及偽造簽名更難2速度

SHA-1比MD5的運行步驟多16個,占用的緩存多了32位,所以速度慢25%3簡單性總體上SHA-1對每一步的操作描述比MD5簡單第8頁/共17頁數(shù)字簽名數(shù)字簽名也是一種認證機制,它是公鑰密碼學發(fā)展過程中的一個重要組成部分,是公鑰密碼算法的典型應用。數(shù)字簽名的應用過程是,數(shù)據(jù)源發(fā)送方使用自己的私鑰對數(shù)據(jù)校驗和或其他與數(shù)據(jù)內(nèi)容有關的信息進行處理,完成對數(shù)據(jù)的合法“簽名”,數(shù)據(jù)接收方則利用發(fā)送方的公鑰來驗證收到的消息上的“數(shù)字簽名”,以確認簽名的合法性。第9頁/共17頁數(shù)字簽名數(shù)字簽名需要滿足以下條件:簽名的結(jié)果必須是與被簽名的消息相關的二進制位串;簽名必須使用發(fā)送方某些獨有的信息(發(fā)送者的私鑰),以防偽造和否認;產(chǎn)生數(shù)字簽名比較容易;識別和驗證簽名比較容易;給定數(shù)字簽名和被簽名的消息,偽造數(shù)字簽名在計算上是不可行的。保存數(shù)字簽名的拷貝,并由第三方進行仲裁是可行的。第10頁/共17頁數(shù)字簽名(1)消息發(fā)送方式與散列函數(shù)對消息進行計算,得到消息的散列值。(2)發(fā)送方使用自己的私鑰對消息散列值進行計算,得到一個較短的數(shù)字簽名串。(3)這個數(shù)字簽名將和消息一起發(fā)送給接收方。(4)接收方首先從接收到的消息中用同樣的散列函數(shù)計算出一個消息摘要,然后使用這個消息摘要、發(fā)送者的公鑰以及收到的數(shù)字簽名,進行數(shù)字簽名合法性的驗證。第11頁/共17頁盲簽名盲簽名是Chaum在1982年首次提出的,并利用盲簽名技術提出了第一個電子現(xiàn)金方案。盲簽名因為具有盲性這一特點,可以有效的保護所簽名的消息的具體內(nèi)容,所以在電子商務等領域有著廣泛的應用。盲簽名允許消息發(fā)送者先將消息盲化,而后讓簽名者對盲化的消息進行簽名,最后消息擁有者對簽名除去盲因子,得到簽名者關于原消息的簽名。第12頁/共17頁盲簽名的性質(zhì)它除了滿足一般的數(shù)字簽名條件外,還必須滿足下面的兩條性質(zhì):1.簽名者不知道其所簽名的消息的具體內(nèi)容。2.簽名消息不可追蹤,即當簽名消息被公布后,簽名者無法知道這是他哪次的簽署的。第13頁/共17頁盲簽名的步驟A期望獲得對消息m的簽名,B對消息m的盲簽名的實現(xiàn)描述如下:盲化:A對于消息進行處理,使用盲因子合成新的消息M并發(fā)生給B;簽名:B對消息M簽名后,將簽名(M,sign(M))返回給給A;去盲:A去掉盲因子,從對M的簽名中得到B對m的簽名。第14頁/共17頁好的盲簽名的性質(zhì)不可偽造性:除了簽名者本人外,任何人都不能以他的名義生成有效的盲簽名。不可抵賴性:簽名者一旦簽署了某個消息,他無法否認自己對消息的簽名。盲性:簽名者雖然對某個消息進行了簽名,但他不可能得到消息的具體內(nèi)容。不可跟蹤性:一旦消息的簽名公開后,簽名者不能確定自己何時簽署的這條消息。第15頁/共17頁盲簽名機制

當用戶從銀行提款時,他先為硬幣隨機生成一個很大的編碼,然后利用盲簽名機制,銀行可用代表不同面值的密鑰對這枚硬幣簽名,從而標定硬幣的幣值。由于編碼很大(大于200位數(shù)字),重復的概率可以忽略不計,再加上盲簽名讓銀行無法知道硬幣編號,從而不能將其記錄下來。

為了防止電子現(xiàn)金的復制,Chaum引入一種盲記錄機制,第一次使用電子硬幣時無法進行跟蹤,而如果重復使用,就有足夠多的信息能查出使用者的帳戶信息,從而采取相應的處罰措施。

對電子硬幣的檢驗同普通的簽名檢驗一樣,商家收到用戶支付的電

溫馨提示

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

評論

0/150

提交評論