數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第1頁
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第2頁
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第3頁
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第4頁
數(shù)字簽名及在網(wǎng)絡(luò)中的應(yīng)用_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)字簽名方案數(shù)字簽名方案 公鑰簽名方案: 利用私鑰生成簽名 利用公鑰驗(yàn)證簽名 只有私鑰的擁有者才能生成簽名 所以能夠用于證明誰生成的消息 任何知道公鑰的人可以驗(yàn)證消息 (他們要確認(rèn)公鑰擁有者的身份,這是公鑰的密鑰分配問題) 通常不對整個消息簽名,因?yàn)檫@將會使交換信息長度增加一倍使用消息的 hashhash 值數(shù)字簽名可以提供消息的不可否認(rèn)性, RSA RSA 加密解密是可交換的 可以用于數(shù)字簽名方案 給定 RSA 方案 (e,R), (d,p,q) 要簽名消息M:計算: S = Md(mod R) 要驗(yàn)證簽名,計算: M = Se(mod R) = Me.d(mod R) = M(mod R)

2、 RSA 使用使用 使用RSA加密、認(rèn)證: 使用發(fā)送者的私鑰簽名一個消息 使用接收者的公鑰加密消息 看起來,一個消息可用RSA加密、簽名而不改變大小 但是,加密使用的是消息接收者的模,簽名是消息發(fā)送者的模,后著可能比前者小 交換兩者順序? 簽名常使用HASH函數(shù)值 El Gamal Signature Scheme ElGamal 加密算法是不可交換的 存在一個相關(guān)的簽名算法 安全性是基于計算離散對數(shù)的困難性 方案的密鑰生成是相同的: 有個共享的素數(shù) p, 公開的本原根 a 每個用戶選擇一個隨機(jī)數(shù)作為私鑰 x 計算各自的公開密鑰: y = ax mod p 公鑰是 (y,a,p) 私鑰是 (x

3、) El Gamal 簽名方案的使用簽名方案的使用 簽名消息 M: 選擇隨機(jī)數(shù) k, GCD(k,p-1)=1 計算 K = ak(mod p) 用 Euclidean (inverse) 擴(kuò)展算法求 S:M = x.K + k.S mod (p-1); 即求 S = k-1(M - x.K) mod (p-1) 簽名是 (K,S) k 應(yīng)該被銷毀 同ElGamal 加密方案, 簽名信息也是消息的2倍 驗(yàn)證 (K,S) 是 對M的簽名: yK.KSmod p = aMmod p ElGamal 簽名方案舉例簽名方案舉例 取 p=11, g=2 選擇私鑰 x=8 計算: y = ax mod p

4、 = 28 mod 11 = 3 公鑰是: y=3,g=2,p=11 對 M=5 簽名: 選擇隨機(jī)數(shù) k=9 確定 gcd(10,9)=1 計算: K = ak mod p = 29 mod 11 = 6 解: 5 = 8.6+9.S mod 10; nb 9-1 = 9 mod 10;因此 S = 9.(5-8.6) = 3 mod 10 簽名是 (K=6,S=3) 要驗(yàn)證簽名, 確認(rèn):36.63 = 25 mod 113.7 = 32 = 10 mod 11 DSA (Digital Signature Algorithm) US Federal Govt approved signatu

5、re scheme (FIPS PUB 186) 使用 SHA hash alg NIST & NSA 在 90s初設(shè)計 DSA 是算法, DSS 是標(biāo)準(zhǔn) 對此標(biāo)準(zhǔn)宣布的爭議! 是否需要使用 RSA DSA 是 ElGamal 及Schnorr algorithms 的變形 生成 320 bit 簽名 安全性是基于離散對數(shù) 被廣泛接收DSA 密鑰生成密鑰生成 首先選取公開參數(shù) (p,q,g) : 選取大素數(shù) p = 2L L= 512 to 1024 bits(64倍數(shù)) 選取 q, 160 bit 素因子( of p-1 ) 選擇 g = h(p-1)/q 對任何 h1 每個用戶選取

6、私鑰并計算他們的公鑰: 選取 xq 計算 y = gx(mod p) DSA 簽名生成與驗(yàn)證簽名生成與驗(yàn)證 簽名消息 M 生成隨機(jī)簽名蜜鑰 k, kq 計算 r = (gk(mod p)(mod q) s = k-1.SHA(M)+ x.r (mod q) 發(fā)送簽名 (r,s)及消息M 驗(yàn)證簽名, 計算: w = s-1(mod q) u1= (SHA(M).w)(mod q) u2= r.w(mod q) v = (gu1.yu2(mod p)(mod q) v=r 簽名有效 DSA 安全性安全性 基于離散對數(shù) 最初建議使用一個共同的 modulus p 現(xiàn)在建議不同的工作組使用不同的 (p

7、,q,g) Gus Simmons 發(fā)現(xiàn)存在潛信道,能夠泄露私鑰帶密鑰的帶密鑰的HASH 以上的簽名方法都是公鑰技術(shù) 計算與數(shù)據(jù)量較大 需要私鑰的認(rèn)證方案 好的方法是使用快速的hash 函數(shù): 密鑰與消息同時參加運(yùn)算:KeyedHash = Hash(Key|Message) 有一些弱點(diǎn) 隨后建議:KeyedHash = Hash(Key1|Hash(Key2|Message) HMAC HMAC 是使用帶密鑰的HASH函數(shù)的結(jié)果 成為internet標(biāo)準(zhǔn) (RFC2104) 結(jié)構(gòu):HMACK = Hash(K+ XOR opad)|Hash(K+ XOR ipad)|M) K+ 是經(jīng)過填充的

8、密鑰 opad, ipad 特殊的填充值 Opad=01011010重復(fù)b/8次 ipad=00110110重復(fù)b/8次 安全性是基于原來的HASH函數(shù)的安全性 任何 MD5, SHA-1, RIPEMD-160 都可以這樣使用 數(shù)字簽名在網(wǎng)絡(luò)中的應(yīng)用 數(shù)字簽名是公鑰密碼的一種具體應(yīng)用。數(shù)字簽名是公鑰密碼的一種具體應(yīng)用。 隨著計算機(jī)網(wǎng)絡(luò)的廣泛使用,以及網(wǎng)絡(luò)隨著計算機(jī)網(wǎng)絡(luò)的廣泛使用,以及網(wǎng)絡(luò)的安全問題日益突出。的安全問題日益突出。 目前,數(shù)字簽名在網(wǎng)絡(luò)中已有多種應(yīng)用,目前,數(shù)字簽名在網(wǎng)絡(luò)中已有多種應(yīng)用,我們以軟件發(fā)行簽名為例加以說明。我們以軟件發(fā)行簽名為例加以說明。數(shù)字簽名能用手寫簽名的方式實(shí)現(xiàn)

9、嗎? 在在現(xiàn)實(shí)生活現(xiàn)實(shí)生活中,中,簽名能夠被偽造簽名能夠被偽造,簽名,簽名能夠從文章中盜用能夠從文章中盜用移到移到另一篇文章中,另一篇文章中,文件在簽名后能夠被改變文件在簽名后能夠被改變。 計算機(jī)文件易于復(fù)制。即使某人的簽名計算機(jī)文件易于復(fù)制。即使某人的簽名難以偽造(例如,難以偽造(例如,手寫簽名的圖形手寫簽名的圖形),),但是從一個文件到另一個文件復(fù)制和粘但是從一個文件到另一個文件復(fù)制和粘貼有效的簽名都是很容易的貼有效的簽名都是很容易的,這種簽名并這種簽名并沒有什么意義;沒有什么意義;其次文件在簽名后也易其次文件在簽名后也易于修改,并且不會留下任何修改的痕跡于修改,并且不會留下任何修改的痕跡

10、。數(shù)字簽名應(yīng)滿足的條件? 簽名是可信的簽名是可信的。簽名使文件的。簽名使文件的接收者接收者相信相信簽名者簽名者在文在文件上簽的字。件上簽的字。 簽名不可偽造簽名不可偽造。簽名證明是簽字者而不是其他人在文。簽名證明是簽字者而不是其他人在文件上簽字。件上簽字。 簽名不可重用簽名不可重用。簽名是文件的一部分,不法之徒不可。簽名是文件的一部分,不法之徒不可能將簽名移到不同的文件上。能將簽名移到不同的文件上。 簽名的文件是不可改變的簽名的文件是不可改變的。在文件簽名后,文件不能。在文件簽名后,文件不能改變。改變。 簽名是不可抵賴的簽名是不可抵賴的。簽名和文件是物理的東西。簽名。簽名和文件是物理的東西。簽

11、名者事后不能聲稱他沒有簽過名。者事后不能聲稱他沒有簽過名。數(shù)字簽名原理 公鑰密碼有兩個密鑰,一個可以公開,稱為公鑰,另公鑰密碼有兩個密鑰,一個可以公開,稱為公鑰,另一個必須保密,稱為私鑰。一個必須保密,稱為私鑰。 一般加解密過程為用公鑰加密,用私鑰解密。一般加解密過程為用公鑰加密,用私鑰解密。 數(shù)字簽名與之相反,簽名者用私鑰加密,并把加密結(jié)數(shù)字簽名與之相反,簽名者用私鑰加密,并把加密結(jié)果與原文放在一起。果與原文放在一起。 簽名驗(yàn)證者用公鑰解密密文,并與原文相比,簽名驗(yàn)證者用公鑰解密密文,并與原文相比,相同則相同則簽名有效,不同則簽名無效簽名有效,不同則簽名無效。 這樣就能起到與手寫簽名同樣的效果。這樣就能起到與手寫簽名同樣的效果。軟件發(fā)行簽名原理 軟件發(fā)行者通過網(wǎng)絡(luò)發(fā)行軟件時,要防止攻擊者軟件發(fā)行者通過網(wǎng)絡(luò)發(fā)行軟件時,要防止攻擊者假冒假冒發(fā)行者,還要防止軟件發(fā)行后被篡改。發(fā)行者,還要防止軟件發(fā)行后被篡改。 這可用數(shù)字簽名來實(shí)現(xiàn)。這可用數(shù)字簽名來實(shí)現(xiàn)。 軟件發(fā)行者生成軟件后,用軟件發(fā)行者生成軟件后,用私鑰對軟件簽名私鑰對軟件簽名,再把,再把軟軟件本身、簽名結(jié)果、公鑰證書制作成一個包發(fā)行件本身、簽名結(jié)果、公鑰證書制作成一個包發(fā)行。 這樣用戶可以從公鑰證書知道發(fā)行者的真實(shí)身份,經(jīng)這樣用戶可以從公

溫馨提示

  • 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

提交評論