




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)字簽名《現(xiàn)代密碼學(xué)》第8章1數(shù)字簽名《現(xiàn)代密碼學(xué)》第8章1本章主要內(nèi)容1、數(shù)字簽名的基本概念2、數(shù)字簽名標(biāo)準(zhǔn)3、其他簽名方案習(xí)題2本章主要內(nèi)容1、數(shù)字簽名的基本概念2數(shù)字簽名由公鑰密碼發(fā)展而來(lái),它在網(wǎng)絡(luò)安全,包括身份認(rèn)證、數(shù)據(jù)完整性、不可否認(rèn)性以及匿名性等方面有著重要應(yīng)用。本章首先介紹數(shù)字簽名的基本概念和一些常用的數(shù)字簽名算法,然后介紹身份認(rèn)證協(xié)議、身份證明技術(shù)以及其他一些常用的密碼協(xié)議。1.數(shù)字簽名的基本概念3數(shù)字簽名由公鑰密碼發(fā)展而來(lái),它在網(wǎng)絡(luò)安全,包括身上一章介紹的消息認(rèn)證其作用是保護(hù)通信雙方以防第三方的攻擊,然而卻不能保護(hù)通信雙方中的一方防止另一方的欺騙或偽造。通信雙方之間也可能有多種形式的欺騙,例如通信雙方A和B(設(shè)A為發(fā)方,B為收方)使用消息認(rèn)證碼的基本方式通信,則可能發(fā)生以下欺騙:1.1數(shù)字簽名應(yīng)滿足的要求4上一章介紹的消息認(rèn)證其作用是保護(hù)通信雙方以防第三①B偽造一個(gè)消息并使用與A共享的密鑰產(chǎn)生該消息的認(rèn)證碼,然后聲稱該消息來(lái)自于A。②由于B有可能偽造A發(fā)來(lái)的消息,所以A就可以對(duì)自己發(fā)過(guò)的消息予以否認(rèn)。這兩種欺騙在實(shí)際的網(wǎng)絡(luò)安全應(yīng)用中都有可能發(fā)生,例如在電子資金傳輸中,收方增加收到的資金數(shù),并聲稱這一數(shù)目來(lái)自發(fā)方。又如用戶通過(guò)電子郵件向其證券經(jīng)紀(jì)人發(fā)送對(duì)某筆業(yè)務(wù)的指令,以后這筆業(yè)務(wù)賠錢了,用戶就可否認(rèn)曾發(fā)送過(guò)相應(yīng)的指令。數(shù)字簽名應(yīng)滿足的要求5①B偽造一個(gè)消息并使用與A共享的密鑰產(chǎn)生該消因此在收發(fā)雙方未建立起完全的信任關(guān)系且存在利害沖突的情況下,單純的消息認(rèn)證就顯得不夠。數(shù)字簽名技術(shù)則可有效解決這一問(wèn)題。類似于手書簽名,數(shù)字簽名應(yīng)具有以下性質(zhì):①能夠驗(yàn)證簽名產(chǎn)生者的身份,以及產(chǎn)生簽名的日期和時(shí)間。②能用于證實(shí)被簽消息的內(nèi)容。③數(shù)字簽名可由第三方驗(yàn)證,從而能夠解決通信雙方的爭(zhēng)議。數(shù)字簽名應(yīng)滿足的要求6因此在收發(fā)雙方未建立起完全的信任關(guān)系且存在利害由此可見,數(shù)字簽名具有認(rèn)證功能。為實(shí)現(xiàn)上述3條性質(zhì),數(shù)字簽名應(yīng)滿足以下要求:①簽名的產(chǎn)生必須使用發(fā)方獨(dú)有的一些信息以防偽造和否認(rèn)。②簽名的產(chǎn)生應(yīng)較為容易。③簽名的識(shí)別和驗(yàn)證應(yīng)較為容易。④對(duì)已知的數(shù)字簽名構(gòu)造一新的消息或?qū)σ阎南?gòu)造一假冒的數(shù)字簽名在計(jì)算上都是不可行的。數(shù)字簽名應(yīng)滿足的要求7由此可見,數(shù)字簽名具有認(rèn)證功能。為實(shí)現(xiàn)上述3數(shù)字簽名的產(chǎn)生可用加密算法或特定的簽名算法。1.由加密算法產(chǎn)生數(shù)字簽名利用加密算法產(chǎn)生數(shù)字簽名是指將消息或消息的摘要加密后的密文作為對(duì)該消息的數(shù)字簽名,其用法又根據(jù)是單鑰加密還是公鑰加密而有所不同。1.2數(shù)字簽名的產(chǎn)生方式8數(shù)字簽名的產(chǎn)生可用加密算法或特定的簽名算法。1.(1)單鑰加密如圖1(a)所示,發(fā)送方A根據(jù)單鑰加密算法以與接收方B共享的密鑰K對(duì)消息M加密后的密文作為對(duì)M的數(shù)字簽名發(fā)往B。該系統(tǒng)能向B保證所收到的消息的確來(lái)自A,因?yàn)橹挥蠥知道密鑰K。再者B恢復(fù)出M后,可相信M未被篡改,因?yàn)閿呈植恢繩就不知如何通過(guò)修改密文而修改明文。具體來(lái)說(shuō),就是B執(zhí)行解密運(yùn)算Y=DK(X),如果X是合法消息M加密后的密文,則B得到的Y就是明文消息M,否則Y將是無(wú)意義的比特序列。1.由加密算法產(chǎn)生數(shù)字簽名9(1)單鑰加密1.由加密算法產(chǎn)生數(shù)字簽名9消息加密產(chǎn)生數(shù)字簽名的基本方式10消息加密產(chǎn)生數(shù)字簽名的基本方式10(2)公鑰加密如圖1(b)所示,發(fā)送方A使用自己的秘密鑰SKA對(duì)消息M加密后的密文作為對(duì)M的數(shù)字簽名,B使用A的公開鑰PKA對(duì)消息解密,由于只有A才擁有加密密鑰SKA,因此可使B相信自己收到的消息的確來(lái)自A。然而由于任何人都可使用A的公開鑰解密密文,所以這種方案不提供保密性。為提供保密性,A可用B的公開鑰再一次加密,如圖1(c)所示。1.由加密算法產(chǎn)生數(shù)字簽名11(2)公鑰加密1.由加密算法產(chǎn)生數(shù)字簽名11下面以RSA簽名體制為例說(shuō)明數(shù)字簽名的產(chǎn)生過(guò)程。①體制參數(shù)。選兩個(gè)保密的大素?cái)?shù)p和q,計(jì)算n=p×q,φ(n)=(p-1)(q-1);選一整數(shù)e,滿足1<e<φ(n),且gcd(φ(n),e)=1;計(jì)算d,滿足d·e≡1modφ(n);以{e,n}為公開鑰,{d,n}為秘密鑰。②簽名過(guò)程。設(shè)消息為M,對(duì)其簽名為S≡Mdmodn1.由加密算法產(chǎn)生數(shù)字簽名12下面以RSA簽名體制為例說(shuō)明數(shù)字簽名的產(chǎn)生過(guò)程③驗(yàn)證過(guò)程。接收方在收到消息M和簽名S后,驗(yàn)證是否成立,若成立,則發(fā)送方的簽名有效。實(shí)際應(yīng)用時(shí),數(shù)字簽名是對(duì)消息摘要加密產(chǎn)生,而不是直接對(duì)消息加密產(chǎn)生,如圖6.3(a)~圖6.3(d)所示。1.由加密算法產(chǎn)生數(shù)字簽名13③驗(yàn)證過(guò)程。1.由加密算法產(chǎn)生數(shù)字簽名13由加密算法產(chǎn)生數(shù)字簽名又分為外部保密方式和內(nèi)部保密方式,外部保密方式是指數(shù)字簽名是直接對(duì)需要簽名的消息生成而不是對(duì)已加密的消息生成,否則稱為內(nèi)部保密方式。外部保密方式便于解決爭(zhēng)議,因?yàn)榈?方在處理爭(zhēng)議時(shí),需得到明文消息及其簽名。但如果采用內(nèi)部保密方式,第3方必須得到消息的解密密鑰后才能得到明文消息。如果采用外部保密方式,接收方就可將明文消息及其數(shù)字簽名存儲(chǔ)下來(lái)以備以后萬(wàn)一出現(xiàn)爭(zhēng)議時(shí)使用。1.由加密算法產(chǎn)生數(shù)字簽名14由加密算法產(chǎn)生數(shù)字簽名又分為外部保密方式和內(nèi)部2.由簽名算法產(chǎn)生數(shù)字簽名簽名算法的輸入是明文消息M和密鑰x,輸出是對(duì)M的數(shù)字簽名,表示為S=Sigx(M)。相應(yīng)于簽名算法,有一驗(yàn)證算法,表示為Verx(S,M),其取值為算法的安全性在于從M和S難以推出密鑰x或偽造一個(gè)消息M′使M′和S可被驗(yàn)證為真。2.由簽名算法產(chǎn)生數(shù)字簽名152.由簽名算法產(chǎn)生數(shù)字簽名2.由簽名算法產(chǎn)生數(shù)字簽名15公鑰簽名方案公鑰簽名方案:利用私鑰生成簽名,利用公鑰驗(yàn)證簽名,只有私鑰的擁有者才能生成簽名,所以能夠用于證明誰(shuí)生成的消息。任何知道公鑰的人可以驗(yàn)證消息,(他們要確認(rèn)公鑰擁有者的身份,這是公鑰的密鑰分配問(wèn)題),通常不對(duì)整個(gè)消息簽名,因?yàn)檫@將會(huì)使交換信息長(zhǎng)度增加一倍,使用消息的hash值,數(shù)字簽名可以提供消息的不可否認(rèn)性,16公鑰簽名方案公鑰簽名方案:16數(shù)字簽名的執(zhí)行方式有兩類:直接方式和具有仲裁的方式。1.直接方式直接方式是指數(shù)字簽名的執(zhí)行過(guò)程只有通信雙方參與,并假定雙方有共享的秘密鑰或接收一方知道發(fā)方的公開鑰。1.3數(shù)字簽名的執(zhí)行方式17數(shù)字簽名的執(zhí)行方式有兩類:直接方式和具有仲裁的直接方式的數(shù)字簽名有一公共弱點(diǎn),即方案的有效性取決于發(fā)方秘密鑰的安全性。如果發(fā)方想對(duì)已發(fā)出的消息予以否認(rèn),就可聲稱自己的秘密鑰已丟失或被竊,因此自己的簽名是他人偽造的??刹扇∧承┬姓侄?,雖然不能完全避免但可在某種程度上減弱這種威脅。例如,要求每一被簽名的消息都包含有一個(gè)時(shí)戳(日期和時(shí)間)并要求密鑰丟失后立即向管理機(jī)構(gòu)報(bào)告。這種方式的數(shù)字簽名還存在發(fā)方的秘密鑰真的被偷的危險(xiǎn),例如敵手在時(shí)刻T偷得發(fā)方的秘密鑰,然后可偽造一消息,用偷得的秘密鑰為其簽名并加上T以前的時(shí)刻作為時(shí)戳。1.直接方式18直接方式的數(shù)字簽名有一公共弱點(diǎn),即方案的有效性上述直接方式的數(shù)字簽名所具有的缺陷都可通過(guò)使用仲裁者得以解決。和直接方式的數(shù)字簽名一樣,具有仲裁方式的數(shù)字簽名也有很多實(shí)現(xiàn)方案,這些方案都按以下方式運(yùn)行:發(fā)方X對(duì)發(fā)往收方Y(jié)的消息簽名后,將消息及其簽名先發(fā)給仲裁者A,A對(duì)消息及其簽名驗(yàn)證完后,再連同一個(gè)表示已通過(guò)驗(yàn)證的指令一起發(fā)往收方Y(jié)。此時(shí)由于A的存在,X無(wú)法對(duì)自己發(fā)出的消息予以否認(rèn)。在這種方式中,仲裁者起著重要的作用并應(yīng)取得所有用戶的信任。2.具有仲裁方式的數(shù)字簽名19上述直接方式的數(shù)字簽名所具有的缺陷都可通過(guò)使用仲以下是具有仲裁方式數(shù)字簽名的幾個(gè)實(shí)例,其中X表示發(fā)方,Y表示收方,A是仲裁者,M是消息,X→Y:M表示X給Y發(fā)送一消息M。2.具有仲裁方式的數(shù)字簽名20以下是具有仲裁方式數(shù)字簽名的幾個(gè)實(shí)例,其中X表例1簽名過(guò)程如下:①X→A:M‖EKXA[IDX‖H(M)]。②A→Y:EKAY[IDX‖M‖EKXA[IDX‖H(M)]‖T]。其中E是單鑰加密算法,KXA和KAY分別是X與A共享的密鑰和A與Y共享的密鑰,H(M)是M的雜湊值,T是時(shí)戳,IDX是X的身份。2.具有仲裁方式的數(shù)字簽名21例1簽名過(guò)程如下:2.具有仲裁方式的數(shù)字簽名21在①中,X以EKXA[IDX‖H(M)]作為自己對(duì)M的簽名,將M及簽名發(fā)往A。在②中A將從X收到的內(nèi)容和IDX、T一起加密后發(fā)往Y,其中的T用于向Y表示所發(fā)的消息不是舊消息的重放。Y對(duì)收到的內(nèi)容解密后,將解密結(jié)果存儲(chǔ)起來(lái)以備出現(xiàn)爭(zhēng)議時(shí)使用。2.具有仲裁方式的數(shù)字簽名22在①中,X以EKXA[IDX‖H(M)]作為如果出現(xiàn)爭(zhēng)議,Y可聲稱自己收到的M的確來(lái)自X,并將EKAY[IDX‖M‖EKXA[IDX‖H(M)]]發(fā)給A,由A仲裁,A由KAY解密后,再用KXA對(duì)EKXA[IDX‖H(M)]解密,并對(duì)H(M)加以驗(yàn)證,從而驗(yàn)證了X的簽名。2.具有仲裁方式的數(shù)字簽名23如果出現(xiàn)爭(zhēng)議,Y可聲稱自己收到的M的確來(lái)自X,并將EKAY[以上過(guò)程中,由于Y不知KXA,因此不能直接檢查X的簽名,但Y認(rèn)為消息來(lái)自于A因而是可信的。所以在整個(gè)過(guò)程中,A必須取得X和Y的高度信任:X相信A不會(huì)泄露KXA,并且不會(huì)偽造X的簽名;Y相信A只有在對(duì)EKAY[IDX‖M‖EKXA[IDX‖H(M)]‖T]中的雜湊值及X的簽名驗(yàn)證無(wú)誤后才將之發(fā)給Y;X,Y都相信A可公正地解決爭(zhēng)議。如果A已取得各方的信任,則X就能相信沒有人能偽造自己的簽名,Y就可相信X不能對(duì)自己的簽名予以否認(rèn)。2.具有仲裁方式的數(shù)字簽名24以上過(guò)程中,由于Y不知KXA,因此不能直接檢查本例中消息M是以明文形式發(fā)送的,因此未提供保密性,下面兩個(gè)例子可提供保密性。例2簽名過(guò)程如下:①X→A:IDX‖EKXY[M]‖EKXA[IDX‖H(EKXY[M])]。②A→Y:EKAY[IDX‖EKXY[M]‖EKXA[IDX‖H(EKXY[M])]‖T]。2.具有仲裁方式的數(shù)字簽名25本例中消息M是以明文形式發(fā)送的,因此未提供保其中KXY是X,Y共享的密鑰,其他符號(hào)與例1相同。X以EKXA[IDX‖H(EKXY[M])]作為對(duì)M的簽名,與由KXY加密的消息M一起發(fā)給A。A對(duì)EKXA[IDX‖H(EKXY[M])]解密后通過(guò)驗(yàn)證雜湊值以驗(yàn)證X的簽名,但始終未能讀取明文M。A驗(yàn)證完X的簽名后,對(duì)X發(fā)來(lái)的消息加一時(shí)戳,再用KAY加密后發(fā)往Y。解決爭(zhēng)議的方法與例1一樣。2.具有仲裁方式的數(shù)字簽名26其中KXY是X,Y共享的密鑰,其他符號(hào)與例1相本例雖然提供了保密性,但還存在與上例相同的一個(gè)問(wèn)題,即仲裁者可和發(fā)方共謀以否認(rèn)發(fā)方曾發(fā)過(guò)的消息,也可和收方共謀以偽造發(fā)方的簽名。這一問(wèn)題可通過(guò)下例所示的采用公鑰加密技術(shù)的方法得以解決。例3簽名過(guò)程如下:①X→A:IDX‖ESKX[IDX‖EPKY[ESKX[M]]]。②A→Y:ESKA[IDX‖EPKY[ESKX[M]]‖T]。2.具有仲裁方式的數(shù)字簽名27本例雖然提供了保密性,但還存在與上例相同的一個(gè)其中SKA和SKX分別是A和X的秘密鑰,PKY是Y的公開鑰,其他符號(hào)與前兩例相同。第①步中,X用自己的秘密鑰SKX和Y的公開鑰PKY對(duì)消息加密后作為對(duì)M的簽名,以這種方式使得任何第3方(包括A)都不能得到M的明文消息。A收到X發(fā)來(lái)的內(nèi)容后,用X的公開鑰可對(duì)ESKX[IDX‖EPKY[ESKX[M]]]解密,并將解密得到的IDX與收到的IDX加以比較,從而可確信這一消息是來(lái)自于X的(因只有X有SKX)。第②步,A將X的身份IDX和X對(duì)M的簽名加上一時(shí)戳后,再用自己的秘密鑰加密發(fā)往Y。2.具有仲裁方式的數(shù)字簽名28其中SKA和SKX分別是A和X的秘密鑰,PK與前兩種方案相比,第3種方案有很多優(yōu)點(diǎn)。首先,在協(xié)議執(zhí)行以前,各方都不必有共享的信息,從而可防止共謀。第二,只要仲裁者的秘密鑰不被泄露,任何人包括發(fā)方就不能發(fā)送重放的消息。最后,對(duì)任何第三方(包括A)來(lái)說(shuō),X發(fā)往Y的消息都是保密的。2.具有仲裁方式的數(shù)字簽名29與前兩種方案相比,第3種方案有很多優(yōu)點(diǎn)。2.具數(shù)字簽名標(biāo)準(zhǔn)DSS(DigitalSignatureStandard)是由美國(guó)NIST公布的聯(lián)邦信息處理標(biāo)準(zhǔn)FIPSPUB186,其中采用了上一章介紹的SHA和一新的簽名技術(shù),稱為DSA(DigitalSignatureAlgorithm)。DSS最初于1991年公布,在考慮了公眾對(duì)其安全性的反饋意見后,于1993年公布了其修改版。2.數(shù)字簽名標(biāo)準(zhǔn)30數(shù)字簽名標(biāo)準(zhǔn)DSS(DigitalSignatureSt首先將DSS與RSA的簽名方式做一比較。RSA算法既能用于加密和簽名,又能用于密鑰交換。與此不同,DSS使用的算法只能提供數(shù)字簽名功能。圖2用于比較RSA簽名和DSS簽名的不同方式。2.1DSS的基本方式31首先將DSS與RSA的簽名方式做一比較。RSA算RSA簽名RSA加密解密是可交換的可以用于數(shù)字簽名方案給定RSA方案{(e,R),(d,p,q)}要簽名消息M:計(jì)算:S=Md(modR)
要驗(yàn)證簽名,計(jì)算:M=Se(modR)=Me.d(modR)=M(modR)
32RSA簽名RSA加密解密是可交換的32使用RSA加密、認(rèn)證:使用發(fā)送者的私鑰簽名一個(gè)消息,使用接收者的公鑰加密消息看起來(lái),一個(gè)消息可用RSA加密、簽名而不改變大小,但是,加密使用的是消息接收者的模,簽名是消息發(fā)送者的模,后著可能比前者小交換兩者順序?簽名常使用HASH函數(shù)值。RSA簽名的使用33使用RSA加密、認(rèn)證:RSA簽名的使用33RSA簽名與DSS簽名的不同方式34RSA簽名與DSS簽名的不同方式34采用RSA簽名時(shí),將消息輸入到一個(gè)雜湊函數(shù)以產(chǎn)生一個(gè)固定長(zhǎng)度的安全雜湊值,再用發(fā)方的秘密鑰加密雜湊值就形成了對(duì)消息的簽名。消息及其簽名被一起發(fā)給收方,收方得到消息后再產(chǎn)生出消息的雜湊值,且使用發(fā)方的公開鑰對(duì)收到的簽名解密。這樣收方就得了兩個(gè)雜湊值,如果兩個(gè)雜湊值是一樣的,則認(rèn)為收到的簽名是有效的。RSA簽名與DSS簽名的不同35采用RSA簽名時(shí),將消息輸入到一個(gè)雜湊函數(shù)以產(chǎn)DSS簽名也利用一雜湊函數(shù)產(chǎn)生消息的一個(gè)雜湊值,雜湊值連同一隨機(jī)數(shù)k一起作為簽名函數(shù)的輸入,簽名函數(shù)還需使用發(fā)送方的秘密鑰SKA和供所有用戶使用的一族參數(shù),稱這一族參數(shù)為全局公開鑰PKG。
RSA簽名與DSS簽名的不同36DSS簽名也利用一雜湊函數(shù)產(chǎn)生消息的一個(gè)雜湊簽名函數(shù)的兩個(gè)輸出s和r就構(gòu)成了消息的簽名(s,r)。接收方收到消息后再產(chǎn)生出消息的雜湊值,將雜湊值與收到的簽名一起輸入驗(yàn)證函數(shù),驗(yàn)證函數(shù)還需輸入全局公開鑰PKG和發(fā)送方的公開鑰PKA。驗(yàn)證函數(shù)的輸出如果與收到的簽名成分r相等,則驗(yàn)證了簽名是有效的。RSA簽名與DSS簽名的不同37簽名函數(shù)的兩個(gè)輸出s和r就構(gòu)成了消息的簽名(sUSFederalGovtapprovedsignaturescheme(FIPSPUB186),使用SHAhashalg,NIST&NSA在90‘s初設(shè)計(jì)。DSA是算法,DSS是標(biāo)準(zhǔn)對(duì)此標(biāo)準(zhǔn)宣布的爭(zhēng)議!是否需要使用RSADSA是ElGamal及Schnorralgorithms的變形生成320bit簽名安全性是基于離散對(duì)數(shù)被廣泛接收2.2數(shù)字簽名算法DSA38USFederalGovtapprovedsiDSA是在ElGamal和Schnorr兩個(gè)簽名方案(見下一節(jié))的基礎(chǔ)上設(shè)計(jì)的,其安全性基于求離散對(duì)數(shù)的困難性。算法描述如下:(1)全局公開鑰p:滿足2L-1<p<2L的大素?cái)?shù),其中512≤L≤1024且L是64的倍數(shù)。q:p-1的素因子,滿足2159<q<2160,即q長(zhǎng)為160比特。g:g≡h(p-1)/qmodp,其中h是滿足1<h<p-1且使得h(p-1)/qmodp>1的任一整數(shù)。DSA(DigitalSignatureAlgorithm)
39DSA是在ElGamal和Schnorr兩個(gè)簽名方(2)用戶秘密鑰xx是滿足0<x<q的隨機(jī)數(shù)或偽隨機(jī)數(shù)。(3)用戶的公開鑰yy≡gxmodp。(4)用戶為待簽消息選取的秘密數(shù)kk是滿足0<k<q的隨機(jī)數(shù)或偽隨機(jī)數(shù)。(5)簽名過(guò)程用戶對(duì)消息M的簽名為(r,s),其中r≡(gkmodp)modq,s≡[k-1(H(M)+xr)]modq,H(M)是由SHA求出的雜湊值。數(shù)字簽名算法DSA40(2)用戶秘密鑰x數(shù)字簽名算法DSA40(6)驗(yàn)證過(guò)程設(shè)接收方收到的消息為M′,簽名為(r′,s′)。計(jì)算w≡(s′)-1modq,u1≡[H(M′)w]modqu2≡r′wmodq,v≡[(gu1yu2)modp]modq檢查,若相等,則認(rèn)為簽名有效。這是因?yàn)槿?M′,r′,s′)=(M,r,s),則
數(shù)字簽名算法DSA41(6)驗(yàn)證過(guò)程數(shù)字簽名算法DSA41算法的框圖如圖3所示,其中的4個(gè)函數(shù)分別為s≡f1[H(M),k,x,r,q]≡[k-1(H(M)+xr)]modqr=f2(k,p,q,g)≡(gkmodp)modqw=f3(s′,q)≡(s′)-1modqv=f4(y,q,g,H(M′),w,r′) ≡[(g(H(M′)w)mod
qyr′w
modq)modp]modq數(shù)字簽名算法DSA42算法的框圖如圖3所示,其中的4個(gè)函數(shù)分別為數(shù)字簽DSA的框圖43DSA的框圖43由于離散對(duì)數(shù)的困難性,敵手從r恢復(fù)k或從s恢復(fù)x都是不可行的。還有一個(gè)問(wèn)題值得注意,即簽名產(chǎn)生過(guò)程中的運(yùn)算主要是求r的模指數(shù)運(yùn)算r=(gkmodp)modq,而這一運(yùn)算與待簽的消息無(wú)關(guān),因此能被預(yù)先計(jì)算。事實(shí)上,用戶可以預(yù)先計(jì)算出很多r和k-1以備以后的簽名使用,從而可大大加快產(chǎn)生簽名的速度。數(shù)字簽名算法DSA44由于離散對(duì)數(shù)的困難性,敵手從r恢復(fù)k或從s恢復(fù)DSA安全性基于離散對(duì)數(shù),最初建議使用一個(gè)共同的modulusp;現(xiàn)在建議不同的工作組使用不同的(p,q,g)。GusSimmons發(fā)現(xiàn)存在潛信道,能夠泄露私鑰45DSA安全性基于離散對(duì)數(shù),最初建議使用一個(gè)共同的modu基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制是數(shù)字簽名體制中最為常用的一類,其中包括ElGamal簽名體制、DSA簽名體制、Okamoto簽名體制等。3.1基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制3.其他簽名方案46基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制是數(shù)字簽名體制中ElGamal、DSA、Okamoto等簽名體制都可歸結(jié)為離散對(duì)數(shù)簽名體制的特例。(1)體制參數(shù)p:大素?cái)?shù);q:p-1或p-1的大素因子;g:g∈RZ*p,且gq≡1(modp),其中g(shù)∈RZ*p表示g是從Z*p中隨機(jī)選取的,其中Z*p=Zp-{0};x:用戶A的秘密鑰,1<x<q;y:用戶A的公開鑰,y≡gx(modp)。1.離散對(duì)數(shù)簽名體制47ElGamal、DSA、Okamoto等簽名體(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①計(jì)算m的雜湊值H(m)。②選擇隨機(jī)數(shù)k:1<k<q,計(jì)算r≡gk(modp)。③從簽名方程ak≡b+cx(modq)中解出s。方程的系數(shù)a、b、c有許多種不同的選擇方法,表7.1給出了這些可能選擇中的一小部分,以(r,s)作為產(chǎn)生的數(shù)字簽名。(見171頁(yè)表7.1)1.離散對(duì)數(shù)簽名體制48(2)簽名的產(chǎn)生過(guò)程1.離散對(duì)數(shù)簽名體制48(3)簽名的驗(yàn)證過(guò)程接收方在收到消息m和簽名(r,s)后,可以按照以下驗(yàn)證方程檢驗(yàn):1.離散對(duì)數(shù)簽名體制49(3)簽名的驗(yàn)證過(guò)程1.離散對(duì)數(shù)簽名體制492.ElGamal簽名體制(1)體制參數(shù)p:大素?cái)?shù);g:Z*p的一個(gè)生成元;x:用戶A的秘密鑰,x∈RZ*p;y:用戶A的公開鑰,y≡gx(modp)。2.ElGamal簽名體制502.ElGamal簽名體制2.ElGamal簽名體制50ElGamalSignatureScheme
ElGamal加密算法是不可交換的,存在一個(gè)相關(guān)的簽名算法,安全性是基于計(jì)算離散對(duì)數(shù)的困難性,方案的密鑰生成是相同的:有個(gè)共享的素?cái)?shù)p,公開的本原根a
每個(gè)用戶選擇一個(gè)隨機(jī)數(shù)作為私鑰x
計(jì)算各自的公開密鑰:y=axmodp
公鑰是(y,a,p)
私鑰是(x)
51ElGamalSignatureSchemeElGaElGamal簽名方案的使用簽名消息M:選擇隨機(jī)數(shù)k,GCD(k,p-1)=1
計(jì)算K=ak(modp)
用Euclidean(inverse)擴(kuò)展算法求S:
M=x.K+k.Smod(p-1);即求S=k-1(M-x.K)mod(p-1)
簽名是(K,S),k應(yīng)該被銷毀同ElGamal加密方案,簽名信息也是消息的2倍驗(yàn)證(K,S)是對(duì)M的簽名:yK.KSmodp=aMmodp
52ElGamal簽名方案的使用簽名消息M:52(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①計(jì)算m的雜湊值H(m)。②選擇隨機(jī)數(shù)k:k∈Z*p,計(jì)算r≡gk(modp)。③計(jì)算s≡(H(m)-xr)k-1(modp-1)。以(r,s)作為產(chǎn)生的數(shù)字簽名。ElGamal簽名體制53(2)簽名的產(chǎn)生過(guò)程ElGamal簽名體制53(3)簽名驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(r,s)后,先計(jì)算H(m),并按下式驗(yàn)證:正確性可由下式證明:ElGamal簽名體制54(3)簽名驗(yàn)證過(guò)程ElGamal簽名體制54ElGamal簽名方案舉例取p=11,g=2;選擇私鑰x=8;計(jì)算:y=axmodp=28mod11=3公鑰是:y=3,g=2,p=11;對(duì)M=5簽名:選擇隨機(jī)數(shù)k=9,確定gcd(10,9)=1,計(jì)算:K=akmodp=29mod11=6解:5=8.6+9.Smod10;nb9-1=9mod10;
因此S=9.(5-8.6)=3mod10簽名是(K=6,S=3)。要驗(yàn)證簽名,確認(rèn):36.63=25mod11;3.7=32=10mod1155ElGamal簽名方案舉例取p=11,g=2;選擇私鑰3.Schnorr簽名體制(1)體制參數(shù)p:大素?cái)?shù),p≥2512;q:大素?cái)?shù),q|(p-1),q≥2160;g:g∈RZ*p,且gq≡1(modp);x:用戶A的秘密鑰,1<x<q;y:用戶A的公開鑰,y≡gx(modp)。3.Schnorr簽名體制563.Schnorr簽名體制3.Schnorr簽名體制56(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①選擇隨機(jī)數(shù)k:1<k<q,計(jì)算r≡gk(modp)。②計(jì)算e=H(r,m)。③計(jì)算s≡xe+k(modq)。以(e,s)作為產(chǎn)生的數(shù)字簽名。3.Schnorr簽名體制57(2)簽名的產(chǎn)生過(guò)程3.Schnorr簽名體制57(3)簽名驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(e,s)后,先計(jì)算r′≡gsy-e(modp),然后計(jì)算H(r′,m),并按下式驗(yàn)證其正確性可由下式證明:3.Schnorr簽名體制58(3)簽名驗(yàn)證過(guò)程3.Schnorr簽名體制584.Neberg-Rueppel簽名體制該體制是一個(gè)消息恢復(fù)式簽名體制,即驗(yàn)證人可從簽名中恢復(fù)出原始消息,因此簽名人不需要將被簽消息發(fā)送給驗(yàn)證人。(1)體制參數(shù)p:大素?cái)?shù);q:大素?cái)?shù),q|(p-1);g:g∈RZ*p,且gq≡1(modp);x:用戶A的秘密鑰,x∈RZ*p;y:用戶A的公開鑰,y≡gx(modp)。4.Neberg-Rueppel簽名體制594.Neberg-Rueppel簽名體制4.Neberg(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①計(jì)算出,其中R是一個(gè)單一映射,并且容易求逆,稱為冗余函數(shù)。②選擇一個(gè)隨機(jī)數(shù)k(0<k<q),計(jì)算r≡g-kmodp。③計(jì)算。④計(jì)算s≡xe+k(modq)。以(e,s)作為對(duì)m的數(shù)字簽名。4.Neberg-Rueppel簽名體制60(2)簽名的產(chǎn)生過(guò)程4.Neberg-Rueppel簽名(3)簽名的驗(yàn)證過(guò)程接收方收到數(shù)字簽名(e,s)后,通過(guò)以下步驟來(lái)驗(yàn)證簽名的有效性:①驗(yàn)證是否0<e<p。②驗(yàn)證是否0≤s<q。③計(jì)算v≡gsy-e(modp)。4.Neberg-Rueppel簽名體制61(3)簽名的驗(yàn)證過(guò)程4.Neberg-Rueppel簽名④計(jì)算m′≡ve(modp)。⑤驗(yàn)證是否m′∈R(m),其中R(m)表示R的值域。⑥恢復(fù)出m=R-1(m′)。這個(gè)簽名體制的正確性可以由以下等式證明:4.Neberg-Rueppel簽名體制62④計(jì)算m′≡ve(modp)。4.Neberg-Rue5.Okamoto簽名體制(1)體制參數(shù)p:大素?cái)?shù),且p≥2512;q:大素?cái)?shù),q|(p-1),且q≥2140;g1,g2:兩個(gè)與q同長(zhǎng)的隨機(jī)數(shù);x1,x2:用戶A的秘密鑰,兩個(gè)小于q的隨機(jī)數(shù);y:用戶A的公開鑰,y≡g-x11g-x22(modp)。5.Okamoto簽名體制635.Okamoto簽名體制5.Okamoto簽名體制63(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①選擇兩個(gè)小于q的隨機(jī)數(shù)k1,k2∈RZ*q。②計(jì)算雜湊值:e≡H(gk11gk22(modp),m)。③計(jì)算:s1≡(k1+ex1)(modq)。④計(jì)算:s2≡(k2+ex2)(modq)。以(e,s1,s2)作為對(duì)m的數(shù)字簽名。5.Okamoto簽名體制64(2)簽名的產(chǎn)生過(guò)程5.Okamoto簽名體制64(3)簽名的驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(e,s1,s2)后,通過(guò)以下步驟來(lái)驗(yàn)證簽名的有效性:①計(jì)算v≡gs11gs22ye(modp)。②計(jì)算e′=H(v,m)。③驗(yàn)證:其正確性可通過(guò)下式證明:5.Okamoto簽名體制65(3)簽名的驗(yàn)證過(guò)程5.Okamoto簽名體制65設(shè)n是一個(gè)大合數(shù),找出n的所有素因子是一個(gè)困難問(wèn)題,稱之為大數(shù)分解問(wèn)題。下面介紹的兩個(gè)數(shù)字簽名體制都基于這個(gè)問(wèn)題的困難性。3.2基于大數(shù)分解問(wèn)題的數(shù)字簽名體制66設(shè)n是一個(gè)大合數(shù),找出n的所有素因子是一個(gè)困難1.Fiat-Shamir簽名體制(1)體制參數(shù)n:n=pq,其中p和q是兩個(gè)保密的大素?cái)?shù);k:固定的正整數(shù);y1,y2,…,yk:用戶A的公開鑰,對(duì)任何i(1≤i≤k),yi都是模n的平方剩余;x1,x2,…,xk:用戶A的秘密鑰,對(duì)任何i(1≤i≤k),。1.Fiat-Shamir簽名體制671.Fiat-Shamir簽名體制1.Fiat-Sham(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①隨機(jī)選取一個(gè)正整數(shù)t。②隨機(jī)選取t個(gè)介于1和n之間的數(shù)r1,r2,…,rt,并對(duì)任何j(1≤j≤t),計(jì)算Rj≡r2j(modn)。1.Fiat-Shamir簽名體制68(2)簽名的產(chǎn)生過(guò)程1.Fiat-Shamir簽名體制6③計(jì)算雜湊值H(m,R1,R2,…,Rt),并依次取出H(m,R1,R2,…,Rt)的前kt個(gè)比特值b11,…,b1t,b21,…,b2t,…,bk1,…,bkt。④對(duì)任何j(1≤j≤t),計(jì)算。以((b11,…,b1t,b21,…,b2t,…,bk1,…,bkt),(s1,…,st))作為對(duì)m的數(shù)字簽名。1.Fiat-Shamir簽名體制69③計(jì)算雜湊值H(m,R1,R2,…,Rt),并依次取出H((3)簽名的驗(yàn)證過(guò)程收方在收到消息m和簽名((b11,…,b1t,b21,…,b2t,…,bk1,…,bkt),(s1,…,st))后,用以下步驟來(lái)驗(yàn)證:①對(duì)任何j(1≤j≤t),計(jì)算。②計(jì)算H(m,R′1,R′2,…,R′t)。1.Fiat-Shamir簽名體制70(3)簽名的驗(yàn)證過(guò)程1.Fiat-Shamir簽名體制7③驗(yàn)證b11,…,b1t,b21,…,b2t,…,bk1,…,bkt是否依次是H(m,R′1,R′2,…,R′t)的前kt個(gè)比特。如果是,則以上數(shù)字簽名是有效的。正確性可以由以下算式證明:1.Fiat-Shamir簽名體制71③驗(yàn)證b11,…,b1t,b21,…,b2t,…,bk1,2.Guillou-Quisquater簽名體制(1)體制參數(shù)n:n=pq,p和q是兩個(gè)保密的大素?cái)?shù);v:gcd(v,(p-1)(q-1))=1;x:用戶A的秘密鑰,x∈RZ*n;y:用戶A的公開鑰,y∈Z*n,且xvy≡1(modn)。2.Guillou-Quisquater簽名體制722.Guillou-Quisquater簽名體制2.Gu(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽消息m,A進(jìn)行以下步驟:①隨機(jī)選擇一個(gè)數(shù)k∈Z*n,計(jì)算T≡kv(modn)。②計(jì)算雜湊值:e=H(m,T),且使1≤e<v;否則,返回步驟①。③計(jì)算s≡kxemodn。以(e,s)作為對(duì)m的簽名。2.Guillou-Quisquater簽名體制73(2)簽名的產(chǎn)生過(guò)程2.Guillou-Quisquat(3)簽名的驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(e,s)后,用以下步驟來(lái)驗(yàn)證:①計(jì)算出T′≡svye(modn)。②計(jì)算出e′=H(m,T′)。③驗(yàn)證:正確性可由以下算式證明:2.Guillou-Quisquater簽名體制74(3)簽名的驗(yàn)證過(guò)程2.Guillou-Quisquat帶密鑰的HASH
以上的簽名方法都是公鑰技術(shù),計(jì)算與數(shù)據(jù)量較大,需要私鑰的認(rèn)證方案。好的方法是使用快速的hash函數(shù):密鑰與消息同時(shí)參加運(yùn)算:
KeyedHash=Hash(Key|Message)
有一些弱點(diǎn),隨后建議:
KeyedHash=Hash(Key1|Hash(Key2|Message))
75帶密鑰的HASH以上的簽名方法都是公鑰技術(shù),計(jì)算與數(shù)據(jù)量較HMACHMAC是使用帶密鑰的HASH函數(shù)的結(jié)果,成為internet標(biāo)準(zhǔn)(RFC2104)。結(jié)構(gòu):HMACK=Hash((K+XORopad)||Hash((K+XORipad)||M))
K+是經(jīng)過(guò)填充的密鑰,opad,ipad特殊的填充值,Opad=01011010重復(fù)b/8次;
ipad=00110110重復(fù)b/8次安全性是基于原來(lái)的HASH函數(shù)的安全性。任何MD5,SHA-1,RIPEMD-160都可以這樣使用。76HMACHMAC是使用帶密鑰的HASH函數(shù)的結(jié)果,成為i1.在DSS數(shù)字簽名標(biāo)準(zhǔn)中,取p=83=2×41+1,q=41,h=2,于是g≡22≡4mod83,若取x=57,則y≡gx≡457=77mod83。在對(duì)消息M=56簽名時(shí),選擇k=23,計(jì)算簽名并進(jìn)行驗(yàn)證。2.在DSA簽名算法中,參數(shù)k泄露會(huì)產(chǎn)生什么后果?習(xí)題771.在DSS數(shù)字簽名標(biāo)準(zhǔn)中,取p=83=2×413.IllustratetheoperationofElGamalsignatures,giventhefollowingparameters:primep=31;primroota=3
Determineasuitableprivateandpublickey,andthenshowthesigningandverificationofamessageM=7.習(xí)題783.IllustratetheopeTHEEND!79THEEND!79謝謝!供婁浪頹藍(lán)辣襖駒靴鋸瀾互慌仲寫繹衰斡染圾明將呆則孰盆瘸砒腥悉漠塹脊髓灰質(zhì)炎(講課2019)脊髓灰質(zhì)炎(講課2019)謝謝!供婁浪頹藍(lán)辣襖駒靴鋸瀾互慌仲寫繹衰斡染圾明將呆則孰盆瘸數(shù)字簽名《現(xiàn)代密碼學(xué)》第8章81數(shù)字簽名《現(xiàn)代密碼學(xué)》第8章1本章主要內(nèi)容1、數(shù)字簽名的基本概念2、數(shù)字簽名標(biāo)準(zhǔn)3、其他簽名方案習(xí)題82本章主要內(nèi)容1、數(shù)字簽名的基本概念2數(shù)字簽名由公鑰密碼發(fā)展而來(lái),它在網(wǎng)絡(luò)安全,包括身份認(rèn)證、數(shù)據(jù)完整性、不可否認(rèn)性以及匿名性等方面有著重要應(yīng)用。本章首先介紹數(shù)字簽名的基本概念和一些常用的數(shù)字簽名算法,然后介紹身份認(rèn)證協(xié)議、身份證明技術(shù)以及其他一些常用的密碼協(xié)議。1.數(shù)字簽名的基本概念83數(shù)字簽名由公鑰密碼發(fā)展而來(lái),它在網(wǎng)絡(luò)安全,包括身上一章介紹的消息認(rèn)證其作用是保護(hù)通信雙方以防第三方的攻擊,然而卻不能保護(hù)通信雙方中的一方防止另一方的欺騙或偽造。通信雙方之間也可能有多種形式的欺騙,例如通信雙方A和B(設(shè)A為發(fā)方,B為收方)使用消息認(rèn)證碼的基本方式通信,則可能發(fā)生以下欺騙:1.1數(shù)字簽名應(yīng)滿足的要求84上一章介紹的消息認(rèn)證其作用是保護(hù)通信雙方以防第三①B偽造一個(gè)消息并使用與A共享的密鑰產(chǎn)生該消息的認(rèn)證碼,然后聲稱該消息來(lái)自于A。②由于B有可能偽造A發(fā)來(lái)的消息,所以A就可以對(duì)自己發(fā)過(guò)的消息予以否認(rèn)。這兩種欺騙在實(shí)際的網(wǎng)絡(luò)安全應(yīng)用中都有可能發(fā)生,例如在電子資金傳輸中,收方增加收到的資金數(shù),并聲稱這一數(shù)目來(lái)自發(fā)方。又如用戶通過(guò)電子郵件向其證券經(jīng)紀(jì)人發(fā)送對(duì)某筆業(yè)務(wù)的指令,以后這筆業(yè)務(wù)賠錢了,用戶就可否認(rèn)曾發(fā)送過(guò)相應(yīng)的指令。數(shù)字簽名應(yīng)滿足的要求85①B偽造一個(gè)消息并使用與A共享的密鑰產(chǎn)生該消因此在收發(fā)雙方未建立起完全的信任關(guān)系且存在利害沖突的情況下,單純的消息認(rèn)證就顯得不夠。數(shù)字簽名技術(shù)則可有效解決這一問(wèn)題。類似于手書簽名,數(shù)字簽名應(yīng)具有以下性質(zhì):①能夠驗(yàn)證簽名產(chǎn)生者的身份,以及產(chǎn)生簽名的日期和時(shí)間。②能用于證實(shí)被簽消息的內(nèi)容。③數(shù)字簽名可由第三方驗(yàn)證,從而能夠解決通信雙方的爭(zhēng)議。數(shù)字簽名應(yīng)滿足的要求86因此在收發(fā)雙方未建立起完全的信任關(guān)系且存在利害由此可見,數(shù)字簽名具有認(rèn)證功能。為實(shí)現(xiàn)上述3條性質(zhì),數(shù)字簽名應(yīng)滿足以下要求:①簽名的產(chǎn)生必須使用發(fā)方獨(dú)有的一些信息以防偽造和否認(rèn)。②簽名的產(chǎn)生應(yīng)較為容易。③簽名的識(shí)別和驗(yàn)證應(yīng)較為容易。④對(duì)已知的數(shù)字簽名構(gòu)造一新的消息或?qū)σ阎南?gòu)造一假冒的數(shù)字簽名在計(jì)算上都是不可行的。數(shù)字簽名應(yīng)滿足的要求87由此可見,數(shù)字簽名具有認(rèn)證功能。為實(shí)現(xiàn)上述3數(shù)字簽名的產(chǎn)生可用加密算法或特定的簽名算法。1.由加密算法產(chǎn)生數(shù)字簽名利用加密算法產(chǎn)生數(shù)字簽名是指將消息或消息的摘要加密后的密文作為對(duì)該消息的數(shù)字簽名,其用法又根據(jù)是單鑰加密還是公鑰加密而有所不同。1.2數(shù)字簽名的產(chǎn)生方式88數(shù)字簽名的產(chǎn)生可用加密算法或特定的簽名算法。1.(1)單鑰加密如圖1(a)所示,發(fā)送方A根據(jù)單鑰加密算法以與接收方B共享的密鑰K對(duì)消息M加密后的密文作為對(duì)M的數(shù)字簽名發(fā)往B。該系統(tǒng)能向B保證所收到的消息的確來(lái)自A,因?yàn)橹挥蠥知道密鑰K。再者B恢復(fù)出M后,可相信M未被篡改,因?yàn)閿呈植恢繩就不知如何通過(guò)修改密文而修改明文。具體來(lái)說(shuō),就是B執(zhí)行解密運(yùn)算Y=DK(X),如果X是合法消息M加密后的密文,則B得到的Y就是明文消息M,否則Y將是無(wú)意義的比特序列。1.由加密算法產(chǎn)生數(shù)字簽名89(1)單鑰加密1.由加密算法產(chǎn)生數(shù)字簽名9消息加密產(chǎn)生數(shù)字簽名的基本方式90消息加密產(chǎn)生數(shù)字簽名的基本方式10(2)公鑰加密如圖1(b)所示,發(fā)送方A使用自己的秘密鑰SKA對(duì)消息M加密后的密文作為對(duì)M的數(shù)字簽名,B使用A的公開鑰PKA對(duì)消息解密,由于只有A才擁有加密密鑰SKA,因此可使B相信自己收到的消息的確來(lái)自A。然而由于任何人都可使用A的公開鑰解密密文,所以這種方案不提供保密性。為提供保密性,A可用B的公開鑰再一次加密,如圖1(c)所示。1.由加密算法產(chǎn)生數(shù)字簽名91(2)公鑰加密1.由加密算法產(chǎn)生數(shù)字簽名11下面以RSA簽名體制為例說(shuō)明數(shù)字簽名的產(chǎn)生過(guò)程。①體制參數(shù)。選兩個(gè)保密的大素?cái)?shù)p和q,計(jì)算n=p×q,φ(n)=(p-1)(q-1);選一整數(shù)e,滿足1<e<φ(n),且gcd(φ(n),e)=1;計(jì)算d,滿足d·e≡1modφ(n);以{e,n}為公開鑰,{d,n}為秘密鑰。②簽名過(guò)程。設(shè)消息為M,對(duì)其簽名為S≡Mdmodn1.由加密算法產(chǎn)生數(shù)字簽名92下面以RSA簽名體制為例說(shuō)明數(shù)字簽名的產(chǎn)生過(guò)程③驗(yàn)證過(guò)程。接收方在收到消息M和簽名S后,驗(yàn)證是否成立,若成立,則發(fā)送方的簽名有效。實(shí)際應(yīng)用時(shí),數(shù)字簽名是對(duì)消息摘要加密產(chǎn)生,而不是直接對(duì)消息加密產(chǎn)生,如圖6.3(a)~圖6.3(d)所示。1.由加密算法產(chǎn)生數(shù)字簽名93③驗(yàn)證過(guò)程。1.由加密算法產(chǎn)生數(shù)字簽名13由加密算法產(chǎn)生數(shù)字簽名又分為外部保密方式和內(nèi)部保密方式,外部保密方式是指數(shù)字簽名是直接對(duì)需要簽名的消息生成而不是對(duì)已加密的消息生成,否則稱為內(nèi)部保密方式。外部保密方式便于解決爭(zhēng)議,因?yàn)榈?方在處理爭(zhēng)議時(shí),需得到明文消息及其簽名。但如果采用內(nèi)部保密方式,第3方必須得到消息的解密密鑰后才能得到明文消息。如果采用外部保密方式,接收方就可將明文消息及其數(shù)字簽名存儲(chǔ)下來(lái)以備以后萬(wàn)一出現(xiàn)爭(zhēng)議時(shí)使用。1.由加密算法產(chǎn)生數(shù)字簽名94由加密算法產(chǎn)生數(shù)字簽名又分為外部保密方式和內(nèi)部2.由簽名算法產(chǎn)生數(shù)字簽名簽名算法的輸入是明文消息M和密鑰x,輸出是對(duì)M的數(shù)字簽名,表示為S=Sigx(M)。相應(yīng)于簽名算法,有一驗(yàn)證算法,表示為Verx(S,M),其取值為算法的安全性在于從M和S難以推出密鑰x或偽造一個(gè)消息M′使M′和S可被驗(yàn)證為真。2.由簽名算法產(chǎn)生數(shù)字簽名952.由簽名算法產(chǎn)生數(shù)字簽名2.由簽名算法產(chǎn)生數(shù)字簽名15公鑰簽名方案公鑰簽名方案:利用私鑰生成簽名,利用公鑰驗(yàn)證簽名,只有私鑰的擁有者才能生成簽名,所以能夠用于證明誰(shuí)生成的消息。任何知道公鑰的人可以驗(yàn)證消息,(他們要確認(rèn)公鑰擁有者的身份,這是公鑰的密鑰分配問(wèn)題),通常不對(duì)整個(gè)消息簽名,因?yàn)檫@將會(huì)使交換信息長(zhǎng)度增加一倍,使用消息的hash值,數(shù)字簽名可以提供消息的不可否認(rèn)性,96公鑰簽名方案公鑰簽名方案:16數(shù)字簽名的執(zhí)行方式有兩類:直接方式和具有仲裁的方式。1.直接方式直接方式是指數(shù)字簽名的執(zhí)行過(guò)程只有通信雙方參與,并假定雙方有共享的秘密鑰或接收一方知道發(fā)方的公開鑰。1.3數(shù)字簽名的執(zhí)行方式97數(shù)字簽名的執(zhí)行方式有兩類:直接方式和具有仲裁的直接方式的數(shù)字簽名有一公共弱點(diǎn),即方案的有效性取決于發(fā)方秘密鑰的安全性。如果發(fā)方想對(duì)已發(fā)出的消息予以否認(rèn),就可聲稱自己的秘密鑰已丟失或被竊,因此自己的簽名是他人偽造的??刹扇∧承┬姓侄?,雖然不能完全避免但可在某種程度上減弱這種威脅。例如,要求每一被簽名的消息都包含有一個(gè)時(shí)戳(日期和時(shí)間)并要求密鑰丟失后立即向管理機(jī)構(gòu)報(bào)告。這種方式的數(shù)字簽名還存在發(fā)方的秘密鑰真的被偷的危險(xiǎn),例如敵手在時(shí)刻T偷得發(fā)方的秘密鑰,然后可偽造一消息,用偷得的秘密鑰為其簽名并加上T以前的時(shí)刻作為時(shí)戳。1.直接方式98直接方式的數(shù)字簽名有一公共弱點(diǎn),即方案的有效性上述直接方式的數(shù)字簽名所具有的缺陷都可通過(guò)使用仲裁者得以解決。和直接方式的數(shù)字簽名一樣,具有仲裁方式的數(shù)字簽名也有很多實(shí)現(xiàn)方案,這些方案都按以下方式運(yùn)行:發(fā)方X對(duì)發(fā)往收方Y(jié)的消息簽名后,將消息及其簽名先發(fā)給仲裁者A,A對(duì)消息及其簽名驗(yàn)證完后,再連同一個(gè)表示已通過(guò)驗(yàn)證的指令一起發(fā)往收方Y(jié)。此時(shí)由于A的存在,X無(wú)法對(duì)自己發(fā)出的消息予以否認(rèn)。在這種方式中,仲裁者起著重要的作用并應(yīng)取得所有用戶的信任。2.具有仲裁方式的數(shù)字簽名99上述直接方式的數(shù)字簽名所具有的缺陷都可通過(guò)使用仲以下是具有仲裁方式數(shù)字簽名的幾個(gè)實(shí)例,其中X表示發(fā)方,Y表示收方,A是仲裁者,M是消息,X→Y:M表示X給Y發(fā)送一消息M。2.具有仲裁方式的數(shù)字簽名100以下是具有仲裁方式數(shù)字簽名的幾個(gè)實(shí)例,其中X表例1簽名過(guò)程如下:①X→A:M‖EKXA[IDX‖H(M)]。②A→Y:EKAY[IDX‖M‖EKXA[IDX‖H(M)]‖T]。其中E是單鑰加密算法,KXA和KAY分別是X與A共享的密鑰和A與Y共享的密鑰,H(M)是M的雜湊值,T是時(shí)戳,IDX是X的身份。2.具有仲裁方式的數(shù)字簽名101例1簽名過(guò)程如下:2.具有仲裁方式的數(shù)字簽名21在①中,X以EKXA[IDX‖H(M)]作為自己對(duì)M的簽名,將M及簽名發(fā)往A。在②中A將從X收到的內(nèi)容和IDX、T一起加密后發(fā)往Y,其中的T用于向Y表示所發(fā)的消息不是舊消息的重放。Y對(duì)收到的內(nèi)容解密后,將解密結(jié)果存儲(chǔ)起來(lái)以備出現(xiàn)爭(zhēng)議時(shí)使用。2.具有仲裁方式的數(shù)字簽名102在①中,X以EKXA[IDX‖H(M)]作為如果出現(xiàn)爭(zhēng)議,Y可聲稱自己收到的M的確來(lái)自X,并將EKAY[IDX‖M‖EKXA[IDX‖H(M)]]發(fā)給A,由A仲裁,A由KAY解密后,再用KXA對(duì)EKXA[IDX‖H(M)]解密,并對(duì)H(M)加以驗(yàn)證,從而驗(yàn)證了X的簽名。2.具有仲裁方式的數(shù)字簽名103如果出現(xiàn)爭(zhēng)議,Y可聲稱自己收到的M的確來(lái)自X,并將EKAY[以上過(guò)程中,由于Y不知KXA,因此不能直接檢查X的簽名,但Y認(rèn)為消息來(lái)自于A因而是可信的。所以在整個(gè)過(guò)程中,A必須取得X和Y的高度信任:X相信A不會(huì)泄露KXA,并且不會(huì)偽造X的簽名;Y相信A只有在對(duì)EKAY[IDX‖M‖EKXA[IDX‖H(M)]‖T]中的雜湊值及X的簽名驗(yàn)證無(wú)誤后才將之發(fā)給Y;X,Y都相信A可公正地解決爭(zhēng)議。如果A已取得各方的信任,則X就能相信沒有人能偽造自己的簽名,Y就可相信X不能對(duì)自己的簽名予以否認(rèn)。2.具有仲裁方式的數(shù)字簽名104以上過(guò)程中,由于Y不知KXA,因此不能直接檢查本例中消息M是以明文形式發(fā)送的,因此未提供保密性,下面兩個(gè)例子可提供保密性。例2簽名過(guò)程如下:①X→A:IDX‖EKXY[M]‖EKXA[IDX‖H(EKXY[M])]。②A→Y:EKAY[IDX‖EKXY[M]‖EKXA[IDX‖H(EKXY[M])]‖T]。2.具有仲裁方式的數(shù)字簽名105本例中消息M是以明文形式發(fā)送的,因此未提供保其中KXY是X,Y共享的密鑰,其他符號(hào)與例1相同。X以EKXA[IDX‖H(EKXY[M])]作為對(duì)M的簽名,與由KXY加密的消息M一起發(fā)給A。A對(duì)EKXA[IDX‖H(EKXY[M])]解密后通過(guò)驗(yàn)證雜湊值以驗(yàn)證X的簽名,但始終未能讀取明文M。A驗(yàn)證完X的簽名后,對(duì)X發(fā)來(lái)的消息加一時(shí)戳,再用KAY加密后發(fā)往Y。解決爭(zhēng)議的方法與例1一樣。2.具有仲裁方式的數(shù)字簽名106其中KXY是X,Y共享的密鑰,其他符號(hào)與例1相本例雖然提供了保密性,但還存在與上例相同的一個(gè)問(wèn)題,即仲裁者可和發(fā)方共謀以否認(rèn)發(fā)方曾發(fā)過(guò)的消息,也可和收方共謀以偽造發(fā)方的簽名。這一問(wèn)題可通過(guò)下例所示的采用公鑰加密技術(shù)的方法得以解決。例3簽名過(guò)程如下:①X→A:IDX‖ESKX[IDX‖EPKY[ESKX[M]]]。②A→Y:ESKA[IDX‖EPKY[ESKX[M]]‖T]。2.具有仲裁方式的數(shù)字簽名107本例雖然提供了保密性,但還存在與上例相同的一個(gè)其中SKA和SKX分別是A和X的秘密鑰,PKY是Y的公開鑰,其他符號(hào)與前兩例相同。第①步中,X用自己的秘密鑰SKX和Y的公開鑰PKY對(duì)消息加密后作為對(duì)M的簽名,以這種方式使得任何第3方(包括A)都不能得到M的明文消息。A收到X發(fā)來(lái)的內(nèi)容后,用X的公開鑰可對(duì)ESKX[IDX‖EPKY[ESKX[M]]]解密,并將解密得到的IDX與收到的IDX加以比較,從而可確信這一消息是來(lái)自于X的(因只有X有SKX)。第②步,A將X的身份IDX和X對(duì)M的簽名加上一時(shí)戳后,再用自己的秘密鑰加密發(fā)往Y。2.具有仲裁方式的數(shù)字簽名108其中SKA和SKX分別是A和X的秘密鑰,PK與前兩種方案相比,第3種方案有很多優(yōu)點(diǎn)。首先,在協(xié)議執(zhí)行以前,各方都不必有共享的信息,從而可防止共謀。第二,只要仲裁者的秘密鑰不被泄露,任何人包括發(fā)方就不能發(fā)送重放的消息。最后,對(duì)任何第三方(包括A)來(lái)說(shuō),X發(fā)往Y的消息都是保密的。2.具有仲裁方式的數(shù)字簽名109與前兩種方案相比,第3種方案有很多優(yōu)點(diǎn)。2.具數(shù)字簽名標(biāo)準(zhǔn)DSS(DigitalSignatureStandard)是由美國(guó)NIST公布的聯(lián)邦信息處理標(biāo)準(zhǔn)FIPSPUB186,其中采用了上一章介紹的SHA和一新的簽名技術(shù),稱為DSA(DigitalSignatureAlgorithm)。DSS最初于1991年公布,在考慮了公眾對(duì)其安全性的反饋意見后,于1993年公布了其修改版。2.數(shù)字簽名標(biāo)準(zhǔn)110數(shù)字簽名標(biāo)準(zhǔn)DSS(DigitalSignatureSt首先將DSS與RSA的簽名方式做一比較。RSA算法既能用于加密和簽名,又能用于密鑰交換。與此不同,DSS使用的算法只能提供數(shù)字簽名功能。圖2用于比較RSA簽名和DSS簽名的不同方式。2.1DSS的基本方式111首先將DSS與RSA的簽名方式做一比較。RSA算RSA簽名RSA加密解密是可交換的可以用于數(shù)字簽名方案給定RSA方案{(e,R),(d,p,q)}要簽名消息M:計(jì)算:S=Md(modR)
要驗(yàn)證簽名,計(jì)算:M=Se(modR)=Me.d(modR)=M(modR)
112RSA簽名RSA加密解密是可交換的32使用RSA加密、認(rèn)證:使用發(fā)送者的私鑰簽名一個(gè)消息,使用接收者的公鑰加密消息看起來(lái),一個(gè)消息可用RSA加密、簽名而不改變大小,但是,加密使用的是消息接收者的模,簽名是消息發(fā)送者的模,后著可能比前者小交換兩者順序?簽名常使用HASH函數(shù)值。RSA簽名的使用113使用RSA加密、認(rèn)證:RSA簽名的使用33RSA簽名與DSS簽名的不同方式114RSA簽名與DSS簽名的不同方式34采用RSA簽名時(shí),將消息輸入到一個(gè)雜湊函數(shù)以產(chǎn)生一個(gè)固定長(zhǎng)度的安全雜湊值,再用發(fā)方的秘密鑰加密雜湊值就形成了對(duì)消息的簽名。消息及其簽名被一起發(fā)給收方,收方得到消息后再產(chǎn)生出消息的雜湊值,且使用發(fā)方的公開鑰對(duì)收到的簽名解密。這樣收方就得了兩個(gè)雜湊值,如果兩個(gè)雜湊值是一樣的,則認(rèn)為收到的簽名是有效的。RSA簽名與DSS簽名的不同115采用RSA簽名時(shí),將消息輸入到一個(gè)雜湊函數(shù)以產(chǎn)DSS簽名也利用一雜湊函數(shù)產(chǎn)生消息的一個(gè)雜湊值,雜湊值連同一隨機(jī)數(shù)k一起作為簽名函數(shù)的輸入,簽名函數(shù)還需使用發(fā)送方的秘密鑰SKA和供所有用戶使用的一族參數(shù),稱這一族參數(shù)為全局公開鑰PKG。
RSA簽名與DSS簽名的不同116DSS簽名也利用一雜湊函數(shù)產(chǎn)生消息的一個(gè)雜湊簽名函數(shù)的兩個(gè)輸出s和r就構(gòu)成了消息的簽名(s,r)。接收方收到消息后再產(chǎn)生出消息的雜湊值,將雜湊值與收到的簽名一起輸入驗(yàn)證函數(shù),驗(yàn)證函數(shù)還需輸入全局公開鑰PKG和發(fā)送方的公開鑰PKA。驗(yàn)證函數(shù)的輸出如果與收到的簽名成分r相等,則驗(yàn)證了簽名是有效的。RSA簽名與DSS簽名的不同117簽名函數(shù)的兩個(gè)輸出s和r就構(gòu)成了消息的簽名(sUSFederalGovtapprovedsignaturescheme(FIPSPUB186),使用SHAhashalg,NIST&NSA在90‘s初設(shè)計(jì)。DSA是算法,DSS是標(biāo)準(zhǔn)對(duì)此標(biāo)準(zhǔn)宣布的爭(zhēng)議!是否需要使用RSADSA是ElGamal及Schnorralgorithms的變形生成320bit簽名安全性是基于離散對(duì)數(shù)被廣泛接收2.2數(shù)字簽名算法DSA118USFederalGovtapprovedsiDSA是在ElGamal和Schnorr兩個(gè)簽名方案(見下一節(jié))的基礎(chǔ)上設(shè)計(jì)的,其安全性基于求離散對(duì)數(shù)的困難性。算法描述如下:(1)全局公開鑰p:滿足2L-1<p<2L的大素?cái)?shù),其中512≤L≤1024且L是64的倍數(shù)。q:p-1的素因子,滿足2159<q<2160,即q長(zhǎng)為160比特。g:g≡h(p-1)/qmodp,其中h是滿足1<h<p-1且使得h(p-1)/qmodp>1的任一整數(shù)。DSA(DigitalSignatureAlgorithm)
119DSA是在ElGamal和Schnorr兩個(gè)簽名方(2)用戶秘密鑰xx是滿足0<x<q的隨機(jī)數(shù)或偽隨機(jī)數(shù)。(3)用戶的公開鑰yy≡gxmodp。(4)用戶為待簽消息選取的秘密數(shù)kk是滿足0<k<q的隨機(jī)數(shù)或偽隨機(jī)數(shù)。(5)簽名過(guò)程用戶對(duì)消息M的簽名為(r,s),其中r≡(gkmodp)modq,s≡[k-1(H(M)+xr)]modq,H(M)是由SHA求出的雜湊值。數(shù)字簽名算法DSA120(2)用戶秘密鑰x數(shù)字簽名算法DSA40(6)驗(yàn)證過(guò)程設(shè)接收方收到的消息為M′,簽名為(r′,s′)。計(jì)算w≡(s′)-1modq,u1≡[H(M′)w]modqu2≡r′wmodq,v≡[(gu1yu2)modp]modq檢查,若相等,則認(rèn)為簽名有效。這是因?yàn)槿?M′,r′,s′)=(M,r,s),則
數(shù)字簽名算法DSA121(6)驗(yàn)證過(guò)程數(shù)字簽名算法DSA41算法的框圖如圖3所示,其中的4個(gè)函數(shù)分別為s≡f1[H(M),k,x,r,q]≡[k-1(H(M)+xr)]modqr=f2(k,p,q,g)≡(gkmodp)modqw=f3(s′,q)≡(s′)-1modqv=f4(y,q,g,H(M′),w,r′) ≡[(g(H(M′)w)mod
qyr′w
modq)modp]modq數(shù)字簽名算法DSA122算法的框圖如圖3所示,其中的4個(gè)函數(shù)分別為數(shù)字簽DSA的框圖123DSA的框圖43由于離散對(duì)數(shù)的困難性,敵手從r恢復(fù)k或從s恢復(fù)x都是不可行的。還有一個(gè)問(wèn)題值得注意,即簽名產(chǎn)生過(guò)程中的運(yùn)算主要是求r的模指數(shù)運(yùn)算r=(gkmodp)modq,而這一運(yùn)算與待簽的消息無(wú)關(guān),因此能被預(yù)先計(jì)算。事實(shí)上,用戶可以預(yù)先計(jì)算出很多r和k-1以備以后的簽名使用,從而可大大加快產(chǎn)生簽名的速度。數(shù)字簽名算法DSA124由于離散對(duì)數(shù)的困難性,敵手從r恢復(fù)k或從s恢復(fù)DSA安全性基于離散對(duì)數(shù),最初建議使用一個(gè)共同的modulusp;現(xiàn)在建議不同的工作組使用不同的(p,q,g)。GusSimmons發(fā)現(xiàn)存在潛信道,能夠泄露私鑰125DSA安全性基于離散對(duì)數(shù),最初建議使用一個(gè)共同的modu基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制是數(shù)字簽名體制中最為常用的一類,其中包括ElGamal簽名體制、DSA簽名體制、Okamoto簽名體制等。3.1基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制3.其他簽名方案126基于離散對(duì)數(shù)問(wèn)題的數(shù)字簽名體制是數(shù)字簽名體制中ElGamal、DSA、Okamoto等簽名體制都可歸結(jié)為離散對(duì)數(shù)簽名體制的特例。(1)體制參數(shù)p:大素?cái)?shù);q:p-1或p-1的大素因子;g:g∈RZ*p,且gq≡1(modp),其中g(shù)∈RZ*p表示g是從Z*p中隨機(jī)選取的,其中Z*p=Zp-{0};x:用戶A的秘密鑰,1<x<q;y:用戶A的公開鑰,y≡gx(modp)。1.離散對(duì)數(shù)簽名體制127ElGamal、DSA、Okamoto等簽名體(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①計(jì)算m的雜湊值H(m)。②選擇隨機(jī)數(shù)k:1<k<q,計(jì)算r≡gk(modp)。③從簽名方程ak≡b+cx(modq)中解出s。方程的系數(shù)a、b、c有許多種不同的選擇方法,表7.1給出了這些可能選擇中的一小部分,以(r,s)作為產(chǎn)生的數(shù)字簽名。(見171頁(yè)表7.1)1.離散對(duì)數(shù)簽名體制128(2)簽名的產(chǎn)生過(guò)程1.離散對(duì)數(shù)簽名體制48(3)簽名的驗(yàn)證過(guò)程接收方在收到消息m和簽名(r,s)后,可以按照以下驗(yàn)證方程檢驗(yàn):1.離散對(duì)數(shù)簽名體制129(3)簽名的驗(yàn)證過(guò)程1.離散對(duì)數(shù)簽名體制492.ElGamal簽名體制(1)體制參數(shù)p:大素?cái)?shù);g:Z*p的一個(gè)生成元;x:用戶A的秘密鑰,x∈RZ*p;y:用戶A的公開鑰,y≡gx(modp)。2.ElGamal簽名體制1302.ElGamal簽名體制2.ElGamal簽名體制50ElGamalSignatureScheme
ElGamal加密算法是不可交換的,存在一個(gè)相關(guān)的簽名算法,安全性是基于計(jì)算離散對(duì)數(shù)的困難性,方案的密鑰生成是相同的:有個(gè)共享的素?cái)?shù)p,公開的本原根a
每個(gè)用戶選擇一個(gè)隨機(jī)數(shù)作為私鑰x
計(jì)算各自的公開密鑰:y=axmodp
公鑰是(y,a,p)
私鑰是(x)
131ElGamalSignatureSchemeElGaElGamal簽名方案的使用簽名消息M:選擇隨機(jī)數(shù)k,GCD(k,p-1)=1
計(jì)算K=ak(modp)
用Euclidean(inverse)擴(kuò)展算法求S:
M=x.K+k.Smod(p-1);即求S=k-1(M-x.K)mod(p-1)
簽名是(K,S),k應(yīng)該被銷毀同ElGamal加密方案,簽名信息也是消息的2倍驗(yàn)證(K,S)是對(duì)M的簽名:yK.KSmodp=aMmodp
132ElGamal簽名方案的使用簽名消息M:52(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①計(jì)算m的雜湊值H(m)。②選擇隨機(jī)數(shù)k:k∈Z*p,計(jì)算r≡gk(modp)。③計(jì)算s≡(H(m)-xr)k-1(modp-1)。以(r,s)作為產(chǎn)生的數(shù)字簽名。ElGamal簽名體制133(2)簽名的產(chǎn)生過(guò)程ElGamal簽名體制53(3)簽名驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(r,s)后,先計(jì)算H(m),并按下式驗(yàn)證:正確性可由下式證明:ElGamal簽名體制134(3)簽名驗(yàn)證過(guò)程ElGamal簽名體制54ElGamal簽名方案舉例取p=11,g=2;選擇私鑰x=8;計(jì)算:y=axmodp=28mod11=3公鑰是:y=3,g=2,p=11;對(duì)M=5簽名:選擇隨機(jī)數(shù)k=9,確定gcd(10,9)=1,計(jì)算:K=akmodp=29mod11=6解:5=8.6+9.Smod10;nb9-1=9mod10;
因此S=9.(5-8.6)=3mod10簽名是(K=6,S=3)。要驗(yàn)證簽名,確認(rèn):36.63=25mod11;3.7=32=10mod11135ElGamal簽名方案舉例取p=11,g=2;選擇私鑰3.Schnorr簽名體制(1)體制參數(shù)p:大素?cái)?shù),p≥2512;q:大素?cái)?shù),q|(p-1),q≥2160;g:g∈RZ*p,且gq≡1(modp);x:用戶A的秘密鑰,1<x<q;y:用戶A的公開鑰,y≡gx(modp)。3.Schnorr簽名體制1363.Schnorr簽名體制3.Schnorr簽名體制56(2)簽名的產(chǎn)生過(guò)程對(duì)于待簽名的消息m,A執(zhí)行以下步驟:①選擇隨機(jī)數(shù)k:1<k<q,計(jì)算r≡gk(modp)。②計(jì)算e=H(r,m)。③計(jì)算s≡xe+k(modq)。以(e,s)作為產(chǎn)生的數(shù)字簽名。3.Schnorr簽名體制137(2)簽名的產(chǎn)生過(guò)程3.Schnorr簽名體制57(3)簽名驗(yàn)證過(guò)程接收方在收到消息m和數(shù)字簽名(e,s)后,先計(jì)算r′≡gsy-e(modp),然后計(jì)算H(r′,m),并按下式驗(yàn)證其正確性可由下式證明:3.Schnorr簽名體制138(3)簽名驗(yàn)證過(guò)程3.Schnorr簽名體制584.Neberg-Rueppel簽名體制該體制是一個(gè)消息恢復(fù)式簽名體制,即驗(yàn)證人可從簽名中恢復(fù)出原始消息,因此簽名人不需要將被簽消息發(fā)送給驗(yàn)證人。(1)體制參數(shù)p:大素?cái)?shù);q:大素?cái)?shù),q|(p-1);g:g∈RZ*p,且gq≡1(modp);x:用戶A的秘密鑰,x∈RZ*p;y:用戶A的公開鑰,y≡gx(modp)。4.Neberg-Rueppel簽名體制1394.Neberg-Rueppel簽名體制4.Ne
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度服裝企業(yè)電子商務(wù)運(yùn)營(yíng)團(tuán)隊(duì)用工合同
- 二零二五年度服裝店鋪委托經(jīng)營(yíng)管理服務(wù)合同
- 二零二五年度商用空調(diào)系統(tǒng)保養(yǎng)與維修專項(xiàng)合同
- 2025年度農(nóng)村土地承包合同示范文本與解析
- 2025年度臨時(shí)工協(xié)議書版(能源行業(yè)臨時(shí)運(yùn)維人員)
- Module 9 Unit 1 教學(xué)設(shè)計(jì)2023-2024學(xué)年外研版八年級(jí)英語(yǔ)下冊(cè)
- 第15課 兩次鴉片戰(zhàn)爭(zhēng)教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版(2019)高中歷史必修中外歷史綱要上冊(cè)
- Starter Welcome to junior high!Introduce yourself 教學(xué)設(shè)計(jì) 2024-2025學(xué)年外研版(2024)七年級(jí)英語(yǔ)上冊(cè)
- 11《論語(yǔ)》十二章 教學(xué)設(shè)計(jì)-2024-2025學(xué)年七年級(jí)語(yǔ)文上冊(cè)同步課堂(統(tǒng)編版2024)
- 第二單元第十一課《數(shù)字信號(hào)與模擬信號(hào)》-教學(xué)設(shè)計(jì) 2023-2024學(xué)年粵教版(2019)初中信息技術(shù)八年級(jí)下冊(cè)
- 開題報(bào)告:適應(yīng)人口發(fā)展趨勢(shì)的區(qū)域教育結(jié)構(gòu)優(yōu)化與政策調(diào)整研究
- 《婚戀觀教育》課件
- 醫(yī)療器械質(zhì)量負(fù)責(zé)人崗位職責(zé)
- 中醫(yī)小兒常見皮膚病
- 第十七屆山東省職業(yè)院校技能大賽機(jī)器人系統(tǒng)集成應(yīng)用技術(shù)樣題1學(xué)生賽
- 血管通路的介入治療
- 臨床三基考試題庫(kù)(附答案)
- 2024年浙江省杭州市拱墅區(qū)中考語(yǔ)文一模試卷
- 無(wú)人售貨機(jī)的食品安全管理制度
- 校園直飲水機(jī)供貨安裝及售后服務(wù)方案
- 個(gè)人保證無(wú)糾紛承諾保證書
評(píng)論
0/150
提交評(píng)論