System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及計算機,特別涉及一種多方隱私集合求交方法、裝置、設備及介質。
技術介紹
1、隱私集合求交(private?set?intersection,psi)指互不信任的兩個或多個參與方持有各自的數據集,以計算所有集合之間的交集,而不泄露除交集之外的其他任何信息。多方隱私集合求交(multi-party?psi,mpsi)相較于兩方需額外關注通信結構和抗合謀攻擊技術,協議的性能與參與方數目和輸入集合大小有關,mpsi的實現主要分為可編程不經意偽隨機函數加零共享、特殊編碼加閾值同態加密、bf(布隆過濾器)加不經意傳輸(oblivious?transfer,ot)。
2、現有的基于bf和ot的mpsi協議存在以下幾個問題:(1)ot調用次數隨參與方數量和數據集大小呈指數增長,ot技術主要是基于公鑰密碼計算的,在實際實踐時具有很大的計算和通信開銷,擴展性較差;(2)現有的協議僅支持leader獲取交集結果,leader簡單地將結果轉發給各方,這是一種毫無意義的操作方法;(3)基于bf和ot的方案是基于數學困難問題的,不具有信息理論安全,為此,上述技術問題亟待本領域技術人員解決。
技術實現思路
1、有鑒于此,本專利技術的目的在于提供一種多方隱私集合求交方法、裝置、設備及介質,能夠優化在線通信性能,使每個參與方均能對等地獲得交集結果,并具有信息理論意義上的安全性,其具體方案如下:
2、第一方面,本申請公開了一種多方隱私集合求交方法,包括:
3、在離線階
4、在在線階段,確定每一所述參與方的數據集,并基于預先確定的多個哈希函數將每一所述參與方的數據集映射至每一所述參與方的布隆過濾器,得到每一所述參與方的第一數組;所述第一數組的大小為所述第一數量;
5、對于每一所述參與方,根據所述隨機比特與所述第一數組的關系確定將所述第一份額或所述第二份額確定為各所述參與方的目標份額,并對每一所述參與方的各個所述目標份額進行相加,得到每一所述參與方的第二數組;
6、對每一所述參與方的所述第二數組進行隨機化處理,得到每一所述參與方的處理后數組,并將任意目標數量個所述參與方的所述處理后數組分享至各所述參與方,以便每一所述參與方重構得到對應的第三數組;
7、對于每一所述參與方,基于所述數據集與所述第三數組確定交集元素。
8、可選的,所述對于每一所述參與方,根據所述隨機比特與所述第一數組的關系確定將所述第一份額或所述第二份額確定為各所述參與方的目標份額,包括:
9、對于每一所述參與方,若所述隨機比特與所述第一數組中對應位置的數組元素相同,則將所述第二份額確定為各所述參與方的目標份額;
10、對于每一所述參與方,若所述隨機比特與所述第一數組中對應位置的數組元素不同,則將所述第一份額確定為各所述參與方的目標份額。
11、可選的,所述對每一所述參與方的所述第二數組進行隨機化處理,包括:
12、對每一所述參與方的隨機值與每一所述參與方的所述第二數組進行相乘運算,以實現對每一所述參與方的所述第二數組進行隨機化處理。
13、可選的,所述多方隱私集合求交方法,還包括:
14、在所述離線階段,生成所述第一數量個隨機變量;
15、對于每一所述隨機變量,基于所述秘密共享生成所述隨機變量的第三份額,并將所述第三份額發送至各所述參與方,以便每一所述參與方根據接收到的所述第三份額得到所述隨機值。
16、可選的,所述目標數量為n-q+1,n為參與方的個數,q為打包至一個共享中的秘密的數量。
17、可選的,所述對于每一所述參與方,基于所述數據集與所述第三數組確定交集元素,包括:
18、對于每一所述參與方,遍歷所述數據集中的每一個數據,并基于所述多個哈希函數對所述數據進行運算,得到多個哈希值;
19、基于所述多個哈希值確定多個下標位置,并基于所述第三數組中所述下標位置對應的數組元素確定所述交集元素。
20、可選的,基于所述第三數組中所述下標位置對應的數組元素確定所述交集元素,包括:
21、判斷所述第三數組中各個所述下標位置對應的數組元素是否均為0;
22、若各個所述下標位置對應的數組元素均為0,則將所述數據確定為所述交集元素。
23、第二方面,本申請公開了一種多方隱私集合求交裝置,包括:
24、隨機比特共享模塊,用于在離線階段,對于每一參與方,生成第一數量個隨機比特,并基于秘密共享生成所述隨機比特的第一份額以及生成所述隨機比特的異或運算結果的第二份額,并將所述第一份額與所述第二份額發送至各所述參與方;
25、布隆過濾器映射模塊,用于在在線階段,確定每一所述參與方的數據集,并基于預先確定的多個哈希函數將每一所述參與方的數據集映射至每一所述參與方的布隆過濾器,得到每一所述參與方的第一數組;所述第一數組的大小為所述第一數量;
26、目標份額累計模塊,用于對于每一所述參與方,根據所述隨機比特與所述第一數組的關系確定將所述第一份額或所述第二份額確定為各所述參與方的目標份額,并對每一所述參與方的各個所述目標份額進行相加,得到每一所述參與方的第二數組;
27、隨機化與重構模塊,用于對每一所述參與方的所述第二數組進行隨機化處理,得到每一所述參與方的處理后數組,并將任意目標數量個所述參與方的所述處理后數組分享至各所述參與方,以便每一所述參與方重構得到對應的第三數組;
28、交集元素確定模塊,用于對于每一所述參與方,基于所述數據集與所述第三數組確定交集元素。
29、第三方面,本申請公開了一種電子設備,包括:
30、存儲器,用于保存計算機程序;
31、處理器,用于執行所述計算機程序,以實現前述公開的多方隱私集合求交方法。
32、第四方面,本申請公開了一種計算機可讀存儲介質,用于保存計算機程序;其中,所述計算機程序被處理器執行時實現前述公開的多方隱私集合求交方法。
33、可見,本申請公開了一種多方隱私集合求交方法,包括:在離線階段,對于每一參與方,生成第一數量個隨機比特,并基于秘密共享生成所述隨機比特的第一份額以及生成所述隨機比特的異或運算結果的第二份額,并將所述第一份額與所述第二份額發送至各所述參與方;在在線階段,確定每一所述參與方的數據集,并基于預先確定的多個哈希函數將每一所述參與方的數據集映射至每一所述參與方的布隆過濾器,得到每一所述參與方的第一數組;所述第一數組的大小為所述第一數量;對于每一參與方,根據隨機比特與第一數組的關系確定將第一份額或第二份額確定為各參與方的目標份額,并對每一參與方的各個目標份額進行相加,得到每一參與方的第二本文檔來自技高網...
【技術保護點】
1.一種多方隱私集合求交方法,其特征在于,包括:
2.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述對于每一所述參與方,根據所述隨機比特與所述第一數組的關系確定將所述第一份額或所述第二份額確定為各所述參與方的目標份額,包括:
3.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述對每一所述參與方的所述第二數組進行隨機化處理,包括:
4.根據權利要求3所述的多方隱私集合求交方法,其特征在于,還包括:
5.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述目標數量為n-q+1,n為參與方的個數,q為打包至一個共享中的秘密的數量。
6.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述對于每一所述參與方,基于所述數據集與所述第三數組確定交集元素,包括:
7.根據權利要求6所述的多方隱私集合求交方法,其特征在于,所述基于所述第三數組中所述下標位置對應的數組元素確定所述交集元素,包括:
8.一種多方隱私集合求交裝置,其特征在于,包括:
9.一種電子設備,其特征
10.一種計算機可讀存儲介質,其特征在于,用于保存計算機程序;其中,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述的多方隱私集合求交方法。
...【技術特征摘要】
1.一種多方隱私集合求交方法,其特征在于,包括:
2.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述對于每一所述參與方,根據所述隨機比特與所述第一數組的關系確定將所述第一份額或所述第二份額確定為各所述參與方的目標份額,包括:
3.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述對每一所述參與方的所述第二數組進行隨機化處理,包括:
4.根據權利要求3所述的多方隱私集合求交方法,其特征在于,還包括:
5.根據權利要求1所述的多方隱私集合求交方法,其特征在于,所述目標數量為n-q+1,n為參與方的個數,q為打包至一個...
【專利技術屬性】
技術研發人員:雷術梅,張舒黎,彭夕茈,馬宇峰,潘利華,石元兵,
申請(專利權)人:成都衛士通信息安全技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。