CN102970143B - 采用加法同态加密方法进行安全计算双方持有数和的指数的方法 - Google Patents
采用加法同态加密方法进行安全计算双方持有数和的指数的方法 Download PDFInfo
- Publication number
- CN102970143B CN102970143B CN201210536698.XA CN201210536698A CN102970143B CN 102970143 B CN102970143 B CN 102970143B CN 201210536698 A CN201210536698 A CN 201210536698A CN 102970143 B CN102970143 B CN 102970143B
- Authority
- CN
- China
- Prior art keywords
- parties
- sum
- participated
- homomorphic encryption
- held data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供了一种采用加法同态加密方法进行安全计算双方持有数和的指数的方法,可以高效的计算出两参与方所持数据之和的t次幂(其中t可取不为零的任意实数),并使得计算结果以和的形式共享在两个参与方手中。假设两参与方所持数据分别为a和b,该协议的具体实施方案包括以下两个阶段:首先,其中一方随机产生一大于零的数p,双方采用同态加密技术计算,使得另一方得到p(a+b)的值。随后,两参与方分别采用p-t以及(p(a+b))t作为输入,再次采用同态加密技术计算,使得两参与方以和的形式共享(a+b)t。该方法满足密码学中的安全性定义,安全性极高。另外,可以通过灵活修改该发明中t的值来完成不同的应用。
Description
技术领域
本发明属于安全多方计算领域,特别涉及安全两方计算领域,具体涉及一种采用同态加密技术,设计出在不泄漏任何个人隐私信息的前提下,两参与方合作求所持数据之和的t次幂的方法。
背景技术
安全多方计算技术的发展使得人们可以在不泄漏个人私有信息的前提下,合作去完成一系列有意义的计算。为保护隐私数据挖掘以及其他数据处理技术的发展奠定了坚实的基础。
在文献“How to generate and exchange secrets”中首次提出了安全两方计算的概念,并且设计出了第一个安全两方比较协议-百万富翁协议。该协议使得两个参与方能够在不泄露个人输入的情况下,比较出两方所持有数据的大小关系。他同时在该文献中指出,任何安全两方的计算协议,均可以通过电路门实现。随后,O.Goldreich将安全两方计算技术推广到了多方情况,并且给出了安全模型以及形式化的安全性证明方法。
尽管任何安全多方计算协议均可通过电路门的方法实现,但由于通信和计算复杂度过高,导致这种实现方法的效率极低。因而,对于特定的安全多方计算问题,仍需要设计出特定的协议来高效完成。到目前为止,学者们已经设计出包括:安全比较协议、安全两方求除、安全两方求集合的交、安全两方求集合的并,以及点积协议在内的诸多安全多方计算基础协议。这些高效协议的产生,为很多大型的保护隐私协议的设计奠定了基础。然而,目前仍有一些基础的安全多方计算问题尚未得到妥善的解决。而这些问题的解决与否直接关系着一部分大型保护隐私协议能否得以解决。比如,安全两方根号运算是安全计算欧几里德距离的必要子协议;高效的安全两方求倒数协议可应用于安全两方求除协议,并使得除法协议的效率得到明显的提升。因而,给出这两个问题的解决方案十分必要。
发明内容
本发明目的在于给出一个通用的安全两方求指数协议。此协议可以安全、高效的完成安全两方对于求任何次幂的运算。
一种采用加法同态加密方法进行安全计算双方持有数和的指数的方法,其特征在于所述方法中安全计算的参与方为A方和B方,A方持有的数为a,B方持有的数为b,且满足a+b>0,双方持有数和的指数为c+d=(a+b)
t
,其中t为不为0的任意实数,c为随机数;所述方法包括以下步骤:
(1)B方以加法同态加密方法产生密钥对(E,D),并进行加密计算得到E(b),将E(b)以及公钥E发送给A方;
(2)A方接收B方的E(b)和公钥E后,通过加法同态加密方法进行加密计算获得E(pa)*E(b)
p
,将E(pa)*E(b)
p
发送给B方;
(3)B方接收A方的E(pa)*E(b)
p
后,利用私钥D对E(pa)*E(b)
p
进行解密得到pa+pb,然后进行加密运算得到E((pa+pb)
t
),并将E((pa+pb)
t
)发送给A方;
(4)A方接收B方的E((pa+pb)
t
)后,通过加法同态加密方法进行加密计算获得y=(E((pa+pb)
t
))
z
*E(-c),其中z=p
-t
;并将y发送给B方;
(5)B方接收A方的y后,利用私钥D对y进行解密得到d=D(y);而A方获得c;其中p为随机产生的随机数,p不为零。
优选的,所述方法中t=0.5或1。
优选的,所述方法中加法同态加密方法为通过加法同态加密系统生成加法同态加密密钥对(E,D),且满足E(m)*E(n)=E(m+n)以及E(ms)=E(m)
s
,则D(E(m)*E(n))=m+n以及D(E(m)
s
)=ms。
本发明技术方案将两个参与方分别称为A方和B方。问题的形式化定义如下:A方和B方分别持有数a和b,满足a+b>0。他们希望通过合作计算以和的形式共享a+b的t次方(其中t为非零实数)。具体来说,协议目的是在不泄漏参与方任何输入信息的前提下,A方和B方分别得到数值c和d,满足:c+d=(a+b)
t
。
本发明主要基于加法同态加密系统。此系统由Paillier在文献“Public-Key Cryptosystems Based on Composite Degree Residuosity Classes”中提出。假设A方产生加法同态加密密钥对(E,D),此加密系统满足E(m)*E(n)=E(m+n)以及E(ms)=E(m)
s
,即有,D(E(m)*E(n))=m+n以及D(E(m)
s
)=ms。这一加密系统的产生对安全多方计算技术的发展起到了极大的促进作用。
本发明采用同态加密技术,设计出在不泄漏任何个人隐私信息的前提下,两参与方合作求所持数据之和的t次幂的方法。方法具体包括两大部分:两参与方合作计算,使得一方产生随机数,另一方得到此随机数与他们两方所持有数据之和的乘积;两参与方利用前面得到的结果继续合作计算,使得他们所持数据之和的t次幂以和的形式共享在二人手中。其特征在于所述方法具体包括以下步骤:记两参与方分别为A方和B方,记所持数据分别为a和b。(1)首先,A方产生一个大于0的随机数p和一随机数r。B方产生加法同态加密密钥对(E,D),并且将加密后的数值E(b)以及公钥E发送给A方。然后,A方计算E(pa)*E(b)
p
,并将计算结果发送给B方。最后,B方利用私钥D对E(pa)*E(b)
p
进行解密,得到pa+pb。(2)首先,B方计算E((pa+pb)
t
),并将计算结果发送给A方。然后,A方计算(E((pa+pb)
t
))
z
*E(-r), 其中z=p
-t
;并将计算结果发送给B方。最后,A方将r作为输出c。B方利用私钥D对(E((pa+pb)
t
))
z
*E(-r)进行解密,并将解密结果作为输出d。
所述方法中将两参与方所持数据的和以积的形式共享在二人手中,这样就将计算两参与方所持数据之和的t次幂问题转化为了计算两参与方所持数据之积的t次幂,而此时所需计算的结果等于两参与方新持有数据分别求t次幂后再求乘积。
两参与方可安全计算所持数据的任意次方(即t可取任意不为0的实数)。本发明的方法一方利用加密而另一方利用加入随机数来分别保护己方隐私数据不被泄漏,而所需通信复杂度极低。
安全方面:从本发明技术方案可以看出,只需分析两参与方能否通过接收到的另一方所发送的信息来推断出其私有数据信息,若不能,则可说明方法是安全的。首先分析参与方A方的私有信息a是否会泄漏。A方在步骤2和步骤4中向B方发送了信息。步骤2中,B方通过对收到信息进行解密运算,得到pa+pb的值。由于存在随机数p的保护,B方无法得知关于A方私有数据a的任何信息。步骤4中,B方得到数据(E((pa+pb)
t
))
1/p t
*E(-r),进行解密后得到(a+b)
t
-r。此时同样存在一个随机数r对A方的私有数据a进行保护,B方依然无法得知关于a的任何信息。因而,A方的安全性得到了保证。接下来分析参与方B方的私有信息是否会泄漏。B方给A方发送信息发生在步骤1和步骤3中。由于B方发送给A方的信息都是通过公钥E加密后的密文,而A方又无法得到私钥D,基于密码学的安全理论,A方将不会得到关于B方私有数据b的任何信息。因而,B方的安全性也得到了保证。综上所述,本发明无任何隐私信息泄漏,是具有安全保证的。
效率方面:假设所使用的密钥长度为K位,完成整个协议所需要的通信量为2K+K+K+K=5K位。可见,本发明的方法效率极高。
本发明的突出的实质性特点和显著地进步主要体现在:本发明可以使得两个参与方安全、高效的计算出两个数的任意次幂,计算结果以和的形式共享在这两个参与方手中。这为大型的保护隐私数据处理技术奠定了基础,同时也会为设计出更高效的安全多方计算协议提供了必要的技术手段。
该发明提供了一种高效的安全两方合作计算协议,该协议可以高效的计算出两参与方所持数据之和的t次幂(其中t可取不为0的任意实数),并使得计算结果以和的形式共享在两个参与方手中。假设两参与方所持数据分别为a和b,该协议的具体实施方案包括以下两个阶段:首先,其中一方随机产生一大于零的数p,双方采用同态加密技术计算,使得另一方得到p(a+b)的值。随后,两参与方分别采用p
-t
以及(p(a+b))
t
作为输入,再次采用同态加密技术计算,使得两参与方以和的形式共享(a+b)
t
。该发明满足密码学中的安全性定义,因而,安全性极高。另外,可以通过灵活修改该发明中t的值来完成不同的应用。例如,取t=-1时,该发明可用于设计高效的安全两方求除协议;取t=0.5时,该发明可用于欧几里德距离的安全计算。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为本发明采用加法同态加密方法进行安全计算双方持有数和的指数的方法的流程图。
具体实施方式
以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例
假设公司A有员工200人,年生产总值为1000万元。公司B有员工300人,年生产总值为2000万元。两公司希望在不泄漏本方任何私有信息的前提下,与对方合作得出人均年生产总值的数目。
本实施例的具体实施步骤如下:
(1)利用本发明使得两公司可以以加法秘密分享的方式分享两公司总人数的倒数值。具体实施步骤如下:
步骤一:A方产生一个大于0的随机数p=10和一随机数r=0.01。B方产生加法同态加密密钥对(E,D),并且将加密后的数值E(300)以及公钥E发送给A方。
步骤二:A方计算E(10*200)*E(300)
10
,并将计算结果发送给B方。
步骤三:B方利用私钥D对E(10*200)*E(300)
10
进行解密,得到5000。
步骤四:B方计算E(1/5000),并将计算结果发送给A方。
步骤五:A方计算(E(1/5000))
10
*E(-0.01),并将计算结果发送给B方。
步骤六:A方输出0.01。B方利用私钥D对(E(1/5000)
10
*E(-0.01))进行解密,得到-0.008。
两公司利用点积协议计算出人均年生产总值的数目。
具体步骤如下:
A公司此时知道年生产总值为1000万元,两公司总人数倒数的一部分为0.01;
B 公司此时知道年生产总值为2000万元,两公司总人数倒数的一部分为-0.008.
双方需要计算的值为:(1000+2000)*(0.01+(-0.008))=1000*0.01+2000*(-0.008)+2000*0.01+1000*(-0.008);
双方可以独立计算出前两个乘积的值,后来个乘积的值可通过一步点积协议得出。因而,在本发明的基础下,两公司很容易得到人均生产总值的数目为6万元。
本发明还可以用来安全实现两点之间的欧几里德距离协议,使得两个参与方(A方和B方)以和的形式共享此距离值。随后,将利用本发明设计出高效的安全两方求除法的协议,同样使得除法结果以和的形式共享在两个参与方手中。
假设A方持有点a(a
1
,...,a
n
),B方持有点b(b
1
,...,b
n
).他们希望在不泄漏个人私有信息的前提下,合作计算出点a和点b之间的欧几里德距离,并使得结果以和的方式共享在二人手中。具体实施方案如下:
点a和点b之间的欧几里德距离
,我们来观察根号下的任何一项(a
i
-b
i
)
2
,i=1,...,n。由于(a
i
-b
i
)
2
=a
i
2
-2a
i
b
i
+b
i
2
,A方和B方可分别独立计算出a
i
2
和b
i
2
的值,而他们又可以通过点积协议来计算-2a
i
b
i
,假设A方得到u
i
,B方得到v
i
,满足u
i
+v
i
=-2a
i
b
i
.A方和B方分别计算a
i
2
+u
i
和b
i
2
+v
i
的值,从而达到以和的形式来共享(a
i
-b
i
)
2
的目的。两参与方只需将自己所持有的根号下每一项的部分相加,即可以和的形式共享两点之间的欧几里德距离平方值。接下来双方可使用持有的欧几里德距离平方值的分量作为输入,来执行本发明所设计的安全两方求指数协议(令t=0.5),从而可以以和的形式共享点a和点b的欧几里德距离。
假设A方持有数值a,c;B方持有数值b,d。他们希望在不泄漏个人隐私信息的情况下,以和的形式共享(a+b)/(c+d)的值。具体实施方案如下:
两个参与方先分别使用c和d做为输入,令参数t=-1,运行本发明的安全求指数协议,可以以和的形式共享1/(c+d)的值。假设A方得到e,B方得到f,满足e+f=1/(c+d)。原问题将转换为求(a+b)(e+f)的值。(a+b)(e+f)=ae+af+be+bf,由于A方和B方可分别独立计算出ae和bf的值,他们只需运行一次点积协议,以和的形式共享af+be即可。假设协议所使用的密钥长度为K位,计算此安全求除问题的通信复杂度为O(K)。可见,利用本发明设计出来的安全求除协议效率极高。
由此可见,本发明具有实质性技术特点和显著的技术进步,其应用前景非常广阔。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种采用加法同态加密方法进行安全计算双方持有数和的指数的方法,其特征在于所述方法中安全计算的参与方为A方和B方,A方持有的数为a,B方持有的数为b,且满足a+b>0,双方持有数和的指数为c+d=(a+b) t ,其中t为不为0的任意实数,c为随机数;所述方法包括以下步骤:
(1)B方以加法同态加密方法产生密钥对(E,D),并进行加密计算得到E(b),将E(b)以及公钥E发送给A方;
(2)A方接收B方的E(b)和公钥E后,通过加法同态加密方法进行加密计算获得E(pa)*E(b)
p
,将E(pa)*E(b)
p
发送给B方;
(3)B方接收A方的E(pa)*E(b)
p
后,利用私钥D对E(pa)*E(b)
p
进行解密得到pa+pb,然后进行加密运算得到E((pa+pb)
t
),并将E((pa+pb)
t
)发送给A方;
(4)A方接收B方的E((pa+pb)
t
)后,通过加法同态加密方法进行加密计算获得y=(E((pa+pb)
t
))
z
*E(-c),其中z=p
-t
;并将y发送给B方;
(5)B方接收A方的y后,利用私钥D对y进行解密得到d=D(y);而A方获得c;其中p为随机产生的随机数,p不为零。
2.根据权利要求1所述的方法,其特征在于所述方法中t=0.5或1。
3.根据权利要求1所述的方法,其特征在于所述方法中加法同态加密方法为通过加法同态加密系统生成加法同态加密密钥对(E,D),且满足E(m)*E(n)=E(m+n)以及E(ms)=E(m) s ,则D(E(m)*E(n))=m+n以及D(E(m) s )=ms。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210536698.XA CN102970143B (zh) | 2012-12-13 | 2012-12-13 | 采用加法同态加密方法进行安全计算双方持有数和的指数的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210536698.XA CN102970143B (zh) | 2012-12-13 | 2012-12-13 | 采用加法同态加密方法进行安全计算双方持有数和的指数的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102970143A CN102970143A (zh) | 2013-03-13 |
CN102970143B true CN102970143B (zh) | 2015-04-22 |
Family
ID=47800036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210536698.XA Expired - Fee Related CN102970143B (zh) | 2012-12-13 | 2012-12-13 | 采用加法同态加密方法进行安全计算双方持有数和的指数的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102970143B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170293913A1 (en) * | 2016-04-12 | 2017-10-12 | The Governing Council Of The University Of Toronto | System and methods for validating and performing operations on homomorphically encrypted data |
CN107145791B (zh) * | 2017-04-07 | 2020-07-10 | 哈尔滨工业大学深圳研究生院 | 一种具有隐私保护的K-means聚类方法及系统 |
CN107330678A (zh) * | 2017-06-06 | 2017-11-07 | 上海凭安征信服务有限公司 | 一种基于加法同态加密的隐藏分散贷款额获取贷款总和的方法 |
CN109726580B (zh) * | 2017-10-31 | 2020-04-14 | 阿里巴巴集团控股有限公司 | 一种数据统计方法和装置 |
CN109446828B (zh) * | 2018-11-07 | 2020-10-13 | 北京邮电大学 | 一种安全多方计算方法及装置 |
CN111639345B (zh) * | 2019-03-01 | 2024-01-30 | 王伟 | 基于同态加密的安全的多方云计算的方法和系统 |
CN110299987B (zh) * | 2019-06-24 | 2022-03-29 | 暨南大学 | 一种基于同态加密的百万富翁问题解决方法 |
CN111400766B (zh) * | 2020-03-25 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行多方联合降维处理的方法及装置 |
CN111371545B (zh) * | 2020-05-27 | 2020-09-11 | 支付宝(杭州)信息技术有限公司 | 一种基于隐私保护的加密方法和系统 |
CN111740815A (zh) * | 2020-07-31 | 2020-10-02 | 支付宝(杭州)信息技术有限公司 | 基于密文的两方秘密分享方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5495532A (en) * | 1994-08-19 | 1996-02-27 | Nec Research Institute, Inc. | Secure electronic voting using partially compatible homomorphisms |
US20100329448A1 (en) * | 2009-06-30 | 2010-12-30 | Rane Shantanu D | Method for Secure Evaluation of a Function Applied to Encrypted Signals |
US8416955B2 (en) * | 2009-12-07 | 2013-04-09 | Mitsubishi Electric Research Laboratories, Inc. | Method for determining functions applied to signals |
CN101808089A (zh) * | 2010-03-05 | 2010-08-18 | 中国人民解放军国防科学技术大学 | 基于非对称加密算法同态性的秘密数据传输保护方法 |
CN102012980B (zh) * | 2010-11-16 | 2013-02-13 | 中国科学技术大学苏州研究院 | 基于同态加密系统的文本信息隐藏安全检测方法 |
TWI456966B (zh) * | 2011-01-20 | 2014-10-11 | Acer Inc | 利用隱私同態加密技術來提供社交網路服務之方法 |
-
2012
- 2012-12-13 CN CN201210536698.XA patent/CN102970143B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102970143A (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102970143B (zh) | 采用加法同态加密方法进行安全计算双方持有数和的指数的方法 | |
Wang | An identity-based data aggregation protocol for the smart grid | |
CN109495465B (zh) | 基于智能合约的隐私集合交集方法 | |
US20230087864A1 (en) | Secure multi-party computation method and apparatus, device, and storage medium | |
CN103581175B (zh) | 一种安全的数据聚合方法 | |
CN105138923B (zh) | 一种保护隐私的时间序列相似度计算方法 | |
CN107196926A (zh) | 一种云外包隐私集合比较方法与装置 | |
CN103647644A (zh) | 一种实现分层认证机构的属性基加密方法 | |
Farash et al. | A Pairing-free ID-based Key Agreement Protocol with Different PKGs. | |
Rao | On the security of a variant of ElGamal encryption scheme | |
CN109639439A (zh) | 一种基于两方协同的ecdsa数字签名方法 | |
Ranjani et al. | An Extended Identity Based Authenticated Asymmetric Group Key Agreement Protocol. | |
Li et al. | Efficient protocols for the general millionaires' problem | |
CN116011014A (zh) | 一种隐私计算方法和隐私计算系统 | |
Xiang et al. | The algebra homomorphic encryption scheme based on fermat's little theorem | |
Mi et al. | Oblivious transfer based on NTRUEncrypt | |
Enos et al. | An ID-based signcryption scheme with compartmented secret sharing for unsigncryption | |
CN117353912A (zh) | 基于双线性映射的三方隐私集合交集基数计算方法及系统 | |
CN104320249A (zh) | 一种基于身份的抗弹性泄漏加密方法和系统 | |
CN104601323B (zh) | 基于bdd解决社会主义百万富翁问题的方法 | |
Yang et al. | A Secure Scalar Product Protocol and Its Applications to Computational Geometry. | |
CN107294972B (zh) | 基于身份的广义多接收者匿名签密方法 | |
Chen et al. | A joint random secret sharing scheme with public verifiability. | |
CN104144056B (zh) | 一种自主授权的cp‑abe系统和方法 | |
Pundir et al. | Efficient diffie hellman two round secret key agreement protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150422 Termination date: 20171213 |
|
CF01 | Termination of patent right due to non-payment of annual fee |