前言
之前我們介紹過兩方的「隱私集合求交算法」,可以應用到計算廣告的實際效果,尋找聯系人,聯邦學習的特征對齊等場景,例如:在新的APP上找到共同的微信好友、開會時找到所有參會者共同的空閑時間等,但是這協議是針對兩方設計的,沒辦法安全的擴展到多方。
舉個例子:現在有一個會議的發起者,他想要知道自己和其他所有參會者共同的空閑時間來確定會議的時間,一種簡單的方案就是會議發起者依次和每一個參會者執行兩方的隱私集合求交算法獲取到每個參會者和自己的共同空閑時間,再從這些共同時間中篩選出所有參會者都空閑的時間。
但是這種方案有一個很明顯的數據安全問題,會議發起者和某一個參會者有兩個共同的空閑時間,本周一上午和本周二上午,但是其他所有參會者本周一上午是空閑時間但是本周二上午不是空閑的,這就導致了參會者額外的信息被會議發起者知道了,會議發起者本應該只得到本周一上午這一共同的空閑時間的信息。
本文主要介紹一種簡潔高效的「多方隱私集合求交協議」,該協議是針對多方隱私集合求交場景設計的,解決了上述基于兩方協議簡單擴展到多方時產生的數據安全問題。該協議在CCS'21的-Simple,FastMaliciousMultipartyPrivateSetIntersection中提出,適用于半誠實無參與方勾結的場景。
相關技術
該協議主要使用不經意鍵值存儲技術和兩方隱私集合求交算法進行構建:
▲不經意鍵值存儲
國務院:推進科普與區塊鏈技術深度融合:為貫徹落實黨中央、國務院關于科普和科學素質建設的重要部署,依據《中華人民共和國科學技術進步法》、《中華人民共和國科學技術普及法》制定《全民科學素質行動規劃綱要(2021-2035年)》,其中要求實施智慧科普建設工程。推進科普與區塊鏈等技術深度融合,強化需求感知、用戶分層、情景應用理念,推動傳播方式、組織動員、運營服務等創新升級,加強“科普中國”建設,強化科普信息落地應用,與智慧教育、智慧城市、智慧社區等深度融合。(新華社)[2021/7/10 0:40:52]
不經意鍵值存儲是指能夠在隱藏key和value內容的前提下保留key-vakue映射關系的一種數據結構。有一組鍵值對{(x1,y_1),(x2,y2),(x3,y3。,那么存在一個OKVS函數f,使得f(x1)=y1,f(x2)=y2,f(x3)=y3,并且對于其他的鍵f(x_other)為隨機數。
▲兩方隱私集合求交
兩方隱私集合求交是指在不暴露雙方集合交集之外數據的前提下獲取交集部分的數據,常用的協議有基于ECDH的,基于OT的和基于同態的,本文介紹的多方隱私集合求交協議對于采用的兩方協議不做限制。在前文《悄悄地找到共同點-隱私交集》中已介紹過一種實現方案,故本文中就不再詳細講解。
簡單示例
現有A、B、C、D、E五方分別擁有數據集{1,2}、{1,2}、{1,3}、{1,3}、{1,4},他們想要安全的獲取他們所有人的共同交集{1}。
歐科云鏈集團正式啟動區塊鏈科普行動“星途計劃”:歐科云鏈集團于4月26日,正式宣布啟動了區塊鏈科普行動——“星途計劃”,行動包括將在全國范圍展開系列沙龍,加大力度推進區塊鏈科普進機關、進國企、進校園等,聯合政府部門、行業協會等共同構建起更加完善和有效的區塊鏈科普教育生態,與此同時,直擊區塊鏈科普現存痛點,推出簡單易懂的“秒懂區塊鏈”公益短視頻課。
該計劃旨在全維度推動社會建立對產業更清晰的認知,與“鯤鵬計劃”一道助力數字經濟及區塊鏈產業本身健康發展夯實“人才”和“產業認知”兩大基礎。[2021/4/26 20:59:37]
所有方在進行求交之前已經協商好了共有的偽隨機函數g(k,x),簡單實現就是hash函數,k是加的鹽用于和x拼接后再hash。
A方隨機生成兩個偽隨機函數的key:k_B和k_C,分別發送給B、C兩方;A方計算自己的鍵值對:{(1,g(k_B,1)⊕g(k_C,1)),(2,g(k_B,2)⊕g(k_C,2)。,并基于此鍵值對生成OKVS函數fA,并將fA發送給E方;B方計算自己的鍵值對:{(1,g(k_B,1)),(2,g(k_B,2)。,并基于此鍵值對生成OKVS函數fB,并將fB發送給D方;C方計算自己的鍵值對:{(1,g(k_C,1)),(3,g(k_C,3)。,并基于此鍵值對生成OKVS函數fC,并將fC發送給D方;D方收到B方和C方的OKVS函數后,使用本方的數據集通過收到兩個OKVS函數計算出新的集合{fB(1)⊕fC(1),fB(3)⊕fC(3。,將構成OKVS的鍵值對帶入進去后,就等價于{g(k_B,1)⊕g(k_C,1),random_number1⊕g(k_C,3。;E方收到A方的OKVS函數后,使用本方的數據集通過收到OKVS函數計算出新的集合{fA(1),fA(4。,將構成OKVS的鍵值對帶入進去后,就等價于{g(k_B,1)⊕g(k_C,1),random_number2};D方和E方再使用兩方隱私集合求交算法求出新集合{g(k_B,1)⊕g(k_C,1),random_number1⊕g(k_C,3。和{g(k_B,1)⊕g(k_C,1),random_number2}的交集{g(k_B,1)⊕g(k_C,1。,對應位置原來的數據集{1}就是所有方集合的交集。上述流程的一個核心思路就是:前三方通過OKVS函數將自己的數據集隱藏起來,分別發送給后兩方,由后兩方的數據集通過OKVS函數計算出映射后的數據集之后再執行隱私求交,通過OKVS函數的性質可以保證后兩方的數據如果分別是前三方的集合的交集,那么映射出的數據是一致的,如果不是就變成隨機數了,對映射后的數據集再求次交集就能獲得所有方的交集。
歐易OKEx將于3月18日推出DeFi系列科普視頻:據歐易OKEx官方消息顯示,歐易OKEx將正式推出DeFi系列科普視頻《歐易DeFi20講》,本系列節目由歐易OKEx亞太區CEO馬克金主講。該視頻首期將于3月18日11:00(HKT)推出,用戶可以在歐易OKEx官方學院、金色財經觀看。
《歐易DeFi20講》主要包含DeFi入門指南、全景解讀DeFi生態及如何參與DeFi三個篇章,可以輕松使用戶了解DeFi原理,洞察DeFi價值,掌握DeFi熱點,更多詳情請關注歐易OKEx官方學院。[2021/3/18 18:55:59]
具體流程
協議的設計思路是將多方求交最終轉化為兩方求交,其他方通過OKVS的Encode方法和所擁有的偽隨機函數的key來保護自己的數據集。
OKVS的Encode方法用于將一組鍵值對生成上述的OKVS函數f,Decode方法即是對一個鍵key計算出映射的f(key)
存在p1,...,pnn個參與方,分別擁有數據集a1,...,an,都擁有一個共同的OKVS方案和偽隨機函數F(k,x)。
「具體流程」
1.p1隨機生成n-2個隨機數k2,...,k(n-2),然后將ki發送給pi。
2.p1將自己的數據集元素a1j作為key,計算F(k2,a1j)⊕F(k3,a1j)⊕...⊕F(k(n-2),a1j)作為對應的value使用OKVS進行編碼生成Sn發送給pn。
動態 | 美國演說家Anthony Robbins開始科普什么是比特幣:美國演說家安東尼·羅賓(Anthony Robbins)在自己的網站上發布了一篇比特幣的科普文章,并在推特上向自己的粉絲介紹什么是比特幣,目前他的推特賬戶共有粉絲304萬人。[2019/1/1]
3.對于所有的pi(2<=i<=n-2)分別將自己的數據集元素aij作為key,計算F(ki,aij)作為對應的value使用OKVS進行編碼生成Si發送給p(n-1)。
4.p(n-1)依次將自己的數據集a(n-1)的每個元素分別作為key在收到的Si(2<=i<=n-2)上進行解碼,并將所有解碼出的數據進行異或作為集合A(n-1)中的一個元素。
5.pn依次將自己的數據集an的每個元素分別作為key在收到的Sn上進行解碼后的數據作為集合An中的一個元素。
6.p(n-1)和pn對集合A(n-1)和An執行兩方隱私集合求交,獲取出的交集元素對應序號的原數據集生成時使用的a(n-1)或an中的元素即是所有方集合交集中的一個元素。
正確性分析
該協議將n個參與方分成了兩組,參與方1和參與方n是一組,參與方2到參與方n-2和參與方n-1是一組。
先看第一組的邏輯,p1將自己的數據集通過OKVS編碼后發送給pn,pn將自己的數據集通過p1的OKVS結構解碼一遍生成新的數據集An,按照OKVS的性質:如果pn的集合元素是p1集合中元素,即是這一組的集合交集元素,則對應到An中的元素就是F(k2,a1j)⊕F(k3,a1j)⊕...⊕F(k(n-2),a1j);如果pn的集合元素不是這一組的集合交集元素,則解碼后的數據就是隨機數。
財政部副部長朱光耀:數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展:今日,在中國發展高層論壇2018年會上,財政部副部長朱光耀表示:“數字經濟還處在發展的過程中,要以科普、推動的態度來推進數字經濟發展。也要關注數字經濟的其他影響,包括稅收征管、反洗錢監管措施等要跟上。”[2018/3/25]
再看第二組的邏輯,參與方2到參與方n-2也同樣使用OKVS編碼自己的數據集再發送給p(n-1),p(n-1)將自己的數據集按照上面流程4的方式通過解碼所有收到的OKVS結構再異或產生A(n-1),按照OKVS的性質:如果p(n-1)的集合元素是p2到p(n-2)集合中元素,即是這一組的集合交集元素,則對應到A(-1)中的元素就是Decode(Encode(a2j,F(k2,a2j)),a2j)⊕...⊕Decode(Encode(a2j,F(k(n2),a2j)),a2j)=F(k2,a2j)⊕F(k3,a2j)⊕...⊕F(k(n-2),a2j);如果p(n-1)的集合元素不是這一組的集合交集元素,則解碼后的數據就是隨機數。
An和A(n-1)中對于解碼正確的數據的計算后對應的表達式都是一樣的,易看出對An和A(n-1)進行隱私求交,求出的交集就表示了即是第一組內部集合交集的數據,也是第二組內部集合交集的數據,即所有方集合的交集數據。
安全性分析
對于p1來說:他將自己的數據使用k2到k(n-2)計算偽隨機數據異或進行OKVS編碼后再發送給pn,由于pn沒有這些key,就算解碼后的數據是他們的交集,pn也無法進行確定。對于p2,...,p(n-2)來說:他們將自己的數據使用自己擁有的ki計算偽隨機后進行OKVS編碼后再發送給p(n-1),由于p(n-1)沒有這些key,就算解碼后的數據是他們這一組的交集,p(n-1)也無法進行確定。對于p(n-1)和pn來說:他們只是使用了自己的數據集在收到的OKVS結構上進行解碼,解碼后再計算的數據集再和對方進行兩方隱私求交來保證新的數據集的安全性。總結
該協議的流程也簡單易理解比較實用,使用的OKVS只有一次交互且計算效率很高,只有最后的一次兩方隱私求交,使得整個協議和其他協議相比效率更高的同時數據傳輸量也極低。附錄
▲不經意鍵值存儲詳細定義
不經意鍵值存儲是指能夠在隱藏key的前提下保留鍵值映射關系的一種數據結構,包含了通過key-value構造OKVS的Encode方法和通過key查詢value的Decode方法。
Encode((x1,y1),...(xn,yn)):將鍵值對列表編碼成OKVS的數據結構,其中x是不定長bit串,y是長度為l的bit串,具體編碼方式如下圖:
其中v(x)是是預設好的將不定長的x映射到長度為m的bit串的函數。D=(d1,d2,...,dm)T,其中元素d_i是和y_i長度一致的bit串,D向量就是編碼后的OKVS數據結構,其編碼目標就是找到這個D向量,使得上述矩陣‘乘法’成立。
即將v(xi)產生的bit串中為1對應序號的D向量中的元素求異或的結果是等于yi的。
Decode(D,x):給定一個OKVS的數據結構(D向量)和一個key,獲取這個key對應的value。
OKVS和普通的哈希表的區別主要是key和value都是隱藏的,只保留了key到value的一個映射關系,因此擁有key可以解出構建時對應的value,沒有key則無法解出對應的value也無法推測有哪些key。
具體構造OKVS的方案本協議使用的是PSIfromPaXoS:Fast,MaliciousPrivateSetIntersection中提出的garbledcuckootable方案,構造出的OKVS結構體大小較小,且encode,decode效率也很高,具體實現可直接閱讀該論文的第五部分。
Simple,FastMaliciousMultipartyPrivateSetIntersection.
?PSIfromPaXoS:Fast,MaliciousPrivateSetIntersection.
Tags:KEYODECODECODimkey硬件錢包哪里買TNODE價格Decode CoinConcretecodes
1.美聯儲鮑威爾:央行數字貨幣政策問題討論文件將在未來幾周發布2.Facebook加密業務負責人DavidMarcus將于年底離職Layer2跨鏈橋Orbiter Finance在官網接入Bit.
1900/1/1 0:00:00巴比特訊,12月21日消息,以太坊核心開發人員TimBeiko在Twitter上宣布,以太坊將推出第一個公開測試網Kintsugi,用于全面升級到權益證明.
1900/1/1 0:00:00據路透社12月7日消息,根據消息人士的說法以及一份法案摘要,印度擬議中的立法將禁止在該國使用加密貨幣作為支付手段,違規者將被拘捕,且不得保釋。印度政府此前曾表示計劃禁止大多數加密貨幣.
1900/1/1 0:00:00據BusinessWire12月7日消息,區塊鏈技術公司SIMBAChain宣布BryanRitchie已被任命為新任CEO,將帶領公司成為一家高增長、轉型的區塊鏈平臺公司.
1900/1/1 0:00:00回顧2021年,朱嘉明認為有四件事對于全球長程發展產生了重大影響,包括:新冠疫情和疫苗、雙碳目標、火星探測和太空開發以及從NFT到元宇宙.
1900/1/1 0:00:00什么是Soilidity?Solidity是一種面向合約的高級編程語言,用于實現智能合約。Solidity已經被設計用于以太坊虛擬機。Solidity===智能合約.
1900/1/1 0:00:00