摘 要:利用雙線性對技術提出了一種無須隨機預言機的基于身份環簽密方案。密文的大小是一個常量,并且與環的大小無關。通過引入了選擇身份和選擇消息攻擊的安全模型,利用DHI問題的困難性,證明了方案的不可偽造性,同時利用DBDHE問題的困難性,證明了方案在選擇身份和選擇密文攻擊下的不可區分性。與其他的環簽密方案相比,該方案具有較高的效率。
關鍵詞:環簽密; 雙線性對; DBDHE問題; DHI問題
中圖分類號:TP309 文獻標志碼:A
文章編號:1001-3695(2010)03-1022-04
doi:10.3969/j.issn.1001-3695.2010.03.059
Identity-based ring signcryption scheme with constant size ciphertext
SUN Hua, ZHENG Xue-feng, YU Yi-ke, HAN Xiao-guang
(School of Information Engineering, University of Science Technology Beijing, Beijing 100083, China)
Abstract:This paper presented an identity-based ring signcryption scheme without random oracle by using bilinear pairings. The size of the ciphertext was a constant and independent of the size of the ring. By introducing the selective identity and selective chosen message attack model, this paper proved unforgeability of the scheme under the hardness of DHI problem and its indistinguishability against selective identity and chosen ciphertext attack under the hardness of DBDHE problem. This scheme is more efficient compared with other ring signcryption schemes.
Key words:ring signcryption; bilinear pairing; decisional bilinear Diffie-Hellman exponent problem;Diffie-Hellman inversion problem
基于身份的密碼體制由Shamir[1]于1984年首先提出。它消除了傳統PKI體制中對證書的操作,簡化了密鑰管理。Boneh等人[2]提出了第一個實用的基于身份加密方案,隨后一些標準模型下基于身份的加密方案[3~5]和簽名方案[6,7]被相繼提出。
保密和認證是公鑰密碼學的兩項最基本服務。公鑰加密方案旨在提供機密性,而數字簽名提供認證和不可否認性。目前,在許多現實的密碼應用中要求同時達到這兩個屬性。1997年Zheng Yu-liang[8]首次提出了簽密的概念,即能夠在一個操作步驟內完成加密和簽名數據兩項功能,而其計算成本卻低于分別進行簽名和加密的方法。簽密的不足之處在于它增大了最終密文的長度,并且增加了發送者和接收者的計算時間。隨后一些有效的簽密方案被提出,Baek等人[9]提出了第一個在形式化安全模型下可證明安全的簽密方案,文獻[10,11]將基于身份的簽名與加密進行結合從而生成基于身份的簽密方案,然而這些方案僅僅是在隨機預言模型下可證明安全的。
環簽密可使用戶在一潛在的發送用戶群下對消息進行簽密,而不會泄露真實簽密者的身份。因此,環簽密的消息除了具有可認證和機密性外,還具有匿名性。將基于身份的密碼體制與環簽密結合,可以得到基于身份的環簽密方案,它不僅具有環簽密的屬性同時還擁有身份密碼體制的優點。Huang等人[12]首次提出了基于身份的環簽密方案,可是該方案計算低效。Zhang等人[13]提出了可認證的基于身份環簽密方案,實際發送者可以向驗證者證明該簽密確實是由他產生的。Zhu等人[14]提出了另外一種可證安全的基于身份環簽密方案。
目前已有的環簽密方案大多是在隨機預言模型下證明安全的,并且密文的長度隨著環大小的增長而線性增長。因此,設計密文長度固定的標準模型下可證安全的基于身份環簽密方案更具有實際意義。
1 預備知識
1.1 雙線性對
設G、GT是兩個階為素數q的循環群,g是群G的生成元,雙線性對e:G×G→GT是具有如下性質的映射:
a)雙線性。對于所有的P,Q∈G與a,b∈Z,都有e(Pa,Qb)=e(P,Q)ab。
b)非退化性。e(g,g)≠1。
c)可計算性。存在一個有效的算法計算e(P,Q)。其中P,Q∈G。
1.2 困難假設
定義1 給定g,h,T ,gαi∈G,i=1,…,l-1,l+1,…,2l,則DBDHE假設為:判定是否T=e(g,h)αi。
(ε,t,l)-DBDHE假設成立,如果沒有算法至多運行多項式時間t,至少以不可忽略的概率ε解決n-DBDHE問題。
定義2 給定g,gα,gα2,…,gαn∈G,其中α∈
瘙 綄 *P且未知,則n-DHI假設為:計算gαn+1。
(ε,t,n)-DHI假設成立,如果沒有算法至多運行多項式時間t,至少以不可忽略的概率ε解決n-DHI問題。
2 安全模型
2.1 Identity-based ring signcryption(IBRSC)
一個基于身份的環簽密方案由以下四個算法組成:
a)Setup。 給定安全參數k,PKG生成系統公開參數params,公鑰Ppub以及主密鑰msk。
b)Extract。給定身份ID,PKG計算ID的相應私鑰SID,并秘密發送給它。
c)Signcrypt。給定消息m,接收者IDR,發送者IDS的私鑰DS,以及環L={ID1,…,IDn},該算法生成密文C。
d)Unsigncrypt。該算法輸入密文C,接收者的私鑰DR,環L={ID1,…,IDn},如果C是一個有效的密文,則生成明文m,否則輸出⊥。
這些算法需滿足基于身份環簽密方案的一致性要求,即如果c=signcrypt(m,L,Ds,IDR),則m=unsigncrypt(c,L,DR)。
2.2 Indistinguishability
定義3 一個基于身份的環簽密方案在選擇身份選擇密文攻擊下是不可區分的(IND-sID-CCA)。如果沒有概率多項式時間敵手A在下面的游戲中獲得不可忽略的優勢:
敵手A向挑戰者C公開挑戰身份L*。
Setup:挑戰者C運行setup生成系統參數并發送給敵手A,保存msk。
First phase:敵手A可以向挑戰者C發出如下一定數量的詢問:
a)Extract query。A選擇身份ID,C運行extract計算其私鑰DS并發送給A。其中ID不能是環L*中任一成員的身份。
b)Signcrypt query。A選擇簽密者IDS,環L,接收者IDR及明文m。C首先運行extract得到IDS的私鑰DS,然后運行signcrypt生成密文C并發送給A,其中A不能對m*和l*進行簽密詢問。
c)Unsigncrypt query。A選擇環L,接收者IDR和密文C。C首先運行extract得到IDR的私鑰DR,然后運行unsigncrypt。如果C是一個有效的密文,則返回m;否則,返回⊥。
Challenge:A任選兩個長度相同的消息m0,m1,環L*以及挑戰身份IDR,并發送給C。A必須在第一階段中沒有詢問IDR的私鑰。C任選一位b∈{0,1},計算簽密C*,并將其發送給A。
Second phase:A可以如第一階段那樣發起一定數量的詢問,但不能詢問IDR的私鑰,且不能對C*發起解密詢問。
Guess: 最后,A輸出一位b'。如果b=b',那么A贏得游戲。定義敵手A獲得成功的優勢為AdvIND-sID-CCAA=|Pr[b=b']-1/2|。
2.3 Existential unforgeability
定義4 一個基于身份的環簽密方案在選擇身份選擇消息攻擊下可抵抗存在性偽造(EUF-sID-CMA)。如果沒有概率多項式時間敵手A在下面的游戲中獲得不可忽略的優勢:
敵手A向挑戰者C公開挑戰身份L*和挑戰消息m*。
Setup: 挑戰者C運行setup生成系統參數params并發送給敵手A,保存msk。
Query:A可以像定義3中的第一階段那樣,發起一定數量的詢問。
Forgery:A輸出元組(L*,IDR,C*),其中環L*中任一成員及IDR的私鑰沒有被詢問。如果unsigncrypt(L*,DR,C*)的結果不為⊥,那么A贏得游戲。
3 密文長度固定的基于身份環簽密方案
3.1 方案描述
設兩個無碰撞哈希函數H1:{0,1}*→
瘙 綄 *p和H2:{0,1}*→
瘙 綄 *p可將任意長度的身份ID和消息m映射為兩個非零整數,方案構成如下:
Setup:選取e:G×G→GT,G的階為P,g為其生成元。隨機選取α∈
瘙 綄 p,g2∈G并計算g1=gα。選取u'∈RG,向量U^=(1,2,…,n,)∈Gn。則系統公開參數為params=(G,GT,e,g,g1,g2,u',),主密鑰為msk=gα2。
Extract:對于身份ID,令id=H1(ID),任選ri∈
瘙 綄 *p,1≤i≤n+1,計算身份ID的私鑰為dID=(gα2(u'idi)ri,gri,ri1,…,rii-1,rii+1,…,rin)=(a0,b0,c1,…,ci-1,ci+1,…,cn)。
Signcrypt:令L={ID1,…,ID′n}為包括實際簽密者IDk在內的環L中n′個成員的集合,idi=H1(IDi) ,1≤i≤n,m為待簽密消息,m=H2(m,L)。設簽密接收者的身份為IDr,idr=H1(IDr),簽密者的私鑰為dIDk。簽密者隨機選取t∈
瘙 綄 p,計算C1=gt,C2=ak,0(∏n′j=1,j≠kcidjk,j)cmk,n′+1(u'id11…idn'n'mn'+1)t,C3=bk,0gt,C4=(u'idrr)t,C5=e(g1,g2,)t〈m,IDk,C2,C3〉則生成的簽密為c=(C1,C2,C3,C4,C5)。
Unsigncrypt:接收者IDr收到簽密c后,進行如下計算:
a)接收者IDr用其私鑰dIDr=(ar,0,br,0,cr,1,…,cr,i-1,cr,i+1,…,cr,n)計算W=e(C1,ar,0)#8226;e(C4,br,0)-1。
b)由〈m,IDk,C2,C3〉=C5W,環成員組L={ID1,…,IDn},計算m=H2(m,L),當等式e(g,C2)=e(g1,g2)#8226;e(C3,u'id11…idn'n'mn'+1)成立時,c為一個有效的環簽密。
3.2 方案正確性
方案的正確性可以由下面的等式進行驗證:
由dIDr=(ar,0,br,0,cr,1,…,cr,i-1,cr,i+1,…,cr,n)可得:W=e(C1,ar,0)#8226;e(C4,br,0)-1=e(gt,gα2(u'idrr)rr)#8226;e(grr,(u'idrr)t)-1=e(gt,gα2)#8226;e(gt,(u'idrr)rr)e(grr,(u'idrr)t)=e(g2,g1)t
對c進行驗證可得:
e(g,C2)=e(g,ak,0(∏nj=1,j≠kcidjk,j)cmk,n′+1(u′id11…idn′n′mn′+1)t)=e(g,gα2(u′id1…idn′n′mn′+1)rk+t)=e(g1,g2)e(C3,u′id11…idn′n′mn′+1)
3.3 方案安全性
定理1 假定(ε′,t′,n)-DHI成立,本文的方案在選擇身份攻擊模型下是(ε,t,qe,qs,qu)-不可偽造的,即如果存在運行時間至多為t、優勢為ε的敵手A,且其私鑰詢問的次數最多為qe,簽密詢問最多為qs,解密詢問最多為qu,那么可以概率ε′≥ε(1-1p)qe(1-1p2)qs解決DHI問題,其時間為t′=t+o((qe+3qs+2qu)nρ)+o((qe+3qs+2qu)nτ)+5τ′,ρ和τ分別為G中一次乘法運算和指數運算的時間,τ'為一次雙線性對運算的時間。
證明 假定存在(ε,t,qe,qs,qu)-敵手A,那么能夠構造算法B,它可以利用A以概率ε′時間t′解決DHI問題。
給定B一個DHI問題的實例(g,gα,…,gan),為了計算gαn+1,B模仿A的挑戰者,其過程如下:
敵手A將挑戰身份L*={ID*1,…,ID*n-1}和挑戰消息m*發送給B。
Setup:令id*i=H1(ID*i),1≤i≤n-1,id*n=H2(m*,L*)。為了產生系統參數,B首先選擇γ∈R
瘙 綄 p,設g1=gα,g2=gan,gγ+αn。其次,B選擇γ1,…,γn∈R
瘙 綄 p,并令i=gγi/gan-i+1,1≤i≤n。最后,B選擇γ∈R
瘙 綄 p,并令u′=gδ#8226;∏ni=1gαn-i+1id*i。B將公開參數params=(g,g1,g2,u′,1…,n)發送給A,相應的主密鑰為gα2=gα(γ+αn)。
可以看出這些參數的分布與一個真正的挑戰者所產生的公開參數是一樣的。
Queries:B將按如下方式模仿A對挑戰者發起的詢問:
a)Extract query。當詢問身份ID的私鑰時,B計算id=H1(ID),如果id=H1(ID*i),1≤i≤n-1,那么B將失敗退出。否則,B任選∈
瘙 綄 p并令r=α(id-id*1)+,構造其私鑰dID=(gα2(u′id1)r,gr,r1,…,ri-1,ri+1,…,rn)。
a0=gα(γ+αn)gδ+∑nj=1αn-j+1id*j#8226;(gγ1-αn)idr=gαγ#8226;gδ+γ1id#8226;g∑nj=2αn-j+1id*jr#8226;gαn(id*1-id) b0=gr=gα(id-id*1)+ ck=rk=g(γk-αn-k+1)α(id-id*1)+,2≤k≤n
為了描述方便,計算中選擇了id*1,當選擇其他id*i(2≤i≤n-1)時,計算過程是相同的。
b)Signcrypt query。敵手A可以任意發起在環L={ID1,…,IDn′}和接收者IDr下對消息m的簽密詢問。令idi=H1(IDi),1≤i≤n,idn′+1=H2(m,L)。如果{id1,…,idn′+1}與{id*i,…,id*n}相同或是其前綴,那么B將失敗退出。否則存在k≤n,滿足idk≠id*k。為了響應A發出的簽密詢問,本文選取序號最小的k,如同私鑰詢問中那樣生成idk的私鑰,然后運行signcrypt算法生成一個有效的簽密c并發送給A。
c)Unsigncrypt query。敵手A可以任意發起在環L和接收者IDr下對密文c的解密詢問。如同私鑰詢問中那樣,B首先計算IDr的私鑰,然后運行unsigncrypt算法。如果c是一個有效的密文,則返回m;否則,返回⊥。
Forgery:最后,A輸出在環L*和消息m*下的環簽密c*,其中L*和m*是在游戲開始時由A選定的。令c*=(c*1,c*2,c*3,c*4,c*5),C*3=g,可得:
C*2=gα2(u'∏ni=1id*ii)=gα2gδ+∑nj=1αn-j+1id*j#8226;(∏ni=1gγi-αn-i+1)id*i=gα2(gδ+∑nj=1γiid*i)gαn+1=gα2/gαγ=C*2/C*δ+∑nj=1γiid*i3gγ1
這就是DHI問題實例的解。
下面分析算法B成功的概率。
為使整個模擬過程沒有失敗退出,需滿足兩個條件:
a)對身份ID進行私鑰詢問時,需滿足id=H1(ID),id≠H1(ID*1)。
b)對環L={ID1,…,IDn′}進行簽密時,{id1,…,idn'+1}必須不與{id*1,…,id*n}相同或不為其前綴。
本文定義事件Ai,Bj如下:
Ai:H1(IDi)≠H1(ID*1),i=1,…,qe。ID*1是在前面的描述過程中選定的,這里需與前面相同。
Bl:{idl,1,…,idl,n'l+1}≠{id*1,…,id*},l=1,…,qs,2≤≤n。
那么B不失敗退出的概率為
Pr[
瘙 綈 abort]≥Pr(Λqei=1Ai)Λ(Λqsl=1Bl)
其中:事件Ai和Bl是相互獨立的。由
Pr[Ai]=1-1/p,Pr[Bl]=1-(1/p)n′l+1
可得:Pr[
瘙 綈 abort]≥Pr(Λqei=1Ai)Λ(Λqsl=1Bl)=(1-1p)qe∏qsl=1(1-(1p)n′l+1)≥(1-1p)qe(1-1p2)qs。
如果整個模擬過程中B沒有失敗退出,A可以概率ε生成一個有效的偽造環簽密,那么B能以概率ε'≥ε(1-1p)qe(1-1p2)qs解決DHI問題的實例。
時間復雜度分析:私鑰詢問需要O(n)次G中乘法運算和O(n)次指數運算,簽密詢問需要O(3n)次G中乘法運算、O(3n)次指數運算以及O(1)次雙線性對運算, 解密詢問需要O(2n)次G中乘法運算、O(2n)次指數運算以及O(4)次雙線性對運算,故B總的運行時間為
t′=t+O((qe+3qs+2qu)nρ)+O((qe+3qs+2qu)nτ)+5τ′
定理2 在DBDHE困難問題的假設下,本文的方案是IND-sID-CCA安全的。
證明 假設敵手A能以不可忽略的優勢攻擊本方案,則能夠構造算法B,B可以利用A解決DBDHE問題。
給定B一個DBDHE問題的實例(g,h,gα…,gαl,gαl+2…,gα2l,T),其目標是判斷是否有T=e(g,h)αl+1。B模仿A的挑戰者,其過程如下:
敵手A將挑戰身份L*={ID*1,…,ID*n-1}發送給B。
Setup:用前面證明中相同的方法構造系統公開參數,并發送給A。
Phase 1:如同前面的證明那樣,A可以發起一定數量的私鑰詢問、簽密詢問及解密詢問。
Challenge:一旦A確定第一階段結束,輸出L*,兩個長度相同的消息m0、m1以及簽密接收者IDr。如果A在第一階段詢問了L*中任一成員或IDr的私鑰,那么B將失敗退出。B任選一環簽密者IDk,使用前面證明中相同的方法構造其私鑰dIDk。B任選一位b∈{0,1},c∈R
瘙 綄 p,并計算id*n=H2(mb,L)。令C1=h=gc,c2=ak,0(∏n′j=1,j≠kcidjk,j)cmk,n′+1(u′id11…idn′n′mn′+1)c,C3=bk,0gc,C4=(u'id*rr)c,C5=T#8226;e(g1,h)γ〈mb,IDk,C2,C3〉。
如果T=e(g,h)αl+1,可得:e(g,h)αl+1#8226;e(g1,h)γ=e(g1,hα1+γ)=e(g1,g2)c因此,C5=e(g1,g2)c〈mb,IDk,C2,C3〉。
可知CT=(C1,C2,C3,C4,C5)是在挑戰身份L*下對mb的一個有效環簽密。
Phase 2:敵手A可如同階段1那樣,發出一定數量的私鑰詢問、環簽密詢問及解密詢問,但是A不能進行IDr的私鑰詢問及CT的解密詢問。
Guess:最后,A輸出對b的猜測b′。如果b=b′,則B輸出1,表示T=e(g,h)αl+1;否則,B輸出0,表示T是GT中一隨機元素。因此,如果存在一個敵手以不可忽略的概率進行CCA攻擊,那么就存在一個算法可以不可忽略的概率解決DBDHE問題,而這與DBDHE是一個困難問題相矛盾,故方案是IND-sID-CCA安全的。
3.4 方案效率
由于雙線性對計算所花費的計算成本遠高于元素的點乘運算和指數運算,只考慮雙線性對的計算成本。文獻[12,14]的簽密和解密階段所需的雙線性對計算分別為n+2和3及1和2,密文長度分別為2n+3及n+4。在本方案中,簽密和解密階段分別需要計算1和2次,而密文長度為5,因此方案具有較高的效率。
4 結束語
本文提出了一個密文長度固定的基于身份環簽密方案。方案中無須借助隨機預言機,在標準模型下可證明它是安全的。與現有的環簽密方案相比,本方案中密文的長度固定,不隨環的線性增長而增長,具有較高的效率。利用DBDHE問題和DHI問題的困難性,分別對方案的不可區分性和不可偽造性進行了安全性證明,并進行了相應的概率分析和時間復雜度分析。
參考文獻:
[1]SHAMIR A. Identity-based cryptosystems and signature schemes[C]//Proc of CRYPTO 1984.New York: Springer-Verlag, 1985: 47-53.
[2]BONEH D,FRANKLIN M. Identity-based encryption from the Weil pairin[C]//Proc of CRYPTO.Berlin:Springer, 2001:213-229.
[3]BONEH D,BOYEN X. Efficient selective-id secure identity based encryption without random oracles[C]//Proc of EUROCRYPT.Berlin: Springer-Verlag, 2004: 223-238.
[4]BONEH D,BOYEN X. Secure identity based encryption without random oracles[C]//Proc of CRYPTO.Berlin: Springer-Verlag, 2004: 443-459.
[5]GENTRY C. Practical identity-based encryption without random oracles[C]//Proc of EUROCRYPT. Berlin:Springer-Verlag, 2006: 445-464.
[6]PATERSON K G,SCHULDT J C N. Efficient identity-based signatures secure in the standard model[C]//Proc of ACISP. Berlin:Springer-Verlag,2006:207-222.
[7]REN Yan-li ,GU Da-wu . Efficient hierarchical identity based signature scheme in the standard model[J]. Wuhan University Journal of Natural Sciences,2008,13(6): 665-669.
[8]ZHENG Yu-liang. Digital signcryption or how to achieve cost(signature encryption)< [9]BAEK J,STEINFLD R, ZHENG Yu-liang . Formal proofs for the security of signcryption[C]//Proc of PKC.London: Springer-Verlag, 2002: 363-366. [10]MALONE-LEE J. Identity-based signcryption[J/OL].(2002).[2009-06-15]. http://eprint.iacr.org/. [11]LIBERT B,QUISQUATER J J. New identity based signcryption schemes from pairings[EB/OL].(2003).[2009-06-15]. http://eprint.iacr.org/. [12]HUANG Xin-yi , SUSILO W, MU Yi, et al. Identity-based ring signcryption schemes: cryptographic primitives for preserving privacy and authenticity in the ubiquitous world[C]//Proc of Advanced Information Networking and Application. 2005:649-654. [13]ZHANG Ming-wu , YANG Bo , ZHU Shen-lin, et al. Efficient secret authenticatable anonymous signcryption scheme with identity privacy[C]//Proc of PAISI. Berlin:Springer-Verlag, 2008: 126-137. [14]ZHU Zhen-chao, ZHANG Yu-qing, WANG Feng-jiao. An efficient and provable secure identity-based ring signcryption scheme[EB/OL].[2009-06-15].http://dx.doi.org/10.1016/j.csi.