一种具有隐私保护的两方多维数据比较方法和系统技术方案

技术编号:22534875 阅读:51 留言:0更新日期:2019-11-13 11:01
本发明专利技术公开了一种具有隐私保护的两方多维数据比较方法和系统。所述方法包括:将用户A和用户B的多维数据分别封装到一个十进制数中,然后利用同态加密算法对得到的十进制数进行加密,并将密文发送给雾设备;雾设备对收到的密文进行密文域上的运算并将结果密文发送给云服务器;云服务器对结果密文执行解密运算,并对解密结果进行解析,通过判断解析结果可以得到两方多维数据的比较结果。本发明专利技术提供的具有隐私保护的两方多维数据比较方法和系统,能够在不泄露双方多维数据的情况下只进行一轮通信便可以获得双方之间多个数据的比较结果,提高计算效率和通信效率。

A method and system of multidimensional data comparison between two parties with privacy protection

The invention discloses a two-party multidimensional data comparison method and system with privacy protection. The method comprises the following steps: encapsulating the multidimensional data of user a and user B into a decimal number respectively, encrypting the decimal number obtained by homomorphic encryption algorithm, and sending the ciphertext to the fog device; the fog device performs the operation on the ciphertext field of the received ciphertext and sends the result ciphertext to the cloud server; the cloud server performs the decryption operation on the result ciphertext, and performs the decryption operation on the result ciphertext The decryption results are parsed, and the comparison results of the two multidimensional data can be obtained by judging the parsing results. The multi-dimensional data comparison method and system with privacy protection provided by the invention can obtain the comparison results of multiple data between the two parties and improve the calculation efficiency and communication efficiency by only one round of communication without disclosing the multi-dimensional data of both parties.

【技术实现步骤摘要】
一种具有隐私保护的两方多维数据比较方法和系统
本专利技术涉及信息安全比较
,特别是涉及一种具有隐私保护的两方多维数据比较方法和系统。
技术介绍
随着互联网大数据的各种应用渗透到人们生活的方方面面,这些应用正影响着人们的日常生活方式、思维方式和工作模式,同时大数据所导致的隐私泄露也给人们带来了严重的威胁。因此,大数据时代的隐私保护问题是一个值得研究的问题。数据计算是一种基本的大数据隐私保护技术。该技术能够在不泄漏输入数据的同时完成对输入数据的计算任务。数据比较是其中应用非常广泛的一类数据计算。该类计算实现了在不泄漏输入数据的情况下得到这些数据之间的大小关系。目前实现隐私保护数据比较的技术主要是多方安全计算。实现两个数之间比较大小的两方安全计算使得双方参与者在不知道彼此数据的情况下共同完成对彼此数据的比较。但该方法解决的是,两方一维数据的安全比较。考虑以下应用场景:两家有合作意向的公司想了解彼此在多个方面(如公司规模、人员流动率、运营成本、年度收益等等)的对比情况,但是两家公司都不愿意公开这些敏感信息;再如两位初相识的朋友之间相了解彼此在多个方面(如身高、体重、工资收入、股票投资、住房情况等等)的优劣情况,但是他们也不愿意透露自己的这些私密信息。为了实现上述应用需求,我们需要解决的关键问题是:如何在不泄露双方多维数据的情况下实现它们多维数据的比较。因此,如何实现具有隐私保护的两方多维数据的比较是一个值得研究的问题。
技术实现思路
本专利技术的目的是提供一种具有隐私保护的两方多维数据比较方法和系统,在不泄露两方多维数据的情况下只进行一轮通信便可以获得两方之间多个数据的比较结果,提高了计算效率和通信效率,特别适合资源受限的两个移动用户之间的多个数据的安全比较,具有很强的实用性。为实现上述目的,本专利技术提供了如下方案:一种具有隐私保护的两方多维数据比较方法,包括:云服务器CS获取参数R1和参数R2,并将所述参数R1和参数R2分别发送给客户端A和客户端B;所述客户端A获取用户A的多维数据;所述客户端B获取用户B的多维数据;所述用户A的多维数据和所述用户B的多维数据均包括公司规模维度数据、人员流动率维度数据、运营成本维度数据和年度收益维度数据;所述云服务器CS生成公钥PKCS和私钥SKCS,并将所述公钥PKCS分别发送给所述客户端A和所述客户端B;所述客户端A生成用户A的公钥PKA和用户A的私钥SKA,并将所述公钥PKA发送给云服务器CS;所述客户端B生成用户B的公钥PKB和用户B的私钥SKB,并将所述公钥PKB发送给云服务器CS;所述客户端A拥有m维数据(a1,a2,…,am),每维数据可以用一个n位二进制数表示,即用户A的m维数据可以表示为一个二进制矩阵其中ai,n-1是最高二进制位,ai0是最低二进制位,aij为用户A的第i维数据的第j个比特位置上的二进制数;所述客户端B拥有m维数据(b1,b2,…,bm),每维数据可以用一个n位二进制数表示,即用户B的m维数据可以表示为一个二进制矩阵其中bi,n-1是最高二进制位,bi0是最低二进制位,bij为用户B的第i维数据的第j个比特位置上的二进制数;所述客户端A对所述用户A的二进制矩阵进行盲化,得到十进制矩阵其中a′ij为用户A的第i维数据盲化后第j个比特位置上的十进制数;所述客户端B对所述用户B的二进制矩阵进行盲化,得到十进制矩阵其中b′ij为用户B的第i维数据盲化后第j个比特位置上的十进制数;所述客户端A根据所述参数R1和所述参数R2将所述十进制矩阵封装成一个十进制数DA;所述客户端B根据所述参数R1和所述参数R2将所述十进制矩阵封装成一个十进制数DB;所述客户端A,根据所述公钥PKCS对所述十进制数DA进行加密,得到密文CA,将所述密文CA传送给雾设备FD;所述客户端B,根据所述公钥PKCS对所述十进制数DB进行加密,得到密文CB,将所述密文CB传送给所述雾设备FD;所述雾设备FD将所述密文CA和密文CB相乘得到新密文C,并将所述新密文C传送给云服务器CS;所述云服务器CS根据所述私钥SKCS对所述新密文C进行解密,得到明文D;所述云服务器CS根据所述参数R1和所述参数R2对所述明文D进行解析,得到解析结果x=(x1,x2,…,xm);所述云服务器利用所述公钥PKA对所述解析结果x=(x1,x2,…,xm)进行加密,得到密文并将所述密文传输给所述客户端A;所述客户端A利用所述私钥SKA对所述密文进行解密,得到解析结果x=(x1,x2,…,xm);所述云服务器CS利用所述公钥PKB对所述解析结果x=(x1,x2,…,xm)进行加密,得到密文并将所述密文传送给所述客户端B;所述客户端B利用所述私钥SKB对所述密文进行解密,得到解析结果x=(x1,x2,…,xm);客户端A和客户端B分别根据解析结果x=(x1,x2,…,xm)和各自的原始数据,获取两方多维数据大小的比较结果:若所述解析结果x=(x1,x2,…,xm)中xi为0,则所述用户A的第i维数据和所述用户B的第i维数据相等;若所述解析结果x=(x1,x2,…,xm)中xi不为0,并假设xi等于j+1,则所述用户A的第i维数据和所述用户B的第i维数据从高比特位到低比特位的方向上第一个不相等的比特位是第j(即xi-1)个比特位;所述客户端A查看所述用户A的第i维数据的第xi-1个二进制位的数值为1还是为0,所述客户端B查看所述用户B的第i维数据的第(xi–1)个二进制位的数值为1还是为0;若所述客户端A中第i维数据的第(xi–1)个二进制比特位上的数值为1,则所述用户A的第i维数据大于所述用户B的第i维数据;若所述客户端A中第i维数据的第(xi–1)个二进制比特位上的数值为0,则所述用户A的第i维数据小于所述用户B的第i维数据;若所述客户端B中第i维数据的第(xi–1)个二进制比特位上的数值为1,则所述用户B的第i维数据大于所述用户A的第i维数据;若所述客户端B中第i维数据的第(xi–1)个二进制比特位上的数值为0,则所述用户B的第i维数据小于所述用户A的第i维数据;其中,i=1,2,…,m。可选的,所述客户端A对所述用户A的多维数据进行盲化,得到十进制矩阵包括:将所述用户A的多维数据表示为一个二进制矩阵随机选择n个偶数ci,n-1,ci,n-2,...,ci,1,ci,0;将所选择的n个偶数分别添加到所述二进制矩阵的第i行,得到所述十进制矩阵其中,i=1,2,...,m,m≥1,j=n-1,...,1,0,n≥1,ai,n-1是用户A的第i维数据的最高二进制位,ai0是用户A的第i维数据的最低二进制位,aij为用户A的第i维数据的第j个比特位置上的二进制数。可选的,所述对所述用户B的多维数据进行盲化,得到十进制矩阵包括:将所述用户B的第i维数据表示为一个二进制矩阵随机选择n个偶数di,n-1,di,n-2,...,di,1,di,0;将所选择的n个偶数分别添加到所述二进制矩阵的第i行,得到所述十进制矩阵其中,i=1,2,...,m,m≥1,j=n-1,...,1,0,n≥1,bi,n-1是用户B的第i维数据的最高二进制位,bi0是用户B的第i维数据的最低二进制位,bij为用户B的第i维数据的第j个比特位置本文档来自技高网...

【技术保护点】
1.一种具有隐私保护的两方多维数据比较方法,其特征在于,包括:云服务器CS获取参数R1和参数R2,并将所述参数R1和参数R2分别发送给客户端A和客户端B;所述客户端A获取用户A的多维数据;所述客户端B获取用户B的多维数据;所述用户A的多维数据和所述用户B的多维数据均包括公司规模维度数据、人员流动率维度数据、运营成本维度数据和年度收益维度数据;所述云服务器CS生成公钥PKCS和私钥SKCS,并将所述公钥PKCS分别发送给所述客户端A和所述客户端B;所述客户端A生成用户A的公钥PKA和用户A的私钥SKA,并将所述公钥PKA发送给云服务器CS;所述客户端B生成用户B的公钥PKB和用户B的私钥SKB,并将所述公钥PKB发送给云服务器CS;所述客户端A拥有m维数据(a1,a2,…,am),每维数据可以用一个n位二进制数表示,即用户A的m维数据可以表示为一个二进制矩阵

【技术特征摘要】
1.一种具有隐私保护的两方多维数据比较方法,其特征在于,包括:云服务器CS获取参数R1和参数R2,并将所述参数R1和参数R2分别发送给客户端A和客户端B;所述客户端A获取用户A的多维数据;所述客户端B获取用户B的多维数据;所述用户A的多维数据和所述用户B的多维数据均包括公司规模维度数据、人员流动率维度数据、运营成本维度数据和年度收益维度数据;所述云服务器CS生成公钥PKCS和私钥SKCS,并将所述公钥PKCS分别发送给所述客户端A和所述客户端B;所述客户端A生成用户A的公钥PKA和用户A的私钥SKA,并将所述公钥PKA发送给云服务器CS;所述客户端B生成用户B的公钥PKB和用户B的私钥SKB,并将所述公钥PKB发送给云服务器CS;所述客户端A拥有m维数据(a1,a2,…,am),每维数据可以用一个n位二进制数表示,即用户A的m维数据可以表示为一个二进制矩阵其中ai,n-1是最高二进制位,ai0是最低二进制位,aij为用户A的第i维数据的第j个比特位置上的二进制数;所述客户端B拥有m维数据(b1,b2,…,bm),每维数据可以用一个n位二进制数表示,即用户B的m维数据可以表示为一个二进制矩阵其中bi,n-1是最高二进制位,bi0是最低二进制位,bij为用户B的第i维数据的第j个比特位置上的二进制数;所述客户端A对所述用户A的二进制矩阵进行盲化,得到十进制矩阵其中a′ij为用户A的第i维数据盲化后第j个比特位置上的十进制数;所述客户端B对所述用户B的二进制矩阵进行盲化,得到十进制矩阵其中b′ij为用户B的第i维数据盲化后第j个比特位置上的十进制数;所述客户端A根据所述参数R1和所述参数R2将所述十进制矩阵封装成一个十进制数DA;所述客户端B根据所述参数R1和所述参数R2将所述十进制矩阵封装成一个十进制数DB;所述客户端A,根据所述公钥PKCS对所述十进制数DA进行加密,得到密文CA,将所述密文CA传送给雾设备FD;所述客户端B,根据所述公钥PKCS对所述十进制数DB进行加密,得到密文CB,将所述密文CB传送给所述雾设备FD;所述雾设备FD将所述密文CA和密文CB相乘得到新密文C,并将所述新密文C传送给云服务器CS;所述云服务器CS根据所述私钥SKCS对所述新密文C进行解密,得到明文D;所述云服务器CS根据所述参数R1和所述参数R2对所述明文D进行解析,得到解析结果x=(x1,x2,…,xm);所述云服务器利用所述公钥PKA对所述解析结果x=(x1,x2,…,xm)进行加密,得到密文并将所述密文传输给所述客户端A;所述客户端A利用所述私钥SKA对所述密文进行解密,得到解析结果x=(x1,x2,…,xm);所述云服务器CS利用所述公钥PKB对所述解析结果x=(x1,x2,…,xm)进行加密,得到密文并将所述密文传送给所述客户端B;所述客户端B利用所述私钥SKB对所述密文进行解密,得到解析结果x=(x1,x2,…,xm);客户端A和客户端B分别根据解析结果x=(x1,x2,…,xm)和各自的原始数据,获取两方多维数据大小的比较结果:若所述解析结果x=(x1,x2,…,xm)中xi为0,则所述用户A的第i维数据和所述用户B的第i维数据相等;若所述解析结果x=(x1,x2,…,xm)中xi不为0,并假设xi等于j+1,则所述用户A的第i维数据和所述用户B的第i维数据从高比特位到低比特位的方向上第一个不相等的比特位是第j(即xi-1)个比特位;所述客户端A查看所述用户A的第i维数据的第(xi–1)个二进制位的数值为1还是为0,所述客户端B查看所述用户B的第i维数据的第(xi–1)个二进制位的数值为1还是为0;若所述客户端A中第i维数据的第(xi–1)个二进制比特位上的数值为1,则所述用户A的第i维数据大于所述用户B的第i维数据;若所述客户端A中第i维数据的第(xi–1)个二进制比特位上的数值为0,则所述用户A的第i维数据小于所述用户B的第i维数据;若所述客户端B中第i维数据的第(xi–1)个二进制比特位上的数值为1,则所述用户B的第i维数据大于所述用户A的第i维数据;若所述客户端B中第i维数据的第(xi–1)个二进制比特位上的数值为0,则所述用户B的第i维数据小于所述用户A的第i维数据;其中,i=1,2,…,m。2.根据权利要求1所述的一种具有隐私保护的两方多维数据比较方法,其特征在于,所述客户端A对所述用户A的多维数据进行盲化,得到十进制矩阵包括:将所述用户A的多维数据表示为一个二进制矩阵随机选择n个偶数ci,n-1,ci,n-2,...,ci,1,ci,0;将所选择的n个偶数分别添加到所述二进制矩阵的第i行,得到所述十进制矩阵其中,i=1,2,...,m,m≥1,j=n-1,...,1,0,n≥1,ai,n-1是用户A的第i维数据的最高二进制位,ai0是用户A的第i维数据的最低二进制位,aij为用户A的第i维数据的第j个比特位置上的二进制数。3.根据权利要求1所述的一种两方多维数据比较方法,其特征在于,所述对所述用户B的多维数据进行盲化,得到十进制矩阵包括:将所述用户B的第i维数据表示为一个二进制矩阵随机选择n个偶数di,n-1,di,n-2,...,di,1,di,0;将所选择的n个偶数分别添加到所述二进制矩阵的第i行,得到所述十进制矩阵其中,i=1,2,...,m,m≥1,j=n-1,...,1,0,n≥1,bi,n-1是用户B的第i维数据的最高二进制位,bi0是用户B的第i维数据的最低二进制位,bij为用户B的第i维数据的第j个比特位置上的二进制数。4.根据权利要求1所述的一种具有隐私保护的两方多维数据比较方法,其特征在于,所述封装得到的十进制数DA为:所述矩阵封装得到的十进制数DB为:其中,i=1,2,...,m,m≥1,j=n-1,...,1,0,n≥1,为所述参数R2的i次幂,为所述参...

【专利技术属性】
技术研发人员:沈华张明武赵岚夏禹轩
申请(专利权)人:湖北工业大学
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1