摘 要: 在基于橢圓曲線離散對數的安全機制的前提下,,討論了(t,n)門限加密模式,。在該模式中,,系統公鑰由成員協同產生, t個或t個以上成員可以間接地解開密文,。由于(t,,n)門限加密模式秘密信息較少,,所以具有良好的安全性,,且計算復雜度較低。
關鍵詞: 秘密共享,;可信中心,;加密
門限秘密共享由SHAMIR[1]和BLAKLEY[2]于1979年獨立提出,,他們分別利用有限域中的Lagrange插值多項式和幾何映射構造出了(t,n)門限秘密共享方案,,這些方案存在著可信中心,。隨后許多學者對可信中心的存在情況進行了深入研究。1991年,,INGEMARSSON和SIMMONS[3]提出了一種無可信中心秘密共享思想,。HARN[4]于1994年提出了一種基于ELGamal簽名的、不需要可信中心的門限群簽名方案,,該方案沒有可信中心,,但是超過門限值的成員能夠協同恢復其他成員的私鑰。參考文獻[5-7]等分別提出了一個無需可信中心的門限簽名方案,,但簽名者之間需要進行秘密通信來交換信息,。參考文獻[8]提出的門限簽名方案無需秘密通信。隨后,,很多學者對這方面進行了大量的研究和改進[9-10],。
目前,無可信中心秘密共享的研究主要集中在門限數字簽名上,,對于門限加密的研究尚且不多,。為此,本文在基于橢圓曲線公鑰體制的前提下,,提出了無可信中秘密共享加密模式,。該模式中,成員協同作用生成各自的秘密份額,,參與者之間無需傳遞任何秘密信息,。由秘密份額計算出相關的可公開信息,從而生成系統公鑰,。解密過程中,,也是由合作的參與者通過秘密份額計算一個可驗證的偽份額,最終間接地完成解密,,從而保證了系統私鑰可重復使用,。利用公開信息來驗證參與者提供的有用信息,在很大程度上提高了系統的執(zhí)行效率,。
1 預備知識
1.1 SHAMIR的門限秘密共享方案
(1)初始化階段:秘密分發(fā)者D隨機地從GF(q)(q為素數且q>n)中選取n個不同的非零元素x1,,x2,…,,xn,,D將xi分配給Pi(i=1,2,,……,,n),,且xi的值是公開的。
(2)秘密分發(fā)階段:設共享秘密為s∈GF(q),,D隨機地選擇GF(q)中的t-1個元素a1,,a2,…,,at-1,,構造一個t-1次多項式f(x)=s+a1x+a2x2+…+at-1xt-1 mod q,D計算yi=f(xi)(i=1,,2,,…,n),,yi作為s的子秘密,。
(3)秘密恢復階段:t個成員Pi(i=1,2,,…,,t)交換各自的秘密份額,得到:(x1,,y1),,(x2,y2),,(x3,,y3),…,,(xt,,yt),就可通過式(1)恢復共享秘密s,。
s=■yi■■mod q(1)
1.2 橢圓曲線實現 Elgamal密碼體制
首先選取一條橢圓曲線Ep(a,,b),p為一個奇素數,,G為橢圓曲線的基點,,q為G的階,Ep(a,,b)和G公開,。設明文為m,將明文通過編碼嵌入到曲線上得點Pm,,再對點Pm進行加密,。另設用戶UA及UB。
(1)UB加密:用戶UA選SA作為私鑰,,并以PA=SAG作為公鑰,。任一用戶UB如果想向UA發(fā)送消息Pm,可選取一隨機正整數k,,產生以下點對作為密文:Cm={kG,,Pm+kPA}。
(2)UA解密:UA解密時,,以密文點對中的第2個點減去用自己的秘密鑰與第1個點的倍乘,,即Pm+kPA-SAkG=Pm+k(SAG)-SAkG=Pm。
2 本方案的描述
2.1 系統初始化
初始化過程完成各參與者的私鑰,、秘密份額及系統公鑰的產生,。假設P={P1,P2,,…,,Pn}為n個成員的集合,每個成員Pi(Pi∈P)擁有私鑰di,,IDi是每個Pi唯一的身份標識,,t為門限值。首先選取一條橢圓曲線Ep(a,,b),,G為橢圓曲線的基點,q為G的階,,Ep(a,,b)和G公開。
(1)Pi∈P在[1,,q-1]中隨機選擇一個整數di作為私鑰,,公鑰為diG,并產生隨機數集{ai,,k|k=1,,2,…,,t-1},。構造一個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)自己保留,。再計算驗證參數:?琢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) 系統公鑰生成:系統私鑰F(0)=■F(IDi)■■mod q,基于拉格朗日插值多項式,,利用公開信息計算系統公鑰:
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 加密過程
為不失一般性,假設明文為m,,將m通過編碼映射到曲線上得點Pm,,再對點Pm進行加密。
(1)UA選取一個隨機數k,,并使其滿足1≤k≤q-1,。
(2)計算C1=kG mod q和C2=Pm+ky mod q,產生點對密文:Cm={C1,,C2},。
(3)將密文Cm發(fā)送給P。
2.3 驗證過程
P中任意t個或t個以上的參與者合作可以解開密文,,為不失一般性,,設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 解密過程
當收到了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)本方案不需要可信中心管理參與者的密鑰,,成員協同產生各自的秘密份額,每個參與者只需保留一個自己的私鑰和一份秘密份額,。
(2)在初始化階段,,系統公鑰由達到門限值的成員組協同產生并公開,但這些成員組是無法共同生成系統私鑰F(0)的,,即P中任一成員都不知道系統私鑰,。
(3)秘密份額產生后,公開Yi=F(IDi)G mod q,,系統公鑰不是由系統私鑰直接產生,,而是由公開信息間接生成。在解密過程中,,每個合作的參與者只需向解密者提交一個由秘密份額計算的,、可驗證的偽份額si,即可間接達到解密效果,。
3.2 安全性分析
(1)系統私鑰F(0)是安全的,。基于求解橢圓曲線上離散對數問題的困難性,,由系統公鑰y=F(0)G mod q無法計算出系統私鑰F(0),,由■si=F(0)C1 mod q也不能計算出系統私鑰F(0),從公鑰diG(i∈{1,,2,,…,n})無法得到di(i∈{1,,2,,…,n}),,所以無法生成系統公鑰F(0)=■fi(0)mod q=■di mod q,。對于由每個成員的秘密份額得出的公開信息Yi=F(IDi)G mod q(i∈{1,2,…,,t}),,由于無法獲取秘密份額F(IDi),故無法生成系統私鑰F(0)=■F(IDi)■■mod q,。
(2)能夠有效地阻止主動攻擊,。如果有偽造者想要假冒成合法成員P中的一員(如Pi),那么它要構造一個多項式fi′(x),。但是,,由于偽造者不知道Pi的私鑰di,所以fi′(0)≠di,。如果fi′(0)≠di,,則份額fi′(IDj)就不滿足式(3)的驗證,從而達不到偽造的初衷,,所以偽造者不能阻止誠實成員生成系統公鑰,。
(3)解密前能夠驗證Pi是否提供虛假信息來欺騙其他參與者。解密過程中,,解密者通過判斷式siG=C1Yi■■成立與否來驗證各成員提供的信息的真?zhèn)?。除了si以外,其他信息均公開或可計算,,所以要偽造一個新的滿足條件等式的si是不可行的,。
(4) 有別于傳統的研究方法,本方案中對防欺騙研究側重于安全交換協議,。具體做法體現在方案中秘密份額的生成和認證,,能在事前有效地阻止惡意成員的欺騙行為。是否滿足式(3)是判斷份額正確性的標準,。
本文構造了一個無可信中心的秘密共享加密模式,,每個參與者只需要產生一個私鑰,秘密份額由成員協同產生,,成員協同產生用于加密的系統公鑰,,t個或t個以上成員利用秘密份額計算并提供正確的信息,可以間接地解開密文,。本文是基于橢圓曲線公鑰密碼體制的,,系統私鑰的安全性基于橢圓曲線上的離散對數問題的難解性。該方案中,,每個成員需保留的秘密信息只有一個自己的私鑰和一份秘密份額,,即使存在著超過門限值的成員協同作用,也無法將其他成員的私鑰恢復,,使無可信中心的特點及優(yōu)點得到了較好的實現,。
參考文獻
[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].計算機學報,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] 龐遼軍,,譚示崇,王育民.一個預防欺詐的(t,,n)門限數字簽名方案[J].電子與信息學報,,2007,29(4):895-897.
[10] 龐遼軍,,李慧賢,,王育民.一個(t,n)門限簽名-(k,,m)門限驗證的群簽名方案[J].計算機科學,,2006,33(11):76-78.