張碩英 劉鋒
摘 ? 要:利用結(jié)合RSA密碼體制和ElGamal簽名算法的簽密體制、異或運算和Hash函數(shù)等工具,提出一個安全的動態(tài)可驗證多秘密共享方案。方案中的參與者獲得子秘密份額時,驗證其來源和有效性,避免得到無效的子秘密份額。方案在不安全信道環(huán)境下具有一定的抗干擾能力,可以防止非法用戶的參與。同時可以防止參與者和分發(fā)者的欺騙行為。方案具有高效性和靈活性,同時在秘密分發(fā)過程更具安全性。
關(guān)鍵詞:多秘密共享;可驗證的;動態(tài)的;密碼學(xué)
中圖分類號: TN911.22 ? ? ? ? ?文獻標識碼:A
Abstract: Using the RSA cryptosystem and ElGamal signature algorithm, XOR operation and hash function, a dynamic and verifiable multi-secret sharing scheme has been proposed. When the participant obtains the sub secret share, it verifies its source and validity to avoid getting the invalid sub secret share. The scheme has a certain anti-interference ability in the insecure channel environment, which can prevent the participation of illegal users. At the same time, it can prevent participants and distributors from cheating. This scheme is efficient and flexible, and is more secure in secret distribution process.
Key words: secret sharing; verifiable; dynamic; cryptography
1 引言
計算機網(wǎng)絡(luò)的興起給人們的生活提供了巨大的便利,保存重要信息不再使用易丟失或破損的紙張,使用電子設(shè)備保存重要信息成為現(xiàn)在最為普遍的做法。那么面對信息的保存,安全問題就顯得尤為重要。最初使用的方法便是重要信息統(tǒng)一由一人或者多人保管,顯然這樣的方法安全性極低,不能保障數(shù)據(jù)信息的安全可靠性。為解決信息的安全保存問題,Shamir和Blakley在1979年分別獨立地設(shè)計了一個基礎(chǔ)的秘密共享方案。文獻[1]通過構(gòu)造多項式將主秘密分割成多個子秘密,分發(fā)給相應(yīng)的參與者。當參與者個數(shù)大于或等于門限值時,便可以通過Lagrange插值公式進行主秘密的恢復(fù);當參與者個數(shù)小于門限值時,主秘密無法恢復(fù)。文獻[2]通過利用幾何學(xué)中的多維空間性質(zhì),將主秘密被定義為n維空間中有n個超平面相交的點,每一個子秘密包含主秘密點的n-1維超平面方程,任意n個超平面相交就能代表主秘密的點。而少于n個超平面相交只能確定代表主秘密的點所在的交線,無法恢復(fù)主秘密。這兩種基本的秘密共享方案的思想都是將主秘密進行分割,再進行分發(fā)子秘密份額?;謴?fù)主秘密時,當參與者個數(shù)大于或等于門限值時,才可完整恢復(fù)主秘密;反之不能。上述兩種方案因后者的超平面本身的抽象性,導(dǎo)致該方案難以理解,以至于針對該方案的研究或改進較少。Shamir共享方案因其思想、過程簡單,很多研究人員在該方案基礎(chǔ)上的研究或改進較多。
文獻[3]提出來了建立在整數(shù)環(huán)上的秘密共享方案,該方案適用于當計算環(huán)境無法構(gòu)成域時。文獻[4]在文獻[1]的基礎(chǔ)上進行了改進,使得子秘密份額可重復(fù)利用,無需頻繁進行子秘份額的更新。文獻[5]對文獻[4]進行了改進,使其具有可驗證性。文獻[7]利用單向散列鏈構(gòu)造多項式更新子秘密份額;文獻[9]提出將秘密份額進行線性組合作為Lagrange分量,用于重構(gòu)秘密;文獻[10]提出了一個高效的多秘密共享方案;文獻[12]設(shè)計了一個根據(jù)門限值大小重構(gòu)不同秘密的多秘密共享方案,使方案具有動態(tài)性。文獻[14]的方案是在文獻[12]方案的基礎(chǔ)上進行了改進,以Hash函數(shù)的安全性作為基礎(chǔ),在重構(gòu)主秘密之后,驗證其是否正確。利用RSA密碼體制,將子秘密份額加密傳輸,使子秘密分發(fā)可在不安全信道中傳輸。
本文在文獻[14]方案的基礎(chǔ)上進行了改進,本方案利用ElGamal簽名方案在子秘密分發(fā)階段對子秘密進行簽名和對子秘密利用RSA密碼體制加密,并在參與者得到子秘密份額之后進行Hash函數(shù)值驗證,確保子秘密份額來源于分發(fā)者,以及確保子秘密份額正確有效。參與者通過對加密后的子秘密份額進行解密并簽名認證得到正確有效的子秘密份額。本文方案通過對不同組的主秘密定義不同的門限值,便于之后恢復(fù)不同主秘密,可以動態(tài)地增刪參與者,還可以對秘密進行增加或者刪除。
2 動態(tài)多秘密共享方案
方案構(gòu)造過程中,引入如下幾個實體,秘密分發(fā)者用D表示。參與者用表示,秘密恢復(fù)者用C表示。
2.1系統(tǒng)初始化階段
(5)每個參與者通過RSA解密函數(shù),計算;并且通過ElGamal簽名驗證函數(shù)判斷其真值。若真值為真,可得屬于參與者的秘密份額。
(6)通過對計算出的子秘密份額應(yīng)用Hash函數(shù),得到,判斷與公開的是否相等,驗證子秘密的有效性。
3.3 主秘密重構(gòu)階段
若要重構(gòu)第一組秘密,則至少需要大于等于l位的參與者合作執(zhí)行以下過程。
(1)每個計算各自的經(jīng)過運算后的秘密份額,即:
在上應(yīng)用Hash函數(shù)得,公開;然后將發(fā)送給恢復(fù)者C。
(2)C接收到所有的后,通過Hash函數(shù)計算,判斷是否等于之前公開的。若兩者相等,則C接受;若兩者不相等,則說明在傳輸過程中出現(xiàn)錯誤,或者參與者存在欺騙行為,將錯誤的發(fā)送給C,C要求參與者重新發(fā)送,直至獲得正確的。C獲得正確的 后,第一組秘密重構(gòu)為:
得到后,根據(jù)公布的和,計算(其中),即可恢復(fù)出第l組的t個秘密。
(3)得到t個秘密(其中)后,通過Hash函數(shù)計算,判斷和公開的是否相等。若相等,則得到了正確的t個主秘密;若不等,則說明D存在欺騙行為,沒有發(fā)送正確的子秘密份額。
4分析與討論
4.1 可驗證性分析
本文在原有方案的基礎(chǔ)上,在秘密分發(fā)階段增加了ElGamal簽名方案和分發(fā)階段的驗證算法,更加有效保證傳輸過程中數(shù)據(jù)的唯一有效性。
(1)增加ElGamal簽名方案。分發(fā)者在對子秘密份額加密之前,對其通過簽名函數(shù)進行簽名。當參與者收到加密之后的子秘密份額和簽名消息對,參與者通過RSA解密函數(shù)對子秘密份額進行解密之后,再通過ElGamal驗證函數(shù)對子秘密份額和簽名消息對進行驗證。若驗證通過,則分發(fā)者得到子秘密份額;反之,得到的信息有誤。因此該方案增加了對秘密分發(fā)者的身份認證,確保秘密發(fā)送方的數(shù)據(jù)安全性。
(2)當秘密分發(fā)者解密并驗證子秘密份額,可通過Hash函數(shù)確認其有效性,防止秘密分發(fā)者的欺騙。在參與者獲得子秘密份額后,每一位參與者通過Hash函數(shù)計算,判斷與是否相等。如果值相等,說明子秘密份額是正確的,參與者接收子秘密份額;如果值不相等,說明分發(fā)者是不誠實的,參與者要求分發(fā)者重新簽名并加密子秘密份額再發(fā)送,直至得到正確的子秘密份額。
4.2 動態(tài)性分析
在不改變秘密份額的同時,增加或刪除參與者。也可以添加新的主秘密或者刪除舊的主秘密。
(1)參與者的添加。設(shè)需添加一身份標識為的參與者。在系統(tǒng)初始化階段,秘密分發(fā)者D選取的一個在上的離散對數(shù)問題的難處理的大素數(shù),是一個本原元,而后選擇合適的和一個秘密的隨機數(shù)。選擇2個足夠大的素數(shù)、和,分別計算,,。公開,確保其唯一性,否則參與者需要重新選擇,保密;在偽秘密份額產(chǎn)生計算秘密分發(fā)者D選取,,根據(jù)簽名函數(shù)對進行簽名,公開。利用RSA加密函數(shù)對進行加密,即。公開;秘密分發(fā)者D通過計算得到,將公開。參與者通過RSA解密函數(shù)從中計算得子秘密份額,并且通過驗證函數(shù)驗證真值。若驗證通過,則得到屬于自己的子秘密份額。最后,通過Hash函數(shù)驗證此子秘密份額是否有效,判斷其有效之后,新添加的參與者便能夠參與重構(gòu)主秘密。
參與者的刪除。假設(shè)刪除某一參與者后,剩余參與者仍可以重構(gòu)主秘密,只需刪除公開的Hash值即可。若被刪除的參與者使用原有的子秘密份額參與重構(gòu)秘密,在重構(gòu)秘密驗證的Hash值時,因不存在無法驗證通過,無法參加主秘密的重構(gòu)。
(2)主秘密的添加。若增加第i組中的第個主秘密,分發(fā)者就要能夠在有限域中找到和,使得其滿足,并計算,公開,和即可。若要添加第組主秘密,分發(fā)者就要能夠在有限域中找到和,使得其滿足,并計算,公開,和根據(jù)方案定義,分別計算,公開。
主秘密的刪除。只需刪除某一秘密對應(yīng)的Hash值,使其在重構(gòu)階段的驗證Hash值時無法通過驗證即可。
正確性分析參見文獻[12]?。
5 結(jié)束語
本文方案在文獻[14]的方案基礎(chǔ)上,在秘密分發(fā)階段增加了ElGamal簽名方案和對子秘密份額的驗證算法,增加了對秘密發(fā)送方的身份確認功能,以及對秘密份額有效性的驗證。進一步在不安全信道中保證了信息的安全,防止在子秘密分發(fā)階段分法者的欺騙行為,同時避免了分發(fā)者向參與者發(fā)送無效的秘密份額。參與者可以通過相同的子秘密份額恢復(fù)出多個秘密。
基金項目:
國家自然科學(xué)基金面上項目(項目編號:61771294,61972235)。
參考文獻
[1] Shamir A . How to Share a Secret[J]. Comm Acm, 1979, 22.
[2] Blakley, G.R. Safeguarding cryptographic keys[C]// Afips. IEEE Computer Society, 1979.
[3] Lein Harn, Changlu Lin. Strong (n,t,n) verifiable secret sharing scheme[M]. Elsevier Science Inc. 2010.
[4] 徐秋亮,李大興,鄭志華.一個建立在整數(shù)環(huán)上的秘密共享方案[J].通信保密,1999,3-5.
[5] Zhao J , Zhang J , Zhao R . A practical verifiable multi-secret sharing scheme[J]. computer standards & interfaces, 2007, 29(1):138-141.
[6] Dehkordi M H , Mashhadi S . An efficient threshold verifiable multi-secret sharing[J]. Computer Standards & Interfaces, 2008, 30(3):187-190.
[7] 谷婷,杜偉章.無可信中心的可動態(tài)更新多秘密共享方案[J].計算機工程, 2016(3):148-155.
[8] Amroudi A N , Zaghain A , Sajadieh M . A Verifiable (k,n,m)-Threshold Multi-secret Sharing Scheme Based on NTRU Cryptosystem[J]. Wireless Personal Communications, 2017, 96(1):1-13.
[9] Harn L . Secure secret reconstruction and multi-secret sharing schemes with unconditional security[J]. Security & Communication Networks, 2014, 7(3):1-7.
[10] Shao, Jun. Efficient verifiable multi-secret sharing scheme based on hash function[J]. Information Sciences, 2014, 278:104-109.
[11] Harn, Lein, Hsu, Ching-Fang. (t, n) Multi-Secret Sharing Scheme Based on Bivariate Polynomial[J]. Wireless Personal Communications, 2016.
[12] SHI Run-hua, ZHONG Hong, HUANG Liu-sheng. Dynamic Multi-secret Sharing Scheme[J]. computer engineering, 2008, 31(5):701-704.
[13] Hsu C F , Cheng Q , Tang X , et al. An ideal multi-secret sharing scheme based on MSP[J]. Information Sciences, 2011, 181(7):1403-1409.
[14] 王婭如,李富林,朱士信.可驗證的動態(tài)多秘密共享方案[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版), 2019,v.42;No.320,147-150.
[15] 王俞力,杜偉章.向量空間上無可信中心的動態(tài)多秘密共享方案[J].計算機工程, 2017, 043(007):163-169.
[16] 劉建,鮮明,王會梅,等.面向移動云的屬性基密文訪問控制優(yōu)化方法[J].通信學(xué)報, 2018, 039(007):39-49.
[17] 谷婷,杜偉章.自選子秘密可更新的多秘密共享[J].計算機工程, 2016, 042(006):120-124.
[18] 張明武,陳泌文,謝海濤.帶權(quán)重的動態(tài)可驗證多秘密共享機制[J].密碼學(xué)報, 2016, 003(003):229-237.
[19] 張尚韜.一種基于橢圓曲線自雙線性映射的多秘密共享方案[J].海南師范大學(xué)學(xué)報(自然科學(xué)版), 2016, v.29(01):39-42.