【技术实现步骤摘要】
一种隐私计算方法、装置和可读存储介质
[0001]本专利技术涉及多方安全计算领域,尤其涉及一种隐私计算方法、装置和可读存储介质。
技术介绍
[0002]同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
[0003]全同态加密是指同时支持加法和乘法的同态加密方法,计算效率比较低。半同态加密是指仅支持在密文上进行加法或仅进行乘法的加密方法,半同态加密效率较高。但半同态加密只支持部分运算,例如,加法同态加密算法只能计算密文与密文的加法或者标量与密文的乘法,乘法同态加密算法只能计算密文与密文的乘法。
[0004]同态加密技术可应用在联邦学习领域,有很多复杂的函数需要在密文状态下计算加法与乘法,在函数中同时包含密文加法和密文乘法的运算时,无法同时进行计算,通常使用泰勒展开近似的方法来求函数的结果,降低了计算精度。
技术实现思路
[0005]本专利技术实施例提供一种隐私计算方法、装置和可读存储介质,可以在保证数据安全的前提下实现加法同态与乘法同态混合的多项式计算。
[0006]第一方面,本专利技术实施例公开了一种隐私计算方法,所述方法用于计算包含加法计算和乘法计算的多项式,所述乘法计算的操作数包括加法同态加密下的中间结果密文,所述中间结果密文为利用第一公私钥对中的第一公钥加密得到,所述第一公钥用于加法同态加密,所述第一公私钥对为第一数据方生成,所述中间结果密文为第 ...
【技术保护点】
【技术特征摘要】
1.一种隐私计算方法,其特征在于,所述方法用于计算包含加法计算和乘法计算的多项式,所述乘法计算的操作数包括加法同态加密下的中间结果密文,所述中间结果密文为利用第一公私钥对中的第一公钥加密得到,所述第一公钥用于加法同态加密,所述第一公私钥对为第一数据方生成,所述中间结果密文为第二数据方持有,所述方法应用于所述第二数据方,所述方法包括:与所述第一数据方协同执行第一分片操作,使得所述第一数据方和所述第二数据方分别持有每个所述中间结果密文的两个分片,所述第一数据方持有所述两个分片中的第一分片,所述第二数据方持有所述两个分片中的第二分片;接收所述第一数据方发送的第二公钥,所述第二公钥为所述第一数据方生成的第二公私钥对中的公钥,所述第二公钥用于乘法同态加密;基于持有的所述第二分片和所述第二公钥,与所述第一数据方基于其持有的所述第一分片和所述第二公钥协同执行隐私转换操作,将每个中间结果密文的两个分片转换为乘法同态加密下的两个分片,并由所述第二数据方持有;基于所述每个中间结果密文在乘法同态加密下的两个分片,计算得到所述乘法计算在乘法同态加密下的计算结果;与所述第一数据方协同执行第二分片操作,将所述乘法同态加密下的计算结果转换为加法同态加密下的计算结果;利用所述加法同态加密下的计算结果计算所述多项式。2.根据权利要求1所述的方法,其特征在于,所述与所述第一数据方协同执行第一分片操作,使得所述第一数据方和所述第二数据方分别持有每个所述中间结果密文的两个分片,包括:针对所述乘法计算的操作数中的每个中间结果密文,生成对应的第一随机数,并计算每个中间结果密文与对应的第一随机数的比值,将所述比值发送至所述第一数据方,以使所述第一数据方持有每个中间结果密文的第一分片为所述比值,所述第二数据方持有每个中间结果密文的第二分片为所述第一随机数。3.根据权利要求1所述的方法,其特征在于,所述基于持有的所述第二分片和所述第二公钥,与所述第一数据方基于其持有的所述第一分片和所述第二公钥协同执行隐私转换操作,将每个中间结果密文的两个分片转换为乘法同态加密下的两个分片,包括:针对所述乘法计算的操作数中的每个中间结果密文,接收所述第一数据方发送的每个中间结果密文在乘法同态加密下的第一分片,所述每个中间结果密文在乘法同态加密下的第一分片为所述第一数据方使用所述第一公私钥对中的第一私钥对所述每个中间结果密文的第一分片进行解密,得到每个第一分片的明文,并使用所述第二公钥对所述每个第一分片的明文进行加密所得到;使用所述第二公钥加密每个中间结果密文的第二分片,得到每个中间结果密文在乘法同态加密下的第二分片。4.根据权利要求1所述的方法,其特征在于,所述基于所述每个中间结果密文在乘法同态加密下的两个分片,计算得到所述乘法计算在乘法同态加密下的计算结果,包括:将所述乘法计算的操作数中的所有中间结果密文在乘法同态加密下的两个分片相乘,得到所述乘法计算在乘法同态加密下的计算结果。
5.根据权利要求1所述的方法,其特征在于,所述与所述第一数据方协同执行第二分片操作,将所述乘法同态加密下的计算结果转换为加法同态加密下的计算结果,包括:生成第二随机数,并利用所述第二公钥加密所述第二随机数,得到乘法同态加密下的第二随机数密文;将所述乘法同态加密下的计算结果与所述乘法同态加密下的第二随机数密文相乘,得到乘法同态加密下的第二转换密文;将所述乘法同态加密下的第二转换密文发送至所述第一数据方,以使所述第一数据方使用所述第二公私钥对中的第二私钥对所述乘法同态加密下的第二转换密文进行解密,得到第二转换明文,并使用所述第一公钥对所述第二转换明文进行加密,得到加法同态加密下的第二转换密文;接收所述第一数据方发送的所述加法同态加密下的第二转换密文;将所述加法同态加密下的第二转换密文与所述第二随机数的倒数相乘,得到所述乘法计算在加法同态加密下的计算结果。6.根据权利要求1至5任一所述的方法,其特征在于,所述中间结果密文为多个数据方基于各自持有的隐私数据进行多方联合计算产生的中间结果的密文。7.一种隐私计算方法,其特征在于,所述方法用于计算包含加法计算和乘法计算的多项式,所述乘法计算的操作数包括加法同态加密下的中间结果密文,所述中间结果密文为利用第一公私钥对中的第一公钥加密得到,所述第一公钥用于加法同态加密,所述第一公私钥对为第一数据方生成,所述中间结果密文为第二数据方持有,所述方法应用于所述第一数据方,所述方法包括:与所述第二数据方协同执行第一分片操作,使得所述第一数据方和所述第二数据方分别持有每个所述中间结果密文的两个分片,所述第一数据方持有所述两个分片中的第一分片,所述第二数据方持有所述两个分片中的第二分片;生成第二公私钥对,并将所述第二公私钥对中的第二公钥发送至所述第二数据方,所述第二公钥用于乘法同态加密;基于持有的所述第一分片和所述第二公钥,与所述第二数据方基于其持有的所述第二分片和所述第二公钥协同执行隐私转换操作,将每个中间结果密文的两个分片转换为乘法同态加密下的两个分片,并由所述第二数据方持有,以使所述第二数据方基于所述每个中间结果密文在乘法同态加密下的两个分片,计算得到所述乘法计算在乘法同态加密下的计算结果;与所述第二数据方协同执行第二分片操作,将所述乘法同态加密下的计算结果转换为加法同态加密下的计算结果,并由所述第二数据方持有,以使所述第二数据方利用所述加法同态加密下的计算结果计算所述多项式。8.根据权利要求7所述的方法,其特征在于,所述与所述第二数据方协同执行第一分片操作,使得所述第一数据方和所述第二数据方分别持有每个所述中间结果密文的两个分片,所述第一数据方持有所述两个分片中的第一分片,所述第二数据方持有所述两个分片中的第二分片,包括:针对所述乘法计算的操作...
【专利技术属性】
技术研发人员:杨桂林,
申请(专利权)人:华控清交信息科技北京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。