CN115996119A - 一种具有隐私保护的模型预测方法、装置、设备及介质 - Google Patents
一种具有隐私保护的模型预测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115996119A CN115996119A CN202211665853.8A CN202211665853A CN115996119A CN 115996119 A CN115996119 A CN 115996119A CN 202211665853 A CN202211665853 A CN 202211665853A CN 115996119 A CN115996119 A CN 115996119A
- Authority
- CN
- China
- Prior art keywords
- protocol
- model
- user
- ciphertext
- private key
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 75
- 230000006870 function Effects 0.000 claims description 35
- 239000011159 matrix material Substances 0.000 claims description 33
- 230000004913 activation Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 15
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 239000000758 substrate Substances 0.000 claims 4
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012986 modification Methods 0.000 abstract description 4
- 230000004048 modification Effects 0.000 abstract description 4
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000000354 decomposition reaction Methods 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000003062 neural network model Methods 0.000 description 5
- 101100269618 Streptococcus pneumoniae serotype 4 (strain ATCC BAA-334 / TIGR4) aliA gene Proteins 0.000 description 3
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 description 1
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000011541 reaction mixture Substances 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本申请公开了计算机技术领域内的一种具有隐私保护的模型预测方法、装置、设备及介质。本申请提供了多种运算协议,可实现较复杂的非线性函数的计算,并且,本申请中的用户私钥、模型的权重参数及偏置参数分别以秘密共享方式进行保护,可提升被保护数据的安全性,用户公私钥的修改和模型部署也互不影响。可见,本申请能够提高模型对于密文数据的预测准确性,需要被保护的用户私钥、模型的权重参数及偏置参数等重要数据也能得到更好的安全保护,也便于进行方案拓展和后续维护。相应地,本申请提供的一种具有隐私保护的模型预测装置、设备及介质,也同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种具有隐私保护的模型预测方法、装置、设备及介质。
背景技术
目前,一般利用全同态加密技术对模型参数和用户数据进行加密处理,即:采用同一对公私钥加密处理模型参数和用户数据。该方案不适用于计算复杂的非线性函数,需要将模型原有的激活函数简化,如:利用简单的线性函数替代原有复杂的非线性激活函数,或使用分段线性近似的方法对复杂非线性激活函数进行近似计算。这些方法都会降低模型预测的准确率。全同态加密技术还会随着预测次数的增加积累更多的计算误差,这也会降低预测结果的准确性。此外,用户修改公私钥对后,模型还需要重新部署,增加了额外操作。
因此,如何提高模型对于密文数据的预测准确性,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种具有隐私保护的模型预测方法、装置、设备及介质,以提高模型对于密文数据的预测准确性。其具体方案如下:
第一方面,本申请提供了一种具有隐私保护的模型预测方法,应用于主服务器,包括:
接收用户端发送的采用用户公钥加密的用户数据密文;
基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,得到所述目标模型针对所述用户数据密文的预测结果密文;
其中,所述运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;
发送所述预测结果密文至所述用户端,以使所述用户端采用用户私钥解密所述预测结果密文,得到预测结果明文。
可选地,所述目标模型的权重参数及偏置参数以秘密共享方式被划分为第一模型子参数和第二模型子参数,所述用户私钥以秘密共享方式被划分为第一私钥子参数和第二私钥子参数;所述第一模型子参数、所述第一私钥子参数和所述目标模型的模型结构存储于所述主服务器;所述第二模型子参数和所述第二私钥子参数存储于从主服务器;
相应地,所述基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,包括:使所述从服务器协同所述主服务器,基于所述运算协议、所述第一模型子参数、所述第一私钥子参数、所述第二模型子参数和所述第二私钥子参数处理所述用户数据密文。
可选地,模型上传端通过秘密共享方式将所述目标模型的权重参数随机划分为第一子权重和第二子权重,通过秘密共享方式将所述目标模型的偏置参数随机划分为第一子偏置和第二子偏置,将所述第一子权重和所述第一子偏置作为所述第一模型子参数,将所述第二子权重和所述第二子偏置作为所述第二模型子参数。
可选地,所述用户端以加法秘密共享方式将所述用户私钥随机划分为所述第一私钥子参数和所述第二私钥子参数。
可选地,所述用户端发送所述用户数据密文之前,所述用户端将用户数据明文由定点数转换为整数,采用所述用户公钥对以整数表示的所述用户数据明文进行加密,得到所述用户数据密文。
可选地,所述用户端将用户数据明文由定点数转换为整数,包括:所述用户端按照预设转换公式将所述用户数据明文由定点数转换为整数;其中,所述预设转换公式为:
其中,表示以定点数表示的所述用户数据明文,fp表示以定点数表示的所述用户数据明文的二进制小数的比特长度,l表示转换得到的以整数表示的所述用户数据明文的比特长度,表示转换得到的以整数表示的所述用户数据明文。
可选地,还包括:所述用户端根据用户操作调整fp的取值。
第二方面,本申请提供了一种具有隐私保护的模型预测装置,应用于主服务器,包括:
接收模块,用于接收用户端发送的采用用户公钥加密的用户数据密文;
处理模块,用于基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,得到所述目标模型针对所述用户数据密文的预测结果密文;其中,所述运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;
发送模块,用于发送所述预测结果密文至所述用户端,以使所述用户端采用用户私钥解密所述预测结果密文,得到预测结果明文。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的具有隐私保护的模型预测方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的具有隐私保护的模型预测方法。
通过以上方案可知,本申请提供了一种具有隐私保护的模型预测方法,应用于主服务器,包括:接收用户端发送的采用用户公钥加密的用户数据密文;基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,得到所述目标模型针对所述用户数据密文的预测结果密文;其中,所述运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;发送所述预测结果密文至所述用户端,以使所述用户端采用用户私钥解密所述预测结果密文,得到预测结果明文。
可见,本申请中的主服务器能够基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的目标模型的权重参数及偏置参数处理用户数据密文,得到目标模型针对用户数据密文的预测结果密文。其中,运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合,由此可实现较复杂的非线性函数的计算,而无需修改模型激活函数,因此可保证模型预测结果的准确性。并且,用户私钥、模型的权重参数及偏置参数分别以秘密共享方式进行保护,由此既可提升用户私钥、模型的权重参数及偏置参数的安全性,又能避免全同态加密技术带来的计算误差,由此本申请中的用户公私钥也并不用于加密处理模型参数,那么用户公私钥的修改和模型部署互不影响,用户修改公私钥对后,模型无需重新部署。可见,本申请能够提高模型对于密文数据的预测准确性,需要被保护的用户私钥、模型的权重参数及偏置参数等重要数据也能得到更好的安全保护,也便于进行方案拓展和后续维护。
相应地,本申请提供的一种具有隐私保护的模型预测装置、设备及介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种具有隐私保护的模型预测方法流程图;
图2为本申请公开的一种方案架构示意图;
图3为本申请公开的一种具有隐私保护的模型预测装置示意图;
图4为本申请公开的一种电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,现有全同态加密技术不适用于计算复杂的非线性函数,需要将模型原有的激活函数简化,如:利用简单的线性函数替代原有复杂的非线性激活函数,或使用分段线性近似的方法对复杂非线性激活函数进行近似计算。这些方法都会降低模型预测的准确率。将模型的权值离散化为-1和1,采用激活函数y=sign(x)只进行整数运算,虽然适用于全同态加密方案,但预测准确率往往较低。全同态加密技术还会随着预测次数的增加积累更多的计算误差,这也会降低预测结果的准确性。此外,用户修改公私钥对后,模型还需要重新部署,增加了额外操作。为此,本申请提供了一种具有隐私保护的模型预测方案,能够提高模型对于密文数据的预测准确性,提升需要被保护的用户私钥、模型的权重参数及偏置参数等重要数据的安全保护效果。
参见图1所示,本申请实施例公开了一种具有隐私保护的模型预测方法,应用于主服务器,包括:
S101、接收用户端发送的采用用户公钥加密的用户数据密文。
在本实施例中,用户数据明文可以为:图像、文本等数据。用户公钥和用户私钥由用户自主选择密码算法生成,例如:用户自主选择Paillier加法同态加密方案的安全参数生成。具体的,采用1024-bit长度n的Paillier加法同态加密方案,用户首先通过用户端选取两个512-bit的大素数p和q。然后计算公钥和私钥。其中,公钥pk:n=p·q,g=1+n;私钥sk:λ=lcm(p-1,q-1);pk=(n,g),sk=λ;lcm(p-1,q-1)表示:求取p-1和q-1的最小公倍数。
S102、基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的目标模型的权重参数及偏置参数处理用户数据密文,得到目标模型针对用户数据密文的预测结果密文。
在本实施例中,目标模型可以是以深度学习方式训练得到的任意模型,如:神经网络模型等。其中,目标模型的权重参数及偏置参数以加密方式进行表示,用户数据也以密文形式被处理,因此用户数据和模型的安全性能够得到保障。
秘密共享方式能够将同一秘密分成若干个秘密子集,每个秘密子集存储在不同位置,所有位置的秘密子集按照特定规则合并才能重构得到原有秘密,因此秘密共享能有效地防止攻击。据此,本实施例对用户私钥、模型的权重参数及偏置参数均以此方式进行保护,可有效提升这些数据的安全性。具体的,可以将用户私钥分为两份,分别存储两个服务器上;同时将模型的权重参数及偏置参数也都分为两份,存储在两个服务器上。因此在一种实施方式中,目标模型的权重参数及偏置参数以秘密共享方式被划分为第一模型子参数和第二模型子参数,用户私钥以秘密共享方式被划分为第一私钥子参数和第二私钥子参数;其中,第一模型子参数、第一私钥子参数和目标模型的模型结构存储于主服务器;第二模型子参数和第二私钥子参数存储于从主服务器。相应地,基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的目标模型的权重参数及偏置参数处理用户数据密文,包括:使从服务器协同主服务器,基于运算协议、第一模型子参数、第一私钥子参数、第二模型子参数和第二私钥子参数处理用户数据密文。
在一种示例中,模型上传端通过秘密共享方式将目标模型的权重参数随机划分为第一子权重和第二子权重,通过秘密共享方式将目标模型的偏置参数随机划分为第一子偏置和第二子偏置,将第一子权重和第一子偏置作为第一模型子参数,将第二子权重和第二子偏置作为第二模型子参数。
例如:模型上传端在模型拥有者的操作下,利用加法秘密共享方式将模型权重矩阵W(即权重参数)随机划分成两部分:<W>0(即第一子权重)和<W>1(即第二子权重),将偏置矩阵B(即偏置参数)随机划分成两部分:<B>0(即第一子偏置)和<B>1(即第二子偏置),其中,<W>0和<W>1里的对位元素<wj,k>0、<wj,k>1满足:(<wj,k>0+<wj,k>1)mod 2l=wj,k,<wi,k>0∈<W>0,<wi,k>1∈<W>1;<B>0和<B>1里的对位元素<bj,k>0、<bj,k>1满足:(<bj,k>0+<bj,k>1)mod 2l=bj,k,<bi,k>0∈<B>0,<bi,k>1∈<B>1。之后,模型上传端基于模型拥有者的上传操作将<W>0和<B>0发送到主服务器进行存储,将<W>1和<B>1发送到从服务器进行存储。其中,模型上传端和主服务器、模型上传端和从服务器以安全加密信道通信。
在一种示例中,用户端以加法秘密共享方式将用户私钥随机划分为第一私钥子参数和第二私钥子参数。例如:用户端在用户操作下,将自身私钥sk划分为:sk0(即第一私钥子参数)和sk1(即第二私钥子参数),并且满足以下条件:n=p·q。那么通过中国剩余定理可以解得x=<sk>0+<sk>1,对x进行加法秘密共享,从而将x分成<x>0和<x>1,然后令sk0=<x>0,sk1=<x>1即可得到私钥的sk两份秘密分享:sk0和sk1。
在本实施例中,运算协议包括:截断协议(Trunc)、比较协议(SCmp)、密文乘法协议(SMul)、计算绝对值协议(SABS)、获取首位字符协议(SGP)、除法协议(SDiv)、矩阵乘法协议(SMMul)、指数运算协议(SExp)、平均池协议(SAP)、最大池协议(SMP)、ReLU激活函数计算协议(SReLU)中的至少一个或组合。其中,截断协议能够截取密文数据的低k位;比较协议能够计算两个密文的比较结果;密文乘法协议能够计算两个密文的乘法结果;计算绝对值协议能够计算密文数据的绝对值;获取首位字符协议能够确定密文数据的首位字符;除法协议能够计算两个密文的除法结果;矩阵乘法协议能够针对模型权重矩阵及模型偏置矩阵进行乘法运算;指数运算协议能够针对输入的密文数据实现指数运算;平均池协议能够计算多个密文数据的均值;最大池协议能够确定出多个密文数据中的最大值;ReLU激活函数计算协议能够针对输入的密文数据输出相应的激活函数计算结果。
S103、发送预测结果密文至用户端,以使用户端采用用户私钥解密预测结果密文,得到预测结果明文。
在一种实施方式中,用户端发送用户数据密文之前,用户端将用户数据明文由定点数转换为整数,采用用户公钥对以整数表示的用户数据明文进行加密,得到用户数据密文。其中,用户端将用户数据明文由定点数转换为整数,包括:用户端按照预设转换公式将用户数据明文由定点数转换为整数;其中,预设转换公式为:
其中,表示以定点数表示的用户数据明文,fp表示以定点数表示的所述用户数据明文的二进制小数的比特长度,l表示转换得到的以整数表示的所述用户数据明文的比特长度,表示转换得到的以整数表示的所述用户数据明文。其中,用户端可以根据用户操作调整fp的取值,从而调整定点数的取值精度。其中,fp的下角标p无实际含义。
对照上述预设转换公式,将用户数据明文或其他数据由整数转换为定点数的公式为:
一般地,模型和用户数据以密文形式参与处理的方案被称为带有隐私保护的模型预测方案,本实施例提供的此方案无需对模型激活函数进行修改,采用相应运算协议即可实现模型激活函数的计算以及其他模型运算;并且,本实施例在加密数据之前,按照预设转换公式将数据由定点数转换为整数时,可以通过fp控制定点数的取值精度,由此可控制参与模型运算的数据的计算精度。而借助两个服务器协同完成各种运算过程,可以分担运算负担,提高运算效率。
本实施例中的主服务器能够基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的目标模型的权重参数及偏置参数处理用户数据密文,得到目标模型针对用户数据密文的预测结果密文。其中,运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合,由此可实现较复杂的非线性函数的计算,而无需修改模型激活函数,因此可保证模型预测结果的准确性。并且,用户私钥、模型的权重参数及偏置参数分别以秘密共享方式进行保护,由此既可提升用户私钥、模型的权重参数及偏置参数的安全性,又能避免全同态加密技术带来的计算误差,由此本申请中的用户公私钥也并不用于加密处理模型参数,那么用户公私钥的修改和模型部署互不影响,用户修改公私钥对后,模型无需重新部署。
可见,本实施例能够提高模型对于密文数据的预测准确性,需要被保护的用户私钥、模型的权重参数及偏置参数等重要数据也能得到更好的安全保护,也便于进行方案拓展和后续维护。
基于上述实施例,需要说明的是,本申请提供的安全截断协议(Trunc)、安全比较协议(SCmp)、安全密文乘法协议(SMul)、安全计算绝对值协议(SABS)、安全获取首位1协议(SGP)、安全除法协议(SDiv)、安全矩阵乘法协议(SMMul)、安全指数运算协议(SExp)、安全平均池协议(SAP)、安全最大池协议(SMP)、安全计算ReLU协议(SReLU)等运算协议能够实现常见的模型激活函数的安全计算,因此可实现带有隐私保护的模型预测。下面分别介绍各个运算协议。
协议1:安全截断协议(Trunc)。该协议的输入为:一个密文和一个整数k,输出为:一个密文该协议的目的是:将由转换得到的整数的最低k位截断,并保证结果经转换回定点数后约等于由于所有定点数在执行加密之前都需要利用转换为整数,而两个定点数执行乘法后将得到两倍于原来的精度,结果对应的明文所占用的比特长度也会增加,为了将运算后密文对应明文的比特长度调整回l比特,采用安全截断协议进行截断操作。
具体的,在执行安全截断协议时,CS0方(主服务器)调用SBD得到密文的密文位分解结果:并计算[-xl-1]pk=Multp([xl-1]pk,n-1);[y]pk=HoAdd([x]pk,[-xl-1]pk);之后调用SBD得到密文[y]pk的密文位分解结果([yl-1]pk,…,[y0]pk)←SBD([y]pk,l)计算Cfill=Multp([xl-1]pk,2l-2l-k+1);[R]pk=HoAdd([R′]pk,Cfill),得到的[R]pk即为
其中,表示一个定点数;表示定点数通过转换得到的l位的整数;表示对使用公钥pk加密得到的密文;表示对密文执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk);xl-1,…,x0为的二进制分解结果,xl-1为最高有效位,x0为最低有效位,x0~xl-1均在{0,1}中取值;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;y,R′,Cfill均为计算产生的中间结果;[R]pk为协议计算的最终结果,即
协议2:安全比较协议(SCmp)。该协议的输入为:两个密文和输出为:两个密文对应明文的比较结果[r]pk,当时,r=1,否则,r=0。常见的神经网络模型中有很多函数可能用到比较操作,如最大池MaxPooling等,为此采用安全比较协议可以在不泄露任何隐私数据的前提下实现两个密文的安全比较。
for j={0,1,…,l-1}do:
[-yj]pk=Multp([yj]pk,n-1)
[zj]pk=HoAdd([xj]pk,[-yj]pk)
end for
之后,利用上一步得到的([zl-1]pk,…,[z0]pk)计算: Cz′=HoAdd(Cz,[2l]pk);调用SBD得到密文Cz′的密文位分解结果:后,计算:[r]pk=[zl′+yl-1-xl-1]pk,得到的[r]pk就是和比较结果的密文。
其中,表示两个定点数;分别表示定点数通过转换得到的l位的整数;分别表示对使用公钥pk加密得到的密文;分别表示对密文执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk),([yl-1]pk,…,[y0]pk);xl-1,…,x0和yl-1,…,y0分别为的二进制分解结果,xl-1,yl-1为最高有效位,x0,y0为最低有效位,x0~xl-1,y0~yl-1均在{0,1}中取值;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;zi,zi′,Cz,Cz′均为计算产生的中间结果;[r]pk为协议计算的最终结果,r满足当时,r=1,否则,r=0。
协议3:安全密文乘法协议(SMul)。该协议的输入为:两个密文[x1]pk和[x2]pk,输出为:乘法结果密文[x1·x2]pk。该协议主要用于实现密文和密文间乘法运算,因为加法同态加密方案仅支持密文之间的同态加法运算、密文和明文间的乘法运算。
具体的,在执行安全密文乘法协议时,CS0方从Zn中随机选择两个随机数r1和r2,并进行计算:[x1+r1]pk=HoAdd([x1]pk,[r1]pk)、[x2+r2]pk=HoAdd([x2]pk,[r2]pk);然后对计算得到的结果[x1+r1]pk和[x2+r2]pk执行部分解密:DP1=Decp(sk0,[x1+r1]pk)、DP2=Decp(sk0,[x2+r2]pk),之后CS0将部分解密结果DP1和DP2发送给CS1(从服务器),使得CS1对收到的DP1和DP2执行完全解密,得到x1+r1和x2+r2,解密过程用公式表示为:x1+r1=Decf(sk1,DP1)、x2+r2=Decf(sk1,DP2),然后CS1计算R=Enc(pk,(x1+r1)·(x2+r2))后,CS1将密文R发送给CS0。
CS0接收到CS1发送的R后执行下面计算:C1=Multp([x1]pk,n-r2)、C2=Multp([x2]pk,n-r1)、C3=Enc(pk,(n-r1·r2)mod n)、Cadd=HoAdd(HoAdd(C1,C2),C3)、Cmul=HoAdd(R,Cadd),得到的Cmul就是[x1·x2]pk。
其中,x1,x2表示两个整数;[x1]pk,[x2]pk分别表示对x1,x2使用公钥pk加密得到的密文;r1和r2是从Zn中随机选择的随机整数;sk0,sk1表示私钥sk的秘密分享;Decp(sk0,[d0]pk)表示对密文[d0]pk使用私钥sk的秘密分享sk0执行部分解密,得到一个部分解密的密文DP;DP1,DP2分别表示[x1+r1]pk,[x2+r2]pk的部分解密结果;Decf(sk1,DP1)表示对部分解密得到的密文DP使用私钥sk的秘密分享sk1执行完全解密操作,得到对应的明文;Enc(pk,m)表示对明文m使用公钥pk执行加密操作,得到对应的密文;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;R,C1,C2,C3,Cadd均是计算过程的中间结果;Cmul为协议计算的最终结果,即Cmul=[x1·x2]pk。
具体的,在执行安全计算绝对值协议时,CS0方调用SBD得到密文的密文位分解结果:并计算:Ccoe=HoAdd(Multp([xl-1]pk,n-2),[1]pk);之后调用SMul计算:Cxcoe=SMul([x]pk,Ccoe),并利用得到Cxcoe计算:Cy=HoAdd(Cxcoe,Multp([xl-1]pk,2l)),得到的Cy就是而[xl-1]pk就是
其中,表示一个定点数;表示定点数通过转换得到的l位的整数;表示对使用公钥pk加密得到的密文;表示对密文执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk);xl-1,…,x0为的二进制分解结果,xl-1为最高有效位,x0为最低有效位,x0~xl-1均在{0,1}中取值;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;[1]pk表示对常数1进行加密得到的密文;SMul表示协议3中所提出的算法;Ccoe,Cxcoe均为计算产生的中间结果;Cy为协议计算的最终结果,即
协议5:安全获取首位1协议(SGP)。该协议的输入是一个密文[x]pk,其中,x是一个整数,且满足2α-1≤x<2α,输出是密文[2α-1]pk。
具体的,在执行安全获取首位1协议时,CS0方调用SBD得到密文[x]pk的密文位分解结果:([xl-1]pk,…,[x0]pk)←SBD([x]pk,l),之后将BitSuml设为[0]pk,并计算:
for j={l-1,l-2,…,0}do:
Cj,0=Multp(BitSumj+1,n-1)
Cj,1=HoAdd([xj]pk,Ci,0)
Cj,2=SMul(Cj,1,[yj]pk)
BitSumj=HoAdd(BitSumj+1,Cj,2)
end for
其中,x表示一个整数,且满足2α-1≤x<2α;[x]pk表示对x使用公钥pk加密得到的密文;SBD([x]pk,l)表示对密文[x]pk执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk);xl-1,…,x0为的二进制分解结果,xl-1为最高有效位,x0为最低有效位,x0~xl-1均在{0,1}中取值;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;SMul表示协议3中所提出的算法;BitSuml为迭代计算初始值,BitSumi+1为参与第j轮迭代计算的值,BitSumi为第j轮计算为下一轮计算生成的迭代计算值;Ci,0,Ci,1,Ci,2为j轮计算产生的中间结果;为协议计算的最终结果,即
具体的,在执行安全除法协议时,CS0调用SABS得到密文对应定点数绝对值的密文和加密的符号位: 调用SGP得到密文对应的[2α-1]pk: 然后计算:[2α]pk=Multp([2α-1]pk,2)、 之后CS0将部分解密的和发送给CS1。
CS1完全解密收到的得到对应的明文:之后计算α=log22α,将C0设为后计算:如果α≤fp,则 Cd=HoAdd(C0,Multp(Cc,n-2))、 否则,Cd=HoAdd(C0,Multp(Cc,n-2))、 之后,CS1将部分解密后发回给CS0:
其中,表示定点数;分别表示定点数通过转换得到的l位的整数;分别表示对使用公钥pk加密得到的密文;SABS表示协议4中所提出的算法;表示SABS的输出结果,即绝对值转换成整数的密文和的符号位;SGP表示协议5中所提出的算法;[2α-1]pk表示SGP的输出结果;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;sk0,sk1表示私钥sk的秘密分享;Decp(sk0,[d0]pk)表示对密文[d0]pk使用私钥sk的秘密分享sk0执行部分解密,得到一个部分解密的密文DP;分别表示[2α]pk,的部分解密结果;Decf(sk1,DP1)表示对部分解密得到的密文DP使用私钥sk的秘密分享sk1执行完全解密操作,得到对应的明文;Trunc表示协议1中所提出的算法;SMul表示协议3中所提出的算法;C0,Cc,Cd,Cmul,e,C1,C2表示计算产生的中间结果;表示协议计算的最终结果,即:
协议7:安全矩阵乘法协议(SMMul)。两个服务器协同执行该协议,用于计算矩阵乘法Wh×d·Xd×v+Bh×v。其中,将矩阵Xd×v发送给CS1,CSi(i=0,1)计算:CS1将<Rh×v>1发送给CS0,CS0计算R′h×v=<Rh×v>0+<Rh×v>1后,计算:
for every r′j,k∈R′ h×vdo:
rj,k=Trunc(r′j,k,fp)
end for
其中,Xd×v表示用户加密数据矩阵或神经网络前一层输出结果密文矩阵;<Wh×d>i表示CSi所持有的模型权重秘密分享;<Bh×v>i表示CSi所持有的偏置(偏置也是模型参数的一部分)秘密分享;<Rh×v>i表示CSi计算的矩阵运算结果的秘密分享;R′h×v表示两个计算结果秘密分享合并的结果;r′j,k表示矩阵R′h×v中的元素;Trunc表示协议1中所提出的算法;Rh×v表示协议计算的最终结果矩阵;rj,k表示矩阵Rh×v中的元素;
从中随机选择一个整数并计算:Cpad=HoAdd([x′]pk,[r]pk)、([yl-1]pk,…,[y0]pk)←SBD(Cpad,l);计算 得到[(x′+r)mod 2m]pk。之后CS0将Cmod部分解密得到DPmod:DPmod=Decp(sk0,Cmod),CS0将DPmod发送给CS1。
其中,表示一个定点数;表示定点数通过转换得到的l位的整数;表示对使用公钥pk加密得到的密文;表示对密文执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk);xl-1,…,x0为的二进制分解结果,xl-1为最高有效位,x0为最低有效位,x0~xl-1均在{0,1}中取值;Multp([d0]pk,p0)得到一个密文R,使得该密文R对应的明文结果为d0·p0;HoAdd([d1]pk,[d2]pk)表示对两个密文进行同态加法操作,得到一个结果密文,使得结果密文对应的明文为d1+d2;m是一个整数,且m<l;[x′]pk是由[x]pk转换得到的位于Z2m中整数的密文;r是从Z2m中随机选择的一个整数;Cpad是[x′]pk和[r]pk执行同态加法的密文结果;([yl-1]pk,…,[y0]pk)表示对Cpad执行安全位分解运算得到l个加密二进制数([yl-1]pk,…,[y0]pk);yl-1,…,y0为Cpad的二进制分解结果,yl-1为最高有效位,y0为最低有效位,y0~yl-1均在{0,1}中取值;是由明文M转换得到的定点数;Mexp1是定点数运算结果经过转换成的整数结果;是一个定点数,表示指数运算的底数;SMul表示协议3中所提出的算法;Trunc是协议1中所提出的算法;Ccoe,Cmod,M,C1,C2,C3,C4,Cadd,Cmul均为计算产生的中间结果;Cexp为协议计算的最终结果,即:
其中,γ表示平均池化计算的元素的数量;Csumx表示γ个元素之和;M表示经过转换得到的整数;Trunc表示协议1中所提出的算法;Cmul表示计算过程中产生的中间结果;Cavg表示γ个元素的平均值,即协议计算的最终结果
计算过程如下:在CS0端,设Cmax=[x1]pk,计算:
for j={2,3,…,γ}do:
Cr=SCmp(Cmax,[xj]pk)
C1-r=HoAdd([1]pk,Multp(Cr,n-1))
C1=SMul(Cmax,Cr)
C2=SMul([xj]pk,C1-r)
Set Cmax=HoAdd(C1,C2)
end for
其中,γ表示最大池化计算的元素的数量;{[x1]pk,…,[xγ]pk}表示γ个密文组成的集合;Cmax表示当前迭代计算产生的最大值;SCmp表示协议2中所提出的算法;SMul表示协议3中所提出的算法;Cr,C1-r,C1,C2均为计算过程中产生的中间结果。
计算过程如下:CS0调用SBD得到密文的密文位分解结果:之后计算:Cdrelu=HoAdd([1]pk,Multp([xl-1]pk,n-1))、Crelu=SMul(Cdrelu,[x]pk),得到的Crelu就是
其中,表示定点数;表示定点数通过转换得到的l位的整数;表示对使用公钥pk加密得到的密文;表示对密文执行安全位分解运算得到l个加密二进制数([xl-1]pk,…,[x0]pk);xl-1,…,x0为的二进制分解结果,xl-1为最高有效位,x0为最低有效位,x0~xl-1均在{0,1}中取值;Cdrelu表示导数的密文;Crelu表示协议计算的最终结果,即:
可见,每一运算协议中都设定了CS0、CS1需完成的计算步骤,因此CS1协同CS0进行某一运算协议时,按照相应协议中的设定,CS0、CS1分别执行各自需执行的计算步骤。基于上述各运算协议,可完成一个模型中的各种模型运算,包括复杂的指数运算等,因此无需修改模型激活函数。
请参见图2,借助上述各运算协议,并基于加法同态加密技术,可以将模型安全的部署在不合谋半诚实的云服务器中,并保证部署和使用过程中模型参数和用户数据对不可信的云服务器的隐私性。
具体的,方案涉及如下四个端:用户使用的用户端、模型拥有者使用的模型上传端、云服务器CS0、云服务器CS1。其中,用户通过用户端传递用户数据、自身公钥PK和一份用户私钥SK0至云服务器CS0,并传递自身公钥PK和另一份用户私钥SK1至云服务器CS1;模型拥有者通过模型上传端将训练好的模型利用加法同态加密分割为两个部分(SSW0和SSW1)后分别部署到两个云服务器上。云服务器CS0存储模型的一份秘密分享SSW0(即<W>0和<B>0)、用户公钥PK和一份用户私钥SK0,接收用户的加密数据,并与云服务器CS1协作执行安全计算协议,以完成模型预测过程。云服务器CS1存储模型的另一份秘密分享SSW1(即<W>1和<B>1)、用户公钥PK和另一份用户私钥SK1,并辅助云服务器CS0执行安全计算协议。
下面以结构为784-300-10的神经网络模型为例进行方案介绍。784-300-10表示模型一共有两层,输入层接收784维列向量,第一层有300个神经元,第二层有10个神经元。这里取激活函数那么方案实现过程包括:
步骤1:在模型上传端,模型拥有者在明文下执行模型训练,得到一个训练好的模型Model,将该模型的权重矩阵记为W,偏置矩阵记为B。
步骤2:模型拥有者在模型上传端利用加法秘密分享将模型权重矩阵W和偏置矩阵B随机划分成两部分秘密共享矩阵<W>0、<W>1以及<B>0、<B>1,使得两部分秘密共享矩阵中对应位置元素满足以下等式:(<wj,k>0+<wj,k>1)mod 2l=wj,k、(<bj,k>0+<bj,k>1)mod 2l=bj,k,其中:<wi,k>0∈<W>0,<wi,k>1∈<W>1、<bi,k>0∈<B>0,<bi,k>1∈<B>1。
步骤3:模型拥有者使<W>0和<B>0通过安全信道从模型上传端发送到云服务器CS0,使<W>1和<B>1通过安全信道从模型上传端发送到云服务器CS1。
步骤5:用户自行生成加法同态加密的公钥pk和私钥sk。
步骤6:用户将私钥sk进行加法秘密共享,得到sk0和sk1。
步骤7:用户通过用户端将步骤6中得到的sk0和sk1通过安全信道分别发送给CS0和CS1。
步骤8:用户在用户端利用步骤5中生成的公钥pk对需要上传到云服务器的数据(784维向量)进行加密,得到([x1]pk,[x2]pk,…,[x784]pk)。
步骤9:用户通过用户端将步骤8得到的加密向量通过公共信道发送到CS0。
步骤10:CS0在收到用户的加密向量后,根据模型结构首先调用SMMul执行矩阵乘法计算,得到W·X+B的密文结果。
步骤12:在得到ex结果后,CS0利用HoAdd在本地计算1+ex。
步骤14:计算完激活函数后,CS0将得到一个由300个元素组成的向量。该向量将作为下一层的输入向量继续执行预测过程,重复执行步骤10-步骤13,直到得到最终的结果,所得到的结果就是神经网络的预测结果。
步骤15:CS0将神经网络预测结果(密文)发送给用户端,完成整个神经网络的安全预测过程。
步骤16:用户端将收到的结果利用私钥sk进行解密,得到对应的明文预测结果。
可见,按照本实施例执行神经网络预测,可以从众多运算协议中选用于当前模型对应的运算协议来实现相关模型运算,方案兼容性高。具体的,基于各协议可以进一步组合构建不同类型的激活函数,适用于各种神经网络模型,且不需要对原有模型进行修改。在模型的保密性上,采用加法秘密共享技术将模型分割成两个秘密分享,并将模型的两个秘密分享分别存放到不合谋的两台云服务器上,实现了模型对云服务器的保密性。并且,以加法秘密共享分割模型需要的计算量非常小,能够有效减小模型部署带来的额外计算开销和通信开销。在用户数据的保密性上,也采用加法同态加密的方式进行数据的隐私保护。用户公私钥均由用户自行生成,更换密钥对于执行模型预测和模型部署没有影响,因此用户可根据自身的安全需求和计算能力自行生成不同安全等级的公钥和私钥,由此可对不同用户提供不同等级的安全保证。此外,不同于全同态加密技术,该方案不需要对模型和用户数据使用同一公钥加密,因此更换用户更换密钥后不需要对模型重新部署。另外,加密数据前进行数据转换时,可控制定点数的取值精度,因此该方案支持可变高精度的计算,即:可以根据不同的精度要求实现对应精度的预测。
综上,该方案使用加法秘密共享的方式实现了模型的保密性,这极大的减轻了对模型进行加密所带来的计算负担。同时,由于模型与用户数据不需要使用同一加密密钥加密,因此更新密钥时不再需要重新加密模型,更新密钥变得更加方便。该方案基于各个高精度的定点数运算协议可以构建各种激活函数的安全计算,由此可以有效避免模型预测损失。
下面对本申请实施例提供的一种具有隐私保护的模型预测装置进行介绍,下文描述的一种具有隐私保护的模型预测装置与上文描述的一种具有隐私保护的模型预测方法可以相互参照。
参见图3所示,本申请实施例公开了一种具有隐私保护的模型预测装置,应用于主服务器,包括:
接收模块301,用于接收用户端发送的采用用户公钥加密的用户数据密文;
处理模块302,用于基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的目标模型的权重参数及偏置参数处理用户数据密文,得到目标模型针对用户数据密文的预测结果密文;其中,运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;
发送模块303,用于发送预测结果密文至用户端,以使用户端采用用户私钥解密预测结果密文,得到预测结果明文。
在一种实施方式中,目标模型的权重参数及偏置参数以秘密共享方式被划分为第一模型子参数和第二模型子参数,用户私钥以秘密共享方式被划分为第一私钥子参数和第二私钥子参数;第一模型子参数、第一私钥子参数和目标模型的模型结构存储于主服务器;第二模型子参数和第二私钥子参数存储于从主服务器;
相应地,处理模块具体用于:使从服务器协同主服务器,基于运算协议、第一模型子参数、第一私钥子参数、第二模型子参数和第二私钥子参数处理用户数据密文。
在一种实施方式中,模型上传端通过秘密共享方式将目标模型的权重参数随机划分为第一子权重和第二子权重,通过秘密共享方式将目标模型的偏置参数随机划分为第一子偏置和第二子偏置,将第一子权重和第一子偏置作为第一模型子参数,将第二子权重和第二子偏置作为第二模型子参数。
在一种实施方式中,用户端以加法秘密共享方式将用户私钥随机划分为第一私钥子参数和第二私钥子参数。
在一种实施方式中,用户端发送用户数据密文之前,用户端将用户数据明文由定点数转换为整数,采用用户公钥对以整数表示的用户数据明文进行加密,得到用户数据密文。
在一种实施方式中,用户端将用户数据明文由定点数转换为整数,包括:用户端按照预设转换公式将用户数据明文由定点数转换为整数;其中,预设转换公式为:
其中,表示以定点数表示的用户数据明文,fp表示以定点数表示的所述用户数据明文的二进制小数的比特长度,l表示转换得到的以整数表示的所述用户数据明文的比特长度,表示转换得到的以整数表示的所述用户数据明文。
在一种实施方式中,用户端还根据用户操作调整fp的取值。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种具有隐私保护的模型预测装置,能够提高模型对于密文数据的预测准确性,提升需要被保护的用户私钥、模型的权重参数及偏置参数等重要数据的安全保护效果。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种具有隐私保护的模型预测方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种电子设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种具有隐私保护的模型预测方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的具有隐私保护的模型预测方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种具有隐私保护的模型预测方法,其特征在于,应用于主服务器,包括:
接收用户端发送的采用用户公钥加密的用户数据密文;
基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,得到所述目标模型针对所述用户数据密文的预测结果密文;
其中,所述运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;
发送所述预测结果密文至所述用户端,以使所述用户端采用用户私钥解密所述预测结果密文,得到预测结果明文。
2.根据权利要求1所述的方法,其特征在于,
所述目标模型的权重参数及偏置参数以秘密共享方式被划分为第一模型子参数和第二模型子参数,所述用户私钥以秘密共享方式被划分为第一私钥子参数和第二私钥子参数;
所述第一模型子参数、所述第一私钥子参数和所述目标模型的模型结构存储于所述主服务器;所述第二模型子参数和所述第二私钥子参数存储于从主服务器;
相应地,所述基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,包括:
使所述从服务器协同所述主服务器,基于所述运算协议、所述第一模型子参数、所述第一私钥子参数、所述第二模型子参数和所述第二私钥子参数处理所述用户数据密文。
3.根据权利要求2所述的方法,其特征在于,
模型上传端通过秘密共享方式将所述目标模型的权重参数随机划分为第一子权重和第二子权重,通过秘密共享方式将所述目标模型的偏置参数随机划分为第一子偏置和第二子偏置,将所述第一子权重和所述第一子偏置作为所述第一模型子参数,将所述第二子权重和所述第二子偏置作为所述第二模型子参数。
4.根据权利要求2所述的方法,其特征在于,
所述用户端以加法秘密共享方式将所述用户私钥随机划分为所述第一私钥子参数和所述第二私钥子参数。
5.根据权利要求1所述的方法,其特征在于,
所述用户端发送所述用户数据密文之前,所述用户端将用户数据明文由定点数转换为整数,采用所述用户公钥对以整数表示的所述用户数据明文进行加密,得到所述用户数据密文。
7.根据权利要求6所述的方法,其特征在于,还包括:
所述用户端根据用户操作调整fp的取值。
8.一种具有隐私保护的模型预测装置,其特征在于,应用于主服务器,包括:
接收模块,用于接收用户端发送的采用用户公钥加密的用户数据密文;
处理模块,用于基于以秘密共享方式表示的用户私钥、用于实现目标模型中的模型运算的运算协议、以及以秘密共享方式表示的所述目标模型的权重参数及偏置参数处理所述用户数据密文,得到所述目标模型针对所述用户数据密文的预测结果密文;其中,所述运算协议包括:截断协议、比较协议、密文乘法协议、计算绝对值协议、获取首位字符协议、除法协议、矩阵乘法协议、指数运算协议、平均池协议、最大池协议、ReLU激活函数计算协议中的至少一个或组合;
发送模块,用于发送所述预测结果密文至所述用户端,以使所述用户端采用用户私钥解密所述预测结果密文,得到预测结果明文。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665853.8A CN115996119A (zh) | 2022-12-23 | 2022-12-23 | 一种具有隐私保护的模型预测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665853.8A CN115996119A (zh) | 2022-12-23 | 2022-12-23 | 一种具有隐私保护的模型预测方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996119A true CN115996119A (zh) | 2023-04-21 |
Family
ID=85991592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211665853.8A Pending CN115996119A (zh) | 2022-12-23 | 2022-12-23 | 一种具有隐私保护的模型预测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996119A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383666A (zh) * | 2023-05-23 | 2023-07-04 | 重庆大学 | 一种电力数据预测方法、装置及电子设备 |
-
2022
- 2022-12-23 CN CN202211665853.8A patent/CN115996119A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116383666A (zh) * | 2023-05-23 | 2023-07-04 | 重庆大学 | 一种电力数据预测方法、装置及电子设备 |
CN116383666B (zh) * | 2023-05-23 | 2024-04-19 | 重庆大学 | 一种电力数据预测方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789044B (zh) | 标准模型下格上云存储密文数据公钥可搜索加密方法 | |
US20160020898A1 (en) | Privacy-preserving ridge regression | |
WO2019005845A1 (en) | VARIABLE RELINARIZATION IN A HOMOMORPHIC ENCRYPTION | |
US20210243005A1 (en) | Fully homomorphic encryption method and device and computer readable storage medium | |
WO2018149912A1 (en) | Key exchange devices and method | |
CN108718231A (zh) | 一种全同态加密方法、装置和计算机可读存储介质 | |
CN112769542B (zh) | 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质 | |
CN111917721B (zh) | 基于区块链的属性加密方法 | |
CN110635909A (zh) | 一种基于属性的抗合谋攻击的代理重加密方法 | |
Agrawal et al. | Elliptic curve cryptography with hill cipher generation for secure text cryptosystem | |
CN113746620A (zh) | 同态加密方法、设备、介质及计算机程序产品 | |
CN115996119A (zh) | 一种具有隐私保护的模型预测方法、装置、设备及介质 | |
CN107888385B (zh) | Rsa模数生成方法、rsa密钥生成方法、计算机设备及介质 | |
US11895230B2 (en) | Information processing apparatus, secure computation method, and program | |
CN117254897B (zh) | 基于容错学习的身份基矩阵同态加密方法 | |
CN116170142B (zh) | 分布式协同解密方法、设备和存储介质 | |
CN116684062B (zh) | 基于代理重加密的云计算外包和数据动态分享方法及系统 | |
US11343070B2 (en) | System and method for performing a fully homomorphic encryption on a plain text | |
CN114362912A (zh) | 基于分布式密钥中心的标识密码生成方法、电子设备及介质 | |
CN116861477A (zh) | 基于隐私保护的数据处理方法、系统、终端及存储介质 | |
EP4072062A1 (en) | Apparatus for processing non-polynomial operation on homomorphic encrypted messages and methods thereof | |
CN113343258B (zh) | 一种适用于体测成绩云共享的格基密文策略的属性基代理重加密方法 | |
CN113794548A (zh) | 同态加密方法、设备、介质及计算机程序产品 | |
CN112131596A (zh) | 加解密方法、设备及存储介质 | |
RU2734324C1 (ru) | Способ формирования общего секретного ключа двух удаленных абонентов телекоммуникационной системы |
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 |