CN114499844B - 多方安全乘法的执行方法、装置、设备及介质 - Google Patents

多方安全乘法的执行方法、装置、设备及介质 Download PDF

Info

Publication number
CN114499844B
CN114499844B CN202210026865.XA CN202210026865A CN114499844B CN 114499844 B CN114499844 B CN 114499844B CN 202210026865 A CN202210026865 A CN 202210026865A CN 114499844 B CN114499844 B CN 114499844B
Authority
CN
China
Prior art keywords
ciphertext
polynomial
party
public key
product
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.)
Active
Application number
CN202210026865.XA
Other languages
English (en)
Other versions
CN114499844A (zh
Inventor
张祺智
李漓春
尹栋
殷山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210026865.XA priority Critical patent/CN114499844B/zh
Publication of CN114499844A publication Critical patent/CN114499844A/zh
Application granted granted Critical
Publication of CN114499844B publication Critical patent/CN114499844B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种多方安全乘法的执行方法及装置,在基于全同态加密(如BFV加密机制)的多方安全乘法执行过程中,私钥方利用可与公钥通过同一私钥解密的伪公钥对本地乘数进行加密,从而噪声项数量减少,且伪公钥的选择域可放宽至整个密文空间。由于在解密过程中,包含伪公钥的项可以被抵消,最终解密的正确性依赖一个乘数和一个系数较小的噪声项的乘积的模值,减少来了解密过程中的不可控因素,从而有效缩小密文空间,提高安全乘法的准确性和计算效率。

Description

多方安全乘法的执行方法、装置、设备及介质
技术领域
本说明书一个或多个实施例涉及安全计算技术领域,尤其涉及多方安全乘法的执行方法及装置。
背景技术
多方安全计算又称为安全多方计算,也简称MPC,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。多方安全计算例如可以应用于隐私求交、联合训练机器学习模型、数据查询,等等。其中一个典型的应用是隐私保护的多方数据的联合统计分析和机器学习。多方安全计算能让参与的各方在不暴露各自原始数据的情况下,能够计算出基于各方联合数据的统计结果、机器学习结果。这其中多方安全计算的函数可以是一个统计运算的函数、一个机器学习算法等等,例如多方安全乘法。在多方安全计算过程中,如何加密、解密是一个重要问题。
发明内容
本说明书一个或多个实施例描述了一种多方安全乘法的执行方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供一种多方安全乘法的执行方法,用于基于全同态加密方式确定第一持有的第一数据与第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述方法包括:第一方利用预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为系数由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;第一方利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声,加密所述第一多项式,得到第一密文提供给第二方;第二方用所述公钥加密从所述预定多项式空间中随机生成的第三多项式,得到第二密文;第二方基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方;第一方通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
根据第二方面,提供一种多方安全乘法的执行方法,用于基于全同态加密方式确定第一方持有的第一数据、第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述方法由第一方执行,包括:基于预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声,加密所述第一多项式,得到第一密文提供给第二方,以供第二方基于所述公钥加密从所述预定多项式空间中随机生成的第三多项式,得到第二密文,并基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方;通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
在一个实施例中,所述私钥为基于所述第一分布在所述预定密文空间中选择的第四多项式。
在一个实施例中,所述公钥包括两个元素组成的二元组,其中的第二个元素为利用均匀概率在预定密文空间中随机采样的第五多项式,第一个元素由所述私钥与第二个元素的乘积添加第二噪声确定,所述第二噪声为基于所述第一分布在所述预定密文空间中选择的第六多项式。
在一个实施例中,所述第一密文为包括两个元素的二元组,其中的第二个元素为所述伪公钥,第一个元素为第一参考值与所述第一多项式的乘积减去所述私钥与所述伪公钥的乘积得到的差上添加所述第一噪声得到的结果,所述第一参考值的模数大于预定正数m,m大于n。
在一个实施例中,所述第二密文为包括两个元素的二元组,其中的第一个元素为在所述第一参考值与所述第三多项式的乘积上添加基于所述公钥确定的第一干扰项得到的结果,其中的第一个元素为基于所述公钥确定的第二干扰项。
在一个实施例中,所述第三密文为包含两个元素的二元组,所述通过所述私钥解密所述第三密文,得到第一结果包括:对第三密文的第一个元素加上第三密文的第二个元素与所述私钥的乘积进行求和,得到第一和数;基于所述第一和数与所述第一参考值的商,确定对所述第三密文解密得到的第一结果。
在一个实施例中,所述全同态加密方式通过BFV加密体制实现。
根据第三方面,提供一种多方安全乘法的执行装置,用于基于全同态加密方式确定第一持有的第一数据与第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述装置设于第一方,包括:
密钥生成单元,配置为基于预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;
加密单元,配置为利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声,加密所述第一多项式,得到第一密文提供给第二方,以供第二方基于所述公钥加密随机生成的第三多项式,得到第二密文,并基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方;
解密单元,配置为通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第二方面的方法。
根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第二方面的方法。
通过本说明书实施例提供的方法和装置,在基于全同态加密(如BFV加密机制)的多方安全乘法执行过程中,私钥方利用可与公钥用同一私钥解密的伪公钥对本地乘数进行加密,噪声项数量减少,且伪公钥的选择域可放宽至整个密文空间。由于在解密过程中,包含伪公钥的项可以被抵消,最终解密的正确性依赖一个乘数和一个系数较小的噪声项的乘积的模值,减少了解密过程中的不可控因素,从而有效缩小密文空间,提高安全乘法的准确性和计算效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据本说明书技术构思的多方安全乘法的双方交互执行方法流程图;
图2示出根据一个实施例的多方安全乘法一方执行的方法流程图;
图3示出根据一个实施例的设于安全计算的私钥方的多方安全乘法的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的技术方案进行描述。
首先描述本说明书中可能涉及的一些概念。
同态加密:一种加密体系,可以通过加密函数将数据变为密文,并通过加密函数的逆函数对密文解密得到明文,满足密文和解密等于明文和的性质称为加密函数的加法同态,密文积解密等于明文积的性质称为加密函数的乘法同态。如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密。使用这个加密函数完成各种加密后的运算(加减乘除、多项式求值、指数、对数、三角函数)。
和共享:在双方安全计算中,把一个0至N-1的整数x以x=xL+xR以模N的共享形式分布式储存在两方,使得一方不知道xR,另一方不知道xL,两方中的任一方方不能得到x的完整形式。
和共享形式的安全计算:保持和共享形式进行计算,计算过程中单方始终无法推断出各个数据在对方保存的部分。
基于以上概念,在由两方安全计算多项式乘积过程中,假设一方持有第一数据作为其中一个乘数,另一方持有第二数据作为其中另一个乘数。本说明书采用多项式环上的加密构思。假设第一数据、第二数据为定义在多项式环Zt(x)/(Q(x))上的多项式,t为正整数,第一数据对应第一多项式f(x),第二数据对应第二多项式g(x)。在采用BFV之类的全同态加密的加密方式下,将计算结果以和共享形式共存于参与计算的两方。为了能够保证和共享形式下双方均不能获取计算结果,常规技术中的构思是,持有私钥的一方将本地数据(如多项式g(x),以下也可简记为g)加密后提供给另一方,另一方方利用明密文结合计算两个多项式(f(x)、g(x))的乘积与以上多项式空间的一个随机多项式r的差,如fg-r,其中f为f(x)的简略记法。另一方保存r,并将fg-r的密文提供给持有私钥的一方,持有私钥的一方利用私钥解密密文得到fg-r,从而两方得到和共享形式的乘积,但均无法获知fg的真实结果。
下面通过一个例子描述多方安全计算多项式乘积的常规方法。为了描述方便,将进行安全乘法的两方称为第一方、第二方。
首先,可以定义一个密文空间,令q是远大于t的正整数(如令q与t的比值大于预定比值,如大于1000),则整数q可以定义一个多项式环Rq=Zq(x)/(Q(x))作为密文空间。该多项式环Rq也可以理解为由整数q限定的多项式集合。χ是Rq上系数的模仅限足够小的整数的多项式全体上的均匀分布。后续的私钥、噪声等可以通过χ采样。这里,为了保证采样噪声足够小,可以令预定整数的模小于预定正数n,例如n=1的情况下,χ可以是Rq上系数为[-1,0,1]的多项式全体上的均匀分布。
持有g(x)的第一方可以通过分布χ随机选择多项式s作为私钥,并在Rq上随机选择多项式a,从而生成二元组(p0,p1)=(-(as+e),a)作为公钥。其中,e为通过分布χ在Rq上随机采样的多项式,以作为噪声。如此,可以保证p0+p1·s和0相差一个噪声e,在e足够小的情况下p0+p1·s约为0。第一方可以将公钥公布给第二方。
另外,第一方还可以利用公钥加密多项式g(x)。在全同态加密体制下,加密结果例如为:
ct(g)=(Δg+p0u+e1,p1u+e2)
其中,Δ为安全乘法计算的参考值,用于将多项式g和加密噪声区分开,为此,Δ通常取较大的数(大于预定值),例如取q/t。u、e1、e2均为通过分布χ在Rq上随机采样的多项式,作为参考式或噪声。第一方可以将该加密结果ct(g)提供给第二方。
由于f、g均为定义在Rt上的多项式,因此,第二方可以在Rt上随机采样多项式r,作为和共享的结果之一。第二方对该多项式r加密,例如为:
ct(r)=(Δr+p0υ+e3,p1υ+e4)
其中,Δ可以是与第一方同步的参考值,v与u类似,e3、e4为噪声项,v、e3、e4均为通过分布χ在Rq上随机采样的多项式,作为参考式或噪声。可以看出,以上加密结果均为二元组形式,和公钥相对应。
此时,第二方持有f的明文、g的密文以及r的密文,根据同态加密的性质,f的明文与g的密文的乘积为fg的密文fct(g),且该密文与r的密文ct(r)之差,即fct(g)-ct(r),为和共享的另一结果fg-r的密文,该密文可以通过第一方持有的私钥s解密。以上过程中,密文的关键项被乘以Δ和噪声区分,因此,解密时需要除以Δ过滤掉噪声。另外,由于公钥满足p0+p1·s约等于0,则可以通过对fg-r的密文中的第一元素加上第二元素与私钥的乘积得到的和再除以Δ,解密fg-r。也就是说,假设fg-r的密文为h=(Δ(fg-r),0)+(fu-υ)(p0,p1)+f(e1,e2)-(e3,e4),简单记为h=(h0,h1),则对fg-r的密文的解密方式为:(h0+h1·s)/Δ。如此,第二方可以将fg-r的密文提供给第一方,共第一方解密得到fg-r作为fg乘积的和共享形式的另一结果。第一方持有的fg-r和第二方持有的r描述出和共享结果fg。
在解密过程中,fg-r的密文,将噪声项合并,可以得到:
h0+h1s=Δ(fg-r)+(fu-υ)e+fe1+se2-e3-se4
该式中,在Rt上的多项式的系数均为整数的情况下,由于噪声项e、e1、e2、e3、e4都是较小项,因此,ve、fe1、se2、e3、se4除以Δ之后可以忽略,而fue项需要满足模值||fue||远小于Δ,如||fue||与Δ的比值小于接近0的一个数δ等,才能正确解密fg-r。这样,需要Δ足够大。由于在该加密机制下,计算结果需要对q取模,从而导致q较大,密文空间较大,计算量和对计算资源的占用都较大。
有鉴于此,本说明书提供一种在私钥方使用伪公钥和私钥加密的方法,缩小密文空间。该方案可行的依据是伪公钥在解密过程中被抵消,从而解密过程仅与其中一个乘数和噪声项相关。下面详细描述其加解密原理。其中,该方案与前述方案的区别在于,第一方对g(x)加密过程中不是用公钥,而是使用在密文空间Rq中采样到的伪公钥u'。第一方对g的加密结果例如为:ct(g)=(Δg-u's+e1,u')。第一方将公钥(p0,p1)和ct(g)公开给第二方,而不泄露私钥u和伪公钥u'。第二方的操作步骤与上述方法类似,可以得到fg-r的密文如下:
h=(Δ(fg-r),0)+f(-u′s,u′)+f(e1,0)-υ(p0,p1)-(e3,e4)
进一步地,解密过程h0+h1·s化简为:
h0+h1s=Δ(fg-r)+fe1-υe-e3-e4s
可以看出,在解密过程中,伪公钥u'被消除,从而,解密过程仅和噪声项e、e1、e3、e4相关,这些都是较小项,在被Δ除后可忽略,其中的最大项可能是fe1。如此,在||fe1||远小于Δ的情况下,即可正确解密fg-r。与前文的技术方案相比,解密条件少了一个干扰项u,使得密文空间的要求降低,从而缩小密文空间,提高解密的正确性和有效性。
下面参考图1示出的一个具体例子描述本说明书的技术构思。
如图1所示,是一个多方安全乘法的执行流程。该流程由第一方和第二方在安全计算的业务场景下,确定第一方持有的第一数据、第二方持有的第二数据的乘积,为了描述方便,这里称为第一乘积。第一数据、第二数据分别可以描述为多项式环Zt(x)/(Q(x))上的第一多项式、第二多项式。这里第一数据、第二数据根据实际业务场景可以对应相应业务数据,例如在针对知识图谱的图学习场景下,图数据中的用户节点对应的用户身份属性、用户偏好属性等业务数据。这些业务数据可以被提取为特征矩阵,那么对图数据进行处理时,权重矩阵、邻接矩阵与特征矩阵之间的乘法计算,可以是多方安全乘法,适用本说明书提供的安全乘法流程。值得说明的是,本说明书的安全乘法针对BFV加密体制提出,其对于与BFV具有相似加密体制的全同态加密方式下的安全乘法均可以适用。
假设第一多项式、第二多项式为预先确定的多项式空间(记为明文空间Rt)中的多项式,根据具体业务需求,需要确定第一多项式、第二多项式对应的第一乘积。如图1所示,针对第一多项式、第二多项式的多方安全乘法执行流程可以包括以下步骤:
步骤101,第一方利用预定密文空间和第一分布生成私钥、公钥。
其中,预定密文空间可以是第一方、第二方协商确定的多项式空间。例如,预定密文空间(以下记为Rq)中涉及的多项式的系数(均为整数)由预定整数(q)限定。Rq中涉及的多项式的系数为整数且模均小于q。该预定整数可以同时限定密文的值空间,也就是说,第一方、第二方对数据的存储可以对q取模而在0至q-1之间取值。q例如取2的幂加1(如2N+1)。为了降低计算复杂度,本说明书涉及的多项式系数均可仅在整数范围内取值。
公钥、私钥都可以基于该密文空间进行确定。为了在密文空间选择足够小的密钥或噪声,还可以在密文空间Rq上定义一个系数足够小的多项式在整体上的分布χ,记作第一分布,用来表示密文空间Rq上系数的模小于正数n的多项式在预定密文空间Rq中的均匀分布。在n=1的情况下,χ可以表示Rq上系数仅取[-1,0,1]的多项式在全体上的均匀分布。
在BFV类似的加密架构下,私钥可以是一个多项式,在一个实施例中,第一方可以按照第一分布在密文空间Rq采样,得到一个多项式,如记为第四多项式,作为私钥s。
在BFV类似的加密架构下,公钥可以是两个元素组成的二元组。该二元组可以基于私钥构建。例如第二个元素p1为多项式a,第一个元素p0可以为-(as+e),从而保证第一个元素p0与第二个元素p1和私钥s的乘积之和p0+p1×s约为0(和0相差一个噪声项e)。该加密过程与针对密文以第一个元素与第二个元素和私钥s的乘积之和进行解密的方式相对应。在一个实施例中,公钥的第二个元素a可以是在密文空间Rq中均匀随机采样的第五多项式。这是因为,解密过程中公钥的第二个元素a通常可以被抵消,对第五多项式的系数没有取较小数的需求。在其他实施例中,第二个元素a也可以根据第一分布χ或以其他方式从密文空间Rq采样。公钥可以记为(p0,p1)=(-(as+e),a)。其中,为了满足解密时对噪声尽可能小的需求,噪声项e可以根据第一分布χ从密文空间Rq采样的多项式,如称为第六多项式,以使得噪声项e的多项式系数的模尽可能小。为了对各个噪声项进行区别,噪声项e例如可以称为第二噪声。
步骤102,第一方利用在预定密文空间中随机选择的伪公钥、私钥、基于第一分布采样得到的第一噪声,加密第一多项式,得到第一密文提供给第二方。
除了在步骤301中确定的公钥和私钥外,另一方面,第一方还可以在预定密文空间Rq内采样伪公钥。所谓伪公钥,可以理解为和公钥一样用于数据加密,并可以通过上述私钥s解密的密钥。区别在于,公钥可以公开给第二方,而伪公钥不公开给第二方。伪公钥(如记为u')可以是在密文空间Rq中均匀随机采样的一个多项式,也可以是根据第一分布χ从密文空间Rq采样的一个多项式,在此不做限定。
根据类似BFV加密机制的加解密原理,第一方进一步可以通过伪公钥u'和私钥s对第一多项式g进行加密。为了区分,加密过程中使用的噪声项例如称为第一噪声,并用e1标记。按照BFV加密机制的加密原理,对第一多项式g进行加密得到的第一密文ct(g)仍为二元组形式。该二元组中,第二个元素可以是伪公钥,第一个元素为在第一参考值Δ与第一多项式g的乘积减去私钥s与伪公钥u'的乘积得到的差上添加第一噪声e1得到的结果。例如记为:ct(g)=(Δg-u's+e1,u')。这里,Δ是一个用于将数据项和噪声项区分开来的足够大的参考数据,例如可以是模数大于预定正数m的数,如取q/t。可以理解,n是限定噪声项系数的整数,通常尽可能小,而Δ要足够大,因此m通常远大于n。
在其他加密机制中,也可以利用伪公钥u'、私钥s通过其他方式对第一多项式g进行加密,在此不再赘述。第一方对第一多项式的加密结果ct(g)可以称为第一密文。第一方可以将公钥(p0,p1)和第一密文ct(g)一起或分别提供给第二方。
步骤103,第二方用公钥加密从多项式空间中随机生成的第三多项式,得到第二密文。
可以理解,为了满足和共享形式的乘法结果,第二方可以从与第一多项式、第二多项式所在的多项式空间Rt中随机采样一个多项式,如称为第三多项式r,作为fg乘积的和共享的一方结果,这里例如可以和持有者第二方对应称为第二结果。
为了使第一方得到和共享的另一结果,第二方需要向第一方提供fg-r的密文。因此,第二方需要通过公钥对第三多项式r进行加密,加密结果ct(r)如称为第二密文。根据相应加密原理,第二密文ct(r)可以为二元组形式,如:ct(r)=(Δr+p0υ+e3,p1υ+e4)。通过公钥对第三多项式r进行加密的方式与常规方式类似,第二密文ct(r)中的第一个元素中,首先对第三多项式通过第一参考值Δ进行处理(处理结果即第一参考值与第三多项式的乘积Δr),然后增加由前述公钥的第一个元素p0确定的第一干扰项p0v+e3,其中,v和e3均为通过第一分布χ从密文空间Rq采样的多项式,e3为噪声。第二密文ct(r)中的第一个元素可以看作基于公钥的第二个元素p1确定的第二干扰项p1v+e4,e4为通过第一分布χ从密文空间Rq采样的作为噪声的多项式。
如果采用的是与BFV类似的加密机制,则第二方对第二多项式的加密方式也可以是其他方式,在此不再赘述。
步骤104,第二方基于第二多项式的明文与第一密文的第二乘积减去第二密文的差,得到第三密文提供给第一方。
根据全同态加密的性质,明文与密文的乘积与明文数据乘积的密文一致,密文与密文的差与明文的差对应的密文一致。因此,第二方可以采用明密文结合的方式确定fg-r的密文,即基于第二多项式的明文与第一密文的第二乘积减去第二密文的差得到第三密文,如记为:h=fct(g)-ct(r)。第二方可以将该第三密文h提供给第一方,作为第一方的和共享结果的密文。
步骤105,第一方通过私钥解密第三密文,得到第一结果。
根据前文所描述的原理,对于通过公钥(p0,p1)和伪公钥u'加密的数据都可以通过私钥s进行解密,解密方式是:计算密文的第一个元素加上密文的第一个元素与私钥s的乘积,得到相应和数;再对相应和数除以第一参考值Δ,得到相应解密的明文数据。其中,由于噪声项的存在,可以采用相应措施排除噪声项的影响。在第一参考值Δ足够大的情况下,噪声项与第一参考值Δ的商通常为较小的数,而多项式空间Rt中的多项式系数通常为整数,因此,可以通过诸如四舍五入、直接取整数部分等取整方式得到解密结果。
对于第三密文来说,可以对第三密文的第一个元素加上第三密文的第二个元素与私钥的乘积进行求和,得到第一和数,再基于第一和数与第一参考值的商,确定对第三密文解密得到的第一结果,如记为(h0+h1×s)/Δ取整。这里的第一结果与第一方相对应。第一结果和第二方作为第二结果的第三多项式以和共享形式描述第一乘积。即第一结果fg-r与第二结果r的和为第一多项式f与第二多项式g的乘积fg。
以上通过第一方、第二方交互的方式对本方案的技术构思进行了描述。可知,本说明书针对常规技术的改进点为第一方(私钥方)对业务数据的加密采用了伪公钥的方式。如图2所示,本说明书提供的多方安全乘法的执行方法由第一方执行的流程可以包括:
步骤201,基于预定密文空间和第一分布生成私钥、公钥,预定密文空间为系数在预定整数集合中的多项式集合,第一分布为预定密文空间中系数的模小于正数n的多项式在预定密文空间中的分布;
步骤202,利用在预定密文空间中随机选择的伪公钥、私钥、基于第一分布采样得到的第一噪声,加密第一多项式,得到第一密文提供给第二方,以供第二方基于公钥加密随机生成的第三多项式,得到第二密文,并基于第二多项式的明文与第一密文的第二乘积减去第二密文的差,得到第三密文提供给第一方;
步骤203,通过私钥解密第三密文,得到第一结果,第一结果和第二方作为第二结果的第三多项式以和共享形式描述第一乘积。
值得说明的是,图2示出的方法实施例为图1示出的交互流程中第一方执行的流程,因此,图1中关于第一方执行的操作同样适用于图2示出的流程,在此不再赘述。
回顾以上过程,本说明书提供的技术构思,在基于全同态加密(如BFV加密机制)的多方安全乘法执行过程中,私钥方利用可与公钥用同一私钥解密的伪公钥对本地乘数进行加密,噪声项数量减少,且伪公钥的选择域可放宽至整个密文空间。由于在解密过程中,包含伪公钥的项可以被抵消,最终解密的正确性依赖第二多项式和一个系数较小的噪声项的乘积的模值,从而有效缩小密文空间,提高安全乘法的准确性和计算效率。在多方安全计算的实际业务场景中,根据所处理的业务数据,在一次安全交互中,可能涉及多个乘法计算,本说明书提供安全乘法的执行流程对提高安全计算的有效性表现尤为显著。
根据另一方面的实施例,还提供一种设于私钥方(第一方)的多方安全乘法的执行装置。图3示出了一个实施例的多方安全乘法的执行装置300。假设第一方持有的第一数据对应的第一多项式、第二方持有的第二数据对应的第二多项式为预先确定的多项式空间中的多项式,下面结合第一多项式、第二多项式的第一乘积的计算,对装置300进行描述。
如图3所示,装置300包括:
密钥生成单元301,配置为基于预定密文空间和第一分布生成私钥、公钥,预定密文空间为由预定整数限定的多项式集合构成的空间,第一分布为预定密文空间中系数的模小于正数n的多项式在预定密文空间中的分布;
加密单元302,配置为利用在预定密文空间中随机选择的伪公钥、私钥、基于第一分布采样得到的第一噪声,加密第一多项式,得到第一密文提供给第二方,以供第二方基于公钥加密随机生成的第三多项式,得到第二密文,并基于第二多项式的明文与第一密文的第二乘积减去第二密文的差,得到第三密文提供给第一方;
解密单元303,配置为通过私钥解密第三密文,得到第一结果,第一结果和第二方作为第二结果的第三多项式以和共享形式描述第一乘积。
在一个实施例中,私钥为基于第一分布在预定密文空间中选择的第四多项式。
根据一个可选的实施方式,公钥包括两个元素组成的二元组,其中的第二个元素为利用均匀概率在预定密文空间中随机采样的第五多项式,第一个元素由私钥与第二个元素的乘积添加第二噪声确定,第二噪声为基于第一分布在预定密文空间中选择的第六多项式。
根据一个可选的实施方式,第一密文为包括两个元素的二元组,其中的第二个元素为伪公钥,第一个元素为第一参考值与第一多项式的乘积减去私钥与伪公钥的乘积得到的差上添加第一噪声得到的结果,第一参考值的模数大于预定正数m,m大于n。
根据一个可选的实施方式,第二密文为包括两个元素的二元组,其中的第一个元素为在第一参考值与第三多项式的乘积上添加基于公钥确定的第一干扰项得到的结果,其中的第一个元素为基于公钥确定的第二干扰项。
根据一个可选的实施方式,第三密文为包含两个元素的二元组,通过私钥解密第三密文,得到第一结果包括:
对第三密文的第一个元素加上第三密文的第二个元素与私钥的乘积进行求和,得到第一和数;
基于第一和数与第一参考值的商,确定对第三密文解密得到的第一结果。
值得说明的是,图3所示的装置300与图2描述的方法相对应,图2的方法实施例中的相应描述同样适用于装置300,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2等所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2等所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (16)

1.一种多方安全乘法的执行方法,用于基于全同态加密方式确定第一方持有的第一数据与第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述方法包括:
第一方利用预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为系数由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;
第一方利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声e1,加密所述第一多项式,得到第一密文提供给第二方,所述伪公钥加密的数据通过所述私钥进行解密且所述伪公钥不公开给第二方,所述第一密文为基于所述伪公钥确定的以下二元组:第二个元素为所述伪公钥,第一个元素基于第一参考值Δ与第一多项式g的乘积减去私钥s与伪公钥u'的乘积得到的差上添加第一噪声得到,Δ是用于将数据项和噪声项区分开来的参考数据,且模数大于预定正数m;
第二方用所述公钥加密从所述预定多项式空间中随机生成的第三多项式r,得到第二密文;
第二方基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方;
第一方通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
2.一种多方安全乘法的执行方法,用于基于全同态加密方式确定第一方持有的第一数据、第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述方法由第一方执行,包括:
基于预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;
利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声,加密所述第一多项式,得到第一密文提供给第二方,以供第二方基于所述公钥加密从所述预定多项式空间中随机生成的第三多项式,得到第二密文,并基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方,所述伪公钥加密的数据通过所述私钥进行解密且所述伪公钥不公开给第二方,所述第一密文为基于所述伪公钥确定的以下二元组:第二个元素为所述伪公钥,第一个元素基于第一参考值Δ与第一多项式g的乘积减去私钥s与伪公钥u'的乘积得到的差上添加第一噪声得到,Δ是用于将数据项和噪声项区分开来的参考数据,且模数大于预定正数m;
通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
3.根据权利要求2所述的方法,其中,所述私钥为基于所述第一分布在所述预定密文空间中选择的第四多项式。
4.根据权利要求2所述的方法,其中,所述公钥包括两个元素组成的二元组,其中的第二个元素为利用均匀概率在预定密文空间中随机采样的第五多项式,第一个元素由所述私钥与第二个元素的乘积添加第二噪声确定,所述第二噪声为基于所述第一分布在所述预定密文空间中选择的第六多项式。
5.根据权利要求2所述的方法,其中,所述第一密文为包括两个元素的二元组,其中的第二个元素为所述伪公钥,第一个元素为第一参考值与所述第一多项式的乘积减去所述私钥与所述伪公钥的乘积得到的差上添加所述第一噪声得到的结果,所述第一参考值的模数大于预定正数m,m大于n。
6.根据权利要求5所述的方法,其中,所述第二密文为包括两个元素的二元组,其中的第一个元素为在所述第一参考值与所述第三多项式的乘积上添加基于所述公钥确定的第一干扰项得到的结果,其中的第二个元素为基于所述公钥确定的第二干扰项。
7.根据权利要求6所述的方法,其中,所述第三密文为包含两个元素的二元组,所述通过所述私钥解密所述第三密文,得到第一结果包括:
对第三密文的第一个元素加上第三密文的第二个元素与所述私钥的乘积进行求和,得到第一和数;
基于所述第一和数与所述第一参考值的商,确定对所述第三密文解密得到的第一结果。
8.根据权利要求2-7中任一所述的方法,其中,所述全同态加密方式通过BFV加密体制实现。
9.一种多方安全乘法的执行装置,用于基于全同态加密方式确定第一方持有的第一数据与第二方持有的第二数据的第一乘积,所述第一数据、所述第二数据分别通过预定多项式空间中的第一多项式、第二多项式描述;所述装置设于第一方,包括:
密钥生成单元,配置为基于预定密文空间和第一分布生成私钥、公钥,所述预定密文空间为由预定整数限定的多项式集合构成的空间,所述第一分布为所述预定密文空间中系数的模小于正数n的多项式在所述预定密文空间中的分布;
加密单元,配置为利用在所述预定密文空间中随机选择的伪公钥、所述私钥、基于所述第一分布采样得到的第一噪声,加密所述第一多项式,得到第一密文提供给第二方,以供第二方基于所述公钥加密从所述预定多项式空间中随机生成的第三多项式,得到第二密文,并基于所述第二多项式的明文与所述第一密文的第二乘积减去所述第二密文的差,得到第三密文提供给第一方,所述伪公钥加密的数据通过所述私钥进行解密且所述伪公钥不公开给第二方,所述第一密文为基于所述伪公钥确定的以下二元组:第二个元素为所述伪公钥,第一个元素基于第一参考值Δ与第一多项式g的乘积减去私钥s与伪公钥u'的乘积得到的差上添加第一噪声得到,Δ是用于将数据项和噪声项区分开来的参考数据,且模数大于预定正数m;
解密单元,配置为通过所述私钥解密所述第三密文,得到第一结果,所述第一结果和第二方作为第二结果的所述第三多项式以和共享形式描述所述第一乘积。
10.根据权利要求9所述的装置,其中,所述私钥为基于所述第一分布在所述预定密文空间中选择的第四多项式。
11.根据权利要求9所述的装置,其中,所述公钥包括两个元素组成的二元组,其中的第二个元素为利用均匀概率在预定密文空间中随机采样的第五多项式,第一个元素由所述私钥与第二个元素的乘积添加第二噪声确定,所述第二噪声为基于所述第一分布在所述预定密文空间中选择的第六多项式。
12.根据权利要求9所述的装置,其中,所述第一密文为包括两个元素的二元组,其中的第二个元素为所述伪公钥,第一个元素为第一参考值与所述第一多项式的乘积减去所述私钥与所述伪公钥的乘积得到的差上添加所述第一噪声得到的结果,所述第一参考值的模数大于预定正数m,m大于n。
13.根据权利要求9所述的装置,其中,所述第二密文为包括两个元素的二元组,其中的第一个元素为在所述第一参考值与所述第三多项式的乘积上添加基于所述公钥确定的第一干扰项得到的结果,其中的第二个元素为基于所述公钥确定的第二干扰项。
14.根据权利要求13所述的装置,其中,所述第三密文为包含两个元素的二元组,所述通过所述私钥解密所述第三密文,得到第一结果包括:
对第三密文的第一个元素加上第三密文的第二个元素与所述私钥的乘积进行求和,得到第一和数;
基于所述第一和数与所述第一参考值的商,确定对所述第三密文解密得到的第一结果。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求2-8中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求2-8中任一项所述的方法。
CN202210026865.XA 2022-01-11 2022-01-11 多方安全乘法的执行方法、装置、设备及介质 Active CN114499844B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210026865.XA CN114499844B (zh) 2022-01-11 2022-01-11 多方安全乘法的执行方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210026865.XA CN114499844B (zh) 2022-01-11 2022-01-11 多方安全乘法的执行方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114499844A CN114499844A (zh) 2022-05-13
CN114499844B true CN114499844B (zh) 2024-02-13

Family

ID=81510925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210026865.XA Active CN114499844B (zh) 2022-01-11 2022-01-11 多方安全乘法的执行方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114499844B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317669A (zh) * 2017-07-21 2017-11-03 西安电子科技大学 基于二元截断多项式环的无噪音全同态公钥加密方法
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
CN108718231A (zh) * 2018-07-04 2018-10-30 深圳大学 一种全同态加密方法、装置和计算机可读存储介质
CN112906030A (zh) * 2021-03-09 2021-06-04 浙江万里学院 基于多方全同态加密的数据共享方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11962679B2 (en) * 2020-06-19 2024-04-16 Duality Technologies, Inc. Secure distributed key generation for multiparty homomorphic encryption

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
CN107317669A (zh) * 2017-07-21 2017-11-03 西安电子科技大学 基于二元截断多项式环的无噪音全同态公钥加密方法
CN108718231A (zh) * 2018-07-04 2018-10-30 深圳大学 一种全同态加密方法、装置和计算机可读存储介质
CN112906030A (zh) * 2021-03-09 2021-06-04 浙江万里学院 基于多方全同态加密的数据共享方法和系统

Also Published As

Publication number Publication date
CN114499844A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN112989368B (zh) 多方联合进行隐私数据处理的方法及装置
WO2021197037A1 (zh) 双方联合进行数据处理的方法及装置
EP3424175B1 (en) Converting a boolean masked value to an arithmetically masked value for cryptographic operations
CN110912713B (zh) 多方联合进行模型数据处理的方法及装置
CN110991655B (zh) 多方联合进行模型数据处理的方法及装置
KR100891323B1 (ko) 이진 필드 ecc에서 랜덤 포인트 표현을 이용하여 파워해독의 복잡도를 증가시키기 위한 암호화 방법 및 장치
CN109033854A (zh) 基于模型的预测方法和装置
US9641332B1 (en) Privacy-preserving measurements of a campaign
EP3230921B1 (en) Multiplicative masking for cryptographic operations
Akavia et al. Linear-regression on packed encrypted data in the two-server model
CN112865953B (zh) 基于辅助服务器的安全多方计算方法、装置和系统
CN108933650B (zh) 数据加解密的方法及装置
EP2742644B1 (en) Encryption and decryption method
CN114239019A (zh) 保护隐私数据的共有数据数目确定方法、装置和系统
US20230361986A1 (en) Simd interactive comparison using garbled circuits and interactive bootstrapping for homomorphic encryption
Ugwuoke et al. Secure fixed-point division for homomorphically encrypted operands
CN114499844B (zh) 多方安全乘法的执行方法、装置、设备及介质
Aly et al. Practically efficient secure distributed exponentiation without bit-decomposition
CN115529120A (zh) 一种保密计算系统
CN114629620A (zh) 同态加密计算方法及系统、同态请求、计算和密钥系统
CN114070558A (zh) 一种数据传输方法及装置
Blackledge et al. Phase-only digital encryption
Liu et al. Proofs of encrypted data retrievability with probabilistic and homomorphic message authenticators
JP2010186075A (ja) 整数の暗号化及び復号化方法
JP5208717B2 (ja) 整数の暗号化及び復号化方法

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
GR01 Patent grant
GR01 Patent grant