王巖
【摘 要】隨著時(shí)代的發(fā)展,社會(huì)的進(jìn)步,數(shù)字簽名的需求也越來(lái)越高。聚合簽名正是其中一種能夠減小簽名的存儲(chǔ)空間,降低傳輸簽名的寬帶需求,大大減少了簽名驗(yàn)證的工作量的簽名方式,本文主要對(duì)聚合簽名進(jìn)行簡(jiǎn)單地分析探討。
【關(guān)鍵詞】聚合簽名;安全模型;公鑰;私鑰
一、聚合簽名定義
聚合簽名是個(gè)用戶對(duì)個(gè)不同消息分別進(jìn)行簽名,這個(gè)(單一)簽名可以被合成一個(gè)簽名,而驗(yàn)證方只需要檢驗(yàn)合成后的簽名便可以確認(rèn)是否是對(duì)做的簽名。
二、聚合簽名意義
聚合簽名可以同時(shí)給多個(gè)消息、多個(gè)用戶提供不可否認(rèn)服務(wù),可以把任意多個(gè)用戶的簽名壓縮成一個(gè)簽名。這大大減小了簽名的存儲(chǔ)空間,同時(shí)也降低了傳輸簽名的網(wǎng)絡(luò)帶寬的要求。且把任意多個(gè)簽名的驗(yàn)證簡(jiǎn)化到一次驗(yàn)證,大大減少了簽名驗(yàn)證的工作量。因此,聚合簽名在很大程度上提高了簽名的驗(yàn)證與傳輸?shù)男省?/p>
三、聚合簽名研究成果
本文主要對(duì)由北京郵電大學(xué)杜紅珍博士于2009年提出的聚合簽名體制進(jìn)行闡述。在本文前已有研究成果如下主要有4類,但都存在一定缺陷:
* 2005年Xu等構(gòu)造的聚合簽名的驗(yàn)證計(jì)算量大,簽名長(zhǎng),對(duì)簽名的存儲(chǔ)空間及傳輸網(wǎng)絡(luò)帶寬要求高。
* 2006年Gentry等提出了一個(gè)高效的聚合簽名方案,但該方案要求每個(gè)參與聚合的用戶必須保存兩對(duì)公私鑰。
* 2005年Song等提出的方案可以驗(yàn)證其是普遍性可以偽造的。
* 2005年Cheng等提出的方案是高效的,但要合并的簽名個(gè)數(shù)不是任意的,方案的安全性證明存在問(wèn)題,且用戶的單一簽名是可以偽造的。
基于以上不足,杜紅珍博士等提出了一個(gè)基于身份的高效聚合簽名方案,它在隨機(jī)語(yǔ)言及模型和計(jì)算Diffie-Hellman困難假設(shè)下是存在性不可偽造的。
四、基于身份的聚合簽名
一個(gè)基于身份的聚合簽名由多個(gè)簽名者、一個(gè)簽名聚合者和一個(gè)驗(yàn)證者組成,方案由一下5個(gè)算法構(gòu)成:
1.系統(tǒng)初始化(Setup):輸入安全參數(shù),輸出系統(tǒng)參數(shù)params。
2.私鑰解析(Key-Extract):輸入系統(tǒng)主密鑰及用戶的身份,輸出用戶的私鑰。
3.簽名(Sign):輸入對(duì)應(yīng)的私鑰,消息及系統(tǒng)參數(shù)params,輸出用戶在消息上的(單一)簽名。
4.聚合簽名(Aggregate-Sign):輸入個(gè)有效的身份-消息-簽名對(duì)(),聚合人輸出這個(gè)簽名的聚合簽名
5.聚合簽名的驗(yàn)證(Aggregate-Verify):輸入params,個(gè)用戶的()及聚合簽名,輸出“1”表示接受該聚合簽名;否則“0”,表示該聚合簽名無(wú)效。
下面介紹基于身份的聚合簽名的安全模型,其基于一個(gè)游戲,游戲如下:
挑戰(zhàn)者C使用Setup算法,生成系統(tǒng)參數(shù)params,將其發(fā)給敵手A。
A進(jìn)行一下詢問(wèn)(適應(yīng)性的):
-Hash詢問(wèn):對(duì)任意一個(gè)Hash函數(shù)的輸入,挑戰(zhàn)者C返回相應(yīng)的Hash值給A。
-Key-Extract詢問(wèn):查詢的私鑰,挑戰(zhàn)者C返回Key-Extract算法生成的私鑰給A
-Signing詢問(wèn):對(duì)任意一個(gè)消息和身份的簽名詢問(wèn),挑戰(zhàn)者C返回Sign算法生成相應(yīng)的簽名給A
-簽名聚合:敵手A輸出表示n個(gè)身份為的用戶分別對(duì)n個(gè)不同的消息生成的n個(gè)簽名合成的聚合簽名。
如果不存在一個(gè)有效的聚合簽名,滿足至少有一個(gè)的私鑰沒(méi)有被查詢,且沒(méi)有經(jīng)過(guò)Signing查詢,則A失敗,則稱一個(gè)基于身份的聚合簽名方案是抗存在性偽造的。
五、基于身份的聚合簽名方案
下面詳細(xì)闡述高效的基于ID的聚合簽名方案:
Setup:給定一個(gè)安全參數(shù),PKG(私鑰生成器)選擇兩個(gè)階數(shù)為素?cái)?shù)的群和,一個(gè)Tate對(duì)映射。是群的一個(gè)生成元。PKG選擇三個(gè)安全的Hash函數(shù)和,系統(tǒng)參數(shù)params:
Key-Extract:令表示個(gè)身份為的用戶,相應(yīng)的公私鑰對(duì),其中,。
Sign:給定個(gè)不同的消息,便于描述,我們的方案都假定用戶要簽名的消息就是,簽名如下:
1.隨機(jī)選,計(jì)算
2.計(jì)算和
3.計(jì)算
則就是對(duì)消息的簽名。
Aggregate-Sign:聚合人計(jì)算,接受當(dāng)且僅當(dāng)下面?zhèn)€等式成立。
即
驗(yàn)證n個(gè)單一簽名有效后,計(jì)算和
則就是n個(gè)簽名人對(duì)n個(gè)消息的聚合簽名。
Aggregate-Verify:給定,及,驗(yàn)證人操作如下:
1.計(jì)算,和
2.接受當(dāng)且僅當(dāng)
參考文獻(xiàn):
[1]吳克力.數(shù)字簽名理論與算法研究[D].南京理工大學(xué),2005.
[2]杜紅珍.數(shù)字簽名技術(shù)的若干問(wèn)題研究[D].北京郵電大學(xué),2009.
[3]趙澤茂.數(shù)字簽名理論及應(yīng)用研究[D].南京理工大學(xué),2005.
[4]趙翔.數(shù)字簽名綜述[J].計(jì)算機(jī)工程與設(shè)計(jì),2006
[5]陳相琳.數(shù)字簽名技術(shù)及算法的研究[D].哈爾濱理工大學(xué),2007.