安全多方計算已經被公認為區塊鏈發展中重要的密碼學技術和工具,其在交易或者合約隱私保護,錢包密鑰管理,跨鏈交易,區塊鏈擴容等問題中都發揮了獨有的作用。
然而由于其具體技術涉及諸多密碼學算法和數學背景知識,在相應領域學習和開發之初會茫然而沒有頭緒。
本文希望以有限的篇幅將安全多方計算的概念相互連接成系統,以便讀者快速學習和構建知識網絡。同時,對安全多方計算中運用最多的兩個分支:「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」進行介紹。
在安全多方計算的第一篇文章中,我們已經描述了安全多方計算如何在數據價值和隱私保護的矛盾下提供一種解決方案,以及這個問題是如何被姚期智先生提出,并如何在實際生活中起到作用。
那么在介紹安全多方計算的進一步應用,以及和區塊鏈之間如何巧妙結合之前,我們單開一個“進程”來深入到安全多方計算技術內部,將其實現技術給出一個簡單明了展示。
通過這些例子我們可以看到安全多方計算與明文計算之間的區別,這種密碼學方案如何實現了它聲稱的功能,不同實現方法之間的關系與區別,以及安全多計算與其他密碼學算法之間的關系。這篇文章會涉及到一定的密碼學基礎算法和數學內容,但這不會影響理解安全多方計算本身的思想。
2022年服貿會新設環境服務專題增加元宇宙元素:8月6日消息,2022年中國國際服務貿易交易會將于8月31日至9月5日在國家會議中心和首鋼園區舉辦,今年主題為“服務合作促發展 綠色創新迎未來”。本屆服貿會新設環境服務專題,將重點展示生態環保、綠色節能新技術、新應用,助力實現“雙碳”目標;還突出數字科技新元素,增加元宇宙元素,展示元宇宙、新一代互聯網等技術和應用,采用元宇宙技術打造成果發布廳,促進元宇宙從概念走向應用。[2022/8/6 12:06:44]
安全多方計算的提出
在姚期智先生于1982年發表的文章“安全計算協議”一文中,他提到“兩個百萬富翁希望知道誰更富有,然而,他們不希望獲得關于對方財富的額外信息。他們應當如何進行這次對話?”。
這個“百萬富翁難題”是安全多方計算的一個特例,一般化的安全多方計算是n個參與方之間的一個交互式協議,n方分別持有數據x1,x2,…xn,該協議希望在輸入之上計算函數y1,y2,…,yn=f(x1,x2,…xn),并使得第i方只能獲得yi而不能獲得其他信息。
這個定義看起來并不能帶來直觀的認知,我們不妨換一種思路來思考:在一個理想的世界中,存在一個完全中立,不和任何人合謀的可信第三方,所有人將數據交給他,之后他進行計算并將結果進行對應分配。這就完成了一次安全計算。
動態 | 貴陽市舉行區塊鏈技術專題講座:12月14日,貴陽市舉行區塊鏈技術的發展現狀與趨勢專題講座,以進一步提高干部職工對區塊鏈技術的認知、了解和應用水平。各區(市、縣、開發區)設立分會場,組織干部職工通過電視電話會議的形式聆聽講座。(貴陽日報)[2019/12/15]
那么在現實世界中,安全多方計算協議就是在不存在這個可信第三方的情況下,完成同樣的任務。這給人們更簡明扼要思考安全多方計算能力與缺陷的參考。
比如,它并不能保證輸入方提供了正確的輸入,它也不能一般化的隱藏函數f的信息。但另一方面,能否保證所有參與方都能同時拿到或者拿不到計算結果,能否保證參與方中有幾方合謀或者試圖刺探別人的輸入信息時,計算依然可以安全進行,這些問題則是密碼學家在構造不同安全多方計算協議時關心的重點。
現實中的協議并不只有一個,也不是完全相同的幾種,而是效率不同,安全模型不同,實現方式不同的一系列密碼學協議。這也是安全多方計算最復雜也最引人注目的地方,本文我們先介紹一下安全多方計算中運用最多的兩個分支——「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」。
基于混淆電路的安全多方計算
姚期智先生在提出問題的文章里已經給出了這類問題的一個解法:混淆電路與不經意傳輸相結合。
動態 | 中國人民銀行沈陽分行開展“區塊鏈技術”專題培訓:金色財經報道,為學習貫徹習近平總書記對區塊鏈技術應用的重要指示精神,落實中國人民銀行總行行長辦公會的工作要求,11月19日,沈陽分行科技處邀請區塊鏈專家圍繞區塊鏈的核心技術、安全防護和應用場景,通過現場加視頻會議的方式開展全省專題培訓。分行機關及全轄13個地市、90余家銀行業金融機構470余人參加了此次培訓。本次培訓從密碼安全技術、共識算法、賬戶模型、技術迭代等多個角度介紹了區塊鏈的核心技術。沈陽分行要求轄內各金融機構深入貫徹總書記的講話精神,認真落實人總行的相關工作要求,深入研究區塊鏈技術,推動區塊鏈與實體經濟的深度融合,秉持守正創新、安全可控、普惠民生、開放共贏的原則,確保遼寧轄區金融科技創新應用安全、有序、可持續發展。[2019/11/29]
這種協議主要適用于兩方安全計算,現在有很多工作致力于將這種算法擴展到多方,然而我們將會看到它天然只適合兩方,但兩方運算已經可以幫我們解決很多具體問題了。
這種技術之所以被稱為“電路”,是其首先將需要計算的函數表示為布爾電路,就像現代集成電路中的邏輯一樣,其中的基本單元就是邏輯門,每個邏輯門規定為兩輸入一輸出但可以具有多扇出。
動態 | 火幣研究院發布游戲專題報告:區塊鏈游戲之路撲朔迷離 全場等待一個“爆款”:火幣區塊鏈研究院聯合鏈興資本發布最新研報《未來爆款何在?區塊鏈游戲行業的變革與突破》,報告深入闡述了區塊鏈游戲產業發展的內部驅動力,并分析了當前產業格局和發展趨勢。過去一年里,行業各方面數據保持良好增長態勢,傳統游戲廠商也紛紛試水。但行業還需要在降低用戶門檻、提高用戶體驗和完善底層基礎設施等方面進行突破和改進。
報告深入調研了區塊鏈游戲產業鏈上下游51個典型項目,認為產業鏈雛形已形成,主要包括5大類:1.基礎設施及開發者工具;2 區塊鏈游戲分發平臺;3.區塊鏈游戲;4.游戲資產交易市場;5. 周邊工具與服務。
過去一年,行業雖有所發展,但問題突出,發展之路撲朔迷離。不過長遠來看,區塊鏈技術在游戲行業的應用將帶來前所未有的突破和改變。報告認為:1.區塊鏈游戲的社區化運營將成為主流;2.盈利模式將更加多元;3.區塊鏈技術將讓“頭號玩家”的游戲世界成為現實;4.“爆款”游戲將帶動整個行業發展;5.完善的行業生態是區塊鏈游戲繁榮的前夜。[2019/8/14]
如果電路的拓撲關系確定,整體電路的計算可通過按輸入輸出連接順序執行來達成。那么我們就將函數的安全多方計算實現具體為一個門的實現,也就是說我們在現實生活中構造了一個可以等效為理想世界的“安全門”,那么我們可以一般化地來對整個電路進行改造。
動態 | 麻省理工將于5月召開區塊鏈專題活動:據PR NEWSWIRE消息,《麻省理工科技評論》宣布,將于2019年5月2日舉行第三屆年度區塊鏈專題活動。據了解,本次與會的演講嘉賓都是來自金融科技各分支領域的資深人士,其中包括聯合國兒童基金會區塊鏈戰略組織、螞蟻金服、新加坡金融管理局、埃森哲等等。[2019/3/22]
姚期智先生提供的布爾電路混淆技術同時利用了不經意傳輸,不經意傳輸是一個可以獨立利用的密碼學工具,我們以2選1不經意傳輸為例,其核心目的是接收者希望獲得發送者2個信息中指定的一個,但卻無法獲得另一個的信息。另一方面,Alice無法獲知b的具體數值。
不經意傳輸
通過上圖,我們可以得到一個結論:任何一個有效的不經意傳輸協議都代表可以基于其構造一個安全兩方計算協議。
那么我們可以觀察這一點如何達成。如果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作為行業成員,參與起草了工信部中國信息通信研究院即將出臺的安全多方計算標準。
10年前,紐約、倫敦、香港是為人津津樂道的全球化典范;時至今日,金融中心的卡位之戰重燃,香港作為曾經的亞洲金融中心也在經歷著深刻變化.
1900/1/1 0:00:00活動時間 北京時間2019年6月4日16:00-6月11日16:00 活動內容 一、BIX用戶專享 活動期間日均鎖倉量≥10,000BIX的實名認證用戶.
1900/1/1 0:00:00由FCoin平臺提供技術支持的合約交易平臺FMex(主流數字資產的衍生品交易平臺),底層系統已經進行了多輪內部測試并達到業內頂尖技術水準,預計將于2019年9月初正式上線.
1900/1/1 0:00:006月3日,據《金融時報》最新消息,社交網絡巨頭Facebook正在與美國衍生品監管機構商品期貨交易委員會就數字貨幣計劃進行談判。CFTC主席克里斯托弗·吉安卡洛已確認此事.
1900/1/1 0:00:00火星財經APP一線報道,比特幣于今日凌晨4點開啟下跌模式,自8500美元上方不斷下挫,4小時內跌破8000美元,24小時跌幅高達6.32%.
1900/1/1 0:00:00據TokenGazer數據顯示,BTC價格早間從$8500下挫至$7900左右。市場對此有較多解讀,其中呼聲較高的是來自Coinbase的砸盤.
1900/1/1 0:00:00