CN109886029B - 基于多项式表示的隐私保护集合交集计算方法与系统 - Google Patents

基于多项式表示的隐私保护集合交集计算方法与系统 Download PDF

Info

Publication number
CN109886029B
CN109886029B CN201910081686.4A CN201910081686A CN109886029B CN 109886029 B CN109886029 B CN 109886029B CN 201910081686 A CN201910081686 A CN 201910081686A CN 109886029 B CN109886029 B CN 109886029B
Authority
CN
China
Prior art keywords
participant
polynomial
vector
random
party
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
Application number
CN201910081686.4A
Other languages
English (en)
Other versions
CN109886029A (zh
Inventor
阮鸥
毛浩
周靖
刘涛
张俪潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hubei University of Technology
Original Assignee
Hubei University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hubei University of Technology filed Critical Hubei University of Technology
Priority to CN201910081686.4A priority Critical patent/CN109886029B/zh
Publication of CN109886029A publication Critical patent/CN109886029A/zh
Application granted granted Critical
Publication of CN109886029B publication Critical patent/CN109886029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了基于多项式表示的隐私保护集合交集计算方法与系统,本发明提供的交集计算方法涉及到两个参与者(发起通话者B和回应者A)参与者双方含有自己属性的集合,且不被对方获取,参与者双方通过安全多方计算,得到集合交集,进而获取双方共有属性。具体包括下述步骤:首先,参与者双方进行初始化;发起通话方结合随机数构成的多项式,加密自己的属性集合发送给回应者A;回应者A接受数据信息同样利用随机数构成的多项式,再次加密参与者双方数据发送给A;通过安全双方计算,获取集合交集。利用多项式的性质,基于多项式表示的隐私保护集合交集计算方法可以使用在多方数据安全通信。实现了提高破解难度和安全性的技术效果。

Description

基于多项式表示的隐私保护集合交集计算方法与系统
技术领域
本发明涉及计算机网络通信数据安全和隐私保护领域,尤其涉及基于多项式表示的隐私保护集合交集计算方法与系统。
背景技术
随着移动互联网和物联网技术的进一步发展,我们的生活越来越来方便快捷,不管是吃穿住行,我们都可以通过手机获取相关信息,但是在快捷便利的生活当中我们也存在一些问题。例如,当我们出去旅游时,大家都会利用手机去搜索附近旅游景点位置、酒店信息以及美食信息等等。但是我们获取信息的同时,我们自身的位置信息以及其他数据被其他人获取,这就可能造成个人隐私数据的泄露问题。另外,在手机上,我们可以找到附近相同兴趣的朋友,但是在我们获取相同兴趣的时候,个人其他兴趣爱好信息也可能会被别人获取,这也是隐私数据泄露的问题。此外,在大数据时代的今天,数据共享是一种必然的趋势。从表面上看,数据共享就是充分利用公共的数据信息挖掘并获取到有用信息,这必然存在一个数据隐私的问题。在大数据隐私保护中,安全多方计算是常用的技术手段。
安全多方计算(Secure multi-party computation,SMC):在一组参与者都有各自的秘密输入x1,x2,x3,...,xn,通过联合计算某个多项式函数 f(x1,...,xn,R)=(y1,...,yn)。计算输出的y1,...,yn就是各参与者得到的秘密输出值。安全多方计算是解决分布式环境下多个参与方共同完成加密计算的一种技术。安全多方计算的特点是让用户可以在特定的实际应用场景下完成保密计算任务,而不泄露用户私有信息,常见应用包括数值比较,保密数据查询、保密数据挖掘、保密集合计算等。
本申请发明人在实施本发明的过程中,发现现有的方法至少存在如下问题:
目前隐私保密计算集合交集的方法主要有以下几类,基于不经意多项式、基于不经意伪随机方程、基于盲签名、基于Bloom Filter。一方面,在过去的隐私保护集合交集计算协议中,一般是基于半诚实模型甚至是恶意模型,有些传统的隐私保护集合交集计算协议的安全性不够高,参与者能够通过一些多余计算得到除交集外的多余元素信息。
发明内容
有鉴于此,本发明提供了基于多项式表示的隐私保护集合交集计算方法与系统,用以解决或者至少部分解决现有技术中存在的安全性较低的技术问题。
为了解决上述的技术问题,本发明第一方面提供了基于多项式表示的隐私保护集合交集计算方法,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,所述方法包括以下步骤:
步骤S1:参数的初始化设置,参数包括参与方B生成的构造向量、参与方B 根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式;
步骤S2:参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得集,第二消息表示向量由参与方B 根据第一随机数集、基于第二随机数集生成的第一随机多项式获得;
步骤S3:参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成;
步骤S4:集合交集判决式计算,包括:参与方B基于第一随机数集和构造向量计算获得集合交集判决多项式;
步骤S5:集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
在一种实施方式中,步骤S1具体包括以下子步骤:
步骤S1.1:参与者B生成一个构造向量
Figure RE-GDA0002013936390000021
其中,构造向量
Figure RE-GDA0002013936390000022
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure RE-GDA0002013936390000023
步骤S1.2:参与者A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure RE-GDA0002013936390000024
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与者B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure RE-GDA0002013936390000031
(b1,b2,...,bn)表示集合SB的元素。
在一种实施方式中,步骤S2的具体包括以下子步骤:
步骤S2.1:参与方B产生第一随机数集Zi B,其中,
Figure RE-GDA0002013936390000033
k(I)是一个随机种子;
步骤S2.2:参与方B产生第二随机数集Rj B,其中,
Figure RE-GDA0002013936390000035
k(B)是一个随机种子,
Figure RE-GDA0002013936390000036
然后根据生成的第二随机数集Rj B生成第一随机多项式γB(x),其中,
Figure RE-GDA0002013936390000038
步骤S2.3:参与方B利用第一随机数集Zi B对根据第二集合生成的第二集合多项式ρB(x)进行乘法运算,得到第一消息表示向量oi,其中,oi=ρB(xi)·Zi B
步骤S2.4:参与方B再利用第一随机数集Zi B对生成的第一随机多项式γB(x) 进行乘法运算,得到第二消息表示向量ei,ei=γB(xi)·Zi B
步骤S2.5:参与方B发送消息数据给参与方A,其中,消息数据中包括向量
Figure RE-GDA00020139363900000313
向量
Figure RE-GDA00020139363900000314
和向量
Figure RE-GDA00020139363900000315
在一种实施方式中,步骤S3具体包括以下子步骤:
步骤S3.1:参与方A产生第三随机数集
Figure RE-GDA00020139363900000316
其中,
Figure RE-GDA00020139363900000317
Figure RE-GDA00020139363900000318
k(A)是一个随机种子,
Figure RE-GDA00020139363900000319
步骤S3.2:根据生成的第三随机数集
Figure RE-GDA00020139363900000320
生成第二随机多项式γA(x),其中,
Figure RE-GDA00020139363900000321
步骤S3.3:根据生成的第二随机多项式γA(x)和第一集合多项式ρA(x),生成加密后的消息数据Ci,其中,Ci=ei·ρA(xi)+oi·γA(xi);
步骤S3.4:参与方A将加密后的消息数据传输给参与方B,完成一次交互。
在一种实施方式中,步骤S4具体包括以下子步骤:
步骤S4.1:参与方B接收到参与方A发送的加密后的消息数据后,利用(Zi B)-1得到中间向量
Figure RE-GDA0002013936390000042
其中,向量
Figure RE-GDA0002013936390000043
包括2d+1个元素,yi=Ci·(Zi B)-1
步骤S4.2:参与方B利用(xi,yi)得到集合交集判决多项式
Figure RE-GDA0002013936390000045
其中,
Figure RE-GDA0002013936390000046
在一种实施方式中,步骤S5具体包括:
步骤S5.1:参与方B根据构造向量
Figure RE-GDA0002013936390000047
中xi的值,判断
Figure RE-GDA0002013936390000048
是否为0;若
Figure RE-GDA0002013936390000049
等于0,将其元素放置在集合I中;否则将元素放置集合I'中;
步骤S5.2:输出集合交集I。
基于同样的发明构思,本发明第二方面提供了基于多项式表示的隐私保护集合交集计算系统,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,所述系统包括:
参数初始化模块,用于进行参数的初始化设置,参数包括参与方B生成的构造向量、参与方B根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式;
消息数据发送模块,用于参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得,第二消息表示向量由参与方B根据第一随机数集、基于第二随机数集生成的第一随机多项式获得;
加密后的消息数据返回模块,用于参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成;
集合交集判决式计算模块,用于进行集合交集判决式计算,包括:参与方B 基于第一随机数集和构造向量计算获得集合交集判决多项式;
集合交集计算模块,用于进行集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
在一种实施方式中,参数初始化模块具体用于执行以下子步骤:
步骤S1.1:参与者B生成一个构造向量
Figure RE-GDA00020139363900000410
其中,构造向量
Figure RE-GDA00020139363900000411
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure RE-GDA0002013936390000051
步骤S1.2:参与者A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure RE-GDA0002013936390000052
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与者B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure RE-GDA0002013936390000053
(b1,b2,...,bn)表示集合SB的元素。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面的所述的方法。
基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面的所述的方法。
本发明相比现有技术,具有如下的优点和有益效果:
本发明提供的交集计算方法,涉及到两个参与者(参与者A和B,将参与者B作为发起通话者,A作为回应者),参与者双方含有自己属性的集合(第一集合和第二集合),双方的属性集合不被对方获取,参与者双方通过安全多方计算,得到集合交集,进而获取双方共有属性。此方法利用多项式的性质进行计算,首先,参与者双方进行初始化;发起通话方结合随机数构成的多项式,加密自己的属性集合发送给回应者A;回应者A接受数据信息同样利用随机数构成的多项式,再次加密参与者双方数据发送给A;通过安全双方计算,获取集合交集。利用多项式的性质,基于多项式表示的隐私保护集合交集计算方法可以使用在多方数据安全通信。该方法中,交集计算复杂程度高,难以计算,加大了破解的难度,同时,随机数构造的多项式能够进一步提供可靠的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种基于多项式表示的隐私保护集合交集计算方法的流程图;
图2为图1中所示方法的具体应用示意图;
图3为本发明实施例的一种基于多项式表示的隐私保护集合交集计算系统的功能模块的结构框图;
图4为本发明实施例的一种计算机可读存储介质的结构框图;
图5为本发明实施例的一种计算机设备的结构框图。
具体实施方式
本发明提供了一种基于多项式表示的隐私保护集合交集计算方法与系统,从而达到加大破解难度,提高安全性的技术效果。
为了达到上述技术效果,本发明的总体思路如下:
本发明公开了一种基于多项式表示的隐私保护集合交集计算方法与系统,此方法涉及到两个参与者,分别为发起通话者B和回应者A;参与者双方含有自己属性的集合,双方的属性集合不被对方获取,参与者双方通过安全多方计算,得到集合交集,进而获取双方共有属性。此方法利用多项式的性质进行计算,首先,参与者双方进行初始化;发起通话方结合随机数构成的多项式,加密自己的属性集合发送给回应者A;回应者A接受数据信息同样利用随机数构成的多项式,再次加密参与者双方数据发送给A;通过安全双方计算,获取集合交集。利用多项式的性质,基于多项式表示的隐私保护集合交集计算方法可以使用在多方数据安全通信。此方法,计算复杂程度高,难以计算;同时,随机数构造的多项式能够提供可靠的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明提供了一种基于多项式表示的隐私保护集合交集计算方法,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,请参见图1,该方法包括以下步骤:
首先执行步骤S1:参数的初始化设置,参数包括参与方B生成的构造向量、参与方B根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式。
具体来说,构造向量由会话发起方构造,在本实施方式中,将参与方B作为会话发起方,当然,在其他实施方式中,可以将参与方A作为会话发起方。
具体地,步骤S1具体包括以下子步骤:
步骤S1.1:参与者B生成一个构造向量
Figure RE-GDA0002013936390000071
其中,构造向量
Figure RE-GDA0002013936390000072
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure RE-GDA0002013936390000073
步骤S1.2:参与者A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure RE-GDA0002013936390000074
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与者B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure RE-GDA0002013936390000075
(b1,b2,...,bn)表示集合SB的元素。
具体来说,参与者B为会话的发起方,会构造一个向量
Figure RE-GDA0002013936390000076
用于后续的集合交集的计算。然后,参与者A和B分别利用自身的属性集合,构造出第一集合多项式和第二集合多项式。
然后执行步骤S2:参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得,第二消息表示向量由参与方B根据第一随机数集、基于第二随机数集生成的第一随机多项式获得。
具体地,步骤S2的具体包括以下子步骤:
步骤S2.1:参与方B产生第一随机数集Zi B,其中,
Figure RE-GDA0002013936390000078
k(I)是一个随机种子;
步骤S2.2:参与方B产生第二随机数集Rj B,其中,
Figure RE-GDA00020139363900000710
k(B)是一个随机种子,
Figure RE-GDA00020139363900000711
然后根据生成的第二随机数集Rj B,生成第一随机多项式γB(x),其中,
Figure RE-GDA0002013936390000081
步骤S2.3:参与方B利用第一随机数集Zi B,对根据第二集合生成的第二集合多项式ρB(x)进行乘法运算,得到第一消息表示向量oi,其中,oi=ρB(xi)·Zi B
步骤S2.4:参与方B再利用第一随机数集Zi B对生成的第一随机多项式γB(x) 进行乘法运算,得到第二消息表示向量ei,ei=γB(xi)·Zi B
步骤S2.5:参与方B发送消息数据给参与方A,其中,消息数据中包括向量
Figure RE-GDA0002013936390000086
向量
Figure RE-GDA0002013936390000087
和向量
Figure RE-GDA0002013936390000088
具体来说,第一随机多项式为一个d次随机多项式,主要作用是为了混淆集合多项式ρB(x),从而达到数据传输保密的效果。
接着执行步骤S3:参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成。
具体地,步骤S3具体包括以下子步骤:
步骤S3.1:参与方A产生第三随机数集
Figure RE-GDA0002013936390000089
其中,
Figure RE-GDA00020139363900000810
Figure RE-GDA00020139363900000811
k(A)是一个随机种子,
Figure RE-GDA00020139363900000812
步骤S3.2:根据生成的第三随机数集
Figure RE-GDA00020139363900000813
生成第二随机多项式γA(x),其中,
Figure RE-GDA00020139363900000814
步骤S3.3:根据生成的第二随机多项式γA(x)和第一集合多项式ρA(x),生成加密后的消息数据Ci,其中,Ci=ei·ρA(xi)+oi·γA(xi);
步骤S3.4:参与方A将加密后的消息数据传输给参与方B,完成一次交互。
具体来说,第二随机多项式为一个d次随机多项式,主要作用是为了混淆集合多项式ρA(x),从而生成密文消息,达到数据传输保密的效果。
接下来执行步骤S4:集合交集判决式计算,包括:参与方B基于第一随机数集和构造向量计算获得集合交集判决多项式。
具体地,步骤S4具体包括以下子步骤:
步骤S4.1:参与方B接收到参与方A发送的加密后的消息数据后,利用 (Zi B)-1得到中间向量
Figure RE-GDA00020139363900000816
其中,向量
Figure RE-GDA00020139363900000817
包括2d+1个元素,yi=Ci·(Zi B)-1
步骤S4.2:参与方B利用(xi,yi)得到集合交集判决多项式
Figure RE-GDA0002013936390000091
其中,
Figure RE-GDA0002013936390000092
具体来说,本发明中的向量包括构造向量
Figure RE-GDA0002013936390000093
中间向量
Figure RE-GDA0002013936390000094
和第一消息表示向量
Figure RE-GDA0002013936390000095
和第二消息表示向量
Figure RE-GDA0002013936390000096
其中,构造向量
Figure RE-GDA0002013936390000097
中间向量
Figure RE-GDA0002013936390000098
的主要作用是求出集合交集,第一消息表示向量
Figure RE-GDA0002013936390000099
和第二消息表示向量
Figure RE-GDA00020139363900000910
是对会话发起者发送的消息数据的表示。
接着执行步骤S5:集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
具体地,步骤S5.1:参与方B根据构造向量
Figure RE-GDA00020139363900000911
中xi的值,判断
Figure RE-GDA00020139363900000912
是否为0;若
Figure RE-GDA00020139363900000913
等于0,将其元素放置在集合I中;否则将元素放置集合I'中;
步骤S5.2:输出集合交集I。
为了更清楚地说明本发明提供的集合交集的计算方法,下面通过一个具体的示例予以说明,请参见图2,A和B分别表示响应方和发起方,参与者A持有A 集合、参与者B持有B集合,集合多项式ρA(x)表示集合A中的集合元素,集合多项式ρB(x)表示集合B中的集合元素,其中二者的交互过程详见图2。
总体来说,本发明提供的集合交集的计算方法,可以通过结合交集的计算使得请求双方进行验证和交互,提高了安全性。
本发明是可以通过具体的推到过程证明来该方法的完整性和正确性的,并且此方法是可以充分利用的。此方法既能保证参与双方获取想要的信息,也能保证各自数据不被泄露。这种保证双方数据不被泄露的前提下,计算出参与双方数据集合的交集,参与双方只能得到两者的交集。相对传统的隐私保护方法,基于多项式表示的隐私保护集合交集计算方法,对于还原多项式,求出多项式的系数在一定程度是不可行的,本发明实现了可操作性和可行性,另外通过随机数构造多项式进一步增加了该方法安全性。
基于同一发明构思,本申请还提供了与实施例一中的一种基于多项式表示的隐私保护集合交集计算方法对应的系统,详见实施例二。
实施例二
本实施例提供了一种基于多项式表示的隐私保护集合交集计算系统,基于多项式表示的隐私保护集合交集计算系统,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,请参见图3,所述系统包括:
参数初始化模块301,用于进行参数的初始化设置,参数包括参与方B生成的构造向量、参与方B根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式;
消息数据发送模块302,用于参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得,第二消息表示向量由参与方B根据第一随机数集、基于第二随机数集生成的第一随机多项式获得;
加密后的消息数据返回模块303,用于参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A 基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成;
集合交集判决式计算模块304,用于进行集合交集判决式计算,包括:参与方B基于第一随机数集和构造向量计算获得集合交集判决多项式;
集合交集计算模块305,用于进行集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
在一种实施方式中,参数初始化模块301具体用于执行以下子步骤:
步骤S1.1:参与者B生成一个构造向量
Figure RE-GDA0002013936390000101
其中,构造向量
Figure RE-GDA0002013936390000102
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure RE-GDA0002013936390000103
步骤S1.2:参与者A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure RE-GDA0002013936390000104
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与者B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure RE-GDA0002013936390000105
(b1,b2,...,bn)表示集合SB的元素。
在一种实施方式中,消息数据发送模块302具体用于执行以下子步骤:
步骤S2.1:参与方B产生第一随机数集Zi B,其中,
Figure RE-GDA0002013936390000112
k(I)是一个随机种子;
步骤S2.2:参与方B产生第二随机数集Ej B,其中,
Figure RE-GDA0002013936390000114
k(B)是一个随机种子,
Figure RE-GDA0002013936390000115
然后根据生成的第二随机数集Rj B生成第一随机多项式γB(x),其中,
Figure RE-GDA0002013936390000117
步骤S2.3:参与方B利用第一随机数集Zi B对根据第二集合生成的第二集合多项式ρB(x)进行乘法运算,得到第一消息表示向量oi,其中,oi=ρB(xi)·Zi B
步骤S2.4:参与方B再利用第一随机数集Zi B对生成的第一随机多项式γB(x) 进行乘法运算,得到第二消息表示向量ei,ei=γB(xi)·Zi B
步骤S2.5:参与方B发送消息数据给参与方A,其中,消息数据中包括向量
Figure RE-GDA00020139363900001112
向量
Figure RE-GDA00020139363900001113
和向量
Figure RE-GDA00020139363900001114
在一种实施方式中,加密后的消息数据返回模块303具体用于执行以下子步骤:
步骤S3.1:参与方A产生第三随机数集
Figure RE-GDA00020139363900001115
其中,
Figure RE-GDA00020139363900001116
Figure RE-GDA00020139363900001117
k(A)是一个随机种子,
Figure RE-GDA00020139363900001118
步骤S3.2:根据生成的第三随机数集
Figure RE-GDA00020139363900001119
生成第二随机多项式γA(x),其中,
Figure RE-GDA00020139363900001120
步骤S3.3:根据生成的第二随机多项式γA(x)和第一集合多项式ρA(x),生成加密后的消息数据Ci,其中,Ci=ei·ρA(xi)+oi·γA(xi);
步骤S3.4:参与方A将加密后的消息数据传输给参与方B,完成一次交互。
在一种实施方式中,集合交集判决式计算模块304具体用于执行以下子步骤:
步骤S4.1:参与方B接收到参与方A发送的加密后的消息数据后,利用 (Zi B)-1得到中间向量
Figure RE-GDA00020139363900001122
其中,向量
Figure RE-GDA00020139363900001123
包括2d+1个元素,yi=Ci·(Zi B)-1
步骤S4.2:参与方B利用(xi,yi)得到集合交集判决多项式
Figure RE-GDA00020139363900001125
其中,
Figure RE-GDA0002013936390000121
在一种实施方式中,集合交集计算模块305具体用于执行以下子步骤:
步骤S5.1:参与方B根据构造向量
Figure RE-GDA0002013936390000122
中xi的值,判断
Figure RE-GDA0002013936390000123
是否为0;若
Figure RE-GDA0002013936390000124
等于0,将其元素放置在集合I中;否则将元素放置集合I'中;
步骤S5.2:输出集合交集I。
由于本发明实施例二所介绍的系统,为实施本发明实施例一基于多项式表示的隐私保护集合交集计算方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本申请还提供了一种计算机可读存储介质400,请参见图4,其上存储有计算机程序411,该程序被执行时实现实施例一中的方法。
由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中基于多项式表示的隐私保护集合交集计算所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本申请还提供了一种计算机设备,请参见图5,包括存储器501、处理器502及存储在存储器上并可在处理器上运行的计算机程序503,所述处理器执行所述程序时实现实施例一中所述的方法。
由于本发明实施例四所介绍的计算机设备,为实施本发明实施例一中基于多项式表示的隐私保护集合交集计算方法所采用的计算机设备,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机设备都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.基于多项式表示的隐私保护集合交集计算方法,其特征在于,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,所述方法包括以下步骤:
步骤S1:参数的初始化设置,参数包括参与方B生成的构造向量、参与方B根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式;
步骤S2:参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得,第二消息表示向量由参与方B根据第一随机数集和第一随机多项式进行乘法运算获得,第一随机多项式基于第二随机数集生成,构造向量、第一消息表示向量和第二消息表示向量分别用符号
Figure FDA0002588702810000015
oi和ei表示;
步骤S3:参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成;
步骤S4:集合交集判决式计算,包括:参与方B基于第一随机数集和构造向量计算获得集合交集判决多项式;
步骤S5:集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
2.根据权利要求1所述的方法,其特征在于,步骤S1具体包括以下子步骤:
步骤S1.1:参与方B生成一个构造向量
Figure FDA0002588702810000011
其中,构造向量
Figure FDA0002588702810000012
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure FDA0002588702810000013
步骤S1.2:参与方A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure FDA0002588702810000014
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与方B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure FDA0002588702810000021
(b1,b2,...,bn)表示集合SB的元素。
3.根据权利要求1所述的方法,其特征在于,步骤S2的具体包括以下子步骤:
步骤S2.1:参与方B产生第一随机数集
Figure FDA0002588702810000022
其中,
Figure FDA0002588702810000023
k(I)是一个随机种子;
步骤S2.2:参与方B产生第二随机数集
Figure FDA0002588702810000024
其中,
Figure FDA0002588702810000025
k(B)是一个随机种子,
Figure FDA0002588702810000026
然后根据生成的第二随机数集
Figure FDA0002588702810000027
生成第一随机多项式γB(x),其中,
Figure FDA0002588702810000028
步骤S2.3:参与方B利用第一随机数集
Figure FDA0002588702810000029
对根据第二集合生成的第二集合多项式ρB(x)进行乘法运算,得到第一消息表示向量oi,其中,
Figure FDA00025887028100000210
步骤S2.4:参与方B再利用第一随机数集
Figure FDA00025887028100000211
对生成的第一随机多项式γB(x)进行乘法运算,得到第二消息表示向量ei
Figure FDA00025887028100000212
步骤S2.5:参与方B发送消息数据给参与方A,其中,消息数据中包括向量
Figure FDA00025887028100000225
向量
Figure FDA00025887028100000213
和向量
Figure FDA00025887028100000214
4.根据权利要求1所述的方法,其特征在于,步骤S3具体包括以下子步骤:
步骤S3.1:参与方A产生第三随机数集
Figure FDA00025887028100000215
其中,
Figure FDA00025887028100000216
Figure FDA00025887028100000217
k(A)是一个随机种子,
Figure FDA00025887028100000218
步骤S3.2:根据生成的第三随机数集
Figure FDA00025887028100000219
生成第二随机多项式γA(x),其中,
Figure FDA00025887028100000220
步骤S3.3:根据生成的第二随机多项式γA(x)和第一集合多项式ρA(x),生成加密后的消息数据Ci,其中,Ci=ei·ρA(xi)+oi·γA(xi);
步骤S3.4:参与方A将加密后的消息数据传输给参与方B,完成一次交互。
5.根据权利要求1所述的方法,其特征在于,步骤S4具体包括以下子步骤:
步骤S4.1:参与方B接收到参与方A发送的加密后的消息数据后,利用
Figure FDA00025887028100000221
得到中间向量
Figure FDA00025887028100000222
其中,向量
Figure FDA00025887028100000223
包括2d+1个元素,
Figure FDA00025887028100000224
步骤S4.2:参与方B利用(xi,yi)得到集合交集判决多项式
Figure FDA0002588702810000031
其中,
Figure FDA0002588702810000032
6.根据权利要求1所述的方法,其特征在于,步骤S5具体包括:
步骤S5.1:参与方B根据构造向量
Figure FDA0002588702810000033
中xi的值,判断
Figure FDA0002588702810000034
是否为0;若
Figure FDA0002588702810000035
等于0,将其元素放置在集合I中;否则将元素放置集合I'中;
步骤S5.2:输出集合交集I。
7.基于多项式表示的隐私保护集合交集计算系统,其特征在于,应用于参与请求的双方用户A、B,且参与方A持有第一集合,参与方B持有第二集合,所述系统包括:
参数初始化模块,用于进行参数的初始化设置,参数包括参与方B生成的构造向量、参与方B根据第二集合构造的第二集合多项式以及参与方A根据第一集合构造的第一集合多项式;
消息数据发送模块,用于参与方B向参与方A发送消息数据,其中,消息数据中包括构造向量、第一消息表示向量和第二消息表示向量,其中,第一消息表示向量由参与方B根据第一随机数集和第二集合多项式获得,第二消息表示向量由参与方B根据第一随机数集和第一随机多项式进行乘法运算获得,第一随机多项式基于第二随机数集生成,构造向量、第一消息表示向量和第二消息表示向量分别用符号
Figure FDA0002588702810000036
oi和ei表示;
加密后的消息数据返回模块,用于参与方A基于参与方B发送的消息数据向参与方B返回加密后的消息数据,其中,加密后的消息数据由参与方A基于第三随机数集生成第二随机多项式后,再根据第二随机多项式和第一集合多项式生成;
集合交集判决式计算模块,用于进行集合交集判决式计算,包括:参与方B基于第一随机数集和构造向量计算获得集合交集判决多项式;
集合交集计算模块,用于进行集合交集计算,参与方B根据构造向量和集合交集判决多项式,获得集合交集。
8.根据权利要求7所述的系统,其特征在于,参数初始化模块具体用于执行以下子步骤:
步骤S1.1:参与方B生成一个构造向量
Figure FDA0002588702810000045
其中,构造向量
Figure FDA0002588702810000044
包含从Fp有限域中随机获取2d+1个非零值xi,其中,d为正整数,
Figure FDA0002588702810000041
步骤S1.2:参与方A根据第一集合SA构造第一集合多项式ρA(x),其中,
Figure FDA0002588702810000042
(a1,a2,...,an)表示集合SA的元素;
步骤S1.3:参与方B根据第二集合SB构造第二集合多项式ρB(x),其中,
Figure FDA0002588702810000043
(b1,b2,...,bn)表示集合SB的元素。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至6中任一项权利要求所述的方法。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6中任一项权利要求所述的方法。
CN201910081686.4A 2019-01-28 2019-01-28 基于多项式表示的隐私保护集合交集计算方法与系统 Active CN109886029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910081686.4A CN109886029B (zh) 2019-01-28 2019-01-28 基于多项式表示的隐私保护集合交集计算方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910081686.4A CN109886029B (zh) 2019-01-28 2019-01-28 基于多项式表示的隐私保护集合交集计算方法与系统

Publications (2)

Publication Number Publication Date
CN109886029A CN109886029A (zh) 2019-06-14
CN109886029B true CN109886029B (zh) 2020-09-22

Family

ID=66927102

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910081686.4A Active CN109886029B (zh) 2019-01-28 2019-01-28 基于多项式表示的隐私保护集合交集计算方法与系统

Country Status (1)

Country Link
CN (1) CN109886029B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210004481A1 (en) * 2019-07-05 2021-01-07 Google Llc Systems and methods for privacy preserving determination of intersections of sets of user identifiers
CN110727960A (zh) * 2019-10-16 2020-01-24 卓尔智联(武汉)研究院有限公司 基于隐私保护的数据求交集装置、方法及可读存储介质
CN111741020B (zh) * 2020-07-31 2020-12-22 支付宝(杭州)信息技术有限公司 基于数据隐私保护的公共数据集确定方法、装置及系统
CN112100680B (zh) * 2020-11-16 2021-02-05 支付宝(杭州)信息技术有限公司 保护隐私的多平台数据处理方法及装置
CN112632608A (zh) * 2020-12-23 2021-04-09 上海同态信息科技有限责任公司 一种基于数值计算隐私数据协同处理方法
CN112311546B (zh) * 2020-12-25 2021-04-09 鹏城实验室 数据保密判定方法、装置、设备及计算机可读存储介质
CN113312641B (zh) * 2021-06-02 2023-07-18 杭州趣链科技有限公司 多点多方的数据交互方法、系统、电子装置和存储介质
CN113645022A (zh) * 2021-08-10 2021-11-12 北京信安世纪科技股份有限公司 一种确定隐私集合交集方法、装置、电子设备及存储介质
CN113849844B (zh) * 2021-11-26 2022-03-04 杭州安恒信息技术股份有限公司 一种多方数据安全计算方法、系统、装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156671A (zh) * 2013-05-13 2014-11-19 清华大学 一种保护隐私的无中心点积计算方法
CN105812141B (zh) * 2016-03-07 2018-11-27 东北大学 一种面向外包加密数据的可验证交集运算方法及系统
US20180176015A1 (en) * 2016-12-16 2018-06-21 Yongge Wang Method and Apparatus for Public Key Encryption Scheme RLCE and IND-CCA2 Security
CN107124268B (zh) * 2017-04-01 2020-08-11 中国人民武装警察部队工程大学 一种可抵抗恶意攻击的隐私集合交集计算方法
CN108737115B (zh) * 2018-06-20 2020-12-18 湖北工业大学 一种具有隐私保护的私有属性集交集求解方法
CN109104410B (zh) * 2018-07-12 2021-01-01 湖北工业大学 一种信息的匹配方法及装置

Also Published As

Publication number Publication date
CN109886029A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109886029B (zh) 基于多项式表示的隐私保护集合交集计算方法与系统
CN109951443B (zh) 一种云环境下隐私保护的集合交集计算方法及系统
Wu et al. A novel and provably secure authentication and key agreement scheme with user anonymity for global mobility networks
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
CN109657489B (zh) 一种隐私保护的集合交集两方安全计算方法及系统
CN112910631B (zh) 一种基于云服务器辅助的高效隐私集合交集计算方法及系统
Atallah et al. Secure multi-party computational geometry
CN113239404B (zh) 一种基于差分隐私和混沌加密的联邦学习方法
CN111404943B (zh) 数据的处理方法、装置、电子设备及计算机可读存储介质
CN113312641A (zh) 多点多方的数据交互方法、系统、电子装置和存储介质
US9948462B2 (en) Hypersphere-based multivariable public key signature/verification system and method
Zhang et al. Server-aided private set intersection based on reputation
CN109214201A (zh) 一种数据共享方法、终端设备及计算机可读存储介质
CN112597542B (zh) 目标资产数据的聚合方法及装置、存储介质、电子装置
CN104156671A (zh) 一种保护隐私的无中心点积计算方法
CN112818369B (zh) 一种联合建模方法及装置
CN106790311A (zh) 云服务器存储完整性检测方法及系统
CN114595835A (zh) 基于联邦学习的模型训练方法及装置、设备、存储介质
CN109981576A (zh) 密钥迁移方法和装置
Tang et al. Secure multi-party computation protocol for sequencing problem
CN110401540A (zh) 一种基于区块链可公开校验的门限群签名方法
Li et al. Cryptographic algorithms for privacy-preserving online applications.
CN116743376A (zh) 基于高效密文混淆技术的多方秘密分享数据隐私比较方法
CN116681141A (zh) 隐私保护的联邦学习方法、终端及存储介质
CN115564447A (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