安全多方計算已經被公認為區塊鏈發展中重要的密碼學技術和工具,其在交易或者合約隱私保護,錢包密鑰管理,跨鏈交易,區塊鏈擴容等問題中都發揮了獨有的作用。
然而由于其具體技術涉及諸多密碼學算法和數學背景知識,在相應領域學習和開發之初會茫然而沒有頭緒。
本文希望以有限的篇幅將安全多方計算的概念相互連接成系統,以便讀者快速學習和構建知識網絡。同時,對安全多方計算中運用最多的兩個分支:「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」進行介紹。
在安全多方計算的第一篇文章中,我們已經描述了安全多方計算如何在數據價值和隱私保護的矛盾下提供一種解決方案,以及這個問題是如何被姚期智先生提出,并如何在實際生活中起到作用。
那么在介紹安全多方計算的進一步應用,以及和區塊鏈之間如何巧妙結合之前,我們單開一個“進程”來深入到安全多方計算技術內部,將其實現技術給出一個簡單明了展示。
通過這些例子我們可以看到安全多方計算與明文計算之間的區別,這種密碼學方案如何實現了它聲稱的功能,不同實現方法之間的關系與區別,以及安全多計算與其他密碼學算法之間的關系。這篇文章會涉及到一定的密碼學基礎算法和數學內容,但這不會影響理解安全多方計算本身的思想。
河北省委網信辦召開區塊鏈專題專家座談會:4月15日,河北省委網信辦組織召開區塊鏈專題專家座談會,此次座談會對當前區塊鏈技術及產業發展情況進行了交流分享,對河北省下一步區塊鏈發展方向作了深入討論。省委宣傳部副部長、省委網信辦主任張硯平參與討論并作總結講話。省委網信辦總工程師張平參與討論。省內部分高校、省直單位、相關企業專家代表參加會議。(河北省互聯網信息辦公室)[2020/4/16]
安全多方計算的提出
在姚期智先生于1982年發表的文章“安全計算協議”一文中,他提到“兩個百萬富翁希望知道誰更富有,然而,他們不希望獲得關于對方財富的額外信息。他們應當如何進行這次對話?”。
這個“百萬富翁難題”是安全多方計算的一個特例,一般化的安全多方計算是n個參與方之間的一個交互式協議,n方分別持有數據x1,x2,…xn,該協議希望在輸入之上計算函數y1,y2,…,yn=f(x1,x2,…xn),并使得第i方只能獲得yi而不能獲得其他信息。
這個定義看起來并不能帶來直觀的認知,我們不妨換一種思路來思考:在一個理想的世界中,存在一個完全中立,不和任何人合謀的可信第三方,所有人將數據交給他,之后他進行計算并將結果進行對應分配。這就完成了一次安全計算。
動態 | 南寧舉辦人工智能與區塊鏈在安全生產領域應用專題講座:1月12日,南寧在市委、市政府會議中心舉行人工智能與區塊鏈在安全生產領域應用專題講座。人工智能與區塊鏈研究及應用領域專家周錦霆,為全市安全生產領域職能部門的干部職工作了題為《人工智能與區塊鏈在安全生產領域的應用》的專題輔導講座。講座中,周錦霆結合符合國家戰略發展布局需要的人工智能驅動區塊鏈技術,以及該技術如何保障安全生產的全過程展開授課,從AI和區塊鏈技術的特征及融合、AI+區塊鏈技術保障安全生產、AI+區塊鏈應用方案及發展前景,南寧住房、水利及交通等建設現狀,南寧綠地集團項目現場實施情況,服務南寧的安全生產解決方案等6個方面,對人工智能與區塊鏈如何更好應用于安全生產領域進行詳細闡述。(南寧日報)[2020/1/13]
那么在現實世界中,安全多方計算協議就是在不存在這個可信第三方的情況下,完成同樣的任務。這給人們更簡明扼要思考安全多方計算能力與缺陷的參考。
比如,它并不能保證輸入方提供了正確的輸入,它也不能一般化的隱藏函數f的信息。但另一方面,能否保證所有參與方都能同時拿到或者拿不到計算結果,能否保證參與方中有幾方合謀或者試圖刺探別人的輸入信息時,計算依然可以安全進行,這些問題則是密碼學家在構造不同安全多方計算協議時關心的重點。
動態 | 河北省政協十二屆十二次常委會會議閉幕,有關專家就區塊鏈技術應用作專題輔導:據河北日報消息,1月4日,河北省政協十二屆十二次常委會會議閉幕。省政協主席葉冬松出席并講話。會議審議通過了關于召開省政協十二屆三次會議的決定、議程(草案)和日程,省政協常委會工作報告及報告人名單、提案工作情況報告及報告人名單,省政協十二屆三次會議秘書長、副秘書長名單,表決通過有關人事事項。會后,有關專家就區塊鏈技術應用作專題輔導。[2020/1/5]
現實中的協議并不只有一個,也不是完全相同的幾種,而是效率不同,安全模型不同,實現方式不同的一系列密碼學協議。這也是安全多方計算最復雜也最引人注目的地方,本文我們先介紹一下安全多方計算中運用最多的兩個分支——「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」。
基于混淆電路的安全多方計算
姚期智先生在提出問題的文章里已經給出了這類問題的一個解法:混淆電路與不經意傳輸相結合。
這種協議主要適用于兩方安全計算,現在有很多工作致力于將這種算法擴展到多方,然而我們將會看到它天然只適合兩方,但兩方運算已經可以幫我們解決很多具體問題了。
這種技術之所以被稱為“電路”,是其首先將需要計算的函數表示為布爾電路,就像現代集成電路中的邏輯一樣,其中的基本單元就是邏輯門,每個邏輯門規定為兩輸入一輸出但可以具有多扇出。
動態 | 中國人民銀行太原中心支行就區塊鏈技術發展進行專題學習:金色財經報道,近期,中國人民銀行太原中心支行舉辦了2019年黨委理論學習中心組(擴大)學習專題培訓講座。講座邀請了武漢大學博士生導師、中國計算機學會區塊鏈專委會常務委員何德彪教授,就區塊鏈的基本概念、核心技術、產業現狀和應用發展等幾個方面進行了講解。深入解讀了區塊鏈技術的集成應用對于我國技術革新和產業變革以及核心技術自主創新的重要作用。通過本次講座,參會全體人員重點學習了習近平總書記對區塊鏈技術重要指示精神,對區塊鏈的理論知識和應用場景有了基本認識,對密碼學、網絡學等關鍵技術在區塊鏈集成應用中的核心作用有了基本了解,為下一步穩妥推進全省金融行業開展區塊鏈應用工作奠定了基礎理論知識。[2019/11/29]
如果電路的拓撲關系確定,整體電路的計算可通過按輸入輸出連接順序執行來達成。那么我們就將函數的安全多方計算實現具體為一個門的實現,也就是說我們在現實生活中構造了一個可以等效為理想世界的“安全門”,那么我們可以一般化地來對整個電路進行改造。
姚期智先生提供的布爾電路混淆技術同時利用了不經意傳輸,不經意傳輸是一個可以獨立利用的密碼學工具,我們以2選1不經意傳輸為例,其核心目的是接收者希望獲得發送者2個信息中指定的一個,但卻無法獲得另一個的信息。另一方面,Alice無法獲知b的具體數值。
動態 | 河北省委網信辦計劃就網絡安全、大數據與區塊鏈等技術開設專題講座:據河北新聞網消息,6月15日,河北省委網信辦舉辦“不忘初心 牢記使命”主題教育“四力”課堂專題講座。河北省委網信辦計劃就黨的創新理論特別是習近平總書記關于網絡強國的重要思想、中共黨史、網信干部修養,以及網絡安全、信息化驅動發展、大數據與區塊鏈等技術的政務數據服務應用等專題開設12期“不忘初心 牢記使命”主題教育“四力”課堂。[2019/6/15]
不經意傳輸
通過上圖,我們可以得到一個結論:任何一個有效的不經意傳輸協議都代表可以基于其構造一個安全兩方計算協議。
那么我們可以觀察這一點如何達成。如果Alice是“電路制造方”,Bob是“電路計算方”,兩方想要共同計算f(x,y),其中x來自Alice,y來自Bob。那么Alice負責提供電路生成,不失一般的,我們以一個邏輯與門為例,我們對其每一個線信號選定一對密鑰,分別代表這個信號的0和1。之后,我們利用一個雙密鑰對稱加密函數來獲得表1,這個表格即稱為一個混淆門。此時混淆電路完成了構造。
混淆與門示意
混淆與門對照表
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作為行業成員,參與起草了工信部中國信息通信研究院即將出臺的安全多方計算標準。
尊敬的用戶: 火幣合約大師賽第二期第4日收益率排行前30名獲獎名單公布如下: 排名 UID 收益率 獎品 1 915****85 1041.
1900/1/1 0:00:00文|武旭升 編輯|文刀 中文名為區塊鏈基石的Arcblock陷入了一場投資者的對撕中,一方是ABT的早期投資者及虧損者,另一方是項目的“忠實”擁躉。引起雙方爭論的焦點是ABT價格的大起大落.
1900/1/1 0:00:00何謂貨幣的本相?好金融與壞金融的分水嶺是啥?不妨回歸本源,洞悉貨幣的本質與金融的邏輯。貨幣到底是個啥?現代經濟日趨貨幣化的今天,貨幣已成為人們生活生存和社會活動不可或缺的重要元素;但貨幣概念卻日.
1900/1/1 0:00:00初識Ultrain項目的人們,總會對其綜合優勢和團隊的光環倍感震撼。很多人對高大儒雅的郭睿和時尚國際范兒的Emma女神倍感熟悉.
1900/1/1 0:00:00尊敬的LBank用戶: 經與項目方協商,LBank將于2019年5月31日19:00上線FBC.
1900/1/1 0:00:00SilkTrader星客交易所將于倫敦時間2019年6月6日3:00(北京時間2019年6月6日10:00)正式開啟星辰計劃第二期--BCC項目正式開放搶購.
1900/1/1 0:00:00