安全多方計算已經被公認為區塊鏈發展中重要的密碼學技術和工具,其在交易或者合約隱私保護,錢包密鑰管理,跨鏈交易,區塊鏈擴容等問題中都發揮了獨有的作用。
然而由于其具體技術涉及諸多密碼學算法和數學背景知識,在相應領域學習和開發之初會茫然而沒有頭緒。
本文希望以有限的篇幅將安全多方計算的概念相互連接成系統,以便讀者快速學習和構建知識網絡。同時,對安全多方計算中運用最多的兩個分支:「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」進行介紹。
在安全多方計算的第一篇文章中,我們已經描述了安全多方計算如何在數據價值和隱私保護的矛盾下提供一種解決方案,以及這個問題是如何被姚期智先生提出,并如何在實際生活中起到作用。
那么在介紹安全多方計算的進一步應用,以及和區塊鏈之間如何巧妙結合之前,我們單開一個“進程”來深入到安全多方計算技術內部,將其實現技術給出一個簡單明了展示。
通過這些例子我們可以看到安全多方計算與明文計算之間的區別,這種密碼學方案如何實現了它聲稱的功能,不同實現方法之間的關系與區別,以及安全多計算與其他密碼學算法之間的關系。這篇文章會涉及到一定的密碼學基礎算法和數學內容,但這不會影響理解安全多方計算本身的思想。
國際清算銀行發布《數據治理系統設計》專題報告:金色財經報道,國際清算銀行(BIS)發布《數據治理系統設計》專題報告。報告指出,過去二十年的技術發展導致數據可用性及其處理的爆炸式增長。消費者往往不知道他們生成數據所帶來的效益,并發現很難在收集、處理和共享其數據方面主張自己的權利。報告提出了一個數據治理系統,通過要求服務提供商在使用數據之前獲得同意,將控制權歸還給生成數據的各方。該系統應該是開放的,授權同意也是可撤銷的、細化的、可審計的,并且在安全的環境中提供通知。相關條件還包括目的和使用限制、數據最小化和保存限制。通過授權專門的數據基準使得對系統的信任和廣泛采用得到加強。[2022/5/9 2:59:15]
安全多方計算的提出
在姚期智先生于1982年發表的文章“安全計算協議”一文中,他提到“兩個百萬富翁希望知道誰更富有,然而,他們不希望獲得關于對方財富的額外信息。他們應當如何進行這次對話?”。
這個“百萬富翁難題”是安全多方計算的一個特例,一般化的安全多方計算是n個參與方之間的一個交互式協議,n方分別持有數據x1,x2,…xn,該協議希望在輸入之上計算函數y1,y2,…,yn=f(x1,x2,…xn),并使得第i方只能獲得yi而不能獲得其他信息。
甘肅省工商聯組織開展“區塊鏈”專題知識講座:6月19日消息,甘肅省工商聯邀請蘭州靈霄網界網絡科技股份有限公司董事長李金峰為機關干部作“區塊鏈”專題知識講座。省工商聯全體干部職工參加。
甘肅省委統戰部副部長、省工商聯黨組書記趙少智強調,此次講座的意義在于引導大家主動學習“區塊鏈”、大數據、“互聯網+”等新知識,尤其要關注新技術、學習新技術、掌握新技術,拓展知識范疇。明確省工商聯為非公企業服務的工作職能,主動掌握經濟類、法律類專業知識。同時,要繼續堅持年輕干部學習研究小組學習制度,鼓勵引導年輕干部加大知識儲備,努力提升自身素養,增強和培養應對復雜工作、分析問題、解決問題的能力。(中新網甘肅)[2020/6/19]
這個定義看起來并不能帶來直觀的認知,我們不妨換一種思路來思考:在一個理想的世界中,存在一個完全中立,不和任何人合謀的可信第三方,所有人將數據交給他,之后他進行計算并將結果進行對應分配。這就完成了一次安全計算。
那么在現實世界中,安全多方計算協議就是在不存在這個可信第三方的情況下,完成同樣的任務。這給人們更簡明扼要思考安全多方計算能力與缺陷的參考。
比如,它并不能保證輸入方提供了正確的輸入,它也不能一般化的隱藏函數f的信息。但另一方面,能否保證所有參與方都能同時拿到或者拿不到計算結果,能否保證參與方中有幾方合謀或者試圖刺探別人的輸入信息時,計算依然可以安全進行,這些問題則是密碼學家在構造不同安全多方計算協議時關心的重點。
動態 | 美國經濟協會舉辦加密貨幣和區塊鏈專題報告會:據cointelegraph報道,作為其正進行的年度會議的一部分,美國經濟協會(AEA)將于今日舉辦四場關于加密貨幣和區塊鏈研究的專題報告會。該會議被稱為“區塊鏈和Token經濟學”,將涵蓋四篇學術論文。AEA專門推出針對加密貨幣和區塊鏈領域的活動對于加密行業來說是值得注意的,這標志著該技術正不斷獲得主流機構認可。[2019/1/5]
現實中的協議并不只有一個,也不是完全相同的幾種,而是效率不同,安全模型不同,實現方式不同的一系列密碼學協議。這也是安全多方計算最復雜也最引人注目的地方,本文我們先介紹一下安全多方計算中運用最多的兩個分支——「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」。
基于混淆電路的安全多方計算
姚期智先生在提出問題的文章里已經給出了這類問題的一個解法:混淆電路與不經意傳輸相結合。
這種協議主要適用于兩方安全計算,現在有很多工作致力于將這種算法擴展到多方,然而我們將會看到它天然只適合兩方,但兩方運算已經可以幫我們解決很多具體問題了。
這種技術之所以被稱為“電路”,是其首先將需要計算的函數表示為布爾電路,就像現代集成電路中的邏輯一樣,其中的基本單元就是邏輯門,每個邏輯門規定為兩輸入一輸出但可以具有多扇出。
動態 | 德州市舉辦區塊鏈技術在中小企業的應用專題培訓班:據德州新聞網消息,德州市舉辦區塊鏈技術在中小企業的應用專題培訓班,邀請國家超級計算濟南中心研究員鄒豐毅和中鏈科技副總裁盧亦斌分別圍繞中小企業如何利用區塊鏈技術加快實現新舊動能轉換和區塊鏈技術在中小企業的應用實例進行講解。[2018/9/25]
如果電路的拓撲關系確定,整體電路的計算可通過按輸入輸出連接順序執行來達成。那么我們就將函數的安全多方計算實現具體為一個門的實現,也就是說我們在現實生活中構造了一個可以等效為理想世界的“安全門”,那么我們可以一般化地來對整個電路進行改造。
姚期智先生提供的布爾電路混淆技術同時利用了不經意傳輸,不經意傳輸是一個可以獨立利用的密碼學工具,我們以2選1不經意傳輸為例,其核心目的是接收者希望獲得發送者2個信息中指定的一個,但卻無法獲得另一個的信息。另一方面,Alice無法獲知b的具體數值。
不經意傳輸
通過上圖,我們可以得到一個結論:任何一個有效的不經意傳輸協議都代表可以基于其構造一個安全兩方計算協議。
那么我們可以觀察這一點如何達成。如果Alice是“電路制造方”,Bob是“電路計算方”,兩方想要共同計算f(x,y),其中x來自Alice,y來自Bob。那么Alice負責提供電路生成,不失一般的,我們以一個邏輯與門為例,我們對其每一個線信號選定一對密鑰,分別代表這個信號的0和1。之后,我們利用一個雙密鑰對稱加密函數來獲得表1,這個表格即稱為一個混淆門。此時混淆電路完成了構造。
賽迪全球公有鏈技術評估專題在中國電子信息產業發展研究院主頁上上線:賽迪全球公有鏈技術評估專題在中國電子信息產業發展研究院主頁上上線。主頁上公布了首期評估對象名單,包括比特幣、比特幣現金、比特股、字節幣、卡爾達諾、達世幣、以太坊等在內的28條將會被率先評估。評估頁面顯示,此次評估將圍繞公有鏈的基礎技術、應用性和創新力展開。[2018/5/15]
混淆與門示意
混淆與門對照表
Alice將混淆電路傳給Bob,以及x輸入對應的密鑰值,此時利用不經意傳輸,Bob可以獲得自己y輸入對應的密鑰值,那么在經歷過解密嘗試后,Bob獲得了對應的結果,在使用滿足IND-CCA方案的加密算法時,Bob嘗試錯誤密文的解密時,解密算法會拒絕。
如第一部分所提到的,安全多方計算保證的是一方的輸入不會被另一方獲得,而不是輸入不能被從輸出中推斷出來。
安全兩方計算
這就是混淆電路的基本流程。但這種構造還非常初步和低效,在這篇文章發布之后,許多改進慢慢被研究工作提出,從安全性,運行效率上都對這一分支的技術有了很大改進,使得實用化變得可行。
這其中比較重要的幾個技術包括Free-XOR,HalfAND這類減小特殊邏輯門代價的思路,也有Point-and-permute,Rowreduction這樣降低輪復雜度的算法。
應用上,第一個實現是于2004年發布的Fairplay系統,而2009年Asiacrypt的一篇文章利用混淆電路實現了安全兩方計算版本的AES,這使得AES的私鑰在計算過程中可以無需恢復,這得益于AES中占大多數的異或門可以利用FreeXOR技術降低消耗。
基于秘密分享的安全多方計算
其余的多方安全計算,與兩方安全計算不同,都是利用了秘密分享這一技術。這兩者之間一個主要區別是,秘密分享中所有參與方都是對等地位的,而混淆電路是區分制造方與計算方的。
此時,輸入不是比特值對應的密鑰值,函數也不是邏輯電路。輸入由參與方之間秘密分享,函數映射為有限域上的運算,這種運算具體化可以由加法和乘法表示,相對于邏輯電路,我們稱之為算術電路。
在繼續介紹這種方案之前,我們先簡單了解秘密分享。秘密分享是n個參與方將一個秘密s在參與方之間分配的一個密碼學工具,常用來保存諸如加密密鑰,導彈發射代碼等重要敏感信息。
協議主要有兩個函數構成:秘密分發函數與重建函數。
分發函數將秘密s拆分成秘密分享值并分發給所有參與方,這一過程一般由s的原始持有方執行。重建函數則允許所有滿足重建條件的參與方集合恢復秘密。秘密分享方法于1979年由Shamir和Blakley分別獨立提出。我們常用的秘密分享方法之一就是Shamir秘密分享。
1989年,Brickell提出了一般化的秘密分享構造方案,這種構造方法稱為線性秘密分享方案。這個方案中用訪問結構來約束哪些參與方聯合可以重建秘密。
利用一組數學語言來描述如何拆分秘密,如何分配秘密,并利用線性代數證明這種數學描述的安全性。這種線性秘密分享方案給我們的啟示是,對于n個參與方,我可以任意規定訪問權限,這比Shamir秘密分享有更強的一般性。
基于這種一般化的秘密分享方案,Cramer等人在文章中證明了,我們可以構造安全多方計算。這種構造的關鍵之處是如何進行乘法計算,加法在線性分享上的實現是顯而易見的。這個過程引入了重組操作,如果我們對于任意的秘密x和y,能夠找到重組向量r=(r1,r2,…rn)使得
那么就可以在這種秘密分享上構建乘法而不會泄露信息,*表示向量點乘。
文章中給出的一般性計算的方法如下,每一方計算i*i=ci,之后該值被秘密分享到所有方,之后每一方計算
即可完成乘法。
然而這種方法只適用于安全模型較弱的情況,對于更強的安全假設,需要更復雜的方法來完成乘法。
總結
本文以最簡明的方式,將安全多方計算的兩個技術分支做了介紹,希望能提供一個模糊的知識框架。由于安全多方計算是一個極為復雜,包含了多種密碼學技術的系統,本文只能淺嘗輒止,但通過本文,我們希望將這些點串聯在一起以提供一份全景圖。
在實際應用中,安全多方計算不僅可以用于數據提供方之間的協同工作,也可以聯合SaaS系統,云服務來提高企業、個人隱私數據的安全性,同時增加數據聯合分析的可能性,解決數據隱私和利用間的矛盾。比如ARPA安全多方計算平臺。
在今后的文章中,我們會陸續分享一些安全多方計算平臺如何打通數據流轉通道,使安全多方計算在密鑰管理,數據安全查詢,云數據沙箱,聯合征信和廣告投放等情景下得以應用的案例。
*關于作者
蘇冠通,ARPA密碼算法工程師,清華大學密碼芯片博士,擁有七年密碼算法和芯片設計與研究經驗。對安全多方計算協議,雙線性對算法,格公鑰密碼算法有深入研究并在相關領域有多篇論文發表。
ARPA是一家專注于安全加密計算和區塊鏈底層技術的研發的公司,其核心產品為基于安全多方計算的隱私計算平臺,并提供全套區塊鏈安全計算解決方案。同時ARPA作為行業成員,參與起草了工信部中國信息通信研究院即將出臺的安全多方計算標準。
Tags:區塊鏈BOBICEALICE區塊鏈工程好就業嗎SpongeBob SquareethicalsiliconpoliceALICE價格
有微博的用戶注意了!!!CEO交易所端午福利大放送,好運三連發!轉發@CEO_Global抽獎微博,并關注“智慧鏈”、“黑洞鏈”、“幣緣幣”的官方微博,并任意艾特兩名好友.
1900/1/1 0:00:00根據周三的一份聲明,作為協議的一部分,總部位于加州的Cred將把其本地“LBA”令牌的一部分遷移到幣安的區塊鏈網絡幣安鏈.
1900/1/1 0:00:00提到USDT,很多人只在交易所買過,只知道它是入場的幣種之一,由Tether公司發行的基于美元1:1掛鉤的穩定幣,對USDT并沒有再多的了解。那么今天我們就來科普下USDT的三種形態.
1900/1/1 0:00:00我在之前的文章說過,2019年是PoS元年,現在回頭看應該的確是這樣的,今年熱鬧的幣似乎都是PoS的幣種,不過也只是很有潛力值得關注而已,畢竟從市值的對比來看,挺容易看出來到目前為止.
1900/1/1 0:00:001.B1JUNE大會總結:官宣社交產品Voice;發布Webauthn、EOSyubicokey;加入“CoinbaseEarn”學習平臺.
1900/1/1 0:00:00區塊鏈在版權領域落地探索正在由點到面大規模鋪開。今年3月28日,由迅雷區塊鏈提供技術支持的,中國版權保護中心聯合新浪微博、京東商城等互聯網平臺,發布中國數字版權唯一標識標準聯盟鏈.
1900/1/1 0:00:00