安全多方計算已經被公認為區塊鏈發展中重要的密碼學技術和工具,其在交易或者合約隱私保護,錢包密鑰管理,跨鏈交易,區塊鏈擴容等問題中都發揮了獨有的作用。
然而由于其具體技術涉及諸多密碼學算法和數學背景知識,在相應領域學習和開發之初會茫然而沒有頭緒。
本文希望以有限的篇幅將安全多方計算的概念相互連接成系統,以便讀者快速學習和構建知識網絡。同時,對安全多方計算中運用最多的兩個分支:「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」進行介紹。
在安全多方計算的第一篇文章中,我們已經描述了安全多方計算如何在數據價值和隱私保護的矛盾下提供一種解決方案,以及這個問題是如何被姚期智先生提出,并如何在實際生活中起到作用。
那么在介紹安全多方計算的進一步應用,以及和區塊鏈之間如何巧妙結合之前,我們單開一個“進程”來深入到安全多方計算技術內部,將其實現技術給出一個簡單明了展示。
通過這些例子我們可以看到安全多方計算與明文計算之間的區別,這種密碼學方案如何實現了它聲稱的功能,不同實現方法之間的關系與區別,以及安全多計算與其他密碼學算法之間的關系。這篇文章會涉及到一定的密碼學基礎算法和數學內容,但這不會影響理解安全多方計算本身的思想。
工信部主辦的區塊鏈專題培訓班在昆明開班:金色財經消息,由工信部主辦的區塊鏈產業創新發展專題培訓班近日在昆明開班。工業和信息化部信息技術發展司副司長江明濤,云南省工業和信息化廳副廳長聶里寧,市委常委、副市長安恩法出席并致辭。
此次培訓班旨在提升全國區塊鏈領域干部隊伍的理論水平和工作能力,幫助各地及時掌握全國區塊鏈技術創新領域產業發展現狀,洞察國內外發展異同,研判互聯網3.0帶來的機遇與挑戰,準確把握區塊鏈發展的內涵與趨勢。
全國各地工業和信息化主管部門區塊鏈相關處級負責人以及國內知名專家學者圍繞國內外區塊鏈技術發展情況、區塊鏈賦能實體經濟和民生服務、區塊鏈與新一代信息技術融合應用等進行交流討論和專題授課,為各地加快推動區塊鏈產業高質量發展提供有力支撐。(昆明日報)[2022/9/2 13:04:29]
安全多方計算的提出
在姚期智先生于1982年發表的文章“安全計算協議”一文中,他提到“兩個百萬富翁希望知道誰更富有,然而,他們不希望獲得關于對方財富的額外信息。他們應當如何進行這次對話?”。
這個“百萬富翁難題”是安全多方計算的一個特例,一般化的安全多方計算是n個參與方之間的一個交互式協議,n方分別持有數據x1,x2,…xn,該協議希望在輸入之上計算函數y1,y2,…,yn=f(x1,x2,…xn),并使得第i方只能獲得yi而不能獲得其他信息。
動態 | 河北省政協十二屆十二次常委會會議閉幕,有關專家就區塊鏈技術應用作專題輔導:據河北日報消息,1月4日,河北省政協十二屆十二次常委會會議閉幕。省政協主席葉冬松出席并講話。會議審議通過了關于召開省政協十二屆三次會議的決定、議程(草案)和日程,省政協常委會工作報告及報告人名單、提案工作情況報告及報告人名單,省政協十二屆三次會議秘書長、副秘書長名單,表決通過有關人事事項。會后,有關專家就區塊鏈技術應用作專題輔導。[2020/1/5]
這個定義看起來并不能帶來直觀的認知,我們不妨換一種思路來思考:在一個理想的世界中,存在一個完全中立,不和任何人合謀的可信第三方,所有人將數據交給他,之后他進行計算并將結果進行對應分配。這就完成了一次安全計算。
那么在現實世界中,安全多方計算協議就是在不存在這個可信第三方的情況下,完成同樣的任務。這給人們更簡明扼要思考安全多方計算能力與缺陷的參考。
比如,它并不能保證輸入方提供了正確的輸入,它也不能一般化的隱藏函數f的信息。但另一方面,能否保證所有參與方都能同時拿到或者拿不到計算結果,能否保證參與方中有幾方合謀或者試圖刺探別人的輸入信息時,計算依然可以安全進行,這些問題則是密碼學家在構造不同安全多方計算協議時關心的重點。
動態 | 河北省委網信辦計劃就網絡安全、大數據與區塊鏈等技術開設專題講座:據河北新聞網消息,6月15日,河北省委網信辦舉辦“不忘初心 牢記使命”主題教育“四力”課堂專題講座。河北省委網信辦計劃就黨的創新理論特別是習近平總書記關于網絡強國的重要思想、中共黨史、網信干部修養,以及網絡安全、信息化驅動發展、大數據與區塊鏈等技術的政務數據服務應用等專題開設12期“不忘初心 牢記使命”主題教育“四力”課堂。[2019/6/15]
現實中的協議并不只有一個,也不是完全相同的幾種,而是效率不同,安全模型不同,實現方式不同的一系列密碼學協議。這也是安全多方計算最復雜也最引人注目的地方,本文我們先介紹一下安全多方計算中運用最多的兩個分支——「基于混淆電路的安全多方計算」和「基于秘密分享的安全多方計算」。
基于混淆電路的安全多方計算
姚期智先生在提出問題的文章里已經給出了這類問題的一個解法:混淆電路與不經意傳輸相結合。
這種協議主要適用于兩方安全計算,現在有很多工作致力于將這種算法擴展到多方,然而我們將會看到它天然只適合兩方,但兩方運算已經可以幫我們解決很多具體問題了。
這種技術之所以被稱為“電路”,是其首先將需要計算的函數表示為布爾電路,就像現代集成電路中的邏輯一樣,其中的基本單元就是邏輯門,每個邏輯門規定為兩輸入一輸出但可以具有多扇出。
動態 | 嘉興市政協舉行理論學習中心組(擴大)學習會,專題學習區塊鏈相關知識:據嘉興在線新聞網報道,4月26日,市政協舉行理論學習中心組(擴大)學習會,專題學習區塊鏈相關知識,市政協黨組書記、主席高玲慧等參加學習。與會人員表示,區塊鏈技術是現今最前沿技術之一,通過講座,對區塊鏈技術有了初步的了解,對區塊鏈技術在經濟社會發展中的運用也有了更深入的認識。[2019/4/27]
如果電路的拓撲關系確定,整體電路的計算可通過按輸入輸出連接順序執行來達成。那么我們就將函數的安全多方計算實現具體為一個門的實現,也就是說我們在現實生活中構造了一個可以等效為理想世界的“安全門”,那么我們可以一般化地來對整個電路進行改造。
姚期智先生提供的布爾電路混淆技術同時利用了不經意傳輸,不經意傳輸是一個可以獨立利用的密碼學工具,我們以2選1不經意傳輸為例,其核心目的是接收者希望獲得發送者2個信息中指定的一個,但卻無法獲得另一個的信息。另一方面,Alice無法獲知b的具體數值。
不經意傳輸
通過上圖,我們可以得到一個結論:任何一個有效的不經意傳輸協議都代表可以基于其構造一個安全兩方計算協議。
那么我們可以觀察這一點如何達成。如果Alice是“電路制造方”,Bob是“電路計算方”,兩方想要共同計算f(x,y),其中x來自Alice,y來自Bob。那么Alice負責提供電路生成,不失一般的,我們以一個邏輯與門為例,我們對其每一個線信號選定一對密鑰,分別代表這個信號的0和1。之后,我們利用一個雙密鑰對稱加密函數來獲得表1,這個表格即稱為一個混淆門。此時混淆電路完成了構造。
SEC投資者交易和宣傳辦公室轉發加密貨幣投資專題:剛剛,美國證券交易委員會投資者教育和宣傳辦公室發布《聚焦投資ICO和數字資產》專題,專題內整合了,從2013年-2018年的多篇相關報道。今年4月底,美國證券交易委員會(SEC)監管人員稱SEC希望保護投資者免受ICO欺詐,但SEC允許以合法方式籌集資金。據此前外媒報道,SEC、CFTC將在7日討論ETH是否為證券的問題,但目前官方網站并未公布相關活動直播地址,媒體稱此次討論會并不向公眾開放,SEC、CFTC主席是否出席也未確認。[2018/5/7]
混淆與門示意
混淆與門對照表
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作為行業成員,參與起草了工信部中國信息通信研究院即將出臺的安全多方計算標準。
Longhas.com采訪了一些有影響力的加密貨幣領導者,請他們就加密貨幣行業的現狀發表意見。以下是他們對阻礙全面采用加密貨幣因素的一些看法.
1900/1/1 0:00:00兩個月前,彭博社發文表示,以太坊正喪失其昔日的光芒。一方面,隨著越來越多的公鏈平臺興起,開發者和投資者有了更多的選擇;另一方面,以太坊在Dapp領域的市場份額逐漸被EOS、TRON等后起之秀蠶食.
1900/1/1 0:00:00"OnVoice,youdon’tneedtohaveamillionfollowerstohaveyourvoiceheard.YoucanuseyourVOICEtokensinstead".
1900/1/1 0:00:00Vitalik在一篇技術文章中提出,如果加入檢查節點,容錯率將提升至99%,這也意味著網絡中只需要1%的誠實節點.
1900/1/1 0:00:00前言:隨著比特幣價格的攀升,對比特幣感興趣的人多了起來。文章提到一些做藝術品交易市場的人也開始做起了比特幣的場外交易.
1900/1/1 0:00:00關于USDT認購PLO繼續進行,DT認購PLO退幣通知 2019-06-04 一、DT認購退幣 為維護DragonEx用戶利益.
1900/1/1 0:00:00