【正文】
上,用戶可以預(yù)先計算出很多 r 和 1?k 以備以后的簽名使用,從而可大大加快產(chǎn)生簽名的速度。 ? DSS 的基本方式 | |HMEMHD| |HM MsHr? ?? ?MHESKAGPKAPK比較kASKSi gV e r比較GPKAPKASK(a) R S A 簽字(b) D S S 簽字 RSA 簽字與 DSS 簽字的不同方式 ? 采用 RS A 簽名時,將消息輸入到一個雜湊函數(shù)以產(chǎn)生一個固定長度的安全雜湊值,再用發(fā)方的秘密鑰加密雜湊值就形成了對消息的簽名。 ? 消息及其簽 名 被一起發(fā)給收方,收方得到消息后再產(chǎn)生出消息的雜湊值,且使用發(fā)方的公開鑰對收到的簽名解密。 ? 這樣收方就得了兩個雜湊值,如果兩個雜湊值是一樣的,則認(rèn)為收到的簽字是有效的。 ? DSS 簽字也利用雜湊函數(shù)產(chǎn)生消息的一個雜湊值,雜湊值連同隨機(jī)數(shù) k 一起作為簽名函數(shù)的輸入,簽名函數(shù)還需使用發(fā)方的秘密鑰ASK和供所有用戶使用的一族參數(shù),稱這一族參數(shù)為全局公開鑰GPK。 ? 簽名函數(shù)的兩個輸出 s 和 r 就構(gòu)成了消息的簽名 ( s , r ) 。接收方收到消息后再產(chǎn)生出消息的雜湊值,將雜湊值與收到的簽名一起輸入驗(yàn)證函數(shù),驗(yàn)證函數(shù)還需輸入全局公開鑰GPK和發(fā)方的公開鑰APK。 ? 驗(yàn)證函數(shù)的輸出如果與收到的簽名成份 r 相等,則驗(yàn)證了簽字是有效的。 ElGamal 與 DSA 簽名長度 的比較: ? ElGamal 簽名長度 20 48 bits ? DSA 簽名長度 32 0 bit s ? 基于離散對數(shù)問題的一般數(shù)字簽名體制 ElGamal 、 DSA 等簽字體制都可歸結(jié)為離散對數(shù)簽字體制的特例。 ○ 1 體制參數(shù) p:大素數(shù); q:1?p或1?p的大素因子; g: *pRZg ?,且)( m o d1 pgq?,其中 *pRZg ?表示 g 是從 *pZ中隨機(jī)選取的,其中? ?0*??ppZZ; x:用戶 A 的秘密鑰,qx ??1; y:用戶 A 的公開鑰,)( m o d pgyx?。 ○ 2 簽 名 的產(chǎn)生過程 對于待簽名的消息 m , A 執(zhí)行以下步驟: ? 計算 m 的雜湊值)( mH; ? 選擇隨機(jī)數(shù) k :qk ??1,計算)( m o d pgrk?; ? 從簽名方程)( m o d qcxbak ??中解出 s 。方程的系數(shù)cba ,有許多種不同的選擇方法, 下 表給出了這些可能的選擇。以),( sr作為產(chǎn)生的數(shù)字簽名。 參數(shù)cba ,可能的置換取值表 r ?? )( mHr ?? )( mHr ?? rmH ?? )( smH )(? s? s? smH )(? sr ?? sr ?? )( mH 1 1 1 1 ○ 3 簽名的驗(yàn)證過程 收方在收到消息 m 和簽名),( sr后,可以按照以下驗(yàn)證方程檢驗(yàn): )( m o d)),(,( pygrT r u emsryV e rcba??? 這樣的方案數(shù)共有 120 種,其中安全的共有 18 種,ElG amal 與 DSA 都是其中的一種情況。 ? 其它 簽名方案 ? 一次簽名 : 一個簽名方案僅對一則消息簽名時是安全的、 但 可以對簽名進(jìn)行任意次驗(yàn)證 (一套密鑰只能用一次,第二次簽名時需要產(chǎn)生新的密鑰)。 ? 不可否認(rèn)簽名 : 簽名消息的真?zhèn)沃挥薪?jīng)過簽名者同意才能夠被驗(yàn)證。例如軟件公司發(fā)布軟件時可以對每一份拷貝進(jìn)行簽名,用來保證不包含病毒。但公司只往往希望只有正版用戶才能驗(yàn)證簽名,而盜版用戶不能。 ? 群簽名 : 只有某團(tuán)體內(nèi)的成員能夠?qū)ο⒑灻缓灻慕邮照吣軌蜃C實(shí)消息是該團(tuán)體的有效簽名;簽名的接收者不能決定是該團(tuán)體內(nèi)哪一個成員的簽名;當(dāng)出現(xiàn)爭議時,簽名能夠被“打開”,以揭示簽名者的身份。例如公司 各 部門 資源 的管理問題。 ? 多重簽名 : 多個人對同一文件進(jìn)行簽名。往往是一級一級按順序來簽,每一級簽名之前要驗(yàn)證上一級有沒有簽名。 ? 代理 簽名 : 當(dāng)需要簽名的人不方便簽名時(比如生病或者到一些不方便上網(wǎng)的地方出差),他可以讓秘書代簽,但前提是他不能把自己的私鑰給秘書。一般要求代理簽名和正常簽名是可區(qū)分的。 ? 盲 簽名 : 簽名者看不到自己所簽文件的內(nèi)容,或者只看到所簽的一部分信息。 作業(yè) : 在 ElGam al 簽名方案中,設(shè)11?p,2?g是11Z的本原元,選取 8?x ,m odxy g p?82 m o d 1 1 3?? 。 ygp , 公開, x 保密。假設(shè)要 Alic e 對消息 5?m 進(jìn)行簽名,其秘密選取 9?k ,請計算出 Alice 對的 m 簽名,并寫出接收方 Bo b 對該簽名的驗(yàn)證過程。