加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > 中幣 > Info

科普 | 叮!多方隱私集合求交發來“會議邀請”_KEY:DECODE

Author:

Time:1900/1/1 0:00:00

前言

之前我們介紹過兩方的「隱私集合求交算法」,可以應用到計算廣告的實際效果,尋找聯系人,聯邦學習的特征對齊等場景,例如:在新的APP上找到共同的微信好友、開會時找到所有參會者共同的空閑時間等,但是這協議是針對兩方設計的,沒辦法安全的擴展到多方。

舉個例子:現在有一個會議的發起者,他想要知道自己和其他所有參會者共同的空閑時間來確定會議的時間,一種簡單的方案就是會議發起者依次和每一個參會者執行兩方的隱私集合求交算法獲取到每個參會者和自己的共同空閑時間,再從這些共同時間中篩選出所有參會者都空閑的時間。

但是這種方案有一個很明顯的數據安全問題,會議發起者和某一個參會者有兩個共同的空閑時間,本周一上午和本周二上午,但是其他所有參會者本周一上午是空閑時間但是本周二上午不是空閑的,這就導致了參會者額外的信息被會議發起者知道了,會議發起者本應該只得到本周一上午這一共同的空閑時間的信息。

本文主要介紹一種簡潔高效的「多方隱私集合求交協議」,該協議是針對多方隱私集合求交場景設計的,解決了上述基于兩方協議簡單擴展到多方時產生的數據安全問題。該協議在CCS'21的-Simple,FastMaliciousMultipartyPrivateSetIntersection中提出,適用于半誠實無參與方勾結的場景。

相關技術

該協議主要使用不經意鍵值存儲技術和兩方隱私集合求交算法進行構建:

▲不經意鍵值存儲

TRON數字錢包科普資料《波場錢包的現在過去與未來》已上線:據最新消息顯示,由TokenPocket聯合波場TRON官方,以及 TokenPocket 社區志愿者共同撰寫的《波場錢包的現在過去與未來》已正式上線。《波場錢包的現在過去與未來》又稱為波場錢包小白書,詳細介紹了當前TRON錢包與TRON生態密切結合的實例,是目前市面上最為詳細的TRON數字錢包科普資料。波場錢包作為波場公鏈生態中極為重要的入口,是波場生態的重要構成要素。波場錢包從一開始只提供權限管理、轉賬收款、節點投票等基礎功能,到如今不僅可以為用戶提供法幣交易、閃兌和去中心化交易所等方便快捷的交易服務,還能讓用戶直接在錢包上體驗波場上DApp,挖礦、DeFi、Staking等資產增值服務。詳情見原文鏈接。[2020/8/20]

不經意鍵值存儲是指能夠在隱藏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的和基于同態的,本文介紹的多方隱私集合求交協議對于采用的兩方協議不做限制。在前文《悄悄地找到共同點-隱私交集》中已介紹過一種實現方案,故本文中就不再詳細講解。

動態 | 鏈客社區聯合北京交通廣播推出區塊鏈技術科普節目:12月11日15:15—16:00,區塊鏈技術社區——鏈客區塊鏈技術社區將聯合北京交通廣播FM103.9從零開始為大眾科普解碼區塊鏈技術,蜻蜓FM及北京廣播網同期進行全球直播。首期做客嘉賓為鏈客區塊鏈技術社區創始人郄建軍和百度區塊鏈產品負責人于雅楠。[2019/12/11]

簡單示例

現有A、B、C、D、E五方分別擁有數據集{1,2}、{1,2}、{1,3}、{1,3}、{1,4},他們想要安全的獲取他們所有人的共同交集{1}。

所有方在進行求交之前已經協商好了共有的偽隨機函數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函數的性質可以保證后兩方的數據如果分別是前三方的集合的交集,那么映射出的數據是一致的,如果不是就變成隨機數了,對映射后的數據集再求次交集就能獲得所有方的交集。

聲音 | ETC Labs主管:科普教育是未來幾年公鏈面臨的巨大挑戰:ETCLabs主管Darin Kotalik認為,科普教育是未來幾年公鏈面臨的巨大挑戰,人們必須要對區塊鏈有基本的認識,分清楚公鏈和私鏈的區別。[2019/8/25]

具體流程

協議的設計思路是將多方求交最終轉化為兩方求交,其他方通過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。

3.對于所有的pi(2<=i<=n-2)分別將自己的數據集元素aij作為key,計算F(ki,aij)作為對應的value使用OKVS進行編碼生成Si發送給p(n-1)。

聲音 | 火星人朋友圈科普RAM:火星人在朋友圈發文稱,“什么是RAM?簡單來說就是EOS這個國家的土地,所有的經濟行為都離不開土地。只要EOS的BP們能投票形成一個穩定的供給預期,并且不改變目前的Bancor算法,那么RAM后續的價格有可能會像北上廣深的房價走勢。房價下跌不行,房價過快上漲也不行,EOS的生態越來越像某國了,真有意思。”[2018/7/6]

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/5/4]

再看第二組的邏輯,參與方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:KEYCODCODEODEonekey一鍵還原是什么意思DECODECODEX價格ODEX價格

中幣
匯豐集團和IBM成功創建多賬本CBDC演示_BDC:區塊鏈

周四,匯豐集團和IBM宣布在云環境中成功測試了兩種央行數字貨幣(CBDC)之間的高級代幣和數字錢包結算。試驗包括CBDC、eBond和外匯之間的交易.

1900/1/1 0:00:00
法國和瑞士央行完成對CBDC的國際結算測試_PUNK:punk幣上交易所

據FinanceMagnates12月9日消息,國際清算銀行、法國銀行和瑞士國家銀行已經結束了央行數字貨幣在金融機構間國際結算中的批發使用的聯合測試研究.

1900/1/1 0:00:00
德國風投公司Greenfield One為其第三支基金籌集1.6億美元,將投資于加密項目_加密貨幣:0xShield

據CoinDesk11月24日消息,總部位于柏林的風險投資公司GreenfieldOne已從電信巨頭Swisscom、GalaxyDigital和其他公司籌集了1.6億美元的基金.

1900/1/1 0:00:00
卡塔爾區塊鏈技術時代的治理:貿易金融路線圖和指導手冊_區塊鏈:HodlTree

卡塔爾是尋求FinTech在全球布局的國家之一。卡塔爾的決策者采取了一種謹慎的方式,通過禁止依賴于DLT的特定活動來解決DLT的風險,同時承認其潛在的好處,將其納入其金融科技戰略.

1900/1/1 0:00:00
融資新聞丨DAO治理解決方案Snapshot Labs完成400萬美元融資,由1kx領投_元宇宙:BreederDAO

11月20日,去中心化組織(DAO)治理解決方案提供商SnapshotLabs已完成由專注于加密的早期風險投資基金1kx領投的400萬美元種子輪投資.

1900/1/1 0:00:00
Mina社區成立MinaResearch社區論壇平臺_MIN:MINT

12月10日,為了能更好地提議、討論以及促進協作,Mina社區志愿者們成立了MinaResearch平臺。平臺由11位創始成員組成,是一個提供給Mina生態參與者自由交流提案的論壇.

1900/1/1 0:00:00
ads