密碼學(xué)原語如何應(yīng)用?解析密碼學(xué)承諾的妙用

零壹財(cái)經(jīng)
在不泄露明文的前提下,如何對隱私數(shù)據(jù)的內(nèi)容進(jìn)行承諾?密碼學(xué)承諾的密文形式和普通的數(shù)據(jù)密文有何區(qū)別?隱私數(shù)據(jù)如何在密碼學(xué)承諾的形式下依舊保持可用性?在量子計(jì)算的安全模型下,是否依舊可以構(gòu)造安全可用的密碼學(xué)承諾?

對于業(yè)務(wù)系統(tǒng)設(shè)計(jì)而言,密碼學(xué)承諾為隱私數(shù)據(jù)提供了另一種高效的密文表達(dá)方式。

在不泄露明文的前提下,如何對隱私數(shù)據(jù)的內(nèi)容進(jìn)行承諾?密碼學(xué)承諾的密文形式和普通的數(shù)據(jù)密文有何區(qū)別?隱私數(shù)據(jù)如何在密碼學(xué)承諾的形式下依舊保持可用性?在量子計(jì)算的安全模型下,是否依舊可以構(gòu)造安全可用的密碼學(xué)承諾?

隱私保護(hù)方案設(shè)計(jì)中,除了保護(hù)隱私數(shù)據(jù)的機(jī)密性,確保密文形式隱私數(shù)據(jù)解讀的唯一性也是重要的業(yè)務(wù)需求。業(yè)務(wù)流程中,很大程度會(huì)依賴隱私數(shù)據(jù)的具體數(shù)值,如果允許攻擊者在自身利益驅(qū)動(dòng)下,對處于密文形式的隱私數(shù)據(jù)進(jìn)行任意解讀,勢必會(huì)對業(yè)務(wù)的整體公正性和有效性帶來巨大影響。

以電子支付為例,一家銀行為一位客戶開具了一張面額1000元的電子支票,電子支票以密文形式交付給客戶,流轉(zhuǎn)過程中不會(huì)輕易泄露金額。然而,在使用時(shí),銀行也不希望客戶能夠?qū)⑦@張電子支票解讀成其他金額,如10000元。多兌現(xiàn)的9000元會(huì)造成銀行的損失,銀行甚至可能因此而停用整個(gè)密文電子支票業(yè)務(wù)。

這里的解讀與解密有一定區(qū)別,對密文數(shù)據(jù)解讀不一定需要對密文數(shù)據(jù)進(jìn)行解密。在上面示例中,當(dāng)客戶花費(fèi)這張面額1000元的電子支票,解讀時(shí)只需要證明電子支票的消費(fèi)額小于未花費(fèi)余額即可,而不需要解密未花費(fèi)余額的具體數(shù)值。

解決以上業(yè)務(wù)問題的關(guān)鍵,就在于密碼學(xué)承諾的使用。密碼學(xué)承諾有何神奇之處?且隨本文一探究竟。

01 哈希承諾

在日常生活中,承諾無處不在。例如,預(yù)約打車成功后,司機(jī)和乘客之間就互相做了一個(gè)承諾。到了預(yù)約時(shí)間,乘客等車,司機(jī)接客,這就是在兌現(xiàn)承諾。

信息科學(xué)中也有類似的承諾技術(shù)存在。例如,某些網(wǎng)站在提供下載文件時(shí),也會(huì)提供對應(yīng)文件的單向哈希值(單向哈希算法相關(guān)內(nèi)容可以參考第9論)。這里,單向哈希值便是一種對文件數(shù)據(jù)的承諾,以下稱之為哈希承諾?;谙螺d的哈希承諾,用戶可以對下載文件數(shù)據(jù)進(jìn)行校驗(yàn),檢測接收到的文件數(shù)據(jù)是否有丟失或變化,如果校驗(yàn)通過,相當(dāng)于網(wǎng)站兌現(xiàn)了關(guān)于文件數(shù)據(jù)完整性的承諾。

密碼學(xué)承諾是一類重要的密碼學(xué)原語,其中哈希承諾又是諸多技術(shù)中最簡單的一種實(shí)現(xiàn)方式。

一般而言,密碼學(xué)承諾的應(yīng)用涉及承諾方、驗(yàn)證方兩個(gè)參與方,以及以下兩個(gè)使用階段。

第一階段為承諾生成(Commit)階段,承諾方選擇一個(gè)敏感數(shù)據(jù)v,計(jì)算出對應(yīng)的承諾c,然后將承諾c發(fā)送給驗(yàn)證方。通過承諾c,驗(yàn)證方確定承諾方對于還未解密的敏感數(shù)據(jù)v只能有唯一的解讀方式,無法違約。

第二階段為承諾披露(Reveal)階段,學(xué)術(shù)界通常也稱之為承諾打開-驗(yàn)證(Open-Verify)階段。承諾方公布敏感數(shù)據(jù)v的明文和其他的相關(guān)參數(shù),驗(yàn)證方重復(fù)承諾生成的計(jì)算過程,比較新生成的承諾與之前接收到的承諾c是否一致,一致則表示驗(yàn)證成功,否則失敗。

一個(gè)設(shè)計(jì)良好的密碼學(xué)承諾具備如下特性:

· 隱匿性:在打開關(guān)于v的承諾c之前,驗(yàn)證方不知道承諾方選擇的敏感數(shù)據(jù)v。

· 綁定性:在關(guān)于v的承諾c生成之后,承諾方難以將已承諾的敏感數(shù)據(jù)解釋成另一個(gè)不同的數(shù)據(jù)v'。

所以,密碼學(xué)承諾可以起到與日常生活中的承諾行為類似的效果,一旦做出承諾,就必須在披露階段使用之前已經(jīng)承諾的敏感數(shù)據(jù)。

對應(yīng)地,在業(yè)務(wù)系統(tǒng)中,承諾生成階段通常被用來生成密文形式的業(yè)務(wù)數(shù)據(jù),而承諾披露階段則多被用于在特定業(yè)務(wù)流程中進(jìn)行數(shù)據(jù)校驗(yàn)。

除了直接公布敏感數(shù)據(jù)明文之外,承諾披露階段所需的數(shù)據(jù)校驗(yàn),也可以在不公布敏感數(shù)據(jù)明文的前提下,構(gòu)造零知識(shí)證明來完成。相關(guān)內(nèi)容將在后續(xù)零知識(shí)證明專題中展開。

具體回到哈希承諾,用戶可以通過以下公式計(jì)算關(guān)于敏感數(shù)據(jù)v的承諾,其中H是一個(gè)密碼學(xué)安全的單向哈希算法。

基于單向哈希的單向性,難以通過哈希值H(v)反推出敏感數(shù)據(jù)v,以此提供了一定的隱匿性;基于單向哈希的抗碰撞性,難以找到不同的敏感數(shù)據(jù)v'產(chǎn)生相同的哈希值H(v),以此提供了一定的綁定性。

哈希承諾的構(gòu)造簡單、使用方便,滿足密碼學(xué)承諾基本的特性,適用于對隱私數(shù)據(jù)機(jī)密性要求不高的應(yīng)用場景。

對隱私數(shù)據(jù)機(jī)密性要求高的應(yīng)用,需要注意哈希承諾提供的隱匿性比較有限,不具備隨機(jī)性。對于同一個(gè)敏感數(shù)據(jù)v,H(v)值總是固定的,因此可以通過暴力窮舉,列舉所有可能的v值,來反推出H(v)中實(shí)際承諾的v。

相比其他密碼學(xué)承諾技術(shù),哈希承諾不具有便于業(yè)務(wù)系統(tǒng)在密文形式對其處理的附加功能,例如,多個(gè)相關(guān)的承諾值之間密文運(yùn)算和交叉驗(yàn)證,對于構(gòu)造復(fù)雜密碼學(xué)協(xié)議和安全多方計(jì)算方案的作用比較有限。

02 Pedersen承諾

Pedersen承諾是目前隱私保護(hù)方案中使用廣泛的密碼學(xué)承諾,相比哈希承諾,構(gòu)造略微復(fù)雜,但提供了一系列優(yōu)異的特性:

·信息論安全的理論最強(qiáng)隱匿性。

·基于離散對數(shù)困難問題的強(qiáng)綁定性。

·具有同態(tài)加法特性的密文形式。

其具體構(gòu)造如下:

有別于哈希承諾,對于同一個(gè)v會(huì)產(chǎn)生相同的承諾H(v),Pedersen承諾通過引入隨機(jī)致盲因子r,即便隱私數(shù)據(jù)v不變,最終的承諾c也會(huì)隨著r的變化而變化,以此提供了信息論安全的隱匿性。

Pedersen承諾在構(gòu)造中采用了離散對數(shù)運(yùn)算,因此也賦予其加法同態(tài)性。可以通過兩個(gè)分別關(guān)于v1和v2的Pedersen承諾c1和c2“相加”,得到的新承諾便是關(guān)于v1+v2的Pedersen承諾。

除了能夠構(gòu)造關(guān)于v1+v2的Pedersen承諾之外,Pedersen承諾還可以用來構(gòu)造v1*v2、v1 || v2等更復(fù)雜的Pedersen承諾,通過基于離散對數(shù)的通用零知識(shí)證明系統(tǒng),來證明新產(chǎn)生的承諾滿足與原始承諾c1和c2之間存在指定的約束關(guān)系。

在實(shí)際業(yè)務(wù)中,Pedersen承諾自帶的加法同態(tài)性,配合零知識(shí)證明獲得約束關(guān)系證明功能,在區(qū)塊鏈中可以有廣泛的應(yīng)用,目前主要以隱匿賬本的形式,提供靈活的隱私數(shù)據(jù)的密文上鏈存證和交易密文數(shù)值關(guān)聯(lián)性的第三方驗(yàn)證。

具體方案設(shè)計(jì)中,相關(guān)業(yè)務(wù)方在鏈下完成業(yè)務(wù)交互之后,將對應(yīng)的數(shù)值變化表達(dá)成Pedersen承諾,再將對應(yīng)的承諾數(shù)據(jù)上鏈,這個(gè)過程中無需披露任何隱私數(shù)據(jù)明文。

上鏈之后,非相關(guān)的第三方雖然難以通過Pedersen承諾的密文形式反推出隱私數(shù)據(jù)明文,但可以驗(yàn)證承諾之間的約束關(guān)系,核實(shí)業(yè)務(wù)交互的合法性,例如,驗(yàn)證隱匿轉(zhuǎn)賬發(fā)生之后,依舊滿足會(huì)計(jì)平衡、外匯交易中使用了正確匯率進(jìn)行跨行對賬等。

值得注意的是,Pedersen承諾產(chǎn)生的密文形式,與通過普通加解密算法生成的數(shù)據(jù)密文有一定相似性,在計(jì)算過程中都使用敏感數(shù)據(jù)v,致盲因子r的作用和密鑰的作用也有一些相似,均用以混淆最后的密文輸出。

但不同的是,密碼學(xué)承諾不提供解密算法,如果只有r,無法有效地提取出敏感數(shù)據(jù)v的明文,只能通過暴力窮舉所有可能的v值的方法逐一驗(yàn)證,試圖通過匹配的承諾值來破解v的明文。

所以,Pedersen承諾重在“承諾”,適用于數(shù)據(jù)屬主向第三方證明承諾中的敏感數(shù)據(jù)滿足一定的約束關(guān)系,由于不直接提供解密功能,不能直接支持需要互不透露敏感數(shù)據(jù)明文的多方協(xié)同計(jì)算,這一點(diǎn)與密碼學(xué)領(lǐng)域的同態(tài)加解密算法有很大區(qū)別,切勿混淆概念。

03 量子承諾

為了應(yīng)對量子計(jì)算可能帶來的風(fēng)險(xiǎn),尋求經(jīng)典密碼學(xué)承諾技術(shù)的替代品,后量子密碼學(xué)承諾也是重要的研究方向之一。比較典型的方案有量子比特承諾。

量子比特承諾(Quantum Bit Commitment)是基于量子力學(xué)原理構(gòu)造的比特承諾方案,具體實(shí)現(xiàn)可以抽象為一個(gè)帶隨機(jī)輸入的單向哈希算法。

根據(jù)單向函數(shù)的單向性,承諾方向驗(yàn)證方發(fā)送r1和c后,驗(yàn)證方不知道v,滿足對v的隱匿性。另外,由單向哈希的抗碰撞性可知承諾方難以找到r2′和v’,使H(r1 , r2 , v) = H (r1 , r2′, v′),因此承諾方難以違約,滿足對v的綁定性。

量子比特承諾的構(gòu)造看似簡單,但實(shí)際實(shí)現(xiàn)需要借助量子協(xié)議完成計(jì)算,同時(shí)也有一定的理論局限性。

早在1996年,Hoi-Kwong Lo和Hoi Fung Chau團(tuán)隊(duì)、Dominic Mayers團(tuán)隊(duì)分別獨(dú)立地證明了不存在滿足信息論安全的理論最強(qiáng)綁定性的量子比特承諾方案。這個(gè)不存在性被稱為MLC no-go定理。其主要原因是,如果驗(yàn)證方完全沒有任何承諾的信息,那么承諾方可以通過量子糾纏隨意地改變承諾內(nèi)容,而驗(yàn)證方既不能阻止也不能發(fā)現(xiàn)承諾方的違約行為。

總體而言,后量子密碼學(xué)承諾的研究尚處于早期階段,充滿了各類挑戰(zhàn),目前難以直接應(yīng)用到實(shí)際業(yè)務(wù)系統(tǒng)中。除了量子比特承諾之外,基于模糊算法的量子模糊承諾也是一類熱門研究方向,目標(biāo)應(yīng)用領(lǐng)域?yàn)樯锾卣髯R(shí)別相關(guān)的隱私安全系統(tǒng)。將來不排除有更實(shí)用的方案面世,以此消解量子計(jì)算可能帶來的沖擊,我們將持續(xù)保持關(guān)注。

正是:業(yè)務(wù)數(shù)據(jù)精確至毫厘,密碼承諾隱匿遁無形!

密碼學(xué)承諾的隱匿性和綁定性是隱私保護(hù)方案設(shè)計(jì)中常用的關(guān)鍵特性,在保障隱私數(shù)據(jù)機(jī)密性的同時(shí),也保證了密文形式隱私數(shù)據(jù)解讀的唯一性。對于業(yè)務(wù)系統(tǒng)設(shè)計(jì)而言,密碼學(xué)承諾為隱私數(shù)據(jù)提供了另一種高效的密文表達(dá)方式。

本論中,我們重點(diǎn)介紹了哈希承諾和Pedersen承諾,在往后的文章中,我們還會(huì)進(jìn)一步介紹其他重要的密碼學(xué)承諾,例如zk-SNARKs零知識(shí)證明系統(tǒng)中使用的多項(xiàng)式承諾、向量承諾等。

對于需要在數(shù)據(jù)的密文形式上直接進(jìn)行運(yùn)算和交叉驗(yàn)證的業(yè)務(wù),只要不涉及互不透露數(shù)據(jù)明文的多方協(xié)同計(jì)算,相比現(xiàn)有同態(tài)加密算法,以Pedersen承諾為代表的密碼學(xué)承諾往往可以提供更好的性能。這一優(yōu)勢與密碼學(xué)承諾的同態(tài)性密不可分,如何構(gòu)造和應(yīng)用同態(tài)性,敬請關(guān)注下文分解。

THEEND

最新評論(評論僅代表用戶觀點(diǎn))

更多
暫無評論