CN117234457B - 一种用于隐私计算的数据相减运算方法 - Google Patents
一种用于隐私计算的数据相减运算方法 Download PDFInfo
- Publication number
- CN117234457B CN117234457B CN202311492337.4A CN202311492337A CN117234457B CN 117234457 B CN117234457 B CN 117234457B CN 202311492337 A CN202311492337 A CN 202311492337A CN 117234457 B CN117234457 B CN 117234457B
- Authority
- CN
- China
- Prior art keywords
- data
- plaintext
- bit
- vector
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000004364 calculation method Methods 0.000 title claims abstract description 43
- 239000013598 vector Substances 0.000 claims abstract description 112
- 238000011282 treatment Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 2
- 238000011410 subtraction method Methods 0.000 claims description 2
- 238000012856 packing Methods 0.000 abstract description 7
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种用于隐私计算的数据相减运算方法。它包括以下步骤:结果接收方生成公钥pk、私钥sk,将公钥pk发送给第一数据方、第二数据方、计算方;第一数据方将数据向量x1打包成密文Q1,第二数据方将数据向量x2打包成密文Q2、Q3,密文Q1、Q2、Q3发送给计算方;计算方计算Q1*Q3*F,F为密文Q2的模逆元,得到密文结果D,并发送给结果接收方;结果接收方采用私钥sk对密文结果D进行解密,得到数据向量x1减去数据向量x2的值。本发明在保护数据隐私的基础上大大提高了加密效率和相减运算的计算效率,且支持负数数据的运算。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种用于隐私计算的数据相减运算方法。
背景技术
近年来,数据呈现出爆炸式增长的趋势,数据量和数据种类变得越来越复杂,大量有价值的客户信息、个人的隐私记录、企业的运营数据不断被挖掘。在这个数据爆发的时代,大数据下的隐私保护问题就显得尤为重要。
Paillier加密算法是一种非对称式且满足加法同态性质的同态加密算法,与传统的公钥加密算法相比,其支持在密文域上执行算术运算,并且保证密文域上的运算结果解密后同明文域上的计算结果相同。目前,常采用Paillier加密算法对明文数据进行加密计算,即两个数据方分别将需要计算的数据向量进行Paillier加密后发送给计算方,由计算方计算出密文结果后发送给结果接收方,结果接收方对密文结果进行解密得到明文结果,整个过程中计算方、结果接收方都无法获取数据方的数据,保护了数据安全。
Paillier加密方案是将一个待加密数据塞入一个待加密的明文空间后进行加密,而待加密的明文空间的位数比待加密数据的位数大的多。当采用Paillier加密算法对明文数据进行减法运算时,只能将一个待加密数据塞入一个明文空间进行加密,明文空间存在很高冗余,从而大大影响了加密效率和计算效率。
公开号为CN116719502A的中国专利公开了一种基于隐私保护的数据相减运算方法,该申请将数据向量中的多个待加密数据按照预设规则塞入一个待加密的明文空间中进行打包加密,采用相应算法进行相减运算,提高了加密效率和计算效率。但是,该专利存在如下缺陷:该方法将待加密数据塞入明文空间中后,待加密数据前侧需预留与待加密数据位数一致的空间用于后续计算,预留了过大的不用于存储数据的空间,另外,该专利方法中用于计算的数据只能是非负数,而不能是负数,使得应用存在限制。
发明内容
本发明为了解决上述技术问题,提供了一种用于隐私计算的数据相减运算方法,其将数据向量中的多个待加密数据按照预设规则塞入一个待加密的明文空间中进行打包加密,采用相应算法进行相减运算,明文空间中不用于存储数据的空间少,进一步提高了加密效率和计算效率,且用于计算的数据可以是负数。
为了解决上述问题,本发明采用以下技术方案予以实现:
本发明的一种用于隐私计算的数据相减运算方法,第一数据方持有作为被减数的g维数据向量x1,第二数据方持有作为减数的g维数据向量x2,数据向量x1、数据向量x2内的数据都为a位的整型数据,包括以下步骤:
S1:结果接收方生成公钥pk、私钥sk,将公钥pk发送给第一数据方、第二数据方、计算方;
S2:第一数据方将数据向量x1存入d位明文空间中的指定位置,d=2+g*(a+1),明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文P1,采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方;
S3:第二数据方将数据向量x2存入d位明文空间中的指定位置,明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文E;
将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方;
S4:计算方计算Q1*Q3*F,F为密文Q2的模逆元,得到密文结果D,并发送给结果接收方;
S5:结果接收方采用私钥sk对密文结果D进行解密,得到数据向量x1减去数据向量x2的值。
在本方案中,第一数据方将数据向量x1存入d位明文空间后进行打包加密得到密文Q1;第二数据方将数据向量x2存入d位明文空间得到明文E,对明文E分别进行不同处理,得到明文P2、P3,对明文P2、P3进行打包加密得到密文Q2、Q3。由于,数据向量塞入的明文空间后,每个数据前侧只留1位作为预留位,整个明文空间中用于存储数据的空间比例极大,提高了加密效率。根据数据的正负符号给对应预留位赋值,使得本方法能够用于负数数据的计算。之后利用Paillier算法的加法同态原理计算出密文结果D。最后,结果接收方采用私钥sk对密文结果E进行解密,得到数据向量x1减去数据向量x2的值。
由于计算方没有私钥sk,无法获取数据方的明文数据,而计算阶段在计算方进行,结果接收方也无法获取数据方的明文数据,保护了数据隐私。当第一数据方、第二数据方用于相减的数据比较多时,将这些数据分成多个数据向量,每个数据向量内的数据个数满足计算机的计算能力,分批进行相减运算。
作为优选,所述步骤S2包括以下步骤:
S21:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S22:将数据向量x1内的数据按顺序存入编号为1至g的子空间,如果存储的数据为非负数,则将该数据存入对应子空间的存储空间,将对应子空间的预留位置1,如果存储的数据为负数,则将该数据加上2a存入对应子空间的存储空间,将对应子空间的预留位置0,得到明文P1;
S23:采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方。
作为优选,所述步骤S22中将数据向量x1内的数据按顺序存入编号为1至g的子空间的方法为:
数据向量x1=[x1(1), x1(2),……x1(g)],将x1(j)存入编号为j的子空间,1≤j≤g。
作为优选,所述步骤S3包括以下步骤:
S31:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S32:将数据向量x2内的数据按顺序存入编号为1至g的子空间,如果存储的数据为非负数,则将该数据存入对应子空间的存储空间,将对应子空间的预留位置0,如果存储的数据为负数,则将该数据加上2a存入对应子空间的存储空间,将对应子空间的预留位置1,得到明文E;
S33:将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
S34:采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方。
作为优选,所述步骤S32中将数据向量x2内的数据按顺序存入编号为1至g的子空间的方法为:
数据向量x2=[x2(1), x2(2),……x2(g)],将x2(j)存入编号为j的子空间,1≤j≤g。
作为优选,所述步骤S1包括以下步骤:结果接收方生成Paillier加密算法的公钥pk、私钥sk,公钥pk=(n,g),私钥sk=(λ,μ),n、g、λ、μ都为正整数,将公钥pk发送给第一数据方、第二数据方、计算方。
公钥pk=(n,g),私钥sk=(λ,μ)都采用现有Paillier加密的密钥生成算法得到。现有Paillier加密算法生成公钥时会先随机选择两个大素数p、q,再计算出n=p*q。
作为优选,所述密文Q2的模逆元F通过求解如下公式得到:。
可采用扩展欧几里得算法求解上述公式。
作为优选,所述步骤S5包括以下步骤:结果接收方采用私钥sk对密文结果D进行解密,得到明文结果G,取出明文结果G中对应位置的数据并进行处理得到向量r,向量r就是数据向量x1减去数据向量x2的值。
作为优选,所述步骤S5中取出明文结果G中对应位置的数据并进行处理得到向量r的方法如下:
将明文结果G中与d位明文空间中编号为1至g的子空间的存储空间对应位置的数据取出,组成g维的向量s,对向量s内的每个数据进行处理,得到向量r。
作为优选,所述对向量s内的第j个数据sj进行处理得到向量r内的第j个数据rj的方法如下,1≤j≤g:
如果数据sj对应子空间的预留位的值为0,则rj=sj-2a;
如果数据sj对应子空间的预留位的值为1,则rj=sj。
本发明的有益效果是:将数据向量中的多个待加密数据按照预设规则塞入一个待加密的明文空间中进行打包加密,采用相应算法进行相减运算,明文空间中不用于存储数据的空间少,进一步提高了加密效率和计算效率,且用于计算的数据可以是负数。
附图说明
图1是实施例的流程图;
图2是数据向量x1塞入明文空间的示意图。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步具体的说明。
实施例:本实施例的一种用于隐私计算的数据相减运算方法,第一数据方持有作为被减数的g维数据向量x1,x1=[x1(1), x1(2),……x1(g)],第二数据方持有作为减数的g维数据向量x2,x2=[x2(1), x2(2),……x2(g)],数据向量x1、数据向量x2内的数据都为a位的整型数据,g≥2,如图1所示,包括以下步骤:
S1:结果接收方生成Paillier加密算法的公钥pk、私钥sk,公钥pk=(n,g),私钥sk=(λ,μ),n、g、λ、μ都为正整数,将公钥pk发送给第一数据方、第二数据方、计算方;
S2:第一数据方将数据向量x1存入d位明文空间中的指定位置,d=2+g*(a+1),明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文P1,采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方;
S3:第二数据方将数据向量x2存入d位明文空间中的指定位置,明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文E;
将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方;
S4:计算方计算Q1*Q3*F,F为密文Q2的模逆元,得到密文结果D,并发送给结果接收方;
密文Q2的模逆元F通过求解如下公式得到:;
S5:结果接收方采用私钥sk对密文结果D进行解密,得到数据向量x1减去数据向量x2的值。
步骤S2包括以下步骤:
S21:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S22:将数据向量x1内的数据按顺序存入编号为1至g的子空间;
将数据向量x1内的数据按顺序存入编号为1至g的子空间的方法为:将x1(j)存入编号为j的子空间,1≤j≤g;
将x1(j)存入编号为j的子空间的方法如下:
判断x1(j)是否为负数,如果x1(j)为非负数,则将x1(j)存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置1,如果x1(j)为负数,则将x1(j)+2a存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置0,得到明文P1;
S23:采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方。
步骤S3包括以下步骤:
S31:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S32:将数据向量x2内的数据按顺序存入编号为1至g的子空间,
将数据向量x2内的数据按顺序存入编号为1至g的子空间的方法为:将x2(j)存入编号为j的子空间,1≤j≤g;
将x2(j)存入编号为j的子空间的方法如下:
判断x2(j)是否为负数,如果x2(j)为非负数,则将x2(j)存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置0,如果x2(j)为负数,则将x2(j)+2a存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置1,得到明文E;
S33:将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
S34:采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方。
步骤S5包括以下步骤:结果接收方采用私钥sk对密文结果D进行解密,得到明文结果G,取出明文结果G中对应位置的数据并进行处理得到向量r,向量r就是数据向量x1减去数据向量x2的值;
取出明文结果G中对应位置的数据并进行处理得到向量r的方法如下:
将明文结果G中与d位明文空间中编号为1至g的子空间的存储空间对应位置的数据取出,组成g维的向量s,对向量s内的每个数据进行处理,得到向量r;
对向量s内的第j个数据sj进行处理得到向量r内的第j个数据rj的方法如下,1≤j≤g:
如果数据sj对应子空间的预留位的值为0,则rj=sj-2a;
如果数据sj对应子空间的预留位的值为1,则rj=sj。
在本方案中,公钥pk=(n,g),私钥sk=(λ,μ)都采用现有Paillier加密的密钥生成算法得到。现有Paillier加密算法生成公钥时会先随机选择两个大素数p、q,再计算出n=p*q。
首先,第一数据方将数据向量x1存入d位明文空间后进行打包加密得到密文Q1;第二数据方将数据向量x2存入d位明文空间得到明文E,对明文E分别进行不同处理,得到明文P2、P3,对明文P2、P3进行打包加密得到密文Q2、Q3。由于,数据向量塞入的明文空间后,每个数据前侧只留1位作为预留位,整个明文空间中用于存储数据的空间比例极大,提高了加密效率。
例如,数据向量x1为62维,数据向量x1内的数据为32位的非负数据,将2048位明文空间中最高位的2位作为空置位并置0,剩余2046位从高位至低位等分为62份,得到62个子空间,每个子空间具有33位,将62个子空间从高位至低位依次编号为1、2……62,将子空间中最高的1位作为预留位,将子空间中其余 32位作为存储空间,将数据向量x1内的数据按顺序存入编号为1至62的子空间,由于存储的数据为非负数,将数据存入对应子空间的存储空间,将对应子空间的预留位置1,得到一条明文P1,如图2所示。这样对2048位的明文空间进行Paillier加密可以同时加密62个数据,加密效率是只塞一个原始数据加密效率的62倍。
数据向量x1中的某个数据如果是非负数,则将该数据存入对应子空间的存储空间,将对应子空间的预留位置1,如果存储的数据为负数,则将该数据加上2a存入对应子空间的存储空间,将对应子空间的预留位置0,得到明文P1,通过这种方式存储被减数的负数数据。
数据向量x2中的某个数据如果是非负数,则将该数据存入对应子空间的存储空间,将对应子空间的预留位置0,如果存储的数据为负数,则将该数据加上2a存入对应子空间的存储空间,将对应子空间的预留位置1,通过这种方式存储减数的负数数据,还需要将预留位和存储空间拆分出来成为明文P2、P3,因为减数预留位的值需要与被减数预留位的值相加,便于减法运算时候的借位。通过上述设置方式使得本方法能够用于负数数据的计算。
第一数据方对明文P1进行Paillier加密得到对应的密文Q1,,第二数据方对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,Q2=ENC(P2),Q3=ENC(P3),第一数据方将密文Q1发送给计算方,第二数据方将密文Q2、Q3发送给计算方,由计算方进行计算。
接着,计算方计算出密文Q2的模逆元F,由于,,采用扩展欧几里得算法求解上述公式得到/>;
计算方计算Q1*Q3*F,得到密文结果D,基于Paillier加密算法原理,D= ENC(P1) *ENC(P3) *ENC(-P2)=ENC(P1+P3-P2)。
最后,结果接收方采用私钥sk对密文结果D进行解密,得到明文结果G,明文结果G也是d位,其最高位的2位作为空置位,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,子空间中最高的1位为预留位,子空间中其余 a位构成存储空间,将编号为1、2……g的子空间的存储空间内数据取出,组成g维的向量s,s=[s1, s2,……sg],sj为编号为j的子空间的存储空间内的数据。
对向量s内的每个数据进行处理,得到向量r,r=[r1, r2,……rg],向量r就是数据向量x1减去数据向量x2的值。如果数据sj对应子空间的预留位的值为0,表明对应数据相减运算的值为负数,则rj=sj-2a;如果数据sj对应子空间的预留位的值为1,表明对应数据相减运算的值为非负数,则rj=sj。
由于计算方没有私钥sk,无法获取数据方的明文数据,而计算阶段在计算方进行,结果接收方也无法获取数据方的明文数据,保护了数据隐私。当第一数据方、第二数据方用于相减的数据比较多时,将这些数据分成多个数据向量,每个数据向量内的数据个数满足计算机的计算能力,分批进行相减运算。
本方法中计算方计算得到的密文结果D可用于后续的减法计算,即本方法支持连续的减法计算。因为在本方案中密文结果D对应明文的正负性和加密被减数时的正负性判定是一致的,即数据对应的预留位为1代表该数据对应的明文为非负数,解密后直接取出数据即可,数据对应的预留位为0代表该数据对应的明文为负数,解密后对取出的数据减去2a。因此表示数据是否为非负数的预留位标识没有随着减法的计算而改变,可以在得到第一次减法计算后的密文上继续执行减法。
背景技术中公开号为CN116719502A的中国专利的方法中计算方计算密文结果的过程中需要将密文乘以2a-1,即参与计算的数据的位数a的值越大,乘法计算的复杂性越大,计算效率越低。本方法计算方计算密文结果的过程中不需要将密文乘以2a-1,即参与计算的数据的位数a的值增大不会影响计算效率。
本方法可用在如下场景:金融机构在给多个用户进行贷款前需评估这些用户的还款能力和存在的风险,第一数据方持有这些用户的现有存款数据,构成数据向量x1,第二数据方持有这些用户的现有贷款数据,构成数据向量x2,金融机构作为结果接收方,再引入计算方就可用本方法使金融机构得到这些用户的现有存款数据与现有贷款数据的差值,且金融机构、计算方无法获取到这些用户的现有存款数据、现有贷款数据的具体数值,保护了用户隐私。
当需要对浮点型数据进行相减运算时,第一数据方、第二数据方分别采用精度控制法将数据向量x1、数据向量x2内的数据从a位浮点型转换为a位整型,最后结果接收方采用同样的精度控制法将结果数据转换为a位浮点型就可以了。
数据方采用精度控制法将数据向量内的数据从a位浮点型转换为a位整型的方法如下:
将数据向量内的a位浮点型数据代入公式:,计算得到对应的a位整型数据,其中,w表示a位整型数据,f表示a位浮点型数据,k表示非负整数。
例如:数据为32位的浮点型数据1.2345,计算,得到对应的32位的整型数据12345。
如果步骤S5中得到的向量r中的某个数据为54875,采用同样的精度控制法将32位的整型数据54875转换为32位的浮点型数据5.4875。
举例说明:
第一数据方持有作为被减数的4维数据向量x1,x1=[7,8,-6,-8],第二数据方持有作为减数的4维数据向量x2,x2=[-5,3,7,-4],数据都为32位的整型数据。
首先,结果接收方生成Paillier加密算法的公钥pk、私钥sk,公钥pk=(n,g),将公钥pk发送给第一数据方、第二数据方、计算方。
接着,第一数据方将数据向量x1内的数据依次存入134位明文空间中的指定位置打包成一条明文P1,明文P1的结构为:
,
采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,Q1= ENC(P1),将密文Q1发送给计算方;
第二数据方将数据向量x2内的数据依次存入134位明文空间中的指定位置,得到明文E,明文E的结构为:
,
将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3,明文P2、P3的结构为:
,
,
采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方;
计算方计算Q1*Q3*F,F为密文Q2的模逆元,得到密文结果D,D=Q1*Q3*F= ENC(P1) *ENC(P3) *ENC(-P2)=ENC(P1+P3-P2),密文结果D的结构为:
。
最后,结果接收方采用私钥sk对密文结果D进行解密,得到明文结果G,从明文结果G中的存储空间位置取出数据,得到向量s,s=[12, 5, 232-13, 232-4],由于12、5对应的预留位的值为1,所以12、5不变,由于232-13、232-4对应的预留位的值为0,所以计算(232-13)-232=-13,(232-4)-232=-4,最终得到向量r,r=[12, 5,-13,-4],与x1-x2的明文计算结果一致。
Claims (8)
1.一种用于隐私计算的数据相减运算方法,第一数据方持有作为被减数的g维数据向量x1,第二数据方持有作为减数的g维数据向量x2,数据向量x1、数据向量x2内的数据都为a位的整型数据,其特征在于,包括以下步骤:
S1:结果接收方生成公钥pk、私钥sk,将公钥pk发送给第一数据方、第二数据方、计算方;
S2:第一数据方将数据向量x1存入d位明文空间中的指定位置,d=2+g*(a+1),明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文P1,采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方;
S3:第二数据方将数据向量x2存入d位明文空间中的指定位置,明文空间中每个数据前侧的1位为预留位,根据每个数据的正负符号给对应预留位赋值,得到明文E;
将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方;
S4:计算方计算Q1*Q3*F,F为密文Q2的模逆元,得到密文结果D,并发送给结果接收方;
S5:结果接收方采用私钥sk对密文结果D进行解密,得到数据向量x1减去数据向量x2的值;
步骤S2包括以下步骤:
S21:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S22:将数据向量x1内的数据按顺序存入编号为1至g的子空间;
将数据向量x1内的数据按顺序存入编号为1至g的子空间的方法为:将x1(j)存入编号为j的子空间,1≤j≤g;
将x1(j)存入编号为j的子空间的方法如下:
判断x1(j)是否为负数,如果x1(j)为非负数,则将x1(j)存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置1,如果x1(j)为负数,则将x1(j)+2a存入编号为j的子空间的存储空间,将编号为j的子空间的预留位置0,得到明文P1;
S23:采用公钥pk对明文P1进行Paillier加密得到对应的密文Q1,并发送给计算方。
2.根据权利要求1所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述步骤S3包括以下步骤:
S31:将d位明文空间中最高位的2位作为空置位并置0,剩余d-2位从高位至低位等分为g份,得到g个子空间,每个子空间具有a+1位,将g个子空间从高位至低位依次编号为1、2……g,将子空间中最高的1位作为预留位,将子空间中其余 a位作为存储空间;
S32:将数据向量x2内的数据按顺序存入编号为1至g的子空间,如果存储的数据为非负数,则将该数据存入对应子空间的存储空间,将对应子空间的预留位置0,如果存储的数据为负数,则将该数据加上2a存入对应子空间的存储空间,将对应子空间的预留位置1,得到明文E;
S33:将明文E中所有预留位置0,得到明文P2;将明文E中除了预留位之外的其余位都置0,得到明文P3;
S34:采用公钥pk分别对明文P2、P3进行Paillier加密得到对应的密文Q2、Q3,并发送给计算方。
3.根据权利要求2所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述步骤S32中将数据向量x2内的数据按顺序存入编号为1至g的子空间的方法为:
数据向量x2=[x2(1), x2(2),……x2(g)],将x2(j)存入编号为j的子空间,1≤j≤g。
4.根据权利要求1所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述步骤S1包括以下步骤:结果接收方生成Paillier加密算法的公钥pk、私钥sk,公钥pk=(n,g),私钥sk=(λ,μ),n、g、λ、μ都为正整数,将公钥pk发送给第一数据方、第二数据方、计算方。
5.根据权利要求4所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述密文Q2的模逆元F通过求解如下公式得到:
。
6.根据权利要求2所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述步骤S5包括以下步骤:结果接收方采用私钥sk对密文结果D进行解密,得到明文结果G,取出明文结果G中对应位置的数据并进行处理得到向量r,向量r就是数据向量x1减去数据向量x2的值。
7.根据权利要求6所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述步骤S5中取出明文结果G中对应位置的数据并进行处理得到向量r的方法如下:
将明文结果G中与d位明文空间中编号为1至g的子空间的存储空间对应位置的数据取出,组成g维的向量s,对向量s内的每个数据进行处理,得到向量r。
8.根据权利要求7所述的一种用于隐私计算的数据相减运算方法,其特征在于,所述对向量s内的第j个数据sj进行处理得到向量r内的第j个数据rj的方法如下,1≤j≤g:
如果数据sj对应子空间的预留位的值为0,则rj=sj-2a;
如果数据sj对应子空间的预留位的值为1,则rj=sj。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311492337.4A CN117234457B (zh) | 2023-11-10 | 2023-11-10 | 一种用于隐私计算的数据相减运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311492337.4A CN117234457B (zh) | 2023-11-10 | 2023-11-10 | 一种用于隐私计算的数据相减运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117234457A CN117234457A (zh) | 2023-12-15 |
CN117234457B true CN117234457B (zh) | 2024-01-26 |
Family
ID=89088350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311492337.4A Active CN117234457B (zh) | 2023-11-10 | 2023-11-10 | 一种用于隐私计算的数据相减运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234457B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040050742A (ko) * | 2002-12-09 | 2004-06-17 | 한국전자통신연구원 | 소수체를 기반으로 하는 공개키 암호장치 |
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN114866221A (zh) * | 2022-06-07 | 2022-08-05 | 贵州数据宝网络科技有限公司 | 一种支持浮点运算的改进加法同态加密方法 |
CN115065456A (zh) * | 2022-06-07 | 2022-09-16 | 贵州数据宝网络科技有限公司 | 一种支持浮点运算的改进同态乘法加密方法 |
CN115842617A (zh) * | 2022-09-30 | 2023-03-24 | 西安电子科技大学广州研究院 | 一种支持批处理的安全同态计算方法及存储装置、设备 |
CN116070276A (zh) * | 2023-02-23 | 2023-05-05 | 西安理工大学 | 基于同态加密与Simhash的密文查重与存储方法 |
CN116132012A (zh) * | 2022-11-07 | 2023-05-16 | 西安电子科技大学广州研究院 | 一种可信任的隐私数据比较方法及其存储装置、智能终端 |
CN116719502A (zh) * | 2023-08-11 | 2023-09-08 | 蓝象智联(杭州)科技有限公司 | 一种基于隐私保护的数据相减运算方法 |
CN116938434A (zh) * | 2023-07-14 | 2023-10-24 | 支付宝(杭州)信息技术有限公司 | 隐私计算中的数据安全检测方法和装置 |
-
2023
- 2023-11-10 CN CN202311492337.4A patent/CN117234457B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040050742A (ko) * | 2002-12-09 | 2004-06-17 | 한국전자통신연구원 | 소수체를 기반으로 하는 공개키 암호장치 |
CN107294698A (zh) * | 2017-07-25 | 2017-10-24 | 西安电子科技大学 | 单密文同态计算的全同态加密方法 |
WO2020253234A1 (zh) * | 2019-06-18 | 2020-12-24 | 创新先进技术有限公司 | 实现隐私保护的数据同态加解密方法及装置 |
CN114866221A (zh) * | 2022-06-07 | 2022-08-05 | 贵州数据宝网络科技有限公司 | 一种支持浮点运算的改进加法同态加密方法 |
CN115065456A (zh) * | 2022-06-07 | 2022-09-16 | 贵州数据宝网络科技有限公司 | 一种支持浮点运算的改进同态乘法加密方法 |
CN115842617A (zh) * | 2022-09-30 | 2023-03-24 | 西安电子科技大学广州研究院 | 一种支持批处理的安全同态计算方法及存储装置、设备 |
CN116132012A (zh) * | 2022-11-07 | 2023-05-16 | 西安电子科技大学广州研究院 | 一种可信任的隐私数据比较方法及其存储装置、智能终端 |
CN116070276A (zh) * | 2023-02-23 | 2023-05-05 | 西安理工大学 | 基于同态加密与Simhash的密文查重与存储方法 |
CN116938434A (zh) * | 2023-07-14 | 2023-10-24 | 支付宝(杭州)信息技术有限公司 | 隐私计算中的数据安全检测方法和装置 |
CN116719502A (zh) * | 2023-08-11 | 2023-09-08 | 蓝象智联(杭州)科技有限公司 | 一种基于隐私保护的数据相减运算方法 |
Non-Patent Citations (3)
Title |
---|
Ciphertext Number Full Operations Based on Paillier Algorithm;Yang, GF.et;《2017 13TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE AND SECURITY (CIS)》;全文 * |
基于国密SM2和SM9的加法同态加密方案;唐飞等;《密码学报》;全文 * |
支持同态算术运算的数据加密方案算法研究;杨攀;桂小林;姚婧;林建财;田丰;张学军;;通信学报(01);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117234457A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110348231B (zh) | 实现隐私保护的数据同态加解密方法及装置 | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
FR2789535A1 (fr) | Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique | |
EP1166494A1 (fr) | Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique de type courbe elliptique | |
EP2546737A1 (fr) | Protection d'un calcul d'exponentiation modulaire par addition d'une quantité aléatoire | |
CN115276947A (zh) | 隐私数据处理方法、装置、系统及存储介质 | |
CN116719502B (zh) | 一种基于隐私保护的数据相减运算方法 | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
CN111475690B (zh) | 字符串的匹配方法和装置、数据检测方法、服务器 | |
CN117234457B (zh) | 一种用于隐私计算的数据相减运算方法 | |
CN115510502B (zh) | 一种隐私保护的pca方法及系统 | |
CN114553395B (zh) | 一种风控场景下的纵向联邦特征衍生方法 | |
CN111526000A (zh) | 一种基于混淆模投影的并行部分同态加密方法和系统 | |
US20090279689A1 (en) | System and method of authentication | |
CN111756518B (zh) | 一种基于忆阻超混沌系统的彩色图像加密方法 | |
US11343070B2 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
CN114726580A (zh) | 数据处理方法和装置 | |
Rao et al. | Secure and practical outsourcing of linear programming in cloud computing: A survey | |
CN114868175A (zh) | 最终幂计算装置、配对运算装置、加密处理装置、最终幂计算方法和最终幂计算程序 | |
CN113541933B (zh) | 一种基于格的高效紧凑加密方法 | |
CN114499844B (zh) | 多方安全乘法的执行方法、装置、设备及介质 | |
CN113268707B (zh) | 一种基于行编码的密文协方差矩阵计算方法 | |
WO2018187604A1 (en) | Methods and systems for enhanced data-centric scalar multiplicative homomorphic encryption systems using geometric algebra | |
CN114817970B (zh) | 基于数据来源保护的数据分析方法、系统及相关设备 | |
CN111614465B (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 |