程小剛 郭韌 盧正添 周長(zhǎng)利 陳永紅
摘要: 提出一種新的鼓勵(lì)合作秘密分享方案的概念,即參與秘密重建的成員越多,則重建過程越簡(jiǎn)單、計(jì)算量越?。蝗粲猩贁?shù)成員缺席重建秘密過程,則秘密重建仍然是可能的,只是計(jì)算量有所增加,即重建計(jì)算工作量隨缺席成員的個(gè)數(shù)指數(shù)級(jí)增加,而成功概率指數(shù)級(jí)降低.基于區(qū)塊鏈中的工作量證明(PoW)和哈希函數(shù)碰撞方法,構(gòu)建一個(gè)具體可行的方案.通過隨機(jī)預(yù)言模型(ROM)證明了所提方案的安全性.
關(guān)鍵詞: 秘密分享; 哈希函數(shù); 區(qū)塊鏈; 比特幣; 計(jì)算復(fù)雜度
中圖分類號(hào): TN 918文獻(xiàn)標(biāo)志碼: A?? 文章編號(hào): 1000-5013(2023)04-0518-08
Concept and Construction of Collaboration-Encouraging Secret Sharing Scheme
CHENG Xiaogang1,2, GUO Ren3, LU Zhengtian1,2,ZHOU Changli1,2, CHEN Yonghong1,2
(1. College of Computer Science and Technology, Huaqiao University, Xiamen 361021, China;
2. Xiamen Key Laboratory of Data Security and Blockchain Technology, Huaqiao University, Xiamen 361021, China;
3. College of Business Administration, Huaqiao University, Quanzhou 362021, China)
Abstract: A new concept of collaboration-encouraging secret sharing scheme is proposed, it shows that more members participate in secret reconstruction, the simpler the reconstruction process and the smaller the computation. If a few members are absent from the secret reconstruction process, secret reconstruction is still possible, but the amount of computation increases, that is, the amount of reconstruction computation increases exponentially with the decreasing of absent members, while the success probability decreases exponentially. Based on the proof-of-work (PoW) and Hash function collision method in the blockchain, a concrete and feasible scheme is constructed. The security of the proposed scheme is proved through the random oracle model (ROM).
Keywords: secret sharing; Hash function; blockchain; Bitcoin; computation complexity
秘密分享[1-2]是指秘密分發(fā)者(dealer)可以把一個(gè)秘密值分成多份,分別傳輸給不同的參與方,全部或部分滿足預(yù)先設(shè)定好條件的參與方集合(訪問結(jié)構(gòu))就能恢復(fù)秘密,而不滿足條件的參與方集合則不能恢復(fù)秘密.如果不能恢復(fù),甚至不能獲得任何關(guān)于秘密的信息,則稱為完美秘密分享方案.
常用的(t,n)秘密分享是指n個(gè)參與方中如有t方以上參與秘密重建,則可以重建秘密;若參與重建秘密的人數(shù)不足t個(gè),則不能獲得關(guān)于秘密的任何信息.基于多項(xiàng)式的拉格朗日差值公式,Shamir[1]構(gòu)建了第一個(gè)且最重要的(t,n)完美秘密分享方案.其他的實(shí)現(xiàn)方式還有基于幾何的秘密分享方案[2]、基于中國(guó)剩余定理的(t,n)秘密分享方案[3]等.
秘密分享方案有很多變種,如支持不同的訪問結(jié)構(gòu)[4-5]、可驗(yàn)證秘密分享(VSS)[6]、對(duì)量子比特進(jìn)行分享的量子秘密分享(QSS)方案[7]、支持越多人參與可減少通訊復(fù)雜度的QSS方案[8]、混合式秘密分享[9]、閾值可調(diào)秘密分享方案[10]、理性秘密分享(RSS)[11-12]、量子理性秘密分享[13-14]、主動(dòng)安全秘密分享(PSS)[15-16]等.
在區(qū)塊鏈技術(shù)[17-18]中,多參與方以分布式方式共同維護(hù)一個(gè)記錄賬本,在沒有一個(gè)中心可信任方的情況下,確保記錄的唯一性,其典型應(yīng)用是為比特幣(Bitcoin)[18]維護(hù)一個(gè)交易賬本,用計(jì)算難度大的數(shù)學(xué)難題的解決,證明某個(gè)交易的合法性.常用的數(shù)學(xué)難題就是哈希(Hash)函數(shù)的碰撞.近年來(lái),區(qū)塊鏈技術(shù)在隱私保護(hù)、智能家居、共識(shí)協(xié)議、智能合約等方面都有廣泛的研究和應(yīng)用[19-27].
Shamir[1]的秘密分享方案特性是只要參與重建秘密的人數(shù)大于閾值t即可,更多的人參與不能帶來(lái)任何益處,甚至可能使重建工作量更大,因?yàn)橹亟╰-1次多項(xiàng)式只要t個(gè)點(diǎn)即可.基于此,本文提出一種新的鼓勵(lì)合作秘密分享方案.
1 初步知識(shí)
定義1 鼓勵(lì)合作多方秘密分享方案如下.
秘密分發(fā)者Dealer可將秘密分成n份,分別分給n個(gè)參與方:若有n方都參與秘密重建過程,則可高效恢復(fù)秘密并驗(yàn)證秘密的正確性;若有1方缺席秘密重建過程,如果想重建秘密,則要花費(fèi)較多的計(jì)算量且成功概率稍低;一般地,如果有m方缺席重建過程,若要重建秘密,花費(fèi)的計(jì)算工作量隨m指數(shù)級(jí)增長(zhǎng)或成功概率隨m指數(shù)級(jí)降低.
區(qū)塊鏈中,共識(shí)機(jī)制是在分布式環(huán)境下多方能達(dá)成一致意見的機(jī)制,在Bitcoin的應(yīng)用中是讓各方都同意和維護(hù)一個(gè)唯一的交易賬本,從而防止貨幣的重復(fù)使用問題.基于工作量證明(PoW)的共識(shí)機(jī)制是通過計(jì)算能力來(lái)保證達(dá)成共識(shí),即只要網(wǎng)絡(luò)中誠(chéng)實(shí)的參與者(礦工)計(jì)算力大于攻擊者,就可以保證交易賬本的唯一性,保證Bitcoin的正常運(yùn)行.計(jì)算力主要是通過Hash函數(shù)(如SHA256)的碰撞實(shí)現(xiàn),如要求找到一個(gè)隨機(jī)數(shù),使得交易數(shù)據(jù)與此隨機(jī)數(shù)的哈希結(jié)果前面若干位必須為0.在基于區(qū)塊鏈的加密貨幣Bitcoin中,挖礦的目的就是找到Hash值符合一定條件(如前若干位為0)的原像作為工作量證明,獎(jiǎng)勵(lì)系統(tǒng)分配給發(fā)現(xiàn)Hash碰撞的礦工若干比特幣進(jìn)行激勵(lì),從而保證系統(tǒng)的正常運(yùn)行.
借鑒Bitcoin,把符合條件的Hash函數(shù)值作為秘密,參與人的秘密為原像,全部都參與,則有原像,可簡(jiǎn)單構(gòu)建出作為秘密的Hash值,而缺1方或多方的話,則原像不完整,必須對(duì)缺少的部分原像進(jìn)行猜測(cè),才能構(gòu)建秘密.顯然,缺少的秘密越多,則要隨機(jī)猜測(cè)的比特?cái)?shù)越多,工作量也就越大.
2 鼓勵(lì)合作秘密分享方案的構(gòu)建
2.1 初始構(gòu)建
秘密分享的步驟如下.
1) 若有n方參與秘密分享,那么,Dealer就要為每一方生成m比特的隨機(jī)信息,即x1,x2,…,xn,每個(gè)xi的長(zhǎng)度都為m比特.
2) Dealer對(duì)這些數(shù)據(jù)進(jìn)行Hash運(yùn)算,h(x1,x2,…,xn).那么,得到的Hash值的指定部分比特(如后50%比特)就是要共享的秘密,而其他部分(如前50%比特)是作為驗(yàn)證的比特,即可驗(yàn)證重構(gòu)出來(lái)的秘密是否正確;此時(shí),共享的秘密顯然是隨機(jī)值,若希望共享一預(yù)先給定的值,則可以將此隨機(jī)值作為對(duì)稱加密方案(如AES)的秘鑰來(lái)加密給定值,重建秘密時(shí)只需重建出共享的隨機(jī)值(即秘鑰),再進(jìn)行解密即可.
3) Dealer把x1,x2,…,xn分別傳送給參與秘密分享的n方作為他們的秘密值,同時(shí)傳送作為驗(yàn)證的那部分(如前50%比特)Hash值比特.
重建秘密的步驟如下.
1) 如果參與秘密分享的n方都參與重建,那么,重構(gòu)過程非常簡(jiǎn)單,只要計(jì)算Hash值,即
h′=h(y1,y2,…,yn).
2) 驗(yàn)證.把h′中的指定部分(如前50%比特)同公開的驗(yàn)證比特進(jìn)行比較,如果相同,那么剩下的部分就是重建出來(lái)的秘密;如果不同,就說(shuō)明成員中有一部分是惡意的,即沒有貢獻(xiàn)出真正的秘密,或者不是參與方之一.
3) 缺1方.如果缺1方,不失一般性地,假設(shè)缺席的是第n個(gè)參與方(即xn),則前n-1個(gè)參與方也可嘗試重構(gòu)秘密,即對(duì)每個(gè)可能的xn值計(jì)算Hash值,如果某個(gè)Hash值的指定部分同公開驗(yàn)證比特相同,那么,高概率剩下的部分就是秘密,計(jì)算代價(jià)為O(2m),其中,m為1個(gè)參與方從Dealer處獲得的分享(Share)的比特長(zhǎng)度.
4) 缺2方、多方.如果缺席是2方,那么,計(jì)算代價(jià)為O(22×m);一般地,若缺席r方,那么,計(jì)算代價(jià)為O(2r×m),計(jì)算代價(jià)隨著缺席的人數(shù)指數(shù)級(jí)上升;若r×m>l(即缺失的比特?cái)?shù)大于Hash函數(shù)的輸出長(zhǎng)度l),那么,會(huì)有原像沖突,即1個(gè)Hash值可能對(duì)應(yīng)多個(gè)原像,則平均每個(gè)Hash值有2r×m-l個(gè)原像,猜測(cè)成功的概率為(1/2)r×m-l.
上述分析其實(shí)不夠精確,由于敵手可以直接盲目猜測(cè)作為秘密的那部分Hash比特,那么,計(jì)算代價(jià)就是固定的O(1),成功的概率為1/2秘密長(zhǎng)度.因此,可以通過加長(zhǎng)秘密的長(zhǎng)度來(lái)增強(qiáng)安全性.
2.2 提高安全性的構(gòu)建
為避免上述的安全性問題,可考慮進(jìn)行多次Hash,把多個(gè)Hash函數(shù)輸出值作為秘密,即在一次hj(x1,x2,…,xn,0)的基礎(chǔ)上,延長(zhǎng)秘密包含
hj(x1,x2,…,xn,1),hj(x1,x2,…,xn,2),…,hj(x1,x2,…,xn,k),
即加長(zhǎng)了秘密的長(zhǎng)度,可把hj(x1,x2,…,xn,0)的部分或全部比特作為驗(yàn)證比特,后面的Hash值作為秘密值.此時(shí),可根據(jù)需要設(shè)定k的值,k值越大,秘密越長(zhǎng).由于秘密的長(zhǎng)度較大,直接盲目猜測(cè)的成功概率就大大降低,甚至可忽略不計(jì).
2.3 一個(gè)簡(jiǎn)單的示例
選取一個(gè)簡(jiǎn)單的Hash函數(shù)(實(shí)際應(yīng)用中,應(yīng)該選取更安全的Hash函數(shù),如SHA256)如下
h(x1,x2,…,xn)=∑ni=1ai·ximod N.
上式中:N為一素?cái)?shù);系數(shù)(a1,a2,…,an)∈{0,1,…,N-1}為隨機(jī)數(shù).
以3方為例,令N=257,(a1,a2,a3)=(17,123,25),則Hash函數(shù)為
h(x1,x2,x3)=17x1+123x2+25x3mod 257,
則容易得到h(1,2,3)=81,h(7,8,9)=43.
基于此Hash函數(shù)可設(shè)計(jì)秘密分享方案如下.
隨機(jī)選擇x1=59,x2=98,x3=213,計(jì)算Hash值為
h(59,98,213)=17·59+123·98+25·213mod 257=135=(1000 0111)2.
可設(shè)置要分享的秘密為后四位0111,而前四位1000作為驗(yàn)證比特.
顯然,當(dāng)3方都參與秘密重建時(shí),只需3方各自提供自己的部分,進(jìn)行一次Hash運(yùn)算即可,并可用得到的Hash值前四位同1000比較,若相同,則剩下四位即為重建的秘密0111;若不同,則重建失敗,說(shuō)明有用戶提供了假的秘密部分.
若只用2方參與秘密重建,設(shè)參與方為x1=59,x2=98,此2方也可嘗試重建秘密,即對(duì)x3={0,1,2,…,256}的每個(gè)值嘗試計(jì)算Hash值,前四位為1000的Hash值區(qū)間為128~143.Hash值滿足前四位條件的原像與秘密值,如表1所示.
由表1可知:16個(gè)Hash值都可能是秘密,因?yàn)槠渲档那八奈欢际?000,假如任選其中之一作為秘密,顯然成功的概率為1/16.
符合條件的原像個(gè)數(shù)與成功概率,如表2所示.類似地,假設(shè)只有1方x1=59想重建秘密,那么,可對(duì)x2,x3的每個(gè)可能值進(jìn)行Hash運(yùn)算,可知符合前四位條件的Hash值有4 112,與理論估計(jì)值4 096非常接近,任選其中一組,重建成功概率為14 112;若假設(shè)一個(gè)參與方都沒有,成功的概率為11 056 784,與理論估計(jì)值1 048 576也非常接近,說(shuō)明此Hash函數(shù)的輸出隨機(jī)性較好,即實(shí)現(xiàn)了計(jì)算量和成功概率隨缺失方數(shù)指數(shù)級(jí)增加和降低.
但上述的分析有問題,即如果敵手直接忽略各方的Share,直接瞎猜后四位,成功的概率也是1/16,即此時(shí)多參與方并不能真正帶來(lái)重建工作量的減少或成功概率的提高.需要進(jìn)行安全性的加強(qiáng),即延長(zhǎng)秘密的長(zhǎng)度,降低盲目猜測(cè)的概率,促使敵手進(jìn)行大量計(jì)算.
此時(shí),秘密不只是上述Hash值的后四位,還包括h2(x1,x2,x3,1),需要可繼續(xù)加長(zhǎng)秘密,包含h2(x1,x2,x3,2),h2(x1,x2,x3,3)等).h2是另一個(gè)Hash函數(shù),定義為
h2(x1,x2,x3,i)=17x1+123x2+25x3+81imod 257.
顯然,h2(x1,x2,x3,0)跟上述的Hash函數(shù)是一樣的.
同上,取x1=59,x2=98,x3=213mod 257,計(jì)算Hash值為
h2(x1,x2,x3,0)=135,? h2(x1,x2,x3,1)=216.
用h2(x1,x2,x3,0)即135的前50%比特1000作為驗(yàn)證比特,而后四位和h2(x1,x2,x3,1)=216=1101 1000作為秘密,此時(shí)秘密長(zhǎng)度為12位;若敵手忽略x1,x2直接盲目猜測(cè),那么,成功概率為1/212,此時(shí),敵手的理性選擇是利用x1,x2對(duì)所有可能的x3進(jìn)行Hash運(yùn)算嘗試,運(yùn)算量為28,成功概率是1/16.二次Hash延長(zhǎng)秘密長(zhǎng)度,如表3所示.表3中任何一行都是可能的秘密.
由表3可知:h2(x1,x2,x3,1)與h2(x1,x2,x3,0)有簡(jiǎn)單的線性關(guān)系,即敵手可在盲目猜測(cè)h2(x1,x2,x3,0)后加上81得到后八位,成功概率不變;然而,此處用的Hash函數(shù)很簡(jiǎn)單(線性運(yùn)算),實(shí)際中的Hash函數(shù)(如SHA256)采用的是比較復(fù)雜的非線性運(yùn)算,即敵手盲目猜測(cè)h2(x1,x2,x3,0)后,不會(huì)得到關(guān)于h2(x1,x2,x3,1)的任何信息,只能先猜測(cè)原像x1,x2,x3的值,再計(jì)算h2(x1,x2,x3,0)和h2(x1,x2,x3,1),直接猜測(cè)Hash值的成功率較低.
假設(shè)缺2方,直接盲目猜測(cè)的成功概率為1/212,此時(shí)秘密的長(zhǎng)度為12位,對(duì)缺的2方所有值進(jìn)行Hash計(jì)算工作量為1/216,可得到符合條件的Hash值約為216/24(假設(shè)每個(gè)Hash值都是隨機(jī)),即成功概率為1/212,同盲目猜測(cè)概率相當(dāng);采取類似方法繼續(xù)擴(kuò)展秘密長(zhǎng)度,把h2(x1,x2,x3,2)也作為秘密,秘密長(zhǎng)度為12+8=20,盲目猜測(cè)的概率為1/220,此時(shí),敵手的理性選擇為對(duì)所缺的2方所有可能值進(jìn)行嘗試.在實(shí)際應(yīng)用中,可根據(jù)具體情況調(diào)整秘密的長(zhǎng)度,以確保重建的工作量滿足設(shè)計(jì)要求,利用包含h2(x1,x2,x3,i)技術(shù)增加秘密長(zhǎng)度.
3 安全性與參數(shù)分析
上述方案的安全性主要是基于Hash函數(shù)的安全性,同Bitcoin中的工作量證明PoW類似,持有原像,則可直接通過Hash運(yùn)算得到Hash值,否則,只能隨機(jī)嘗試.只要Hash函數(shù)是安全的,文中方案就是安全的,下面基于隨機(jī)預(yù)言模型(ROM)證明文中方案的安全性.
定理1 基于隨機(jī)預(yù)言模型,鼓勵(lì)合作秘密分享方案滿足安全性性質(zhì),即計(jì)算量和成功概率隨缺失方數(shù)分別指數(shù)級(jí)增長(zhǎng)或指數(shù)級(jí)下降.
證明:設(shè)參與秘密重建的人數(shù)少1人,即缺失的Hash原像位數(shù)為m,對(duì)缺失的m位的每一種可能進(jìn)行嘗試,計(jì)算量為2m,目標(biāo)是找到Hash函數(shù)值的前128位(假設(shè)用于驗(yàn)證的比特位數(shù)為128位)滿足給定值的缺失的m位原像.注意ROM下Hash有2個(gè)性質(zhì).
性質(zhì)1 在ROM中,獲得Hash值的唯一方法是查詢預(yù)言器Oracle,查詢1次就獲得1個(gè)對(duì)應(yīng)的Hash值,Oracle內(nèi)部如何運(yùn)作是黑箱,不能被了解.
性質(zhì)2 每次查詢,Oracle返回的Hash值都是獨(dú)立和隨機(jī)的(要滿足對(duì)同一個(gè)原像的查詢返回的Hash值一致的條件).
在這2個(gè)性質(zhì)下,不能快速求逆,因?yàn)槠浜谙溥\(yùn)作不能逆向工程破解,要找到符合條件的原像只能做隨機(jī)嘗試,即
1) 當(dāng)缺失的原像位數(shù)m<128時(shí),重建的成功概率較高,而計(jì)算量隨m指數(shù)級(jí)增加,即2m;
2) 當(dāng)缺失的原像位數(shù)m>128時(shí),重建成功的概率隨m指數(shù)級(jí)降低,約為1/2m-128,因?yàn)槿笔У脑裎粩?shù)為m(m>128)時(shí),對(duì)每個(gè)可能的原像(有2m個(gè))求Hash值,會(huì)得到2m個(gè)Hash函數(shù)值(每個(gè)長(zhǎng)度為128),而所有可能的Hash函數(shù)值只有2128個(gè),在Hash函數(shù)是隨機(jī)的假設(shè)下,每個(gè)Hash值對(duì)應(yīng)的原像數(shù)量平均為2m/2128=2m-128個(gè),其中,只有1個(gè)是真正的秘密,所以,成功的概率為1/2m-128.
設(shè)每個(gè)人的秘密Share為m位、n個(gè)參與人,Hash函數(shù)的輸入消息為n×m位,若采用SHA256哈希函數(shù),則一個(gè)Hash輸出為256位,平均每個(gè)輸出對(duì)應(yīng)的原像個(gè)數(shù)為
2n×m/2256 = 2n×m-256.
假設(shè)把hj(x1,x2,…,xn,0)的前50%比特即128位作為驗(yàn)證比特,則后50%比特為秘密比特,如果秘密長(zhǎng)度不足,還可擴(kuò)展秘密包括hj(x1,x2,…,xn,1),hj(x1,x2,…,xn,2),…,hj(x1,x2,…,xn,k),此時(shí),秘密長(zhǎng)度為128+k×256比特.
1) 當(dāng)每方的分享長(zhǎng)度m=64時(shí),則缺1方時(shí)需要嘗試的次數(shù)為264,計(jì)算量較大,假設(shè)每個(gè)Hash值都是隨機(jī)的,那么,1個(gè)隨機(jī)256位Hash值有原像的概率為264/2256,即只要嘗試缺失那方的每一個(gè)值,成功重建秘密的概率很高;失敗只可能是符合128位驗(yàn)證比特的Hash值有多個(gè),產(chǎn)生了沖突,即重建出的秘密有多個(gè),不能分辨哪一個(gè)是正確的,只能隨機(jī)選擇.此時(shí),總共264個(gè)Hash值,每個(gè)Hash值符合條件(即前128位符合給定的驗(yàn)證比特)的概率為1/2128,則可能產(chǎn)生沖突(重建失?。┑母怕瘦^小,為
1-1-12128264.
精確來(lái)說(shuō),當(dāng)有k個(gè)Hash值沖突,這k個(gè)值中只有一個(gè)是正確的,即錯(cuò)誤的概率為(k-1)/k,而恰有k個(gè)Hash值沖突的概率Ckn為
Ckn=12128k1-12128n-k.
上式中:n=264.所以,重建失敗的概率PFail為
PFail=∑264k=1kk+1Ckn12128k1-12128n-k.
當(dāng)k=0時(shí)是沒有沖突的,只有一個(gè)值符合條件的情況,即
PFail<∑264k=1Ckn12128k1-12128n-k=∑264k=0Ckn12128k1-12128n-k-1-12128n=
1-1-12128264<1-1-1264=1264.
當(dāng)0
1-np,可用數(shù)學(xué)歸納法證明:當(dāng)n=2時(shí),(1-p)2=1-2p+p2>1-2p顯然成立,若n=k成立,則(1-p)k+1>(1-kp)(1-p)=1-(k+1)p+kp2>1-(k+1)p成立.
此時(shí),產(chǎn)生沖突(重建失?。┑母怕屎苄?,成功的概率很高.
而缺2方時(shí)計(jì)算量為2128,類似上述計(jì)算,成功是沒有沖突發(fā)生(符合前128位條件的Hash值唯一),概率較低.則成功概率為
PSuccess≈1-121282128≈1e≈0.367 88,
這是因?yàn)閘imn→∞1-1nn=1e.
缺3方時(shí),計(jì)算量為2192,平均一個(gè)符合前128位條件Hash值有1/264個(gè)原像,即成功的概率約為1/264,而敵手的另一種選擇是直接盲目猜測(cè)128為秘密值,成功概率很低,為1/2128,但計(jì)算開銷很小,為O(1).
缺4方時(shí),計(jì)算量為2256,成功概率約為1/2128, 原秘密長(zhǎng)度128位就不夠了,若保持128位秘密長(zhǎng)度,則敵手可以選擇直接盲目猜測(cè),成功概率為1/2128,與上述經(jīng)過大量計(jì)算后成功的概率一致,所以,理性的敵手會(huì)選擇直接盲目猜測(cè),此時(shí),要求秘密長(zhǎng)度S遠(yuǎn)遠(yuǎn)大于128,即|S|128;若經(jīng)過計(jì)算后成功概率為p,那么要求秘密長(zhǎng)度遠(yuǎn)遠(yuǎn)大于lg(1/p),否則,敵手可直接盲目猜測(cè),這違背了文中方案的設(shè)計(jì)初衷.增加秘密的長(zhǎng)度可用上述方法,即加上hj(x1,x2,…,xn,k)(k=1,2,3,…)作為秘密.
2) 當(dāng)m=128時(shí),缺1方計(jì)算量為2128且成功概率較低,而缺2方時(shí)計(jì)算量為2256,此時(shí),要求秘密長(zhǎng)度遠(yuǎn)大于128位.
3) 當(dāng)m=256時(shí),缺1方計(jì)算量為2256,要求秘密長(zhǎng)度遠(yuǎn)大于128位.
4) 當(dāng)m>256時(shí),缺1方計(jì)算量為2m,要求秘密長(zhǎng)度遠(yuǎn)大于(m-128)位.
綜上,不同的每方分享長(zhǎng)度下,計(jì)算量、成功概率、缺失方數(shù)和缺失位數(shù)的關(guān)系,如表4所示.
當(dāng)缺失的原像位數(shù)m>128時(shí),找到一個(gè)符合條件的Hash原像需要花費(fèi)的計(jì)算量約為1/2128,而表4中列出的工作量1/2m為找到全部符合條件的原像的總工作量,即嘗試缺失m位的每一種可能性.
顯然,若敵手直接盲目猜測(cè),計(jì)算量為O(1),成功概率與秘密長(zhǎng)度有關(guān),即
1) 當(dāng)驗(yàn)證與秘密總長(zhǎng)度為256位(hj(x1,x2,…,xn,0)),驗(yàn)證比特為128,秘密也為128位,則盲目猜測(cè)成功概率為1/2128.
2) 當(dāng)驗(yàn)證與秘密總長(zhǎng)度為512位(hj(x1,x2,…,xn,0)和hj(x1,x2,…,xn,1)),秘密為384位,盲目猜測(cè)成功概率為1/2384.
3) 當(dāng)驗(yàn)證與秘密總長(zhǎng)度為768位(hj(x1,x2,…,xn,0),hj(x1,x2,…,xn,1),hj(x1,x2,…,xn,2)),秘密為640位,盲目猜測(cè)成功概率為1/2640.
4 結(jié)論
通常的(t,n)門限秘密分享方案中,只要參與重建秘密的人數(shù)超過閾值t,就可以重建出秘密,超過閾值后,更多人的參與不會(huì)帶來(lái)任何好處,甚至可能使計(jì)算量更大.提出一種新的鼓勵(lì)合作的秘密分享方案,即參與秘密重建的成員越多,則重建過程越簡(jiǎn)單、計(jì)算量越小;若有少數(shù)成員缺席重建秘密過程,則秘密重建仍然是可能的,只是計(jì)算量有所增加,即重建計(jì)算工作量隨缺席成員的個(gè)數(shù)指數(shù)級(jí)增加,而成功概率指數(shù)級(jí)降低.
未來(lái)準(zhǔn)備進(jìn)一步擴(kuò)展的方向有以下4點(diǎn).
1) 結(jié)合(t,n)秘密分享方案,設(shè)置一個(gè)最低的閾值t,參與人數(shù)大于等于t時(shí),重建秘密才是可能的,否則,重建秘密是不可能的.
2) 擴(kuò)展至量子信息領(lǐng)域,設(shè)計(jì)實(shí)現(xiàn)符合文中秘密分享概念的量子秘密分享方案,即參與人數(shù)越多,重建量子秘密的計(jì)算量越小.
3) 結(jié)合能節(jié)約通訊復(fù)雜度的秘密分享概念,即設(shè)計(jì)實(shí)現(xiàn)參與人數(shù)越多時(shí),不僅計(jì)算量越小,而且所需的通訊復(fù)雜度也越低.同時(shí),結(jié)合量子糾纏態(tài)探索進(jìn)一步節(jié)約重建秘密時(shí)所需的通訊復(fù)雜度.
4) 設(shè)計(jì)實(shí)現(xiàn)重建工作量日增的秘密分享方案,以保證長(zhǎng)期秘密分享方案的安全性.參考文獻(xiàn):
[1] SHAMIR A.How to share a secret[J].Communications of the ACM,1979,22(11):612-613.DOI:10.1145/359168.359176.
[2] BLAKLEY G R.Safeguarding cryptographic keys[C]∥Proceedings of Managing Requirements Knowledge, International Workshop on IEEE Computer Society.New York:IEEE Press,1979:313-318.DOI:10.1109/MARK.1979.8817296.
[3] ASMUTH C A,BLOOM J.A modular approach to key safeguarding[J].IEEE Transactions on Information Theory,1983,29(2):208-210.DOI:10.1109/TIT.1983.1056651.
[4] HARN L,HSU C,ZHANG Mingwu,et al.Realizing secret sharing with general access structure[J].Information Sciences,2016,367/368:209-220.DOI:10.1016/j.ins.2016.06.006.
[5] JIA Xingxing,GUO Yusheng,LUO Xiangyang,et al.A perfect secret sharing scheme for general access structures[J].Information Sciences,2022,595:54-69.DOI:10.1016/j.ins.2022.02.016.
[6] CHOR B,GOLDWASSER S,MICALI S,et al.Verifiable secret sharing and achieving simultaneity in the presence of faults[C]∥Proceedings of the 26th IEEE Symposium on the Foundations of Computer Science.Portland:IEEE Press,1985:383-395.DOI:10.1109/SFCS.1985.64.
[7] HILLERY M,BUEK V,BERTHIAUME A.Quantum secret sharing[J].Physical Review A,1999,59(3):1829-1834.DOI:10.1103/PhysRevA.59.1829.
[8] SENTHOOR K,SARVEPALLI P K.Communication efficient quantum secret sharing[J].Physical Review A,2019,100(5):052313.DOI:10.1103/PhysRevA.100.052313.
[9] LIPINSKA V,MURTA G,RIBEIRO J,et al.Verifiable hybrid secret sharing with few qubits[J].Physical Review A,2020,101(3):032332.DOI:10.1103/PhysRevA.101.032332.
[10] HARN L,HSU C,ZHE Xia.A novel threshold changeable secret sharing scheme[J].Frontiers of Computer Science,2022,16:161807.DOI:10.1007/s11704-020-0300-x.
[11] HALPERN J Y,TEAGUE V.Rational secret sharing and multiparty computation: Extended abstract[C]∥Proceedings of the Thirty-Sixth Annual ACM Symposium on Theory of Computing.New York:ACM,2004:623-632.DOI:10.1145/1007352.1007447.
[12] GORDON S D,KATZ J.Rational secret sharing, revisited[C]∥International Conference on Security and Cryptography for Networks.Berlin:Springer,2006:229-241.DOI:10.1007/11832072_16.
[13] MAITEA A,DE S J,PAUL G,et al.Proposal for quantum rational secret sharing[J].Physical Review A,2015,92(2):022305.DOI:10.1103/PhysRevA.92.022305.
[14] QIN Huawang,TANG W K S,TSO R.Rational quantum secret sharing[J].Scientific Reports,2018,8:11115.DOI:10.1038/s41598-018-29051-z.
[15] HERZBERG A,JARECKI S,KRAWCZYK H,et al.Proactive secret sharing or: How to cope with perpetual leakage[C]∥Proceedings of the 15th Annual International Cryptology Conference on Advances in Cryptology.Berlin:Springer,1995:339-352.DOI:10.1007/3-540-44750-4_27.
[16] DEHKORDI M H,MASHHADI S,ORAEI H.A proactive multi stage secret sharing scheme for any given access structure[J].Wireless Personal Communications,2019,104(1):491-503.DOI:10.1007/s11277-018-6032-7.
[17] 邵奇峰,金澈清,張召,等.區(qū)塊鏈技術(shù): 架構(gòu)及進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2018,41(5):969-988.DOI:10.11897/SP.J.1016.2018.00969.
[18] 秦波,陳李昌豪,伍前紅,等.比特幣與法定數(shù)字貨幣[J].密碼學(xué)報(bào),2017,4(2):176-186.DOI:10.13868/j.cnki.jcr.000172.
[19] 祝烈煌,高峰,沈蒙,等.區(qū)塊鏈隱私保護(hù)研究綜述[J].計(jì)算機(jī)研究與發(fā)展,2017,54(10):2170-2186.DOI:10.7544/issn1000-1239.2017.20170471.
[20] 劉敖迪,杜學(xué)繪,王娜,等.區(qū)塊鏈技術(shù)及其在信息安全領(lǐng)域的研究進(jìn)展[J].軟件學(xué)報(bào),2018,29(7):2092-2115.DOI:10.13328/j.cnki.jos.005589.
[21] 曾詩(shī)欽,霍如,黃韜,等.區(qū)塊鏈技術(shù)研究綜述: 原理、進(jìn)展與應(yīng)用[J].通信學(xué)報(bào),2020,41(1):134-151.DOI:10.11959/j.issn.1000-436x.2020027 .
[22] 劉明達(dá),陳左寧,拾以娟,等.區(qū)塊鏈在數(shù)據(jù)安全領(lǐng)域的研究進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2021,44(1):1-27.DOI:10.11897/SP.J.1016.2021.00001.
[23] 夏清,竇文生,郭凱文,等.區(qū)塊鏈共識(shí)協(xié)議綜述[J].軟件學(xué)報(bào),2021,32(2):277-299.DOI:10.13328/j.cnki.jos.006150.
[24] 徐恪,凌思通,李琦,等.基于區(qū)塊鏈的網(wǎng)絡(luò)安全體系結(jié)構(gòu)與關(guān)鍵技術(shù)研究進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2021,44(1):55-83.DOI:10.11897/SP.J.1016.2021.00055.
[25] 張利華,張贛哲,曹宇,等.基于區(qū)塊鏈的智能家居認(rèn)證與訪問控制方案[J].計(jì)算機(jī)應(yīng)用研究,2022,39(3):863-867,873.DOI:10.19734/j.issn.1001-3695.2021.08.0321.
[26] 衛(wèi)宏儒,李思月,郭涌浩.基于智能合約的秘密重建協(xié)議[J].計(jì)算機(jī)科學(xué),2022,49(6A):469-473.DOI:10.11896/jsjkx.210700033.
[27] 張亮,劉百祥.區(qū)塊鏈與秘密分享融合技術(shù)綜述[J].計(jì)算機(jī)工程,2022,48(8):1-11.DOI:10.19678/j.issn.1000-3428.0064102.
(責(zé)任編輯:? 黃曉楠? 英文審校: 吳逢鐵)
收稿日期: 2023-03-12
通信作者: 程小剛(1973-),男,講師,博士,主要從事信息安全、應(yīng)用密碼學(xué)的研究.E-mail:cxg@hqu.edu.cn.
基金項(xiàng)目: 福建省社會(huì)科學(xué)基金資助項(xiàng)目(FJ2021B163, FJ2020B044)
http:∥www.hdxb.hqu.edu.cn