《密碼學(xué)》06 數(shù)字簽名_第1頁
《密碼學(xué)》06 數(shù)字簽名_第2頁
《密碼學(xué)》06 數(shù)字簽名_第3頁
《密碼學(xué)》06 數(shù)字簽名_第4頁
《密碼學(xué)》06 數(shù)字簽名_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

密碼學(xué)第六章數(shù)字簽名數(shù)字簽名概述1RSA數(shù)字簽名方案2數(shù)字簽名標(biāo)準(zhǔn)算法DSA3第六章數(shù)字簽名

(1)表示簽名者對消息的認(rèn)可;(2)他人可識別和驗證出是誰的簽名;(3)他人無法偽造和更改簽名,即

(A)無法憑空造出一個簽名;(B)對一個文件的簽名不能復(fù)制或篡改成對另一個文件的簽名;(4)可仲裁性:出現(xiàn)爭議時第三方可仲裁。1、手書簽名的目的和作用一、數(shù)字簽名概述仲裁的內(nèi)容:

(1)簽名者是否在抵賴,否認(rèn)簽名;(2)驗證者是否在欺詐,偽造簽名。簽名的實現(xiàn)方式:

就是在原文件上追加一定的筆跡信息,并使二者形成一個整體。對電子文檔的簽名也應(yīng)達(dá)到同樣的目的。一、數(shù)字簽名概述

數(shù)字簽名是使以數(shù)字形式存儲的文件信息經(jīng)過特定密碼變換生成數(shù)據(jù),作為相應(yīng)文件的簽名,使文件信息的接收者能夠驗證信息確實來自合法用戶,以及確認(rèn)信息發(fā)送者身份。2、數(shù)字簽名的簡單定義形象地說:它通常是跟隨在正文數(shù)據(jù)后的“尾巴”,別人可以通過“尾巴”證明這段正文確實是作者的“原著”,卻創(chuàng)造不出和作者相同的“作品”,而作者不能抵賴,說那段正文不是他的著作。一、數(shù)字簽名概述(1)簽名應(yīng)與文件是一個不可分割的整體;

實現(xiàn):對消息進(jìn)行某種變換完成簽名;使簽名是報文或待簽名的文件的函數(shù)。(2)簽名者事后不能否認(rèn)自己的簽名;

實現(xiàn):簽名是通過發(fā)方所獨有的秘密信息來完成,并且該秘密信息對應(yīng)惟一公開的驗證信息,使簽名者不能抵賴自己的簽名。3、數(shù)字簽名應(yīng)滿足的條件一、數(shù)字簽名概述(3)接收者能驗證簽名,而任何其他人都不能偽造簽名;

實現(xiàn):簽名必須與特定的公開信息相對應(yīng),使收方能夠驗證;簽名應(yīng)與簽名者獨有的秘密信息密切相關(guān),使其他人不能偽造。(4)當(dāng)雙方關(guān)于簽名的真?zhèn)伟l(fā)生爭執(zhí)時,一個法官或第三方能解決雙方之間發(fā)生的爭執(zhí)。

實現(xiàn):簽名對應(yīng)的驗證密鑰應(yīng)由可信的第三方確認(rèn)并公布。當(dāng)發(fā)生爭執(zhí)時,靠法律解決爭端。

一、數(shù)字簽名概述(1)

簽名實現(xiàn):對消息進(jìn)行某種變換完成簽名;

(2)

識別和驗證:

利用簽名者的公開信息(簽名識別密鑰)和文件的公開性;

(3)簽名不能偽造:

簽名應(yīng)與簽名者獨有的秘密信息(簽名密鑰)密切相關(guān);

(4)

可仲裁性:靠法律解決爭端。簽名者的簽名識別密鑰應(yīng)由可信的第三方確認(rèn)并公布。法律介入:在發(fā)證中心和認(rèn)證中心(仲裁中心)認(rèn)可、參與下解決爭端。4、如何達(dá)到簽名的目的一、數(shù)字簽名概述

(1)利用特殊的公鑰密碼算法實現(xiàn)。

并非所有的公鑰密碼算法都能實現(xiàn)數(shù)字簽名,只有滿足

的公鑰密碼算法,才能實現(xiàn)數(shù)字簽名。其中D是脫密算法,E是加密算法。(2)利用專門設(shè)計的數(shù)字簽名算法實現(xiàn)。5、數(shù)字簽名方案的分類一、數(shù)字簽名概述

設(shè)計方法:用戶A將其私鑰kd作為其簽名密鑰,將對應(yīng)的公鑰ke作為其簽名識別密鑰;

用戶A對文件m的簽名過程:

(1)利用簽名密鑰kd對m執(zhí)行脫密變換D,得到簽名;(2)簽名者將文件m及其簽名sign(m)一起公布。

基于公鑰算法設(shè)計的數(shù)字簽名一、數(shù)字簽名概述仲裁:

與簽名識別過程相同。

利用用戶A的簽名識別密鑰ke對簽名sign(m)執(zhí)行加密變換E,得到若它與m相等,則判斷Sign(m)是用戶A對文件m的簽名;否則,Sign(m)不是用戶A對文件m的簽名。用戶B對簽名的驗證過程:一、數(shù)字簽名概述

記用戶A的參數(shù)為(NA,eA,dA),用戶B的參數(shù)為(NB,eB,dB),E為加密算法,D為脫密算法。RSA數(shù)字簽名方案(一)實現(xiàn)保密通信的RSA算法加密:脫密:二、RSA數(shù)字簽名方案A的簽名:驗證:(二)實現(xiàn)數(shù)字簽名的RSA算法由于與eA

相對應(yīng)的dA是A所獨有,因此c一定來自A,又因為eA是公開的,則m不能保密。將m和c一起發(fā)送,作為簽名(m,c)。二、RSA數(shù)字簽名方案(三)RSA簽名與加密的結(jié)合

如果要實現(xiàn)帶有簽名的保密通信,只需將兩個用戶的加、脫密變換結(jié)合在一起即可。由于在變換過程中用到兩個模數(shù),為了使逆變換唯一,需區(qū)分兩個模數(shù)的大小,具體處理如下:由于RSA算法滿足E(D(m))=D(E(m))=m,因此可實現(xiàn)帶有簽名的保密通信。二、RSA數(shù)字簽名方案1、當(dāng)NA<NB時,先簽名,后加密(1)用戶A先用自己的保密密鑰dA對消息m進(jìn)行簽名,得到:(2)A再用用戶B的公開密鑰eB對簽名y進(jìn)行加密,得到:然后將既簽名,又加密了的c發(fā)送給用戶B;(3)B收到c后,先進(jìn)行變換:再用A的公開密鑰作變換:從而驗證簽名來自A。二、RSA數(shù)字簽名方案2、當(dāng)NA>NB時,先加密,后簽名(1)用戶A先用B的公開密鑰eB對消息m進(jìn)行加密,得到:(2)A再用自己的保密密鑰dA對y進(jìn)行簽名,得到:然后將既簽名,又加密了的c發(fā)送給用戶B;(3)B收到c后,先進(jìn)行變換:再用自己的保密密鑰作變換:從而驗證簽名來自A。二、RSA數(shù)字簽名方案

解:因為NA=39

<55

NB

,所以對消息

m=6

應(yīng)該先簽名,后加密。此時NA=pA×qA

=3×13=39,eA=5,因此例:設(shè)用戶A,B要應(yīng)用RSA進(jìn)行簽名加密,用戶A的公開密鑰為(39,5),用戶B的公開密鑰為(55,7),求用戶A向用戶B傳送的對消息m=6的保密簽名。eA=5與互素,故可解模方程,二、RSA數(shù)字簽名方案利用擴(kuò)展的歐幾里德算法計算12

5×2+25

2×2+11=

5

-2×22=

12

-5×21

5

-2×(

12

-5×2)=

5

×

5

-

12

×2可得,即dA=5,二、RSA數(shù)字簽名方案第一步,用戶A先用自己的保密密鑰dA

=5對消息m=6進(jìn)行簽名,得到:第二步,用戶A

再用用戶

B

的公開密鑰

eB

=7

對簽名

15

進(jìn)行加密,得到:所以用戶A向用戶B傳送的對消息m=6的保密簽名為5二、RSA數(shù)字簽名方案3、仲裁問題當(dāng)A、B之間因A的簽名的真實性問題發(fā)生爭執(zhí)時,可通過可信的第三方S,用如下方法解決。(1)當(dāng)NA<NB時(c=EB(

DA(m))B向S提供:m和x=DB(c);實際上DB(c)=DA(m)S計算EA(x)記為m1;若m=m1,則簽名來自A,否則簽名是偽造的。二、RSA數(shù)字簽名方案(2)當(dāng)NA>NB時(c=DA(EB(m)))B向S提供:m和c=DA(EB(m));S計算EB(m)=x;

計算EA(c)=x1;(實際上EA(c)=EB(m))若x=x1,則簽名來自A,否則簽名是偽造的。二、RSA數(shù)字簽名方案(1)利用用戶A的簽名識別密鑰ke,任意給定y,任何人都可計算出:x=yemodn,因而可以偽造對消息x的簽名y。注意:文件x是哪個值,偽造者無法控制。雖然可偽造(文件—簽名)對,但這里的文件x可能是毫無意義的隨機數(shù)。第三者無法偽造出想要的文件的簽名。

(四)RSA數(shù)字簽名的缺點二、RSA數(shù)字簽名方案(2)如果用戶A對文件x1和文件x2的簽名分別為y1和y2,由于(x1x2)dmodn=[(x1dmodn)(x2dmodn)]modn故任何第三方知道x1,x2,y1,y2,都可偽造出用戶A對文件x1x2modn的簽名y1y2modn。注意:

文件x1x2modn

是哪個值偽造者無法控制。二、RSA數(shù)字簽名方案(3)對長文件的簽名若采取電碼本方式逐塊簽名,則(A)簽名變長,簽名速度慢;(B)會遭遇替換攻擊(重新組合和替換文件塊)。

解決方案:

先將文件壓縮成一個摘要,再對摘要簽名。二、RSA數(shù)字簽名方案數(shù)字簽名的一般過程報文報文摘要雜湊函數(shù)對摘要的簽名報文公布簽名者的身份生成一個簽名,并公布恰當(dāng)信息使第三方能夠驗證簽名。二、RSA數(shù)字簽名方案

1991年8月,美國國家標(biāo)準(zhǔn)技術(shù)研究所(NIST)提出了DSA(DigitalSignatureAlgorithm),將其用作數(shù)字簽名標(biāo)準(zhǔn)DSS(DigitalSignatureStandard)。

1994年5月公布DSA算法;1994年12月DSA算法被正式采納。三、數(shù)字簽名標(biāo)準(zhǔn)算法DSA(一)DSA算法的安全性基礎(chǔ):有限域上離散對數(shù)問題的難解性。三、數(shù)字簽名標(biāo)準(zhǔn)算法DSA(二)DSA算法1、DSA參數(shù)選?。?)選取大素數(shù)p;(p是L比特的大素數(shù),L至少為512比特,并且是64的倍數(shù))(2)選取素數(shù)q;(q是p-1的一個160比特的素數(shù)因子)三、數(shù)字簽名標(biāo)準(zhǔn)算法DSA(3)選取整數(shù)g=h(p-1)/qmodp;(g>1;其中1<h<p-1)(4)隨機選取整數(shù)x;(0<x<q)(5)計算y=gxmodp;公開參數(shù):p,q,g;公開密鑰:y;保密密鑰:x三、數(shù)字簽名標(biāo)準(zhǔn)算法DSA設(shè)用戶A要對消息m進(jìn)行簽名,則:(1)A秘密選取一個小于q的隨機數(shù)k;(2)A計算:則其簽名為(r,s)2、簽名過程注:H(m)是算法選定的雜湊函數(shù),可將任意長的輸入變換為定長的輸出;k-1是kmodq的逆元。三、數(shù)字簽名標(biāo)準(zhǔn)算法DSA(1)收方B計算(2)如果v=r,則B確認(rèn)(r,s)是A對m的簽名,否則簽名無效。3、驗證過程注

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論