网站首页 公文大全 个人文档 实用范文 讲话致辞 实用工具 心得体会 哲学范文 总结范文 范文大全 报告 合同 文书 信函 实用
  • 汇报体会
  • 节日庆典
  • 礼仪
  • 毕业论文
  • 评语寄语
  • 导游词
  • 口号大全
  • 其他范文
  • 百花范文网 > 实用范文 > 其他范文 > 基于共用密钥的高效多密钥同态加密方案研究*

    基于共用密钥的高效多密钥同态加密方案研究*

    时间:2023-06-28 19:55:07来源:百花范文网本文已影响

    李文卿,马 锐,张文涛

    (中国航天系统科学与工程研究院,北京 100037)

    同态加密是一类加密技术,允许在无需解密的情况下对密文进行同态运算,解密之后可以获得正确的结果。同态加密能够应用于委托计算,委托方使用公钥加密数据,将密文传递给计算方,计算方通过相应的计算后返还委托方加密的结果,由委托方用私钥解密后获得正确的结果。全同态加密的完整方案最早是由Gentry于2009年提出的[1],目前已经发展出了多种类型的全同态加密方案。

    在许多场景中,数据可能来源于多个主体。这些主体要通过协作计算出结果,同时不能让其他主体获得自己的私有数据。这类问题可以归结为安全多方计算的问题,多密钥同态加密是这类场景下的一个解决方案[2]。该方案允许每个主体使用自己的公钥进行加密,然后使用密文扩展将来自各方的密文进行扩展,接着在该密文上进行同态运算并得到结果的密文,最后再由各个主体联合解密获得正确的结果。

    最早的多密钥同态加密方案是2012年由López-Alt等人[3]提出的LTV12(以论文作者首字母和年份命名,下同)。之后,Doröz等人[4]对LTV12方案进行了改进,提出了一个较高效的方案DHS16。2017年,Chongchitmate 等人[5]在LTV12 的基础上构造了具备电路隐私的多密钥全同态加密MKFHE(Multi-Key Fully Homomorphic Encryption)方案CO17。2020年,Che等人[6]利用比特丢弃技术和密文扩展技术,提出了无需计算密钥的方案CZL+20。这类方案从NTRU(Number Theory Research Unit)型同态加密方案发展而来,所基于的困难问题假设是多项式环上的非标准假设,并且无法构造高效的联合解密协议,实际应用受限[7]。

    2015年,Clear等人[8]提出了GSW(Gentry-Sahai-Waters)型[9]的多密钥同态加密方案CM15。该方案的安全性基于带误差学习LWE(Learning With Errors)问题,这一问题的困难性能被归结到格密码学的标准假设上。该方案首次提出了密文扩展技术,该技术能够将一个单密钥同态加密方案扩展为一个多密钥同态加密方案。2016年,Mukherjee等人[10]对CM15的密文扩展过程进行了简化,提出MW16方案。该方案允许一轮的分布式解密,并可以进一步构造两轮的安全多方计算协议。同年,Peikert 等人[11]提出了具备多跳的方案PS16。该方案允许参与方实时、动态地加入到运算过程,但是对参与方数量有一定的限制。同年,Brakerski等人[12]提出了全动态的方案BP16。在PS16的基础上,该方案对参与方的数量没有限制,但此类方案存在密文扩展复杂、计算缓慢等问题。

    Chen等人[13]于2017年首次提出了BGV(Brakerski-Gentry-Vaikuntanathan)型[14]的多密钥同态加密方案CZW17。与GSW类型的方案对比,BGV型的方案密文扩展方式简洁,扩展过程中不需要使用密文之外的数据,因此能够有效地支持多跳特性(同态运算过程中加入新用户)。BGV型的多密钥同态加密方案的显著缺陷是计算密钥生成复杂、计算密钥尺寸较大等。2019年,Li等人[15]利用环上的BGV型RBGV(Ring BGV)和环上的GSW型RGSW( Ring GSW)密文之间的混合同态乘法生成计算密钥,减小了CZW17中的扩展密文尺寸,并在此基础上设计了BGV型多密钥同态加密方案LZY+19。同年,Chen等人[16]提出了CDKS19方案。该方案提出了新的计算密钥生成方法,改进了同态乘法的计算过程,并将该方案运用到了神经网络的隐私计算当中。但是,BGV型多密钥同态加密方案的密钥交换过程仍旧比较复杂,生成计算密钥所需的密钥数量较多且尺寸较大。2021年,Zhou等人[17]提出了使用累加公钥构建多密钥同态加密的方案,然而,其解密过程可能会导致私钥暴露。

    以上多密钥同态加密方案大多存在密钥尺寸较大、同态运算复杂等缺点。与之相比,单密钥同态加密则有密钥尺寸较小、同态运算简单等优势。因此,本文提出了一种基于共用密钥的多密钥同态加密方案,结合单密钥同态加密和多密钥同态加密的优势,并通过理论分析验证其安全性和有效性。

    2.1 GLWE问题

    带误差学习LWE问题或环上的带误差学习RLWE(Ring Learning With Errors)问题是格密码学中的困难问题。这2个困难问题的本质相同,可以归结为一般带误差学习GLWE(General Learning With Errors)问题。GLWE的描述如下所示:

    设λ为安全参数,设多项式环R=Z[X]/xd+1,Rq=R/qR,Rq上的错误分布χ=χ(λ)。GLWE困难问题假定以下2种分布不可区分:

    LWE问题对应GLWE问题取d=1的简化情况,而RLWE问题对应n=1的简化情况。GLWE问题可以归结到格上最短向量问题,该问题的困难性是密码学的基本假设之一。

    2.2 BGV单密钥同态加密方案

    BGV方案是一个有限级数的同态加密方案,并采用了模数交换、密钥交换等方式控制噪声,因此每一层都有各自的公钥和私钥。BGV方案有2种构造方式,分别是基于LWE问题和基于RLWE问题,本文只叙述基于RLWE问题的构造方式。BGV型同态加密方案包含4部分:密钥生成(KeyGen)、加密(Enc)、解密(Dec)和同态运算(Eval)。各个部分的具体步骤[13]如下所示:

    (1)密钥生成(KeyGen):输入电路深度L,安全参数λ。选择噪声分布χ=χ(L,λ),该分布是R上的具有界限的分布。选择L个递减的模数qL>qL-1>…>q0。选择一个与所有ql互素的整数p,对于每一个l=0,1,2,…,L,进行如下计算:

    ②从Rq中均匀采样al←Rq,从错误分布中采样e←χ,计算私钥skl对应的公钥,如式(1)所示:

    pkl=(bl,al)=(-al·sl+elmodql,al)

    (1)

    ③当l不为0的时候,还需计算密钥交换参数,如式(2)所示:

    τsk′l→skl-1=SwitchKeyGen(sk′l,skl-1)

    (2)

    经过密钥生成,得到公钥{pkl},l=0,1,2,…,L,私钥{skl},l=0,1,2,…,L,计算密钥{τsl′→sl-1},l=0,1,2,…,L。

    (2)加密(Enc):对于任意需要加密的明文μ∈Rp,需要从错误分布中采样获得r←χ,e←χ,输出第L层(初始层)的密文,如式(3)所示:

    c=r·pkl+(m+e,0)

    (3)

    (3)解密(Dec):为了解密第l层的密文c,需按照式(4)计算:

    μ=〈c,skl〉modqlmodp

    (4)

    其中〈*,*〉表示内积运算。

    (4)同态运算(Eval):输入计算的函数C,密文ci,计算密钥evk,输出计算结果。BGV型同态加密方案支持同态加法运算和同态乘法运算,其实现分别如下所示:

    ①同态加法:输入2个密文,该密文需具有相同的模数和对应私钥。若不满足条件,使用模数交换和密钥交换操作密文,使其条件满足。假设2个密文此时对应的模数是ql。首先,按式(5)计算:

    (5)

    (6)

    最后,通过模数交换将密文的模数下降至ql-1,得到结果,如式(7)所示:

    (7)

    ②同态乘法:若不满足条件,使用模数交换和密钥交换操作密文,使其条件满足。首先,按式(8)计算:

    (8)

    (9)

    最后,通过模数交换将密文的模数下降至ql-1,得到结果,如式(10)所示:

    (10)

    密钥交换和模数交换是BGV型同态加密方案中的算法。模数交换则能够切换密文对应的模数。在计算完成后,将密文的模数切换为较小的模数,可以减少密文中噪声的绝对大小,控制噪声的增长。在噪声规模可控的前提下,这一部分不影响最终结果的正确性。密钥交换算法能够在不解密的前提下改变密文的私钥,且不会改变对应的明文。同态加法运算中的密钥交换同样是可选的,但是同态乘法后必须使用密钥交换来控制密文增长的规模。

    2.3 密钥交换和重线性化

    BGV型同态加密方案需要在同态乘法后对密文进行密文尺寸的缩减,否则密文尺寸将会随着乘法次数指数级膨胀。密钥交换和重线性化是缩减密文尺寸常见的2种方法。

    (11)

    然后选择nβ个RLWE实例(-aiz2+ei,ai),i=1,2,…,nβ。输出交换密钥,如式(12)所示:

    (12)

    其中,为了区分变量和向量的下标索引,使用u[i]表示取u的第i个下标的运算。

    (13)

    密钥交换过程中2个重要的函数比特分解和重组分别如下所示:

    这2个函数是配合使用的,易证明:

    〈BitDecomp(x),Powersof2(y)〉=〈x,y〉

    重线性化是BGV类型的加密方案CKKS[18]采用的减小密文尺寸的算法。其基本思想是,从密文解密后的结果来看,同态乘法的结果是一个关于私钥的二次项,需要将它重线性化,消去二次项的部分。重线性需要使用计算密钥。计算密钥生成中,输入私钥为sk=(1,s),从Rq上均匀采样a′←U(Rq),从错误分布中采样e′←χ。输出计算密钥,如式(14)所示:

    evk=(-a′·s+e′+s2,a)

    (14)

    使用重线性化方法的同态加密方案,再计算同态乘法时按照如下步骤计算:输入计算密钥evk和2个密文c1=(b1,a1),c2=(b2,a2)。按式(15)计算:

    (d0,d1,d2)=(b1b2,b1a2+b2a1,a1a2)

    (15)

    然后输出同态乘法的结果,如式(16)所示:

    c′=(d0,d1)+evk·d2

    (16)

    此时对输出密文解密可以得到输入的2个密文对应明文相乘的结果,且保证了密文的尺寸不会扩张。

    2.4 密文扩展

    多密钥同态加密一般需要密文扩展操作,该操作将使用不同密钥的密文进行扩展。扩展后的密文可以视为使用同一个公钥进行加密,从而能够进行同态运算。BGV型多密钥同态加密的密文扩展方式如下所示:

    (17)

    (18)

    其中,

    扩展后的密文对应的密钥如式(19)所示:

    (19)

    BGV型多密钥同态加密方案的解密方式与之类似:首先将密文拆分,然后将拆分后的密文发给对应的参与方,由参与方使用各自的私钥解密后,再将解密的结果累加起来,得到最终的计算结果。

    BGV型的多密钥同态加密大多遵循以下规则:各参与方产生自己的公钥、私钥和计算密钥,使用各自的公钥为密文加密。计算方使用密文扩展的方法处理各参与方的密文,使得处理后的密文可以视为使用同一公钥加密的密文,然后才能进行同态运算。同态运算结束后,计算方将同态运算的结果拆分,发给各个参与方单独解密,然后由计算方累加各方的结果得到最终的运算结果。

    这一类方案在密文扩展和实现多跳操作上具有很大的优势,但是其同态乘法操作非常复杂。本文将提出一个新的多密钥同态加密方案的构造思路,并通过逐步的设计形成一个多密钥同态加密方案。

    3.1 共用密钥加密

    受文献[17]的启发,本文提出了一种新的同态加密方法。该方法中,各参与方协商出共用公钥用于加密,然后使用同一公钥进行加密,这样可以减小密钥和密文的尺寸。

    基于多密钥同态加密应用场景中的安全性需求,公钥协商需要保证以下需求:(1)安全性,要保证协商过程中不会暴露用户的私钥和数据;
    (2)形式不变,协商出的密钥最好与单密钥同态加密有同样的形式,从而便于计算;
    (3)正确性,协商出的密钥应当保证解密结果正确,对于同态加密,这意味着〈pk,sk〉≈0。

    基于以上要求,本文提出了一种公钥协商的方法:

    输入{pki=(bi,a),i=1,…,k}为各参与方公钥的集合,其中,a为公共参数;bi由各参与方计算,bi=-a·si+ei,si为各参与方的私有参数,ei为各方选择的误差。公钥的计算方式如式(20)所示:

    (20)

    该算法运算完成后,公钥的形式如式(21)所示:

    (21)

    其对应的解密私钥为:

    (22)

    (23)

    可以看出,协商的密钥满足正确性和形式不变性的要求,安全性证明将会在第5节给出。

    采用共用公钥的多密钥同态加密方案,来自各个参与方的密文都处于同一个公钥的加密状态下。这不仅避免了密文扩展使得密文的尺寸膨胀,也避免了多密钥同态加密时复杂的同态运算。同态加密的时间复杂度和空间复杂度都降低到了与单密钥同态加密相当的水平。

    3.2 同态运算获取计算密钥

    同态乘法中重线性化操作需要向计算方提供计算密钥,计算密钥可以视为一个加密过的私有参数的幂。根据单密钥同态加密中重线性化的形式,本文所提出的多密钥同态加密方案的重线性化所需的计算密钥如式(24)所示:

    (24)

    其中a′表示计算密钥的公共参数。

    可以看到,上述计算密钥包含私有参数的累加和的幂。在不暴露私有参数的前提下,由各参与方协商获得上述密钥比较困难。但是,在不暴露私有数据的情况下对私有数据进行运算并获得结果,这是多密钥同态加密能够解决的问题。因此,本文可以构建一个简单的多密钥同态加密方案来计算密钥。

    相较于通常情景下多密钥同态加密的要求,此处对同态运算能力的要求降低了。在此处的计算中,所需计算的函数的复杂度是确定的,并且只需密文进行一次同态乘法操作和数次同态加法操作。在一个多密钥同态加密中使用另一个多密钥同态加密是否有用呢?在本文第5节中将详细阐述该方案所带来的效率的提升。

    计算计算密钥的同态加密方案可以在原方案的基础上进行一些简化。对于该方案所需的公共参数,本文可以使用在密钥生成阶段产生的公共参数;
    由于计算函数的深度是确定的,噪声增长是可控的,从而无需使用很多的噪声控制技术。具体的方案将在第4节描述。

    3.3 安全解密

    依据式(22)和式(23),只需要计算式(25)即可完成解密:

    〈c,sk〉modq=μ

    (25)

    此处的一个问题是,如何在不泄露私钥的前提下完成解密过程,即如何在不暴露用户私钥的前提下,计算解密函数。对于这个问题,本文依然可以使用一个多密钥同态加密来解决。某些计算函数可能会导致密文泄露。

    为了说明何种情况下会造成数据泄露,本文考虑以下情景:

    2个参与方(1,2),分别持有明文μ1和μ2,需要计算μ1+μ2。在使用按密文扩展方式构建的多密钥同态加密中,在完成密文扩展后,3个参与方的扩展密文分别如式(26)和式(27)所示:

    (26)

    (27)

    在完成同态加法后,同态运算的结果如式(28)所示:

    (28)

    按照同态运算的解密步骤,接下来要将结果拆分为c1和c2并将其分别发给参与方1和2,解密的结果为μ1和μ2。

    按照多密钥同态加密方案,此时需要累加各方的解密结果完成最终解密。因此,每个参与方需要将自己解密的结果传递给计算方或某个参与方。按照前文所述,此时每个参与方解密的结果是其私钥数据,向其他参与方或解密方传递该数据会导致该数据泄露。

    基于共用公钥的多密钥同态加密方法的细节已经在前文讨论完毕,本节将会在前文讨论的基础上,构建一个完整的多密钥同态加密方案。该方案分为4个部分,即初始化、密钥生成、加密和解密、同态运算。其中,计算计算密钥和解密2个过程需要使用其他多密钥同态加密方案完成。本文使用了基于CDKS19方案的简化方案。为了方便说明,将计算计算密钥过程中使用到的方案称为计算密钥子过程,将解密过程中用到的方案称为解密子过程,将整个方案称为父过程。

    4.1 初始化

    同态加密开始时执行初始化步骤。输入安全参数λ、参与用户数N,计算函数的深度,即同态乘法的次数L。根据安全参数选择Rq上的密钥分布ψ和错误分布χ。从Rq上的均匀分布采样2个公共密钥参数a←U(Rq),a′←U(Rq)。输出公共参数pp=(N,ψ,χ,a,a′)。

    4.2 密钥生成

    每一位参与方和计算方都需要计算自己的公钥和私钥。参与方和计算方需完成如下计算:从密钥分布中选择私有元素si←ψ,同时该私有元素也将作为私钥;从错误分布中选择误差ei←χ;获得公钥为pki=-a·ski+ei。计算方的编号为0,参与方编号为1~k。此处计算方的公钥和私钥是为解密阶段准备的。

    然后,计算共用公钥。这需要累加各参与方公钥得到共用公钥,如式(29)所示:

    (29)

    除此以外,计算方和每个参与方还需生成一组参数,这组参数将被用于计算密钥子方案和解密子方案中。需生成的参数如式(30)所示:

    di,0=-si·di,1+ei,1+rimodq,

    di,1←U(Rq),

    di,2=ri·a+ei,2+simodq,

    whereri←ψi

    (30)

    密钥生成阶段还需计算计算密钥,这需要通过计算密钥子过程完成,整个方案的描述如下所示:

    (1)子过程的计算方和参与方为父过程的计算方和参与方,每个参与方将自己原方案的私有元素si使用自己的私钥sk加密作为输入。

    (2)由参与方使用同态运算计算如式(31)的函数:

    (31)

    其中,a′为公共参数,由父过程在密钥生成阶段生成,e为误差,从父过程的错误分布中采样获得e←χ。

    (3)计算方将密文拆分,并将对应密文发给参与方解密,然后累加结果获得父过程计算密钥。

    计算方需保存计算密钥,以便在之后的同态运算中使用。计算密钥子过程中使用到的简化的多密钥同态加密方案将在4.5节给出。

    4.3 加密和解密

    加密:输入明文μ∈Rq,共用公钥pk。从密钥分布中采样随机元素r←ψ,从错误分布中采样误差:e0←χ,e1←χ,输出密文为c=r·(pk,a)+(μ+e0,e1) modq。

    解密需要由解密子过程完成,这一过程的描述如下所示:

    (1)子过程的计算方为父过程的计算方,但子过程的参与方则包含父过程的所有参与方和计算方。父过程的计算方将同态运算结果使用自己的私钥加密,父过程的参与方分别使用自己的公钥加密自己的私有元素si。

    (2)由参与方使用同态运算计算如式(32)的函数:

    (32)

    (3)计算完成后获得的结果为父过程的结果的明文在子过程密钥加密后的密文。参与方和计算方继续执行子过程的解密,即可获得明文结果。该结果既是解密子过程的明文结果,也是父过程的明文结果。

    解密过程所需的简化的同态加密方案将在4.5节给出。

    4.4 同态运算

    本方案的同态运算支持同态加法和同态乘法,其中同态乘法缩减密文尺寸的方式采用了与CKKS类似的重线性化方法。

    同态加法的正确性证明如式(33)所示:

    (33)

    (d0,d1,d2)=(b1b2,a1b2+a2b1,a1a2)

    (34)

    c3=(d0,d1)+d2·(evk,a′) modq

    (35)

    同态乘法的正确性证明如式(36)所示:

    μ1·μ2

    (36)

    4.5 简化的同态加密方案

    前文所述的方案中,计算计算密钥和解密2个过程需要引入一个外部的多密钥同态加密方案才能完成运算。由于计算函数是确定的,该加密方案可以尽可能地简化。

    本文所采用的简化的多密钥同态方案从CDKS19方案[16]简化而来。在简化方案中,初始化生成的公共参数和密钥生成阶段采用的公钥和私钥均采用父方案生成的参数和公私钥,因此简化方案只包含加密、解密、密文扩展和同态运算。

    (1)加密。

    输入明文μ,公钥pk=-a·s+e和公共参数a。从密钥分布采样r←ψ,从错误分布中采样e←χ。输出如式(37)所示的密文:

    (37)

    (2)密文扩展。

    wherec′0=c0

    (38)

    (3)解密。

    解密分为2步。对于密文c,如式(39)所示:

    (39)

    首先将密文拆分,计算方保留c0,然后ci传递给对应的参与方。参与方进行部分解密:输入ci,si,输出如式(40)所示:

    μi=ci·si+eimodq

    (40)

    其中ei←χ为从错误分布中采样。

    然后,计算方累加各方结果完成解密,如式(41)所示:

    (41)

    (4)同态运算。

    同态加法只需直接相加,如式(42)所示:

    ct3=ct1+ct2modq

    (42)

    (43)

    ①规约张量积中第1行第1列的元素c′0=c0;

    ②规约张量积中第1行和第1列中的其他元素c′i=c0,i+ci,0;

    ③规约张量积中除了第1行和第1列的其他元素,如式(44)所示:

    c′i,j=〈ci,j,bj〉modq,

    c′0=c′0+c′i,j·di,0modq,

    c′i=c′i+c′i,j+di,1modq,

    c′j=c′j+ci,j·di,2modq

    (44)

    以上为子方案采用的多密钥同态加密方案的所有内容。其正确性由CDKS19方案保证。

    本文提出的方案的根本思想是将一个多密钥同态加密问题转化为单密钥同态加密问题,由此减小密文的尺寸,提高同态加密的效率。本节将会从安全性和计算效率2个方面分别分析本文提出的方案,并证明在保证安全性的前提下,对于复杂的计算函数,本文提出的方案相较于其他多密钥同态加密方案在效率上有显著提升。

    5.1 安全性分析

    本文所提出的方案中,所有参与方先产生一个共用的公钥和计算密钥。各参与方使用该公钥加密,并使用产生的计算密钥完成单密钥同态加密的同态运算过程,获得同态运算结果,最后由各方通过多密钥同态加密方法共同解密,获得运算结果。以下将分别证明这几个过程对于诚实但是好奇的参与者而言是安全的:

    对于简化的多密钥同态加密过程而言,此时计算过程中所需的di,0,di,1和di,2是对私钥si使用另一个密钥ri进行加密而得到的,并且ri也通过si加密。通过上述的di,0,di,1和di,2求解si的问题为LWE问题,因此该过程是安全的。

    对于产生共用密钥过程而言,此时各参与方了解公共参数a,各参与方公钥为a·si+ei,此时获取私钥si的问题为LWE问题,该过程是安全的。

    对于解密过程而言,一方面,解密过程使用多密钥同态加密方案完成,另一方面,因为解密过程有计算方参与且存在同态乘法,多密钥同态加密的部分解密结果与私钥无关,因此该过程也是安全的。

    5.2 效率分析

    BGV型多密钥同态加密的复杂度主要来源于同态乘法的相关操作。与单密钥同态乘法相比,多密钥同态乘法后进行重线性化所需的计算密钥变得很复杂。为了说明这一问题,本文分析单密钥和多密钥情况下同态加密的计算密钥的形式。

    对于单密钥同态加密而言,假设2个使用私钥sk=(1,s)加密的密文分别为c1=(b1,a1),c2=(b2,a2)。其密文解密相乘的结果如式(45)所示:

    Dec(c1)·Dec(c2)=(b1+a1·s)·

    (b2+a2·s)=b1b2+(b1a2+b2a1)s+a1a2s2

    (45)

    对于多密钥同态乘法方案,假设有2个参与方,私钥为sk1=(1,s1)和sk2=(1,s2),密文分别为c1=(b1,a1,1,a1,2),c2=(b2,a2,1,a2,2),则其密文解密后相乘的结果如式(46)所示:

    Dec(c1)·Dec(c2)=(b1+a1,1s1+a1,2s2)·

    (b2+a2,1s1+a2,2s2)=

    a1,2a2,1s1s2+…

    (46)

    采用重线性化技术可以消去式(46)中关于s1和s2的二次项。与单密钥情况下只有一个二次项的情况相比,多密钥同态加密的二次项数目不仅数量很多,而且还包含了形如sisj的二次项。由于这样的特殊的二次项存在,单个参与方无法完成计算密钥的计算。现存的BGV型多密钥同态加密方案中,在密钥生成阶段,各参与方只计算密钥生成材料,再由计算方通过这些计算密钥生成材料来计算计算密钥。由于计算密钥和参与方的私有元素相关,因此上述操作需要在保证不泄露私有元素的前提下进行。因此,计算计算密钥一直是影响BGV型多密钥同态加密效率的重要因素。

    除了能够显著地降低计算计算密钥的过程的复杂度,本文所提出的共用密钥加密还能减小密钥和密文的尺寸。对于现存的BGV型多密钥同态加密方案,需要通过密文扩展的方法使得来自不同参与方的密文转换到由同一个密钥加密的情况,从而进行同态运算。这一过程使用了密文拼接,从而使得密文的尺寸扩大。但是,本文提出的方案因为使用了共用密钥,从而避免了上述问题。

    本文提出的方案与其他BGV型多密钥同态加密方案在时间和空间复杂度上的对比分析如表1所示。

    Table 1 Analysis of the complexity of multi-key homomorphic encryption schemes表1 同态加密效率分析

    多密钥同态加密有广泛的使用场景,本文通过使用共用密钥加密,设计了一种BGV型多密钥同态加密方案。使用共用密钥降低了计算密钥的复杂度,同时还减小了密文和密钥的尺寸。在计算计算密钥和解密阶段,改变了相关算法,从而可以在保证安全性的前提下完成计算。从理论分析的结果来看,本文提出的方案降低了计算复杂度,提高了同态加密的效率。

    猜你喜欢参与方同态私钥清扫机器人避障系统区块链私钥分片存储方法机械设计与制造(2022年11期)2022-11-21基于秘密分享的高效隐私保护四方机器学习方案计算机研究与发展(2022年10期)2022-10-14比特币的安全性到底有多高计算机与网络(2022年2期)2022-03-17基于改进ECC 算法的网络信息私钥变换优化方法网络安全技术与应用(2021年7期)2021-07-16关于半模同态的分解*吉首大学学报(自然科学版)(2020年2期)2020-09-14拉回和推出的若干注记五邑大学学报(自然科学版)(2020年1期)2020-06-17一种基于虚拟私钥的OpenSSL与CSP交互方案装甲兵工程学院学报(2018年1期)2018-06-19一种基于LWE的同态加密方案信息安全研究(2016年3期)2016-12-01绿色农房建设伙伴关系模式初探中国房地产·学术版(2016年7期)2016-10-21HES:一种更小公钥的同态加密算法衡阳师范学院学报(2016年3期)2016-07-10

    相关热词搜索:密钥 同态 高效

    • 范文大全
    • 说说大全
    • 学习资料
    • 语录
    • 生肖
    • 解梦
    • 十二星座