摘 要: 在基于橢圓曲線離散對數(shù)的安全機制的前提下,討論了(t,n)門限加密模式。在該模式中,系統(tǒng)公鑰由成員協(xié)同產(chǎn)生, t個或t個以上成員可以間接地解開密文。由于(t,n)門限加密模式秘密信息較少,所以具有良好的安全性,且計算復(fù)雜度較低。
關(guān)鍵詞: 秘密共享;可信中心;加密
門限秘密共享由SHAMIR[1]和BLAKLEY[2]于1979年獨立提出,他們分別利用有限域中的Lagrange插值多項式和幾何映射構(gòu)造出了(t,n)門限秘密共享方案,這些方案存在著可信中心。隨后許多學(xué)者對可信中心的存在情況進行了深入研究。1991年,INGEMARSSON和SIMMONS[3]提出了一種無可信中心秘密共享思想。HARN[4]于1994年提出了一種基于ELGamal簽名的、不需要可信中心的門限群簽名方案,該方案沒有可信中心,但是超過門限值的成員能夠協(xié)同恢復(fù)其他成員的私鑰。參考文獻[5-7]等分別提出了一個無需可信中心的門限簽名方案,但簽名者之間需要進行秘密通信來交換信息。參考文獻[8]提出的門限簽名方案無需秘密通信。隨后,很多學(xué)者對這方面進行了大量的研究和改進[9-10]。
目前,無可信中心秘密共享的研究主要集中在門限數(shù)字簽名上,對于門限加密的研究尚且不多。為此,本文在基于橢圓曲線公鑰體制的前提下,提出了無可信中秘密共享加密模式。該模式中,成員協(xié)同作用生成各自的秘密份額,參與者之間無需傳遞任何秘密信息。由秘密份額計算出相關(guān)的可公開信息,從而生成系統(tǒng)公鑰。解密過程中,也是由合作的參與者通過秘密份額計算一個可驗證的偽份額,最終間接地完成解密,從而保證了系統(tǒng)私鑰可重復(fù)使用。利用公開信息來驗證參與者提供的有用信息,在很大程度上提高了系統(tǒng)的執(zhí)行效率。
1 預(yù)備知識
1.1 SHAMIR的門限秘密共享方案
(1)初始化階段:秘密分發(fā)者D隨機地從GF(q)(q為素數(shù)且q>n)中選取n個不同的非零元素x1,x2,…,xn,D將xi分配給Pi(i=1,2,……,n),且xi的值是公開的。
(2)秘密分發(fā)階段:設(shè)共享秘密為s∈GF(q),D隨機地選擇GF(q)中的t-1個元素a1,a2,…,at-1,構(gòu)造一個t-1次多項式f(x)=s+a1x+a2x2+…+at-1xt-1 mod q,D計算yi=f(xi)(i=1,2,…,n),yi作為s的子秘密。
(3)秘密恢復(fù)階段:t個成員Pi(i=1,2,…,t)交換各自的秘密份額,得到:(x1,y1),(x2,y2),(x3,y3),…,(xt,yt),就可通過式(1)恢復(fù)共享秘密s。
s=■yi■■mod q(1)
1.2 橢圓曲線實現(xiàn) Elgamal密碼體制
首先選取一條橢圓曲線Ep(a,b),p為一個奇素數(shù),G為橢圓曲線的基點,q為G的階,Ep(a,b)和G公開。設(shè)明文為m,將明文通過編碼嵌入到曲線上得點Pm,再對點Pm進行加密。另設(shè)用戶UA及UB。
(1)UB加密:用戶UA選SA作為私鑰,并以PA=SAG作為公鑰。任一用戶UB如果想向UA發(fā)送消息Pm,可選取一隨機正整數(shù)k,產(chǎn)生以下點對作為密文:Cm={kG,Pm+kPA}。
(2)UA解密:UA解密時,以密文點對中的第2個點減去用自己的秘密鑰與第1個點的倍乘,即Pm+kPA-SAkG=Pm+k(SAG)-SAkG=Pm。
2 本方案的描述
2.1 系統(tǒng)初始化
初始化過程完成各參與者的私鑰、秘密份額及系統(tǒng)公鑰的產(chǎn)生。假設(shè)P={P1,P2,…,Pn}為n個成員的集合,每個成員Pi(Pi∈P)擁有私鑰di,IDi是每個Pi唯一的身份標(biāo)識,t為門限值。首先選取一條橢圓曲線Ep(a,b),G為橢圓曲線的基點,q為G的階,Ep(a,b)和G公開。
(1)Pi∈P在[1,q-1]中隨機選擇一個整數(shù)di作為私鑰,公鑰為diG,并產(chǎn)生隨機數(shù)集{ai,k|k=1,2,…,t-1}。構(gòu)造一個t-1次多項式:
fi(x)=di+ai,1x+…+ai,t-1xt-1mod q(2)
其中di=fi(0)。Pi把fi(IDj)發(fā)送給其他n-1個成員Pj(j≠i)∈P。fi(IDi)自己保留。再計算驗證參數(shù):?琢ik=ajkG,k∈{1,2,…,t-1}。
每個Pj(j≠i)∈P接收到其他n-1個成員的廣播信息后,Pj通過式(3)驗證fi(IDi):
fi(IDj)G=diG+■(IDj)k?琢ik(3)
若式(3)成立,則fi(IDj)有效;否則,Pj拒絕fi(IDj),并要求Pi重新發(fā)送。
(2) 秘密份額的生成:每個Pi從其他n-1個成員接收到了所有正確的秘密份額以后,通過式(4)計算各自的秘密份額,并廣播Yi=F(IDi)G mod q。
F(IDi)=■fj(IDi)mod q(4)
(3) 系統(tǒng)公鑰生成:系統(tǒng)私鑰F(0)=■F(IDi)■■mod q,基于拉格朗日插值多項式,利用公開信息計算系統(tǒng)公鑰:
y=F(0)G modq
=(■F(IDi)■■mod q)G mod q
=[(■F(IDi)■■mod q)·(G mod q)]mod q
=(■F(IDi)■■G)mod q(5)
=■(■■F(IDi)G mod q)mod q
=■(■■Yi)mod q
然后公開y。
2.2 加密過程
為不失一般性,假設(shè)明文為m,將m通過編碼映射到曲線上得點Pm,再對點Pm進行加密。
(1)UA選取一個隨機數(shù)k,并使其滿足1≤k≤q-1。
(2)計算C1=kG mod q和C2=Pm+ky mod q,產(chǎn)生點對密文:Cm={C1,C2}。
(3)將密文Cm發(fā)送給P。
2.3 驗證過程
P中任意t個或t個以上的參與者合作可以解開密文,為不失一般性,設(shè)P中t個參與者集合為W={P1,P2,…,Pn}。收到密文后,W中每個成員Pi利用自己的秘密份額,通過式(6)各自計算出si(i=1,2,…,t),參與者彼此交換份額si。
si=F(IDi)■■C1(6)
每個Pi(j≠i)∈P能夠通過判斷等式siG=C1Yi■■是否成立來驗證Pi(i=1,2,…,t)所提供的份額的真?zhèn)?。如果等式成立,那么Pi所提交的份額是正確的,接著執(zhí)行下面的步驟;否則就要求Pi重新發(fā)送份額。
2.4 解密過程
當(dāng)收到了t份si后,就通過式(7)計算得出F(0)C1 modq。
F(0)C1 modq=[(■F(IDi)■■mod q)·(KG mod q)]mod q
=(■F(IDi)■■KG)mod q
=■(F(IDi)■■KGmod q)(7)
=■(F(IDi)■■C1)
=■si
解密時,以密文對中的第2個點減去用組私鑰與第1個點的倍乘,即:
Pm=Pm+[k(F(0)G mod q)-F(0)kG mod q] mod q=
Pm+k(F(0)G mod q)mod q-F(0)kG mod q=
Pm+ky mod q-F(0)kG mod q=(8)
C2-F(0)C1=
C2-∑si
3 方案分析
3.1 方案特點
(1)本方案不需要可信中心管理參與者的密鑰,成員協(xié)同產(chǎn)生各自的秘密份額,每個參與者只需保留一個自己的私鑰和一份秘密份額。
(2)在初始化階段,系統(tǒng)公鑰由達到門限值的成員組協(xié)同產(chǎn)生并公開,但這些成員組是無法共同生成系統(tǒng)私鑰F(0)的,即P中任一成員都不知道系統(tǒng)私鑰。
(3)秘密份額產(chǎn)生后,公開Yi=F(IDi)G mod q,系統(tǒng)公鑰不是由系統(tǒng)私鑰直接產(chǎn)生,而是由公開信息間接生成。在解密過程中,每個合作的參與者只需向解密者提交一個由秘密份額計算的、可驗證的偽份額si,即可間接達到解密效果。
3.2 安全性分析
(1)系統(tǒng)私鑰F(0)是安全的。基于求解橢圓曲線上離散對數(shù)問題的困難性,由系統(tǒng)公鑰y=F(0)G mod q無法計算出系統(tǒng)私鑰F(0),由■si=F(0)C1 mod q也不能計算出系統(tǒng)私鑰F(0),從公鑰diG(i∈{1,2,…,n})無法得到di(i∈{1,2,…,n}),所以無法生成系統(tǒng)公鑰F(0)=■fi(0)mod q=■di mod q。對于由每個成員的秘密份額得出的公開信息Yi=F(IDi)G mod q(i∈{1,2,…,t}),由于無法獲取秘密份額F(IDi),故無法生成系統(tǒng)私鑰F(0)=■F(IDi)■■mod q。
(2)能夠有效地阻止主動攻擊。如果有偽造者想要假冒成合法成員P中的一員(如Pi),那么它要構(gòu)造一個多項式fi′(x)。但是,由于偽造者不知道Pi的私鑰di,所以fi′(0)≠di。如果fi′(0)≠di,則份額fi′(IDj)就不滿足式(3)的驗證,從而達不到偽造的初衷,所以偽造者不能阻止誠實成員生成系統(tǒng)公鑰。
(3)解密前能夠驗證Pi是否提供虛假信息來欺騙其他參與者。解密過程中,解密者通過判斷式siG=C1Yi■■成立與否來驗證各成員提供的信息的真?zhèn)巍3藄i以外,其他信息均公開或可計算,所以要偽造一個新的滿足條件等式的si是不可行的。
(4) 有別于傳統(tǒng)的研究方法,本方案中對防欺騙研究側(cè)重于安全交換協(xié)議。具體做法體現(xiàn)在方案中秘密份額的生成和認(rèn)證,能在事前有效地阻止惡意成員的欺騙行為。是否滿足式(3)是判斷份額正確性的標(biāo)準(zhǔn)。
本文構(gòu)造了一個無可信中心的秘密共享加密模式,每個參與者只需要產(chǎn)生一個私鑰,秘密份額由成員協(xié)同產(chǎn)生,成員協(xié)同產(chǎn)生用于加密的系統(tǒng)公鑰,t個或t個以上成員利用秘密份額計算并提供正確的信息,可以間接地解開密文。本文是基于橢圓曲線公鑰密碼體制的,系統(tǒng)私鑰的安全性基于橢圓曲線上的離散對數(shù)問題的難解性。該方案中,每個成員需保留的秘密信息只有一個自己的私鑰和一份秘密份額,即使存在著超過門限值的成員協(xié)同作用,也無法將其他成員的私鑰恢復(fù),使無可信中心的特點及優(yōu)點得到了較好的實現(xiàn)。
參考文獻
[1] SHAMIR A. How to share a secret[J]. Communications of the ACM, 1979,22(11):612-613.
[2] BLAKLEY G R. Safe guarding cryptographic keys[C],Proceedings of National Computer Conference. Montvale, NJ: AFIPS Press, 1979: 313-317.
[3] INGEMARSSON I, SIMMONS G L. A protocol to set up shared secret schemes without the assistance of a mutually trusted party[C]. Proceedings of Eurocrypt’90, Mar 21-24, 1991: 266-282.
[4] HARN L . Group-oriented(t,n) threshold digital signature scheme and digital multisignature[J]. IEEE Proceeding of Computer and Digital and Techniques, 1994, 141(5): 307-313.
[5] 王斌,李建華.無可信中心的 (t,n) 門限簽名方案[J].計算機學(xué)報,2003,26(11):1581-1584.
[6] MIYAZAKI K, TAKARAGI K . A threshold digital signature scheme for a smart card based system. IEICE Trans. Fundamentals, 2001, E84-A(1): 205-213.
[7] CHANG Ting Yi, YANG Chou Chen, HWANG Min Shiang. A threshold signature scheme for group communications without a shared distribution center. Future Generation Computer Systems, 2004, 20(6): 1013-1021.
[8] TAKARAGI K, MIYAZAKI K, TAKAHASHI M, et al. A threshold digital signature issuing scheme without secret communication[EB/OL]. http: //grouper. ieee. org/groups/1363/Study Group/ contributions/th-sche. pdf, 2002-12-01.
[9] 龐遼軍,譚示崇,王育民.一個預(yù)防欺詐的(t,n)門限數(shù)字簽名方案[J].電子與信息學(xué)報,2007,29(4):895-897.
[10] 龐遼軍,李慧賢,王育民.一個(t,n)門限簽名-(k,m)門限驗證的群簽名方案[J].計算機科學(xué),2006,33(11):76-78.