CN109951443B - 一种云环境下隐私保护的集合交集计算方法及系统 - Google Patents
一种云环境下隐私保护的集合交集计算方法及系统 Download PDFInfo
- Publication number
- CN109951443B CN109951443B CN201910080733.3A CN201910080733A CN109951443B CN 109951443 B CN109951443 B CN 109951443B CN 201910080733 A CN201910080733 A CN 201910080733A CN 109951443 B CN109951443 B CN 109951443B
- Authority
- CN
- China
- Prior art keywords
- server
- party
- calculation
- ciphertext
- requester
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 124
- 230000002452 interceptive effect Effects 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims description 45
- 238000000034 method Methods 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种云环境下隐私保护的集合交集计算方法及系统,该系统由服务器和两个用户组成;每个用户拥有自己的集合,参与双方自己除了知道自己集合中的元素外,不知道对方任何元素信息,参与双方通过两方安全计算系统,最终获得双方集合交集元素信息。本发明首先进行初始化;然后由请求方发送请求;接着服务器进行第一次计算;接下来被请求方进行交互计算;服务器再进行第二次计算;最后由请求方得出双方集合的交集。本发明提到的轻量级隐私保护的集合交集两方安全计算方法及系统特别适用于通信双方安全传输数据,并且具有安全性高、计算复杂性低,具有很高的实用性。
Description
技术领域
本发明涉及计算机网络通信中数据安全和隐私保护领域,尤其涉及一种云环境下隐私保护的集合交集计算方法及系统。
背景技术
安全多方计算自上世纪提出后,经过几十年的研究,积累了丰富的理论成果,促进了零知识证明、不经意传输、秘密共享等等密码学基础原语的发展,奠定了安全协议可证明安全理论基础,极大地推动了现代密码学进展。云计算的出现及迅速发展,使得安全多方计算模型面临结构上的变化。云计算资源的引入,使得安全计算的计算任务、参与方、计算执行的外部环境变得多样和复杂。利用强大的云计算资源来设计、实施安全多方计算协议,成为安全多方计算领域一个新的研究课题。云计算环境为安全多方计算的实施提供了条件,同时但也带来新的挑战。比如怎样利用好运环境强大的计算能力的同时保证用户的信息不被泄露,如何高效且安全多的运行协议等。在当前云计算广泛应用与发展的新背景下,安全多方计算同样构成云计算环境下应用密码学的理论基础,其安全模型的定义及安全性证明的方法是各类安全协议的共用技术,对一些特定问题安全计算高效实现的研究,具有重要应用意义。
隐私保护集合交集(private set intersection,PSI)计算属于安全多方计算领域的特定问题,不仅具有重要的理论意义也具有很强的应用背景,集合交集协议是集合安全运算中重要的技术之一,它被广泛应用于数据挖掘,社交网络等众多领域。集合交集安全计算协议保证参与者在不泄露自己隐私数据的基础上,一方或者多方共同计算出集合的交集,参与者除了得到集合的交集外,不能得到任何多余数据。如何使参与者更加安全、高效的进行隐私保密求集合交集,是隐私保密集合交集计算技术进一步发展的关键技术要素。
本申请发明人在实施本发明的过程中,发现现有的方法至少存在如下问题:
目前隐私保密计算集合交集的方法主要有以下几类,基于不经意多项式、基于不经意伪随机方程、基于盲签名、基于Bloom Filter。一方面,在过去的隐私保护集合交集计算协议中,一般是基于半诚实模型甚至是恶意模型,有些传统的隐私保护集合交集计算协议的安全性不够高,参与者能够通过一些多余计算得到除交集外的多余元素信息。另一方面,有些隐私保护集合交集计算协议存在计算量大,求解速度慢等问题。
因此设计出一种安全性高、计算复杂性低的隐私保护集合交集计算方法具有很大的理论与现实意义。
发明内容
有鉴于此,本发明提供了一种云环境下隐私保护的集合交集计算方法及系统,用以解决或者至少部分解决现有技术中存在的安全性较低以及计算复杂性高的技术问题。
为了解决上述的技术问题,本发明第一方面提供了一种云环境下隐私保护的集合交集计算方法,应用于包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,所述方法包括以下步骤:
步骤S1:参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值;
步骤S2:请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器;
步骤S3:服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方;
步骤S4:被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方;
步骤S5:服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方;
步骤S6:请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集。
在一种实施方式中,步骤S1具体包括以下子步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中。
在一种实施方式中,步骤S2的具体包括以下子步骤:
步骤S2.1:请求方利用自身的公钥对随机数zi B加密,得到请求方随机数密文σi;
步骤S2.2:请求方将请求方随机数密文σi,(1≤i≤n)发送给服务器。
在一种实施方式中,步骤S3具体包括以下子步骤:
步骤S3.1:服务器S利用伪随机函数生成随机数Zi s,Zi s=PRF(i,kS),(1≤i≤n);
步骤S3.2:服务器S用被请求方的公钥加密伪随机函数中的种子ks,得到种子密文CS,其中,CS=EnpkA(kS),然后将CS发送给被请求方A;
在一种实施方式中,步骤S4具体包括以下子步骤:
步骤S4.1:被请求方采用自身私钥解密服务器S传送过来的种子密文CS,kS=DesSKA(cS),解密得到种子ks后,根据伪随机函数Zi s=PRF(i,kS),(1≤i≤n)得到随机生成数Zi S,(1≤i≤n);
在一种实施方式中,步骤S5具体包括:
在一种实施方式中,步骤S6具体包括:
基于同样的发明构思,本发明第二方面提供了一种云环境下隐私保护的集合交集计算系统,所述系统包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,所述系统还包括:
参数初始化模块,用于进行参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值;
请求方发送请求模块,用于请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器;
服务器第一次计算模块,用于进行服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方;
被请求方交互计算模块,用于进行被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方;
服务器第二次计算模块,用于进行服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方;
交集求解模块,用于请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集。
在一种实施方式中,参数初始化模块具体用于执行以下子步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面的所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面的所述的方法。
本发明相比现有技术,具有如下的优点和有益效果:
(1)本发明提出的集合交集计算方法比传统的隐私保护的集合交集的计算效率更高,在系统中,对于请求计算集合交集的发起者来说,他参与的计算除了隐藏自身元素之外,只涉及到一次加密、一次解密、以及最后的求交集计算;对于被请求者,他参与的计算除了隐藏自身元素外,只参与一次解密,一次同态计算,本系统中大量的计算都在服务器上运行,使得计算更加简单高效。
(2)本发明提出的集合交集计算方法比传统的隐私保护的集合交集的计算方案安全性更高,参与者的所有元素都经过隐藏,在计算过程中,服务器与用户之间的信息传输全部都是经过加密之后的密文,没有对应的私钥,就算获取到传送的信息也不能获取关于用户集合元素的任何信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种云环境下隐私保护的集合交集计算方法的流程图;
图2为图1中所示方法的具体应用示意图;
图3为本发明实施例的一种云环境下隐私保护的集合交集计算系统功能模块的结构框图;
图4为本发明实施例的一种计算机可读存储介质的结构框图;
图5为本发明实施例的一种计算机设备的结构框图。
具体实施方式
本发明提供了一种轻量级的隐私保护的集合交集两方安全计算方法及系统,实现了提高安全性和计算效率的技术效果。
为了达到上述技术效果,本发明的总体思路如下:
本发明公开了一种云环境下隐私保护的集合交集计算方法及系统,该系统由服务器和两个用户组成;每个用户拥有自己的集合,参与双方自己除了知道自己集合中的元素外,不知道对方任何元素信息,参与双方通过两方安全计算系统,最终获得双方集合交集元素信息。本发明的方法首先进行初始化;然后请求方发送请求;接着服务器进行第一次计算;接着被请求方交互计算;然后服务器进行第二次计算;最后请求方得出交集。本发明提到的轻量级隐私保护的集合交集两方安全计算方法及系统特别适用于通信双方安全传输数据,并且具有安全性高、计算复杂性低,具有很高的实用性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明提供了一种云环境下隐私保护的集合交集计算方法,应用于包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,
请参见图1,该方法具体包括以下步骤:
首先执行步骤S1:参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值。
具体地,步骤S1具体包括以下子步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中。
具体的实施过程中,步骤S1.1中,服务器选取一个随机向量(x1,...,xn),并生成随机多项式γA(x),γB(x),其中n≥2d+1,d为参与者A、B集合的势。步骤S1.2中,参与者A、B将自己集合元素表达成多项式ρA(x)、ρB(x),计算向量(x1,...,xn)中每一个点对应的向量值,第一向量值和第二向量值分别为ρA(xi)、ρB(xi),(1≤i≤n)。
步骤S1.3中,参与者A、B对于计算所得的每一个值ρA(xi)、ρB(xi),(1≤i≤n)都选取一个随机数zi A、zi B与之相加得到ei A=ρA(xi)+zi A、ei B=ρB(xi)+zi B,(1≤i≤n),ei A、ei B分别为隐藏后的第一向量值和第二向量值,然后发送给服务器;
步骤1.4:参与者A、B将自身密钥对中的公钥pkA,pkB发布在系统中,私钥skA,skB自身秘密保存,从而保证安全性。
然后执行步骤S2:请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器。
具体地,步骤S2的具体包括以下子步骤:
步骤S2.1:请求方利用自身的公钥对随机数zi B加密,得到请求方随机数密文σi;
步骤S2.2:请求方将请求方随机数密文σi,(1≤i≤n)发送给服务器。
在具体的实施过程中,随机数密文的计算方式如下:σi=EnpkB(zi B),(1≤i≤n)。
接着执行步骤S3:服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方。
具体地,步骤S3具体包括以下子步骤:
步骤S3.1:服务器S利用伪随机函数生成随机数Zi S,Zi S=PRF(i,kS),(1≤i≤n);
步骤S3.2:服务器S用被请求方A的公钥加密伪随机函数中的种子ks,得到种子密文CS,其中,CS=EnpkA(kS),然后将CS发送给被请求方A;
接下来执行步骤S4:被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方。
具体地,步骤S4具体包括以下子步骤:
步骤S4.1:被请求方采用自身私钥解密服务器S传送过来的种子密文CS,kS=DesSKA(cS),解密得到种子ks后,根据伪随机函数Zi S=PRF(i,kS),(1≤i≤n)得到随机生成数Zi S,(1≤i≤n);
接着执行步骤S5:服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方。
具体地,步骤S5具体包括:
再执行步骤S6:请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集。
具体地,步骤S6具体包括:
为了更清楚地说明本发明提供的集合交集的计算方法,下面通过一个具体的示例予以说明,请参见图2,Sever表示服务器S,UserA、UserB分别表示被请求方和请求方,其中二者的交互过程详见图2。
总体来说,本发明提供的集合交集的计算方法,可以通过结合交集的计算使得请求双方进行验证和交互,提高了安全性和计算效率。
本发明满足完整性、正确性、可用性。这种隐私保护交集计算方法保证双方各自数据不被泄露的前提下,计算两者数据集合的交集,请求方只能得到两者交集,且不能靠计算或者推测得到除此之外对方的任何元素信息,确保了双方信息的安全保密。除此之外,比起传统的隐私保护集合交集计算协议,本发明因为将大量计算提交给服务器,用户只进行少量且相对较简单的运算,具有计算效率高、复杂性低的优点;同时,服务器与用户之间的信息传输全部都是经过加密之后的密文,没有对应的私钥,就算获取到传送的信息也不能获取关于用户集合元素的任何信息,使得该发明的安全性更高,保证该隐私保护的集合交集计算方法能够在恶意参与者存在的条件下安全的计算出集合的交集,较之同类方案安全性更高。
基于同一发明构思,本申请还提供了与实施例一中的一种云环境下隐私保护的集合交集计算方法对应的系统,详见实施例二。
实施例二
本实施例提供了一种云环境下隐私保护的集合交集计算系统,该系统包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,请参见图3,所述系统还包括:
参数初始化模块201,用于进行参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值;
请求方发送请求模块202,用于请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器;
服务器第一次计算模块203,用于进行服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方;
被请求方交互计算模块204,用于进行被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方;
服务器第二次计算模块205,用于进行服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方;
交集求解模块206,用于请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集。
在一种实施方式中,参数初始化模块201具体用于执行以下子步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中。
在一种实施方式中,请求方发送请求模块202具体用于执行以下子步骤:
步骤S2.1:请求方利用自身的公钥对随机数zi B加密,得到请求方随机数密文σi;
步骤S2.2:请求方将请求方随机数密文σi,(1≤i≤n)发送给服务器。
在一种实施方式中,服务器第一次计算模块203具体用于执行以下子步骤:
步骤S3.1:服务器S利用伪随机函数生成随机数Zi S,Zi S=PRF(i,kS),(1≤i≤n);
步骤S3.2:服务器S用被请求方的公钥加密伪随机函数中的种子ks,得到种子密文CS,其中,CS=EnpkA(kS),然后将CS发送给被请求方A;
在一种实施方式中,被请求方交互计算模块204具体用于执行以下子步骤:
步骤S4.1:被请求方采用自身私钥解密服务器S传送过来的种子密文CS,kS=DesSKA(cS),解密得到种子ks后,根据伪随机函数Zi S=PRF(i,kS),(1≤i≤n)得到随机生成数Zi S,(1≤i≤n);
在一种实施方式中,服务器第二次计算模块205具体用于执行以下子步骤:
在一种实施方式中,交集求解模块206具体用于执行以下子步骤:
由于本发明实施例二所介绍的系统,为实施本发明实施例一处理方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本申请还提供了一种计算机可读存储介质400,请参见图4,其上存储有计算机程序411,该程序被执行时实现实施例一中的方法。
由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中一种云环境下隐私保护的集合交集计算方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图5,包括存储器501、处理器502及存储在存储器上并可在处理器上运行的计算机程序503,所述处理器执行所述程序时实现实施例一中所述的方法。
由于本发明实施例四所介绍的计算机设备,为实施本发明实施例一中一种云环境下隐私保护的集合交集计算方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种云环境下隐私保护的集合交集计算方法,其特征在于,应用于包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,所述方法包括以下步骤:
步骤S1:参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值;
步骤S2:请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器;
步骤S3:服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方;
步骤S4:被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方;
步骤S5:服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方;
步骤S6:请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集;
其中,步骤S1具体包括以下子步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中;
步骤S3具体包括以下子步骤:
步骤S3.1:服务器S利用伪随机函数生成随机数Zi S,Zi S=PRF(i,ks),(1≤i≤n);
步骤S3.2:服务器S用被请求方的公钥加密伪随机函数中的种子ks,得到种子密文CS,其中,CS=EnpkA(kS),然后将CS发送给被请求方A;
2.根据权利要求1所述的方法,其特征在于,步骤S2的具体包括以下子步骤:
步骤S2.1:请求方利用自身的公钥对随机数zi B加密,得到请求方随机数密文σi;
步骤S2.2:请求方将请求方随机数密文σi,(1≤i≤n)发送给服务器。
6.一种云环境下隐私保护的集合交集计算系统,其特征在于,所述系统包括服务器S、参与请求的双方用户A、B的系统,且参与者A、B均单独拥有d个集合元素,且,参与者A与参与者B中的每个集合元素都只由自己秘密拥有,其中,将参与者B作为请求方,参与者A作为被请求方,所述系统还包括:
参数初始化模块,用于进行参数的初始化,参数包括服务器随机多项式、请求方隐藏后的第一向量值和被请求方隐藏后的第二向量值;
请求方发送请求模块,用于请求方发送进行集合交集计算请求,包括:请求方生成随机数密文后,将随机数密文发送至服务器;
服务器第一次计算模块,用于进行服务器第一次计算,包括:服务器利用被请求方的公钥加密伪随机函数中的种子,得到种子密文,然后将种子密文发送给被请求方,利用生成的随机数计算服务器随机多项式后,利用请求方的公钥对多项式计算结果进行加密,获得构造密文,发送至被请求方,再根据随机数密文进行同态计算,将同态计算结果发送至被请求方;
被请求方交互计算模块,用于进行被请求方交互计算,包括:被请求方利用自身私钥对种子密文进行解密后,再根据伪随机函数中的种子,获得随机生成数;被请求方利用根据构造密文、同态计算结果和随机生成数,获得交互结果,然后将交互结果发送给请求方;
服务器第二次计算模块,用于进行服务器第二次计算,包括:服务器根据隐藏后的第一向量值、被请求方隐藏后的第二向量值以及服务器随机多项式,获得第三向量值,并将第三向量值发送至请求方;
交集求解模块,用于请求方得出交集,包括:请求方利用自身私钥对交互结果进行解密,获得交互结果明文,然后根据第三向量值和交互结果明文,计算出请求方集合与被请求方集合的交集;
其中,参数初始化模块具体用于执行下述步骤:
步骤S1.1:服务器S随机选取向量(x1,...,xn),生成服务器随机多项式γA(x)、γB(x),
步骤S1.2:参与者A根据本身拥有的集合元素获得第一多项式,并计算向量(x1,...,xn)中每一个点对应的值,获得第一向量值,参与者B根据本身拥有的集合元素获得第二多项式计算向量(x1,...,xn)中每一个点对应的值,获得第二向量值;
步骤S1.3:参与者A采用随机数zi A对第一向量值进行隐藏,参与者B采用随机数zi B对第二向量值进行隐藏,并分别将隐藏后的第一向量值和隐藏后的第二向量值发送至服务器;
步骤S1.4:参与者A、B将本身密钥对中的公钥发布至系统中;
其中,服务器第一次计算模块具体用于执行下述步骤:
步骤S3.2:服务器S用被请求方的公钥加密伪随机函数中的种子ks,得到种子密文CS,其中,CS=EnpkA(kS),然后将CS发送给被请求方A;
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至5中任一项权利要求所述的方法。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910080733.3A CN109951443B (zh) | 2019-01-28 | 2019-01-28 | 一种云环境下隐私保护的集合交集计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910080733.3A CN109951443B (zh) | 2019-01-28 | 2019-01-28 | 一种云环境下隐私保护的集合交集计算方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109951443A CN109951443A (zh) | 2019-06-28 |
CN109951443B true CN109951443B (zh) | 2021-06-04 |
Family
ID=67006592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910080733.3A Active CN109951443B (zh) | 2019-01-28 | 2019-01-28 | 一种云环境下隐私保护的集合交集计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109951443B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10735189B2 (en) | 2019-07-01 | 2020-08-04 | Alibaba Group Holding Limited | Data exchange for multi-party computation |
CN110460435B (zh) * | 2019-07-01 | 2021-01-01 | 创新先进技术有限公司 | 数据交互方法、装置、服务器和电子设备 |
CN110991655B (zh) * | 2019-12-17 | 2021-04-02 | 支付宝(杭州)信息技术有限公司 | 多方联合进行模型数据处理的方法及装置 |
CN111177762B (zh) * | 2019-12-30 | 2022-11-08 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、服务器及联邦学习系统 |
CN111931207B (zh) * | 2020-08-07 | 2024-04-09 | 北京百度网讯科技有限公司 | 获得隐私集合交集的方法、装置、设备及存储介质 |
CN112073196B (zh) * | 2020-11-10 | 2021-02-23 | 腾讯科技(深圳)有限公司 | 业务数据处理方法、装置、电子设备及存储介质 |
CN112699386B (zh) * | 2020-12-22 | 2024-06-11 | 杭州趣链科技有限公司 | 隐私数据交集的获取方法、设备、电子装置和存储介质 |
CN112910631B (zh) * | 2021-02-08 | 2022-11-22 | 上海海洋大学 | 一种基于云服务器辅助的高效隐私集合交集计算方法及系统 |
CN113158253B (zh) * | 2021-05-14 | 2023-05-12 | 深圳前海微众银行股份有限公司 | 一种隐私求并集方法及装置 |
CN113515538B (zh) * | 2021-06-08 | 2023-07-07 | 四川新网银行股份有限公司 | 一种基于多方安全计算的机构间隐私数据查询及预警方法 |
CN113486398B (zh) * | 2021-07-13 | 2024-03-29 | 华控清交信息科技(北京)有限公司 | 一种信息比对方法、装置及电子设备 |
CN113518092B (zh) * | 2021-07-22 | 2022-08-26 | 西安电子科技大学 | 实现多方隐私的集合交集方法 |
CN113901425B (zh) * | 2021-09-16 | 2022-12-16 | 医渡云(北京)技术有限公司 | 一种多方安全求交集的方法、装置、存储介质及设备 |
CN113792322B (zh) * | 2021-11-15 | 2022-02-15 | 南京可信区块链与算法经济研究院有限公司 | 一种安全两方比较方法及系统 |
CN114374518B (zh) * | 2021-12-08 | 2022-10-28 | 神州融安数字科技(北京)有限公司 | 具有交集计数的psi获取交集信息的方法、装置及存储介质 |
CN115037439B (zh) * | 2022-06-08 | 2024-06-18 | 上海海洋大学 | 一种适合小集合的多方隐私集合求交方法及系统 |
CN115333789B (zh) * | 2022-07-20 | 2024-04-19 | 湖北工业大学 | 一种非对称模式下基于大规模数据集的隐私保护交集计算方法及装置 |
CN116506218B (zh) * | 2023-06-25 | 2023-08-29 | 杭州世平信息科技有限公司 | 一种云环境下用户数据交互式计算隐私保护方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN107172071A (zh) * | 2017-06-19 | 2017-09-15 | 陕西师范大学 | 一种基于属性的云数据审计方法及系统 |
CN107196926A (zh) * | 2017-04-29 | 2017-09-22 | 河南师范大学 | 一种云外包隐私集合比较方法与装置 |
CN108055118A (zh) * | 2017-12-11 | 2018-05-18 | 东北大学 | 一种隐私保护的图数据交集计算方法 |
EP3340152A1 (en) * | 2016-12-22 | 2018-06-27 | Telefonica Digital España, S.L.U. | Method of selecting and delivering content for privacy-protected targeting content systems |
CN108737115A (zh) * | 2018-06-20 | 2018-11-02 | 湖北工业大学 | 一种具有隐私保护的高效私有属性集交集求解方法 |
CN109040076A (zh) * | 2018-08-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、系统、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140121990A1 (en) * | 2012-09-12 | 2014-05-01 | The Regents Of The University Of California | Secure Informatics Infrastructure for Genomic-Enabled Medicine, Social, and Other Applications |
US9158925B2 (en) * | 2013-11-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Server-aided private set intersection (PSI) with data transfer |
CN104915609B (zh) * | 2015-05-28 | 2017-12-08 | 武汉科技大学 | 一种基于Lagrange插值法和多云的数据隐藏方法 |
CN105634732B (zh) * | 2016-01-21 | 2018-06-19 | 中国人民武装警察部队工程大学 | 一种密文域多比特可逆信息隐藏方法 |
CN106127075B (zh) * | 2016-06-27 | 2019-11-08 | 湖南大学 | 一种云存储环境下基于隐私保护的可搜索加密方法 |
CN108197499B (zh) * | 2018-01-11 | 2020-08-07 | 暨南大学 | 一种可验证的密文数据范围查询方法 |
-
2019
- 2019-01-28 CN CN201910080733.3A patent/CN109951443B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3340152A1 (en) * | 2016-12-22 | 2018-06-27 | Telefonica Digital España, S.L.U. | Method of selecting and delivering content for privacy-protected targeting content systems |
CN107124268A (zh) * | 2017-04-01 | 2017-09-01 | 中国人民武装警察部队工程大学 | 一种可抵抗恶意攻击的隐私集合交集计算方法 |
CN107196926A (zh) * | 2017-04-29 | 2017-09-22 | 河南师范大学 | 一种云外包隐私集合比较方法与装置 |
CN107172071A (zh) * | 2017-06-19 | 2017-09-15 | 陕西师范大学 | 一种基于属性的云数据审计方法及系统 |
CN108055118A (zh) * | 2017-12-11 | 2018-05-18 | 东北大学 | 一种隐私保护的图数据交集计算方法 |
CN108737115A (zh) * | 2018-06-20 | 2018-11-02 | 湖北工业大学 | 一种具有隐私保护的高效私有属性集交集求解方法 |
CN109040076A (zh) * | 2018-08-09 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、系统、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
云环境下集合隐私计算;李顺东;《软件学报》;20160122;全文 * |
隐私保护集合交集计算技术研究综述;申立艳;《计算机研究与发展》;20170926;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109951443A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951443B (zh) | 一种云环境下隐私保护的集合交集计算方法及系统 | |
CN113037460B (zh) | 基于同态加密和秘密共享的联邦学习隐私保护方法 | |
CN113424185B (zh) | 快速不经意传输 | |
Araki et al. | High-throughput semi-honest secure three-party computation with an honest majority | |
WO2022237450A1 (zh) | 多方安全计算方法、装置、设备及存储介质 | |
Bernstein et al. | Elligator: elliptic-curve points indistinguishable from uniform random strings | |
CN111510281B (zh) | 一种同态加密方法及装置 | |
Cheon et al. | Multi-party privacy-preserving set intersection with quasi-linear complexity | |
CN109886029B (zh) | 基于多项式表示的隐私保护集合交集计算方法与系统 | |
CN108667627B (zh) | 基于两方协同的sm2数字签名方法 | |
CN103563288B (zh) | 基于口令的单轮密钥交换协议 | |
CN111159745B (zh) | 一种适用于区块链的验证方法及装置 | |
CN105049430A (zh) | 一种具有高效用户撤销的密文策略属性基加密方法 | |
CN104754570B (zh) | 一种基于移动互联网络的密钥分发和重构方法与装置 | |
JP2022533950A (ja) | 準群演算を含む暗号化データに対して等価演算および未満演算を実行するシステムおよび方法 | |
CN111010285B (zh) | 一种适用于轻量级客户端的sm2两方协同签名方法及介质 | |
CN115392487A (zh) | 基于同态加密的隐私保护非线性联邦支持向量机训练方法及系统 | |
CN114175569A (zh) | 用于在aes计数器模式加密中对用拟群运算加密的整数进行相加和比较的系统和方法 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN117353912A (zh) | 基于双线性映射的三方隐私集合交集基数计算方法及系统 | |
CN115865531B (zh) | 一种代理重加密数字资产授权方法 | |
Li et al. | Two‐Party Attribute‐Based Key Agreement Protocol with Constant‐Size Ciphertext and Key | |
CN110798313A (zh) | 基于秘密动态共享的包含秘密的数的协同生成方法及系统 | |
CN112769539B (zh) | 一种生成rsa密钥并协同rsa签名和解密的方法及系统 | |
CN116132012A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |