CN117478330A - 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 - Google Patents
基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 Download PDFInfo
- Publication number
- CN117478330A CN117478330A CN202311538196.5A CN202311538196A CN117478330A CN 117478330 A CN117478330 A CN 117478330A CN 202311538196 A CN202311538196 A CN 202311538196A CN 117478330 A CN117478330 A CN 117478330A
- Authority
- CN
- China
- Prior art keywords
- bloom filter
- send
- secret sharing
- party
- intersection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000013507 mapping Methods 0.000 title claims abstract description 13
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 125000004122 cyclic group Chemical group 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 238000003780 insertion Methods 0.000 claims description 5
- 230000037431 insertion Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,步骤为:P1、P2与P3分别选取一组公钥和私钥,然后进行哈希操作,并利用生成的私钥对哈希值运算,运算后的哈希值与各自的公钥传输;P1、P2与P3利用哈希值构造双线性映射,P1与P2将构造的双线性映射分别插入布隆过滤器中;将两个布隆过滤器看做两个字符串,对两个字符串分别进行秘密分享操作并分发给P3;P3利用得到的秘密分享份额计算出两个字符串进行AND运算的结果,然后利用计算结果构造新的布隆过滤器,P3查询自己拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1。本发明降低了现有方法的计算及通信复杂度,在大数据集合上表现更突出。
Description
技术领域
本发明涉及基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,属于数据安全技术领域。
背景技术
随着互联网、移动设备、物联网等新兴技术快速发展,大量的数据源中存在海量的数据。通过对大数据的挖掘与分析,可以发现数据中的模式和趋势,从而获得大量有价值的信息。然而,大数据中包含着较多的敏感信息,因此会带来极大的数据隐私和个人信息安全问题。除了这些数据安全问题,“数据孤岛”现象目前也较为普遍,其指不同来源的数据相互隔离,彼此之间无法互动或共享,形成了数据的孤立岛屿,严重阻碍对数据的全面深入分析。因此如何实现数据的安全流通共享,是一项亟需解决的问题。
隐私计算是一种新型技术,它能够实现在数据加密的状态下进行运算,从而保护数据的隐私,即实现数据的可用不可见。目前一系列的隐私数据计算方法已经被提出,安全多方计算是隐私计算中的一个重要组成部分。隐私集合求交集(Private SetIntersection,PSI)是安全多方计算中一种经典特定问题,其指在不泄露个人集合元素的前提下计算出两方或多方集合的交集元素。
近年来,PSI的应用场景逐渐广泛,但仍难以满足一些现实需求,因此出现了很多PSI的变体问题,如隐私集合求并集(Private Set Union,PSU),隐私集合求交集基数(Private Set Intersection Cardinality,PSI-CA)等。PSI-CA允许两方或多方计算其各自持有集合的交集大小,但是不会泄露除交集大小之外的隐私信息。目前PSI-CA被广泛应用于在线广告转换率计算、基因相似度检测、联系人追踪等场景。两方PSI-CA成果现在较为丰富,但这已经不满足于目前大多数的多方应用需求。多方PSI-CA由于不可避免的较大通信及计算开销以及对技术与方法更为严苛的要求,并未取得较大进展。若将两方PSI-CA计算方法直接扩展到多方场景,带来极大开销的同时甚至会泄露任意两方之间的集合关系或任意一方的集合信息,因此如何实现高效的多方PSI-CA还亟需研究。
发明内容
针对现有技术的不足,本发明提供一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,并向设计多方PSI-CA协议,提供高效求解方法,降低现有方法的计算及通信复杂度,在大数据集合上表现更突出,而且形成一个可抵抗半诚实敌手的安全三方计算框架,其包含了能够安全求交集基数的三方,三方求交集基数之后只有指定的一方会得到交集基数结果。
术语解释:
双线性映射:
双线性映射是一种基础密码学工具,近年被广泛应用于各种密码学方案。其定义了一个q阶加法循环群G1与一个q阶乘法循环群GT与在这两个群上的一个映射关系e:G1×G1→G2。双线性映射还满足以下三条性质:
(1)双线性:对于任意g1,g2∈G1,a,b∈Zq,则e(ag1,bg2)=e(g1,g2)ab。
(2)非退化性:存在g1,g2∈G1,满足e(g1,g2)≠1G2,其中1G2是群G2上的单位元。
(3)可计算性:存在有效的算法,对于均可计算e(g1,g2)。
布隆过滤器:
布隆过滤器是1970年由Bloom提出的一种概率型数据结构,它可以将集合中的元素利用k个哈希函数将其存储在一个长度为m的0,1字符串内,并且可用于快速检索一个元素是否在一个集合中。布隆过滤器有优越的空间效率与查询效率,但其不能对过滤器中的元素进行删除,并且具有一定的误识别率。详细步骤描述如下:
初始阶段,布隆过滤器的所有位置数据都为0,且有k个哈希函数hi:{0,1}*→[1,m],1≤i≤k。
元素插入:假设向布隆过滤器中插入元素x,先计算hi(x),后令BF[hi(x)]=1,其中1≤i≤k。
元素查找:假设向布隆过滤器中查找元素y,先计算hi(y)后,查询BF[hi(y)]是否为都1,其中1≤i≤k。若都为1,则元素y可能在布隆过滤器中,若有一个或多个元素为0,则元素不在布隆过滤器中。
秘密分享:
秘密分享是密码学中的一种技术,它允许将一个秘密信息分割成多个部分,并将这些部分分发给不同的参与方,只有当足够数量的参与方合作时,才能重构出完整的秘密信息,以确保信息在传输中的安全性,各参与方还可以利用这些得到的份额进行隐私保护计算,从而实现数据的可用不可见。根据解密要求的人数不同可将秘密分享分为严格秘密分享与阈值秘密分享:严格秘密分享是指解密时需要所有人一同参与解密。阈值秘密分享是指只需要满足一定人数便可以完成解密。
本发明的技术方案如下:
一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,假设P1持有隐私数据集合X={x1,x2,...,xn},P2持有隐私数据集合Y={y1,y2,...,yn},P3持有隐私数据集合Z={z1,z2,...,zn},三方事先约定一个q阶循环群Zq,基于椭圆曲线的一个p阶加法循环群G1、一个p阶乘法循环群GT、一个群G1上的元素g、一个双线性映射e:G1×G1→GT以及一个哈希函数H:{0,1}*→G1,指定P3为获得三方交集基数的一方,具体步骤如下:
(1)P1、P2与P3分别选取一组公钥和私钥,然后将自己的集合元素进行哈希操作,并利用生成的私钥对哈希值进行运算,运算后的哈希值与各自的公钥进行传输;
(2)P1、P2与P3利用接收到的运算后的哈希值构造双线性映射,P1与P2将构造的双线性映射分别插入布隆过滤器中;
(3)将两个布隆过滤器看做两个0,1字符串S1和S2,对两个字符串分别进行秘密分享操作,并将秘密分享的份额分发给P3;
(4)P3利用得到的秘密分享份额计算出步骤(3)中的两个字符串进行AND运算的结果,然后利用计算结果构造出一个新的布隆过滤器,P3查询自己拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1。
根据本发明优选的,步骤(1)中,首先P1、P2和P3分别随机生成a、b、c∈Zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数H(·)分别将各自的集合元素映射到群G1上;
P1、P2和P3利用各自选取的私钥对各自集合元素的哈希值进行加密,分别得到aH(xi),bH(yj)与cH(zk),1≤i,j,k≤n,最后P1将aH(xi)发送给P2,将ag发送给P3;P2将bH(yj)发送给P3,将bg发送给P1;P3将cH(zk)发送给P1,将cg发送给P2。
根据本发明优选的,在步骤(2)中,P1利用步骤(1)得到的bg、cH(zk)与自己的私钥a,计算得到uk=e(cH(zk),bg)a=e(H(zk),g)abc;
同样,P2和P3分别计算得到vi=e(aH(xi),cg)b=e(H(xi),g)abc与wj=e(bH(yj),ag)c=e(H(yj),g)abc;
此时,如果直接将uk与vi发送给P3,通过比较uk、vi与wj,P3能够计算出三个集合的交集基数,但同时会暴露集合X与集合Y的交集基数,存在极大的隐私泄露问题。为了解决上述问题,引入了布隆过滤器与秘密分享技术,具体操作描述如下。P1、P2和P3约定布隆过滤器长度为m=20n,并且利用3个哈希函数h1、h2和h3进行布隆过滤器元素插入,布隆过滤器BF1、BF2与BF3初始状态是一个长度为m的全0字符串,BF[i]表示过滤器BF的第i个位置,P1、P2和P3分别计算得到uk,vi和wj后,P1将集合元素uk插入到布隆过滤器BF1中,即计算h1(uk)、h2(uk)与h3(uk)后将BF1[h1(uk)]、BF1[h2(uk)]与BF1[h3(uk)]设置为1,其中1≤k≤n,P2将集合vi插入到布隆过滤器BF2中,即计算h1(vi)、h2(vi)与h3(vi)后将BF1[h1(vi)]、BF1[h2(vi)]与BF1[h3(vi)]设置为1,其中1≤i≤n。
根据本发明优选的,步骤(3)中,将步骤(2)中的BF1与BF2看做两个长度为m的0,1字符串,根据布隆过滤器的性质,将两个字符串进行AND运算后重建布隆过滤器BF3,BF3包含uk和vi的交集信息,简单而言,如果集合X和Y存在相同的元素item,那么item在BF1和BF2中的存储位置一定相同,并且该位置为1,经过AND运算之后,这些位置仍然为1。如果集合X和Y不存在任何相同的元素,那么对BF1与BF2做AND运算,任一位置将为0,为了在做AND运算时保护集合信息,我们引入秘密分享技术。将BF1构成的字符串命名为S1,BF2构成的字符串命名为S2,P1将字符串S1秘密分享为:m1和λ1;P2将字符串S2秘密分享为:m2和λ2。
根据本发明进一步优选的,步骤(3)中,秘密分享具体操作如下:令 其中,m1和m2是P1和P2分别随机选取的一个比特串,长度为m,P1将m1发送给P2,将λ1发送给P3,P2将m2发送给P1,将λ2发送给P3,P1利用得到的信息计算得到m1∧m2与λ1∧m2后将其发送给P3,P2计算得到m1∧λ2后将其发送给P3。
根据本发明优选的,步骤(4)中,P3根据步骤(3)中收到的信息计算出 P3利用S3重建出一个长度为m的布隆过滤器BF3,且BF3中包含着X∩Y的所有元素,P3通过查询wj是否在BF3中得到P1、P2和P3的隐私集合交集基数,即计算h1(wj)、h2(wj)与h3(wj),然后判断BF1[h1(wj)]、BF1[h2(wj)]与BF1[h3(wj)]是否为1来查询wj是否存在,若存在,则三方集合交集基数增加1。由于wj中包含的是集合Y中的集合信息,而P3对集合Y中的元素信息一无所知,因此不能揭示集合交集信息,只能得到集合交集基数。
设计思想:本技术方案思想来源于基于双线性对的三方一轮密钥协商协议。其方案流程如图3所示,概述如下:三个参与方P1、P2和P3欲协商出一个相同的密钥,并且事先已经约定基于椭圆曲线的一个q阶加法循环群G1与一个q阶乘法循环群GT,1个群G1上的元素g,以及一个双线性映射e:G1×G1→GT。首先参与方P1、P2和P3分别随机生成一个私钥a、b、c∈Zq,并分别计算cg、bg与cg后将其进行广播。在收到广播后的消息后,P1本地计算e(bg,cg)a,P2本地计算e(ag,cg)b,P3本地计算e(ag,bg)c。根据双线性映射的相关性质,可以得到e(bg,cg)a=e(ag,cg)b=e(ag,bg)c=e(g,g)abc。通过上述步骤,三个参与方可通过一轮通信协商出共同密钥。我们将此思想结合布隆过滤器与秘密分享技术,设计出一个安全高效的三方PSI-CA协议。
本发明的有益效果在于:
本发明提供一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,并向设计多方PSI-CA协议,提供高效求解方法,降低现有方法的计算及通信复杂度,在大数据集合上表现更突出,而且形成一个可抵抗半诚实敌手的安全三方计算框架,其包含了能够安全求交集基数的三方,三方求交集基数之后只有指定的一方会得到交集基数结果。
附图说明
图1为本发明的流程示意图;
图2为本发明的布隆过滤器初始阶段与元素插入、查找示意图;
图3为基于双线性对的三方一轮密钥协商协议流程图;
具体实施方式
下面通过实施例并结合附图对本发明做进一步说明,但不限于此。
实施例1:
如图1-2所示,本实施例提供一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,假设P1持有隐私数据集合X={x1,x2,...,xn},P2持有隐私数据集合Y={y1,y2,...,yn},P3持有隐私数据集合Z={z1,z2,...,zn},三方事先约定一个q阶循环群Zq,基于椭圆曲线的一个p阶加法循环群G1、一个p阶乘法循环群GT、一个群G1上的元素g、一个双线性映射e:G1×G1→GT以及一个哈希函数H:{0,1}*→G1,指定P3为获得三方交集基数的一方,具体步骤如下:
(1)P1、P2与P3分别选取一组公钥和私钥,然后将自己的集合元素进行哈希操作,并利用生成的私钥对哈希值进行运算,运算后的哈希值与各自的公钥进行传输;
具体操作为,首先P1、P2和P3分别随机生成a、b、c∈Zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数H(·)分别将各自的集合元素映射到群G1上;
P1、P2和P3利用各自选取的私钥对各自集合元素的哈希值进行加密,分别得到aH(xi),bH(yj)与cH(zk),1≤i,j,k≤n,最后P1将aH(xi)发送给P2,将ag发送给P3;P2将bH(yj)发送给P3,将bg发送给P1;P3将cH(zk)发送给P1,将cg发送给P2。
(2)P1、P2与P3利用接收到的运算后的哈希值构造双线性映射,P1与P2将构造的双线性映射分别插入布隆过滤器中;
具体操作为,P1利用步骤(1)得到的bg、cH(zk)与自己的私钥a,计算得到uk=e(cH(zk),bg)a=e(H(zk),g)abc;
同样,P2和P3分别计算得到vi=e(aH(xi),cg)b=e(H(xi),g)abc与wj=e(bH(yj),ag)c=e(H(yj),g)abc;
此时,如果直接将uk与vi发送给P3,通过比较uk、vi与wj,P3能够计算出三个集合的交集基数,但同时会暴露集合X与集合Y的交集基数,存在极大的隐私泄露问题。为了解决上述问题,引入了布隆过滤器与秘密分享技术,具体操作描述如下。P1、P2和P3约定布隆过滤器长度为m=20n,并且利用3个哈希函数h1、h2和h3进行布隆过滤器元素插入,布隆过滤器BF1、BF2与BF3初始状态是一个长度为m的全0字符串,BF[i]表示过滤器BF的第i个位置,P1、P2和P3分别计算得到uk,vi和wj后,P1将集合元素uk插入到布隆过滤器BF1中,即计算h1(uk)、h2(uk)与h3(uk)后将BF1[h1(uk)]、BF1[h2(uk)]与BF1[h3(uk)]设置为1,其中1≤k≤n,P2将集合vi插入到布隆过滤器BF2中,即计算h1(vi)、h2(vi)与h3(vi)后将BF1[h1(vi)]、BF1[h2(vi)]与BF1[h3(vi)]设置为1,其中1≤i≤n。
(3)将两个布隆过滤器看做两个0,1字符串S1和S2,对两个字符串分别进行秘密分享操作,并将秘密分享的份额分发给P3;
具体操作为,将步骤(2)中的BF1与BF2看做两个长度为m的0,1字符串,根据布隆过滤器的性质,将两个字符串进行AND运算后重建布隆过滤器BF3,BF3包含uk和vi的交集信息,简单而言,如果集合X和Y存在相同的元素item,那么item在BF1和BF2中的存储位置一定相同,并且该位置为1,经过AND运算之后,这些位置仍然为1。如果集合X和Y不存在任何相同的元素,那么对BF1与BF2做AND运算,任一位置将为0,为了在做AND运算时保护集合信息,我们引入秘密分享技术。将BF1构成的字符串命名为S1,BF2构成的字符串命名为S2,P1将字符串S1秘密分享为:m1和λ1;P2将字符串S2秘密分享为:m2和λ2。
秘密分享具体操作如下:令其中,m1和m2是P1和P2分别随机选取的一个比特串,长度为m,P1将m1发送给P2,将λ1发送给P3,P2将m2发送给P1,将λ2发送给P3,P1利用得到的信息计算得到m1∧m2与λ1∧m2后将其发送给P3,P2计算得到m1∧λ2后将其发送给P3。
(4)P3利用得到的秘密分享份额计算出步骤(3)中的两个字符串进行AND运算的结果,然后利用计算结果构造出一个新的布隆过滤器,P3查询自己拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1;
具体操作为,P3根据步骤(3)中收到的信息计算出 P3利用S3重建出一个长度为m的布隆过滤器BF3,且BF3中包含着X∩Y的所有元素,P3通过查询wj是否在BF3中得到P1、P2和P3的隐私集合交集基数,即计算h1(wj)、h2(wj)与h3(wj),然后判断BF1[h1(wj)]、BF1[h2(wj)]与BF1[h3(wj)]是否为1来查询wj是否存在,若存在,则三方集合交集基数增加1。由于wj中包含的是集合Y中的集合信息,而P3对集合Y中的元素信息一无所知,因此不能揭示集合交集信息,只能得到集合交集基数。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。
Claims (6)
1.一种基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,假设P1持有隐私数据集合X={x1,x2,...,xn},P2持有隐私数据集合Y={y1,y2,...,yn},P3持有隐私数据集合Z={z1,z2,...,zn},三方事先约定一个q阶循环群Za,基于椭圆曲线的一个p阶加法循环群G1、一个p阶乘法循环群GT、一个群G1上的元素g、一个双线性映射e:G1×G1→GT以及一个哈希函数H:{0,1}*→G1,指定P3为获得三方交集基数的一方,具体步骤如下:
(1)P1、P2与P3分别选取一组公钥和私钥,然后将自已的集合元素进行哈希操作,并利用生成的私钥对哈希值进行运算,运算后的哈希值与各自的公钥进行传输;
(2)P1、P2与P3利用接收到的运算后的哈希值构造双线性映射,P1与P2将构造的双线性映射分别插入布隆过滤器中;
(3)将两个布隆过滤器看做两个0,1字符串S1和S2,对两个字符串分别进行秘密分享操作,并将秘密分享的份额分发给P3;
(4)P3利用得到的秘密分享份额计算出步骤(3)中的两个字符串进行AND运算的结果,然后利用计算结果构造出一个新的布隆过滤器,P3查询自已拥有的双线性映射是否存在新构造的布隆过滤器中,若存在,则三方集合交集基数增加1。
2.如权利要求1所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(1)中,首先P1、P2和P3分别随机生成a、b、c∈Zq作为各自的私钥,并分别计算ag、bg与cg作为各自的公钥,然后利用哈希函数H(·)分别将各自的集合元素映射到群G1上;
P1、P2和P3利用各自选取的私钥对各自集合元素的哈希值进行加密,分别得到aH(xi),bH(yj)与cH(zk),1≤i,j,k≤n,最后P1将aH(xi)发送给P2,将ag发送给P3;P2将bH(yj)发送给P3,将bg发送给P1;P3将cH(zk)发送给P1,将cg发送给P2。
3.如权利要求2所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,在步骤(2)中,P1利用步骤(1)得到的bg、cH(zk)与自己的私钥a,计算得到uk=e(cH(zk),bg)a=e(H(zk),g)abc;
同样,P2和P3分别计算得到vi=e(aH(xi),cg)b=e(H(xi),g)abc与wj=e(bH(yj),ag)c=e(H(yj),g)abc;
P1、P2和P3约定布隆过滤器长度为m=20n,并且利用3个哈希函数h1、h2和h3进行布隆过滤器元素插入,布隆过滤器BF1、BF2与BF3初始状态是一个长度为m的全0字符串,BF[i]表示过滤器BF的第i个位置,P1、P2和P3分别计算得到uk,vi和wj后,P1将集合元素uk插入到布隆过滤器BF1中,即计算h1(uk)、h2(uk)与h3(uk)后将BF1[h1(uk)]、BF1[h2(uk)]与BF1[h3(uk)]设置为1,其中1≤k≤n,P2将集合vi插入到布隆过滤器BF2中,即计算h1(vi)、h2(vi)与h3(vi)后将BF1[h1(vi)]、BF1[h2(vi)]与BF1[h3(vi)]设置为1,其中1≤i≤n。
4.如权利要求3所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(3)中,将步骤(2)中的BF1与BF2看做两个长度为m的0,1字符串,根据布隆过滤器的性质,将两个字符串进行AND运算后重建布隆过滤器BF3,BF3包含uk和vi的交集信息,将BF1构成的字符串命名为S1,BF2构成的字符串命名为S2,P1将字符串S1秘密分享为:m1和λ1;P2将字符串S2秘密分享为:m2和λ2。
5.如权利要求4所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(3)中,秘密分享具体操作如下:令其中,m1和m2是P1和P2分别随机选取的一个比特串,长度为m,P1将m1发送给P2,将λ1发送给P3,P2将m2发送给P1,将λ2发送给P3,P1利用得到的信息计算得到m1∧m2与λ1∧m2后将其发送给P3,P2计算得到m1∧λ2后将其发送给P3。
6.如权利要求5所述的基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法,其特征在于,步骤(4)中,P3根据步骤(3)中收到的信息计算出 P3利用S3重建出一个长度为m的布隆过滤器BF3,且BF3中包含着X∩Y的所有元素,P3通过查询wj是否在BF3中得到P1、P2和P3的隐私集合交集基数,即计算h1(wj)、h2(wj)与h3(wj),然后判断BF1[h1(wj)]、BF1[h2(wj)]与BF1[h3(wj)]是否为1来查询wj是否存在,若存在,则三方集合交集基数增加1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538196.5A CN117478330A (zh) | 2023-11-17 | 2023-11-17 | 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538196.5A CN117478330A (zh) | 2023-11-17 | 2023-11-17 | 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117478330A true CN117478330A (zh) | 2024-01-30 |
Family
ID=89627385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311538196.5A Pending CN117478330A (zh) | 2023-11-17 | 2023-11-17 | 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117478330A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692144A (zh) * | 2024-02-04 | 2024-03-12 | 确信信息股份有限公司 | 一种阈值条件下多方私有集合操作的隐私保护方法及系统 |
-
2023
- 2023-11-17 CN CN202311538196.5A patent/CN117478330A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692144A (zh) * | 2024-02-04 | 2024-03-12 | 确信信息股份有限公司 | 一种阈值条件下多方私有集合操作的隐私保护方法及系统 |
CN117692144B (zh) * | 2024-02-04 | 2024-05-07 | 确信信息股份有限公司 | 一种阈值条件下多方私有集合操作的隐私保护方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105812126B (zh) | 健康区块链数据加密密钥的轻量级备份与高效恢复方法 | |
Aljazaery et al. | Encryption of Color Image Based on DNA Strand and Exponential Factor. | |
Xiong et al. | On the privacy-preserving outsourcing scheme of reversible data hiding over encrypted image data in cloud computing. | |
Pujari et al. | A hybridized model for image encryption through genetic algorithm and DNA sequence | |
CN107196926B (zh) | 一种云外包隐私集合比较方法与装置 | |
Zhu et al. | Fairness-aware and privacy-preserving friend matching protocol in mobile social networks | |
CN109660555A (zh) | 基于代理重加密的内容安全分享方法和系统 | |
CN117478330A (zh) | 基于双线性映射与布隆过滤器的三方隐私集合求交集基数方法 | |
CN115051791B (zh) | 一种基于密钥协商的高效三方隐私集合求交方法及系统 | |
CN115242371B (zh) | 差分隐私保护的集合交集及其基数计算方法、装置及系统 | |
CN110505047A (zh) | 一种用于虹膜特征保护的双重加密算法 | |
CN114598472A (zh) | 基于区块链的条件隐藏可搜索代理重加密方法及存储介质 | |
CN115767722A (zh) | 一种云环境下基于内积函数加密的室内定位隐私保护方法 | |
CN115913537A (zh) | 基于隐私保护的数据求交方法、系统及相关设备 | |
CN108259185A (zh) | 一种群组通信中抗泄漏的群密钥协商系统及方法 | |
CN117118617A (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
CN108880782B (zh) | 一种云计算平台下最小值的保密计算方法 | |
Dongare et al. | An efficient technique for image encryption and decryption for secured multimedia application | |
CN117353912A (zh) | 基于双线性映射的三方隐私集合交集基数计算方法及系统 | |
Ye et al. | Anonymous biometric access control | |
CN113132345B (zh) | 具有可搜索功能的代理隐私集合求交方法 | |
CN113591102A (zh) | 一种基于格的分布式门限加法同态加密方法 | |
CN104601323B (zh) | 基于bdd解决社会主义百万富翁问题的方法 | |
CN113904833B (zh) | 一种基于门限的动态多因素身份认证方法和通信方法 | |
CN111698078B (zh) | 基于双云模型的云外包数据隐私保护频繁项挖掘方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |