CN117200972A - 基于同态加密的明文与密文的矩阵乘法计算方法 - Google Patents
基于同态加密的明文与密文的矩阵乘法计算方法 Download PDFInfo
- Publication number
- CN117200972A CN117200972A CN202311195584.8A CN202311195584A CN117200972A CN 117200972 A CN117200972 A CN 117200972A CN 202311195584 A CN202311195584 A CN 202311195584A CN 117200972 A CN117200972 A CN 117200972A
- Authority
- CN
- China
- Prior art keywords
- matrix
- ciphertext
- plaintext
- homomorphic encryption
- encrypted 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.)
- Pending
Links
- 239000011159 matrix material Substances 0.000 title claims abstract description 119
- 238000004364 calculation method Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 41
- 238000009826 distribution Methods 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 7
- 230000001502 supplementing effect Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 3
- 239000013589 supplement Substances 0.000 claims description 2
- 238000009827 uniform distribution Methods 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 description 6
- 239000000047 product Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000001010 compromised effect Effects 0.000 description 2
- 238000013398 bayesian method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 235000021018 plums Nutrition 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明为基于同态加密的明文与密文的矩阵乘法计算方法,属于信息安全领域。该方法包含以下步骤:S1:设定安全参数和相关加解密参数;S2:根据安全参数生成公私钥对和运算密钥;S3:客户端对矩阵进行编码后再进行加密,生成加密数据,并发送;S4:服务器对矩阵进行编码,对加密数据进行变换;S5:服务器进行明文与密文的矩阵乘法计算,得到矩阵乘法结果的密文并发送;S6:客户端利用私钥解密得到矩阵乘法结果密文。本发明提供了基于同态加密的明文与密文的矩阵乘法计算方法,在两方参与的隐私计算框架下能实现服务器对客户端需求的快速高效矩阵乘法计算,保证了模型和数据二者的安全性,具有很强的泛化能力。
Description
技术领域
本发明涉及基于同态加密的明文与密文的矩阵乘法计算方法,属于信息安全领域,尤其适用于基于同态加密的明文与密文的矩阵乘法计算。
背景技术
机器学习技术在计算机、信息安全、图像等诸多领域得到了广泛的应用。虽然机器学习在提高社会生产力方面有着巨大的进步,但大量共享数据集也带来了严重的隐私安全问题,因为模型拥有者不希望数据泄露与模型有关的信息,而数据拥有者也不希望泄露数据相关信息。其中一个典型应用场景,如图1所示,模型拥有方(如某公司的云端服务器)希望使用大量用户数据训练模型,并将训练好的模型提供给客户端用于数据预测服务。可见,研究隐私保护机器学习能在保证数据不被泄露的条件下更好地服务各个领域。
同态加密是一种加密方案,它允许对加密的输入进行操作,并且解密的结果与明文相应操作的结果匹配,它不仅可以提供可证安全和抗量子安全,而且理论上可以达到最优的交互次数,因此被认为是最有前途的隐私保护解决方案之一。自2009年C.Gentry提出第一个全同态加密方案以来,诸多改进不断涌现,效率不断提高,已广泛应用于处理隐私数据处理。为了提高方案的效率,文献[1]提出了在同态加密中引入了单指令多数据(SingleInstruction Multiple Data,SIMD)的批处理技术来并行处理数据,但是这也使得计算向量的内积十分困难,导致密文矩阵之间的乘法效率低下。为此,文献[2]和文献[3]分别提出了密文矩阵乘法的新方法,优化了在处理大规模数据时的分块策略。但是这些密文计算方法需要限制矩阵的规模,造成编码浪费,并且在涉及两方参与计算的隐私保护机器学习时,没有给出具体的解决方案。而在考虑两方参与的计算任务时,可以使用明文与密文的矩阵乘法去替代密文与密文的矩阵乘法来实现更高效率的乘法运算。因此,研究高效同态明文与密文的矩阵乘法对同态加密应用到隐私保护机器学习具有深远的意义。
[1]HALEVI S,SHOUP V.Algorithms in helib;proceedings of the Advancesin Cryptology-CRYPTO 2014:34th Annual Cryptology Conference,Santa Barbara,CA,USA,August 17-21,2014,Proceedings,Part I 34,F,2014.
[2]JIANG X,KIM M,LAUTER K,et al.Secure outsourced matrix computationand application to neural networks;proceedings of the Proceedings of the 2018ACM SIGSAC conference on computer and communications security.
[3]HUANG Z,HONG C,WENG C,et al.More Efficient Secure MatrixMultiplication for Unbalanced Recommender Systems[J].2023,20(01):551-62.
发明内容
有鉴于此,如图2所示,本发明提供一种基于同态加密的明文与密文的矩阵乘法计算方法,旨在降低密文矩阵乘法运算的时间,实现高效的明文-密文矩阵乘法。
为达到上述目的,本发明首先对方法中涉及的符号进行如下定义:
(1)对于明文空间和密文空间/>都可以看成n维向量形成的集合/>用Enc表示加密算法操作,Dec表示解密算法操作,⊙表示向量的哈达玛积(Hadamard Product)。
(2)c1与c2的加法操作为输出密文c使得Dec(c1)+Dec(c2)=Dec(c)。
(3)明文m与密文c的矩阵乘法操作为输出密文c′使得Dec(c)⊙m=Dec(c′),其中明文m可以比密文c短,超出部分明文m的值为0。
(4)k个密文的加法操作为输入i=0,…,k-1的k个密文ci,输出密文c′使得/>
(5)密文c的旋转操作为输入明文信息/>对应的密文c和一个整数/>输出密文c′=Enc(m′);其中/>即将m的各个分量一次向左旋转/>个明文槽得到的新明文,如果/>为负数则表示向右旋转。
(6)重复填充操作为reapte(a,p):将输入i维行向量a重复p次连接,输出为一个i·p维的行向量。
(7)生成向量操作为GenV(m,n):输入正整数m,n,输出为m+n维的行向量s=(0m,1n);其中0m为m维0的行向量,1n为n维1的行向量。
基于此,针对服务器有一个n×m的矩阵A,客户端有一个m×p的矩阵B,实现在服务器计算A×B并且在客户端进行解密得到结果,其中,n、m、p为正整数;本发明提供如下技术方案:
基于同态加密的明文与密文的矩阵乘法计算方法,包括如下步骤:
S1:设定同态加密方案ε=(Enc,Dec)的安全参数λ,根据安全参数λ生成同态加密方案的相关加解密参数;
S2:客户端根据加解密参数生成私钥sk,公钥pk和运算密钥ek;
S3:客户端将矩阵B编码成向量b,并利用公钥pk对向量b加密得到加密数据cb,然后将加密数据cb、公钥pk和运算密钥ek打包发送给服务器;
S4:服务器将矩阵A进行编码得到编码矩阵A,并对加密数据cb进行变换,得到变换后的加密数据
S5:服务器利用编码矩阵A以及变换后的加密数据公钥pk和运算密钥ek进行明文与密文的矩阵乘法计算,得到矩阵乘法结果的密文cx,并将cx发送给用户;
S6:客户端利用私钥sk解密cx,并进行解码得到矩阵A×B的计算结果。
进一步,步骤S1具体为:
S101:确定安全参数λ,即至少可抵御拥有2λ次比特操作计算能力的敌手;
S102:客户端根据样本数据选取整数p,在密文计算过程中数值大小不会超过p/2;
S103:用户根据安全参数λ,并按照同态加密安全标准(Homomorphic EncryptionSecurity Standard)(http://homomorphicencryption.org/)中的建议,选定参数m和q,确定同态加密方案的明文空间为 即整系数多项式环/>模去由m次分圆多项式φm(X)和整数p生成的理想后得到的剩余类环,密文空间为/>
进一步,步骤S2具体为:
S201:客户端生成一个系数从集合{-1,0,1}中等概率随机选取未定元X的次数不超过的随机多项式f,其中/>表示集合{1,2,...,m}中与m互素的元素个数,则私钥sk=(1,f);
S202:客户端从Rq的均匀分布中随机选取一个未定元X的多项式a,从的误差分布χ上随机选取一个关于未定元X的噪声多项式e,则公钥pk=(-[(a·f+e)]q,a),其中[·]q表示将方括号中多项式的系数模q后得到的多项式;
S203:客户端根据所选择的同态加密方案,生成密文运算过程中噪声控制所需的运算密钥ek。
进一步,步骤S3具体为:
S301:客户端对矩阵Bm×p进行编码,将矩阵每一列看成一个向量,即然后将矩阵B的每一列元素按序排列得到向量b=(b0,b1,...,bp-1),其中,T为转置;bi|i=0,…,p-1的长度都为m,b向量的长度为m·p;
S302:客户端调用加密算法操作对向量b进行加密,得到cb=Enc(pk,b);
S303:客户端将加密数据cb、公钥pk和运算密钥ek发送给服务器。
进一步,步骤S4具体为:
S401:服务器对A矩阵填零将其补充成方阵A′;具体的,如果n<m,在A中添加全零行,将矩阵补充成m×m大小的矩阵;如果n>m,则在A中添加全零列,将矩阵补充成n×n大小的矩阵;
S402:服务器对方阵A′=[ai,j]0≤i≤k,0≤j≤k进行编码,得到(2k-1)×kp维的编码矩阵A;其中,k=max(m,n);
S403:当n>m时,对加密数据cb进行变换,得到变换后的加密数据当n≤m时,
更进一步,步骤S402所述的编码为逐行的对方阵A′=[ai,j]0≤i≤k,0≤j≤k中的元素进行编码得到编码矩阵A,具体过程为:
S4021:对0≤i<k,计算编码矩阵第i行的行向量其中,k维行向量/> 0i为i维0的行向量;
S4022:对k≤i<2k-1,计算编码矩阵第i行的行向量Ai =reapte(φk(ai-k+1,0),p);其中,k维行向量0i-k为(i-k)维0的行向量。
更进一步,步骤S403具体为:
S4031:对加密数据cb进行密文的旋转操作后,再与加密数据cb进行加法操作,得到2kp维的密文c′b=Add(cb,Rot(cb,-kp));
S4032:根据公式 计算变换后的加密数据/>其中,/>为向上取整,/>
进一步,步骤S5具体为:
S501:服务器根据输入的A (2k-1)×kp和按行进行明文与密文的乘法计算;当0≤i<k时,计算/> 当k≤i<2k-1时,/>
可优选的是,如果Ai 为全零的编码,则该部分直接跳过步骤S501的计算。
S502:服务器计算得到矩阵乘法结果的密文cx,并将cx发送给用户。
进一步,客户端利用私钥sk解密cx,并进行解码得到矩阵A×B的计算结果m=Dec(sk,cx)。
可优选的,步骤S1中所述的同态加密方案可以是所有使用SIMD技术的方案之一,如BGV方案、B/FV方案以及CKKS方案,其中,BGV方案参考文献如下:Brakerski,Z.,Gentry,C.,Vaikuntanathan,V.:(Le veled)fully homomorphic encryption withoutbootstrapping.ACM Transactions on Computation Theory 6(3),13:1-13:36(2014).https://doi.org/10.1145/2633600;B/FV方案参考文献如下:Junfeng Fan andFrederik Vercaut eren.Somewhat Practical Fully HomomorphicEncryption.Cryptology ePrint Archive,Report 2012/144,2012.https:// eprint.iacr.org/2012/144;CKKS方案参考文献如下:CHEON J H,KIM A,KIM M,etal.Homom orphic encryption for arithmetic of approximate numbers;proceedingsof the Advances in Cryptology-ASI ACRYPT 2017:23rd International Conferenceon the Theory and Applications of Cryptology and Inform ation Security,HongKong,China,December 3-7,2017,Proceedings,Part I 23,F,2017[C].Springer.ht tps://doi.org/10.1007/978-3-319-70694-8 15。
可优选的,所述的安全参数λ,取λ=128或256;所述的误差分布χ取作离散高斯分布。
本发明的有益效果在于:本发明提供了基于同态加密的明文与密文的矩阵乘法计算方法,在两方参与的隐私计算框架下能实现服务器对客户端需求的快速高效矩阵乘法计算,服务器只对加密的数据进行处理,接触不到任何客户端的矩阵信息,从而同时保证了模型和数据二者的安全性;其矩阵乘法的计算结果与客户端编码一致,能直接开始下一次矩阵乘法,具有很强的泛化能力。特别地,当n≤m时,能在不增加时间开销的情况下实现对更大p值的矩阵乘法计算。
附图说明
为了使本发明的目的、技术方案,本发明提供如下附图进行说明:
图1为现有技术方案的框架图;
图2为本发明技术方案的框架图;
图3为本发明实施例1的流程图;
图4为本发明实施例2的技术方案框架图;
图5为本发明实施例2的流程图。
具体实施方式
实施例1:在典型的密文矩阵乘法中,为了达到隐私保护的目的。客户端将所拥有的数据进行编码并加密,将密文发送给服务器;服务器将密文数据进行计算,得到矩阵乘法的计算结果;客户端解密密文得到矩阵乘法计算的结果。
在本实施例中,假设服务器“李四”有一个矩阵A3×2,客户端“张三”有一个矩阵B2 ×4,矩阵具体值如下:
假定双发选定CKKS作为同态加密方案。本发明提供一种“基于同态加密的明文与密文的矩阵乘法计算方法”。
下面将结合附图,对本发明的优选实施例进行详细的描述。
如图3所示,本发明步骤如下:
步骤一:张三设定CKKS同态加密方案的参数。
(1)选定安全参数λ=128;
(2)选定素数p=40;
(3)按照同态加密标准选取参数q是一个随机选取的4个位长在40-60之间的奇素数的乘积,q的位长约为200;
需要说明的是,CKKS方案与其它方案有细微差别,其次在此安全参数下,根据目前文献中最好的攻击方式,可抵御拥有2137次比特操作计算能力的敌手。
步骤二:张三根据安全参数生成密钥。
(1)从系数为{-1,0,1}、次数不超过的单变元多项式集合中均匀随机选取一个多项式f,并令私钥sk=(1,f);
(2)从系数为{0,1,2,...,q-1}、次数不超过8192单变元多项式集合中均匀随机选取一个多项式a,从次数不超过8192的整系数多项式集合上标准差为3.2的离散高斯分布中选取一个噪声多项式e,令公钥pk=(-[(a·f+e)]q,a);
(3)根据私钥sk和公钥pk生成用于密文运算噪声控制的运算密钥ek。
步骤三:张三将矩阵B编码成向量b,并利用公钥pk对向量加密得到加密数据cb,最后将加密数据cb、公钥pk和运算密钥ek发送给李四。
(1)将矩阵B编码成一个8维的向量b=(0.1,0.5,0.2,0.6,0.3,0.7,0.4,0.8)。
(2)对向量b进行加密cb=Encpk(b),得到加密结果cb=(c1,c2,c3,c4,c5,c6,c7,c8)。
(3)张三将cb,公钥pk和运算密钥ek发送给李四。
步骤四:李四将矩阵A编码得到编码矩阵A,并对加密数据cb进行变换,得到变换后的加密数据
(1)李四确定计算大小3>2,因此k=3,补充方阵A3×3如下:
(2)李四对矩阵A3×3进行编码,得到A 5×12的编码矩阵:
(3)对密文cb进行变换,首先计算c′b=(c1,c2,c3,c4,c5,c6,c7,c8,c1,c2,c3,c4,c5,c6,c7,c8)。然后选择l=2,z=2,根据公式展开可以得到如下计算过程:
通过计算,改变密文cb的维数得到
步骤五:李四利用编码矩阵A 5×12以及变换后的加密数据公钥pk和运算密钥ek进行明文与密文的矩阵乘法计算,得到矩阵乘法结果的密文cx,并将cx发送给张三。
(1)当0≤i<3时,计算以下式子:
可优选的,A2 全为0,因此跳过计算;当3≤i<5时,计算以下式子:
(2)计算得到如下结果,cx=(c1+2c2,3c1+4c2,5c1+6c2,c3+2c4,3c3+4c4,5c3+6c4,c5+2c6,3c5+4c6,5c5+6c6,c7+2c8,3c7+4c8,5c7+6c8),并将cx发差给张三。
步骤六:张三用私钥sk解密cx解密明文m=Dec(sk,cx),得到向量m=(1.1,2.3,3.5,1.4,3.0,4.6,1.7,3.7,5.7,2.0,4.4,6.8),最终得到矩阵乘法计算结果:
实施例2:在典型的隐私保护机器学习模型中,为了达到隐私保护的目的,客户端将所拥有的数据进行加密,将密文发送给服务器;服务器将密文数据代入模型进行预测,获得预测结果的密文并发送给客户端;客户端解密密文得到预测结果。如图4所示,将上述矩阵乘法计算方法应用到贝叶斯分类器上,实现分类预测任务。为此,需要对贝叶斯方法进行优化,加入额外操作进行分类任务,本发明提供一种“基于同态加密的明文与密文的矩阵乘法计算方法的分类预测方法”。
在本实施例中,假设用户“张三”持有四个样本数据x1=(0,0),x2=(0,1),x3=(1,0),x4=(1,1)待分类,可能的分类标签为0,1,2,即数据具有两个特征,可能归入三种不同的分类,并进一步假设每个特征都在集合{0,1}中取值;假设服务器“李四”拥有模型数据为先验概率ap=(0.4,0.4,0.2),并且似然矩阵为:
对贝叶斯模型进行改进,将先验概率和似然矩阵都取对数,并且将似然矩阵整体合成拼接成一个大矩阵A:对所有待预测的样本特征的取值,取特征值对应的序号为1,其余全取为0,拼接成矩阵B:
ap=(-0.916,-0.916,-1.609);
因此,只需计算A×B的矩阵乘法结果,再对每列结果都加上先验概率ap,最后再解密比较大小即可。需要注意到,为了不泄露模型信息,对结果矩阵中每一列值添加相同的随机噪声。
下面将结合附图,对本发明的优选应用例进行详细的描述。
如图5所示,本发明在贝叶斯分类预测中应用步骤如下:
步骤一:张三设定CKKS同态加密方案的参数。
(1)选定安全参数λ=128;
(2)选定素数p=40;
(3)按照同态加密标准选取参数q是一个随机选取的4个位长在40-60之间的奇素数的乘积,q的位长约为200;
需要说明的是,CKKS方案与其它方案有细微差别,其次在此安全参数下,根据目前文献中最好的攻击方式,可抵御拥有2137次比特操作计算能力的敌手。
步骤二:张三根据安全参数生成密钥。
(1)从系数为{-1,0,1}、次数不超过的单变元多项式集合中均匀随机选取一个多项式f,并令私钥sk=(1,f);
(2)从系数为{0,1,2,...,q-1}、次数不超过8192单变元多项式集合中均匀随机选取一个多项式a,从次数不超过8192的整系数多项式集合上标准差为3.2的离散高斯分布中选取一个噪声多项式e,令公钥pk=(-[(a·f+e)]q,a);
(3)根据私钥sk和公钥pk生成用于密文运算噪声控制的运算密钥ek。
步骤三:张三将矩阵B编码成向量b,并利用公钥pk对向量加密得到加密数据cb,最后将加密数据cb、公钥pk和运算密钥ek发送给李四。
(1)将矩阵B编码成一个16维的向量b=(1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1)。
(2)对向量b进行加密cb=Encpk(b),得到16维长度的密文cb=(c1,c2,…,c16)。
(3)张三将cb,公钥pk和运算密钥ek发送给李四。
步骤四:李四将矩阵A编码得到编码矩阵A,并对加密数据cb进行变换,得到变换后的加密数据
(1)李四确定计算大小3<4,因此k=4,补充方阵A4×4如下:
(2)李四对矩阵A4×4进行编码,得到A 7×16的编码矩阵:
(3)李四根据大小3<4,计算
步骤五:李四利用编码矩阵A 7×16以及变换后的加密数据公钥pk和运算密钥ek进行明文与密文的矩阵乘法计算,得到矩阵乘法结果的密文cx。
(1)当0≤i<4时,计算以下式子:
可优选的A2 全为0,因此跳过计算;当4≤i<7时,计算以下式子:
(2)计算得到密文cx。
步骤六:李四扩展先验概率ap并生成随机数序列arand,并更新到矩阵乘法计算结果密文cx中。
(1)李四对先验概率ap进行扩展先添加1个0,在将ap重复4次,用于更新得到12维的ap。然后,随机选取4个随机数{0.1,0.3,0.2,0.4},将每个随机数重复3次,并在之间添加1个0,生成12维的随机序列arand:
ap=(-0.916,-0.916,-1.609,0,-0.916,…,0),
arand=(0.1,0.1,0.1,0,0.3,0.3,...,0);
(2)更新cx,使cx=cx+ap+arand,其中加法表示密文和明文的加法运算。
此步骤是为了完成贝叶斯分类进行的额外操作,其中添加随机数保证贝叶斯模型的信息不被泄露。
步骤七:张三用私钥sk解密cx解密明文m=Dec(sk,cx),解密结果如下:
m=(-3.341,-2.713,-2.713,0,-1.755,-2.513,-2.918,0,-2.836,-1.766,-2.613,0,-1.250,-1.566,-2.818,0),
然后比较16个数据每4个数据的前3个大小,最大值的序标则为分类结果,所以4个样本的分类结果为:{1,0,1,0}。可见,本发明方法能够准确地实现隐私保护下的客户端数据分类预测,与明文的分类预测方法计算结果一致。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (4)
1.基于同态加密的明文与密文的矩阵乘法计算方法,其特征在于,该方法包含以下步骤:
S1:设定同态加密方案ε=(Enc,Dec)的安全参数λ,根据安全参数λ生成同态加密方案的相关加解密参数;
S2:客户端根据加解密参数生成私钥sk,公钥pk和运算密钥ek;
S3:客户端将矩阵B编码成向量b,并利用公钥pk对向量b加密得到加密数据cb,然后将加密数据cb、公钥pk和运算密钥ek打包发送给服务器;
S4:服务器将矩阵A进行编码得到编码矩阵A,并对加密数据cb进行变换,得到变换后的加密数据
S5:服务器利用编码矩阵A以及变换后的加密数据公钥pk和运算密钥ek进行明文与密文的矩阵乘法计算,得到矩阵乘法结果的密文cx,并将cx发送给用户;
S6:客户端利用私钥sk解密cx,并进行解码得到矩阵A×B的计算结果;
所述的Enc表示加密算法,Dec表示解密算法;
所述的步骤S1具体为:
S101:确定安全参数λ,即至少可抵御拥有2λ次比特操作计算能力的敌手;
S102:用户根据样本数据选取整数p;
S103:用户根据安全参数λ,并按照同态加密安全标准(Homomorphic EncryptionSecurity Standard)中的建议,选定参数m和q,确定同态加密方案的明文空间为即整系数多项式环/>模去由m次分圆多项式φm(X)和整数p生成的理想后得到的剩余类环,密文空间为/>
所述的步骤S2具体为:
S201:客户端生成一个系数从集合{-1,0,1}中等概率随机选取未定元X的次数不超过的随机多项式f,其中/>表示集合{1,2,...,m}中与m互素的元素个数,则私钥sk=(1,f);
S202:客户端从Rq的均匀分布中随机选取一个未定元X的多项式a,从的误差分布χ上随机选取一个关于未定元X的噪声多项式e,则公钥pk=(-[(a·f+e)]q,a),其中[·]q表示将方括号中多项式的系数模q后得到的多项式;
S203:客户端根据所选择的同态加密方案,生成密文运算过程中噪声控制所需的运算密钥ek;
所述的步骤S3具体为:
S301:客户端对矩阵Bm×p进行编码,将矩阵每一列看成一个向量,即然后将矩阵B的每一列元素按序排列得到向量b=(b0,b1,...,bp-1),其中,T为转置;bi|i=0,...,p-1的长度都为m,b向量的长度为m·p;
S302:客户端调用加密算法操作对向量b进行加密,得到cb=Enc(pk,b);
S303:客户端将加密数据cb、公钥pk和运算密钥ek发送给服务器;
所述的步骤S4具体为:
S401:服务器对A矩阵填零将其补充成方阵A′;具体的,如果n<m,在A中添加全零行,将矩阵补充成m×m大小的矩阵;如果n>m,则在A中添加全零列,将矩阵补充成n×n大小的矩阵;
S402:服务器对方阵A′=[ai,j]0≤i≤k,0≤j≤k进行编码,得到(2k-1)×kp维的编码矩阵A;其中,k=max(m,n);
S403:当n>m时,对加密数据cb进行变换,得到变换后的加密数据当n≤m时,/>
所述的步骤S402具体为:
S4021:对0≤i<k,计算编码矩阵第i行的行向量其中,k维行向量0i为i维0的行向量;
S4022:对k≤i<2k-1,计算编码矩阵第i行的行向量A i=reapte(φk(ai-k+1,0),p);其中,k维行向量0i-k为(i-k)维0的行向量;
所述的步骤S403具体为:
S4031:对加密数据cb进行密文的旋转操作后,再与加密数据cb进行加法操作,得到2kp维的密文c′b=Add(cb,Rot(cb,-kp));
S4032:根据公式 计算变换后的加密数据/>其中,/>为向上取整,/>
所述的步骤S5具体为:
S501:服务器根据输入的A (2k-1)×kp和按行进行明文与密文的乘法计算;当0≤i<k时,计算当k≤i<2k-1时,/>
S502:服务器计算得到矩阵乘法结果的密文cx,并将cx发送给用户。
2.根据权利要求1所述的基于同态加密的明文与密文的矩阵乘法计算方法,其特征在于,步骤S1中所述的同态加密方案所有使用SIMD技术的方案中的任一种。
3.根据权利要求1所述的基于同态加密的明文与密文的矩阵乘法计算方法,其特征在于,所述的安全参数λ,取λ=128或256;所述的误差分布χ取作离散高斯分布。
4.根据权利要求1所述的基于同态加密的明文与密文的矩阵乘法计算方法,其特征在于,所述的步骤S501中如果A i为全零的编码,则该部分直接跳过步骤S501的计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195584.8A CN117200972A (zh) | 2023-09-08 | 2023-09-08 | 基于同态加密的明文与密文的矩阵乘法计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311195584.8A CN117200972A (zh) | 2023-09-08 | 2023-09-08 | 基于同态加密的明文与密文的矩阵乘法计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117200972A true CN117200972A (zh) | 2023-12-08 |
Family
ID=88988446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311195584.8A Pending CN117200972A (zh) | 2023-09-08 | 2023-09-08 | 基于同态加密的明文与密文的矩阵乘法计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117200972A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440103A (zh) * | 2023-12-20 | 2024-01-23 | 山东大学 | 基于同态加密和空间优化的隐私数据处理方法及系统 |
CN117478278A (zh) * | 2023-12-26 | 2024-01-30 | 南京信息工程大学 | 一种实现零差错通信的方法、装置、终端及储存介质 |
CN117973488A (zh) * | 2024-03-29 | 2024-05-03 | 蓝象智联(杭州)科技有限公司 | 具有隐私保护的大语言模型训练、推理方法及系统 |
CN118036032A (zh) * | 2024-01-18 | 2024-05-14 | 国家电网有限公司大数据中心 | 一种面向绿色低碳场景的隐私计算互联互通方法及系统 |
CN118278035A (zh) * | 2024-06-04 | 2024-07-02 | 中电科网络安全科技股份有限公司 | 一种隐私计算方法、装置、设备及存储介质 |
CN118509156A (zh) * | 2024-07-17 | 2024-08-16 | 之江实验室 | 一种基于同态加密的隐私保护矩阵乘法计算方法及装置 |
-
2023
- 2023-09-08 CN CN202311195584.8A patent/CN117200972A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117440103A (zh) * | 2023-12-20 | 2024-01-23 | 山东大学 | 基于同态加密和空间优化的隐私数据处理方法及系统 |
CN117440103B (zh) * | 2023-12-20 | 2024-03-08 | 山东大学 | 基于同态加密和空间优化的隐私数据处理方法及系统 |
CN117478278A (zh) * | 2023-12-26 | 2024-01-30 | 南京信息工程大学 | 一种实现零差错通信的方法、装置、终端及储存介质 |
CN117478278B (zh) * | 2023-12-26 | 2024-03-15 | 南京信息工程大学 | 一种实现零差错通信的方法、装置、终端及储存介质 |
CN118036032A (zh) * | 2024-01-18 | 2024-05-14 | 国家电网有限公司大数据中心 | 一种面向绿色低碳场景的隐私计算互联互通方法及系统 |
CN117973488A (zh) * | 2024-03-29 | 2024-05-03 | 蓝象智联(杭州)科技有限公司 | 具有隐私保护的大语言模型训练、推理方法及系统 |
CN117973488B (zh) * | 2024-03-29 | 2024-06-07 | 蓝象智联(杭州)科技有限公司 | 具有隐私保护的大语言模型训练、推理方法及系统 |
CN118278035A (zh) * | 2024-06-04 | 2024-07-02 | 中电科网络安全科技股份有限公司 | 一种隐私计算方法、装置、设备及存储介质 |
CN118278035B (zh) * | 2024-06-04 | 2024-10-08 | 中电科网络安全科技股份有限公司 | 一种隐私计算方法、装置、设备及存储介质 |
CN118509156A (zh) * | 2024-07-17 | 2024-08-16 | 之江实验室 | 一种基于同态加密的隐私保护矩阵乘法计算方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117200972A (zh) | 基于同态加密的明文与密文的矩阵乘法计算方法 | |
EP3583739B1 (en) | Key exchange devices and method | |
US9264406B2 (en) | Public key cryptography with reduced computational load | |
Han et al. | Efficient logistic regression on large encrypted data | |
CN110138752B (zh) | 一种基于格的公钥加密方法 | |
CN112543091A (zh) | 密文长度固定的多密钥全同态加密方法 | |
Kuang et al. | Shannon perfect secrecy in a discrete Hilbert space | |
CN111526002A (zh) | 一种基于格的多身份的全同态加密方法 | |
CN115242372B (zh) | 一种基于批打包编码的密态纵向联邦逻辑回归训练方法 | |
Mohsen et al. | Lattice-based cryptography | |
Shen et al. | ABNN2: secure two-party arbitrary-bitwidth quantized neural network predictions | |
CN117527223B (zh) | 一种基于格的抗量子密码的分布式解密方法及系统 | |
Mariot et al. | On McEliece-type cryptosystems using self-dual codes with large minimum weight | |
Chen et al. | A public key compression scheme for fully homomorphic encryption based on quadratic parameters with correction | |
CN116055152A (zh) | 一种基于格的访问控制加解密方法及系统 | |
CN114037013B (zh) | 基于同态加密的无交互朴素贝叶斯分类方法 | |
Özdemir et al. | Development of Cryptography since Shannon | |
Koç et al. | Development of Cryptography since Shannon | |
Wu et al. | VPiP: Values Packing in Paillier for Communication Efficient Oblivious Linear Computations | |
WO2022172041A1 (en) | Asymmetric cryptographic schemes | |
EP4186204A1 (en) | Methods and systems for the implementation of ntru-like cryptosystem relying on optical fourier transforms | |
US8462940B2 (en) | Public key cryptosystem and associated method utilizing a hard lattice with O(n log n) random bits for security | |
Sahu et al. | A code-based digital signature scheme using modified quasi-cyclic low-density parity-check codes (QC-LDPC) | |
CN118152715A (zh) | 基于双循环编码的同态密文矩阵乘法计算方法 | |
Vambol | Polynomial-Time Plaintext-Recovery Attack on the Matrix-Based Knapsack Cipher |
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 |