CN110348231A - 实现隐私保护的数据同态加解密方法及装置 - Google Patents

实现隐私保护的数据同态加解密方法及装置 Download PDF

Info

Publication number
CN110348231A
CN110348231A CN201910528750.9A CN201910528750A CN110348231A CN 110348231 A CN110348231 A CN 110348231A CN 201910528750 A CN201910528750 A CN 201910528750A CN 110348231 A CN110348231 A CN 110348231A
Authority
CN
China
Prior art keywords
random number
data
group
homomorphism
ciphertext
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.)
Granted
Application number
CN201910528750.9A
Other languages
English (en)
Other versions
CN110348231B (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910528750.9A priority Critical patent/CN110348231B/zh
Publication of CN110348231A publication Critical patent/CN110348231A/zh
Priority to PCT/CN2020/071839 priority patent/WO2020253234A1/zh
Priority to TW109103360A priority patent/TWI734368B/zh
Priority to US16/783,102 priority patent/US10778410B2/en
Priority to US16/945,434 priority patent/US11159305B2/en
Application granted granted Critical
Publication of CN110348231B publication Critical patent/CN110348231B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书一个或多个实施例提供一种实现隐私保护的数据同态加解密方法及装置,该加密方法可以包括:获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;选取随机数r,使得hr属于所述预设循环群;通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hN modN2)r modN2;将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。上述方案可以应用于多方计算、区块链机密交易等多种场景中,以在实现隐私保护的同时,提升加解密效率。

Description

实现隐私保护的数据同态加解密方法及装置
技术领域
本说明书一个或多个实施例涉及加解密技术领域,尤其涉及一种实现隐私保护的数据同态加解密方法及装置。
背景技术
在很多场景下,用户都存在对数据内容进行隐私保护的需求。例如,区块链技术(也被称之为,分布式账本技术)是一种去中性化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中,但是由于全量交易数据都可以公开查询,可能暴露区块链交易的交易额等数据。再例如,在多方计算的场景下,譬如用户A持有待处理数据、用户B持有数据处理模型,在通过该数据处理模型对待处理数据实施处理时,如果用户A将待处理数据发送至用户B,会导致待处理数据的取值被暴露,如果用户B将数据处理模型提供至用户A进行使用,会导致数据处理模型的模型参数被暴露。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种实现隐私保护的数据同态加解密方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种实现隐私保护的数据同态加密方法,包括:
获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;
选取随机数r,使得hr属于所述预设循环群;
通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2
将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
根据本说明书一个或多个实施例的第二方面,提出了一种实现隐私保护的数据同态解密方法,包括:
获取同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到;其中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n;
根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值。
根据本说明书一个或多个实施例的第三方面,提出了一种实现隐私保护的数据同态加密装置,包括:
公钥获取单元,获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;
随机数选取单元,选取随机数r,使得hr属于所述预设循环群;
数据处理单元,通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2
密文提供单元,将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
根据本说明书一个或多个实施例的第四方面,提出了一种实现隐私保护的数据同态解密装置,包括:
密文获取单元,获取同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到;其中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n;
密文解密单元,根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值;
数据输出单元,将解密得到的数据m输出至所述目标用户。
根据本说明书一个或多个实施例的第五方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第六方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
根据本说明书一个或多个实施例的第七方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第二方面所述的方法。
根据本说明书一个或多个实施例的第八方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第二方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种实现隐私保护的数据同态加密方法的流程图。
图2是一示例性实施例提供的一种实现隐私保护的数据同态解密方法的流程图。
图3是一示例性实施例提供的一种随机数空间的示意图。
图4是一示例性实施例提供的一种区块链网络中实现机密交易的示意图。
图5是一示例性实施例提供的一种多方计算场景的交互示意图。
图6是一示例性实施例提供的一种设备的结构示意图。
图7是一示例性实施例提供的一种实现隐私保护的数据同态加密装置的框图。
图8是一示例性实施例提供的另一种设备的结构示意图。
图9是一示例性实施例提供的一种实现隐私保护的数据同态解密装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
同态加密(Homomorphic Encryption)技术可以将原始数据加密为相应的同态密文,并且同态密文无需解密为原始数据即可直接参与计算。例如,所参与的计算为加减运算时,表明相应的同态加密技术满足加法同态;所参与的计算为乘除运算时,表明相应的同态加密技术满足乘法同态;所参与的计算既包括加减运算又包括乘除运算时,表明相应的同态加密技术满足全同态。本说明书所实现的数据同态加解密方案可以实现加法同态。
在实现同态加解密之前,用户需要获得唯一对应于自身的公私钥对;换言之,每一用户分别维护一组公私钥对,且不同用户对应于不同的公私钥对。譬如,当某一用户持有公钥pk_0、私钥sk_0时,可以通过该公钥pk_0对某一明文数据m_0进行加密、得到相应的同态密文c_0,那么只有私钥sk_0能够将该同态密文c_0解密为明文数据m_0,而诸如另一用户持有的私钥sk_1或者其他数据均无法对同态密文c_0进行正常解密。
同时,假定上述用户通过公钥pk_0对明文数据m_1进行加密、得到相应的同态密文c_1,对明文数据m_2进行加密、得到相应的同态密文c_2,那么同态密文c_0、c_1和c_2之间可以满足加法同态。例如,可以对同态密文c_0、c_1和c_2实施下述计算:c_3=c_0+c_1-c_2,那么用户可以通过私钥sk_0对c_3进行解密、得到相应的明文数据m_3,并且基于前述的加法同态特性可以确定m_3=m_0+m_1-m_2。当然,同态密文的运算规则与明文数据的运算规则并不一定相同;比如,当明文数据的加法可以对应于同态密文的乘法、明文数据的减法可以对应于同态密文的除法时,可以对同态密文c_0、c_1和c_2实施下述计算:c_3=c_0×c_1÷c_2,则相应的明文数据m_3=m_0+m_1-m_2。
下面结合实施例,介绍本说明书的实现隐私保护的数据同态加解密方案:
图1是一示例性实施例提供的一种实现隐私保护的数据同态加密方法的流程图。如图1所示,该方法应用于计算设备上,可以包括以下步骤:
步骤102,获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n。
上述的计算设备可以属于目标用户,即目标用户可以通过自身对应的公钥pk对数据m进行同态加密,以针对该数据m的取值进行隐私保护,或者进一步实施其他操作。或者,上述计算设备可以属于目标用户之外的其他用户,而目标用户的公钥pk可以公开给该用户,使得该用户可以基于该公钥pk对数据m进行同态加密,甚至可以进一步对加密得到的同态密文c实施符合加法同态的其他运算,而只有目标用户可以通过私钥sk对同态密文c或其运算结果进行解密。
N为预先确定的一数值。例如,N的长度为n可以为2048bit(比特)或者其他长度,本说明书并不对此进行限制。那么,基于该数值N,可以确定出上述的随机数空间在该随机数空间中,可以确定出一预设循环群,该预设循环群具有一生成元为上述的h,使得该生成元h可以生成该预设循环群中的所有元素,例如:该预设循环群中的元素可以表征为h0、h1、h2……;其中,当上述预设循环群的大小为k时,该预设循环群中的元素可以表征为h0、……hk-1,并且生成元h的其他次幂均可以循环表征为h0、……hk-1,比如hk=h0、hk+1=h1、……、h2k-1=hk-1等。
步骤104,选取随机数r,使得hr属于所述预设循环群。
虽然随机数r具有随机性,但是需要确保hr属于前述的预设循环群,因而并不能够完全随意地选取随机数r。实际上,当预设循环群的大小为k时,应当确保r∈[0,k-1]。
同时,当k的长度为i比特时,可以确保随机数r的长度同样为i比特。而与N的长度n相比,由于i<<n,使得随机数r是相对远小于N的数值,譬如r与N的取值之间相差预设数量级。例如,当n=2048时,可以选取i=320,此时随机数r的取值远小于N的取值。
步骤106,通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2
在同态密文c的上述计算公式中,包含两部分内容:(1+N)m用于承载明文数据m、(hrmodN)N或(hNmodN2)r用于增加密文随机性。对于(hNmodN2)r而言,如前所述:通过从随机数空间中选取一预设循环群,并且该预设循环群的大小k具有相对较小的长度i,使得随机数r同样具有相对较小的长度,因而相比于选取长度为n或同等数量级的随机数而言,较小长度的随机数r可以确保(hNmodN2)r的计算量相对更小,从而在针对相同的数据m进行加密时,可以显著地提升加密效率。尤其是,在针对大量数据实施加密操作的场景下,比如区块链网络内可以显著提升机密交易的处理效率,再比如在多方计算场景下可以显著加快计算速度等。
通过限制上述长度i的最小取值,可以避免选取过小的随机数r,防止造成同态密文c的随机性不足而影响其安全性。例如,当n=2048时,通过设定i≥224,即随机数r的长度不小于224bit,可以确保同态密文c具有足够的随机性和安全性,譬如可以至少提供112-bit或更高的安全性(在2112个步骤内无法被攻破)。
在针对上述公式中的(hNmodN2)r进行计算时,虽然可以每次按照公式直接进行模幂计算,但是可能由于较大的计算量而需要较长的计算时长。实际上,通过将公式由(hrmodN)N转换为(hNmodN2)r之后,可以发现:(hNmodN2)r为i比特指数的固定底模幂,即(hNmodN2)r的底固定为hNmodN2,因而可以根据公钥pk中的h预先计算出hNmodN2的取值,而无需临时计算。
进一步地,由于随机数r的长度固定为i比特,因而所有随机数r均可以表征为i位的二进制字符串,该i位的二进制字符串可以被基于j比特的单位长度进行划分为i/j个数值段r_0、r_1、……、r_[(i/j)-1],可以统一表示为r_u,其中u∈[0,(i/j)-1]。假定这些数值段按照从低位至高位的顺序可以依次排列为r_0、r_1、……、r_[(i/j)-1],那么所有随机数r均可以表征为∑r_u·2ju=r_0+r_1·2j+……+r_[(i/j)-1]·2j[(i/j)-1],并且任意数值段r_u的取值必然属于[0,2j-1]。因此,上述的(hNmodN2)r可以拆解为可以进一步转换为例如,可以选取j=8或其他数值。
那么,可以预先计算出的取值,然后通过对实际选取的随机数r进行拆解后,结合预先计算的取值做进一步计算。或者,由于随机数r拆解得到的上述数值段r_0、r_1、……、r_[(i/j)-1]中,每个数值段的取值必然为[0,2j-1],因而可以预先计算出 的取值,那么对于实际选取的随机数r进行拆解后,譬如当拆解得到i/j个数值段ru且u∈[0,(i/j)-1]时,可以根据每个数值段的取值选取对应的预先计算出的取值,然后在完全不涉及到模幂运算的情况下,将这些取值相乘来计算得到(hNmodN2)r或进一步处理为[(hNmodN2)rmodN2],从而极大地提升计算效率。
例如,对于实际选取的随机数r,如果该随机数r拆解后得到的数值段分别为r0、r1……r(i/j)-1,即r=r0+r1·2j+……+r(i/j)-1·2j[(i/j)-1],那么根据上述预先计算的 构成的取值列表,可以直接从该取值列表中确定出的取值(即的ru次幂的取值),然后将这些取值相乘即可得到(hNmodN2)r或进一步处理为[(hNmodN2)rmodN2]。
最后,结合计算得到的(1+N)m的取值和上述的[(hNmodN2)rmodN2]的取值,可以进一步生成同态密文c。
步骤108,将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
相应地,图2是一示例性实施例提供的一种实现隐私保护的数据同态解密方法的流程图。如图2所示,该方法应用于计算设备上,可以包括以下步骤:
步骤202,获取同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到。
在上述公式中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n。关于公钥pk的生成过程、随机数r的选取和针对数据m的加密过程,可以参考上述图1所示的实施例,此处不再赘述。
步骤204,根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值。
当同态密文c的取值满足c=(1+N)m·(hNmodN2)rmodN2时,基于私钥sk的解密方式可以为:首先,根据密钥sk的取值α推算出前述预设循环群的大小k;然后,在上述同态密文c的计算公式两侧同时进行k次幂计算,得到ck=(1+N)km·(hNmodN2)rkmodN2=(1+N)km·[(hk)NmodN2]rmodN2。而如前所述,h为预设循环群的生成元且该预设循环群的大小为k,使得hk=h0=1,因而上述公式可以进一步转换为ck=(1+N)kmmodN2=1+km·NmodN2,所以可以计算得到
可见,由私钥sk的取值α与预设循环群的大小k相关,使得目标用户根据私钥sk对同态密文c的公式两侧同时取k次幂时,可以消去随机数部分(hNmodN2)r,仅剩下c与m之间的转换过程,从而能够顺利解密得到数据m。
步骤206,将解密得到的数据m输出至所述目标用户。
目标用户可以在所持的计算设备上执行上述同态解密操作,并向目标用户输出解密得到的数据m。或者,目标用户可以将同态密文c传输至非本地的某一计算设备上,譬如云端设备等,并且该计算设备受到目标用户信任、能够存储或临时获得目标用户的私钥sk,从而针对同态密文c进行解密,而后将解密得到的数据m输出并返回至该目标用户。
如前所述,通过选取满足一定条件的公私钥对,可以按照图1所述的实施例将数据m加密为相应的同态密文c、按照图2所述的实施例将同态密文c解密为相应的数据m。而下面将结合实施例,举例说明如何选取满足上述条件的公私钥对。
首先确定数字N。N的取值可以为两个大素数P、Q的乘积,使得P、Q的取值难以被猜测出。P、Q的长度可以为1024bit(比特),则N=P·Q的长度为2048bit,即上述的参数n=2048;当然,其他实施例中也可以采用其他长度,本说明书并不对此进行限制。当N的长度足够大时,P、Q的取值被猜测出的概率极低,因而基于P、Q的取值生成公私钥对时,可以确保公私钥的取值难以被猜测出,具有高安全性。其中,可以优先确定出N的长度n,然后选取长度为(n/2)的素数P、Q,并且确保满足P≡Q≡3mod4,gcd(P-1,Q-1)=2(即P-1与Q-1的最大公约数为2),然后计算得到N=P·Q。
根据确定出的数字N,可以得到消息空间ZN,该消息空间ZN所含元素为{0,……,N-1}。根据消息空间ZN,可以确定出随机数空间该随机数空间所含元素为消息空间ZN中所有与N互素的元素。由于N=P·Q,可以确定该随机数空间的大小(即所含元素的数量)为(P-1)(Q-1)。
随机数空间存在下述子群:二次剩余群QRN和群<-1>。其中,二次剩余群QRN所含元素为随机数空间中元素的2次方,即并且该二次剩余群QRN的大小为(P-1)(Q-1)/4。以及,群<-1>为由元素(-1mod N)生成的二阶循环群,该群<-1>所含元素为{-1mod N,1mod N},即群<-1>的大小为2。
进一步的,二次剩余群QRN存在下述子群:群与群并且二次剩余群QRN为群与群的内直积其中,表示群的大小、表示群的大小、|QRN|表示二次剩余群QRN的大小。其中,由于已知|QRN|=(P-1)(Q-1)/4,因而可以依此设定的取值,以使得能够满足上述的其中,群表示群QRN中所有元素的α次方构成的集合,而群表示群QRN中所有元素的β次方构成的集合,即
因此,可由群与群<-1>的内直积组成如前所述的预设循环群,比如该预设循环群可以表达为其中,通过设定结合群<-1>的大小为2,可以确定该预设循环群的大小为k=2α。因此,当满足前述的密钥sk=α=a·k时,可以确定a=α/k=1/2。
由于将α的取值作为密钥sk,因而必须确保α的取值无法或难以被猜测,以保证其安全性。而如前所述,公钥所含的数值N为素数P、Q的乘积,该素数P、Q的取值难以被猜测,因而可以根据素数P、Q的取值,计算α。例如,可以借助于中间参数p、q,该中间参数p、q为素数,并且p|P-1、q|Q-1(即p可被P-1整除、q可被Q-1整除),那么可以设定α=pq。同时,可以设定β=(P-1)(Q-1)/(4pq),并且满足gcd(α,β)=1,可以确定α·β=(P-1)(Q-1)/4=|QRN|。结合前述的可知
如前所述,对于选取的预设循环群为该预设循环群的生成元h可以表征为由于预设循环群为的大小为2α,因而该预设循环群为所含元素为{h0,h1,h2,…,h2α-1}。而在后续的加密过程中,由于需要选取随机数r并使得hr属于预设循环群为因而该随机数r的取值属于[0,2α-1],即随机数r的长度与α的长度相关。
由于在根据公钥pk对数据m进行加密时,采用的计算公式为:c=(1+N)m·(hNmodN2)rmodN2,随机数r被作为模幂计算的指数,因而需要控制该随机数r的长度,以降低模幂计算的复杂度。例如,当N的长度n=2048bit时,可以设定随机数r的长度为i=320bit,那么α的长度同样为320bit;又由于α=pq,因而前述的中间参数p、q的长度可以分别为160bit,以确保计算得到的α长度为320bit。
根据如前所述的内容,本说明书的技术方案在确定公私钥时,实际上涉及到随机数空间以及作为其子群的二次剩余群QRN、群<-1>,以及作为二次剩余群QRN的子群的群与群而在这些群组中,本说明书中选择由群与群<-1>组合形成预设循环群该预设循环群的大小(2α)与随机数r的长度相关;换言之,通过选取恰当大小的预设循环群使得加密计算过程中能够选取恰当长度的随机数r,从而能够在加密效率与安全性之间找到恰当的平衡点(随机数r的长度越大时,加密效率越低、安全性越高;反之,加密效率越高、安全性越低)。
实际上,随机数空间实际上还存在其他子群。例如,图3是一示例性实施例提供的一种随机数空间的示意图。如图3所示,除了上述各个子群之外,随机数空间还可以包括群群<w>等其他子群,但基于这些子群形成预设循环群时,可能导致加密效率降低。其中,群表示随机数空间中所有Jacobi(雅克比)符号为+1的元素构成的集合,即而群<w>表示随机数空间中由某个Jacobi(雅克比)符号为-1且阶数为2的元素w生成的二阶循环群,<w>={w mod N,1mod N}。
以群为例。由于群的大小为(P-1)(Q-1)/2,即如果将群作为预设循环群,或者基于群生成预设循环群,则相应确定随机数r时,该随机数r的长度与该群的大小(P-1)(Q-1)/2相关,譬如当P、Q的长度分别为1024bit时,随机数r的长度为2048bit,远大于前述基于 选定的长度为320bit的随机数r,将极大地提升加密计算的复杂度、降低加密效率。类似地,如前所述,由于群QRN的大小为(P-1)(Q-1)/4,如果将群QRN作为预设循环群,或者基于群QRN生成预设循环群,则相应确定随机数r的长度与该群QRN的大小(P-1)(Q-1)/4相关,譬如当P、Q的长度分别为1024bit时,随机数r的长度为2048bit。因此,本说明书中采用对群QRN进一步拆分的方式,形成大小为α的群以据此构成前述的预设循环群
本说明书的同态加解密方案,可以适用于多种应用场景,下面进行举例说明。
上述同态加解密方案可以应用于区块链交易中,以实现区块链网络中的机密交易。例如,根据交易对象Q_0~Q_t分别对应的转账额m0~mt,目标用户可以创建所述目标用户与交易对象Q_0~Q_t之间的区块链交易,所述区块链交易中包含转账额m0~mt分别对应的同态密文c0~ct,t≥0;其中,所述目标用户、交易对象Q_0~Q_t的账户余额在区块链账本上被分别记录为相应的同态密文d、d_0~d_t。然后,目标用户可以向区块链网络提交所述区块链交易;其中,当所述区块链交易完成后,区块链账本上记录的同态密文d减小(c0+…+ct)且d_0增大c0、…、d_t增大ct
图4是一示例性实施例提供的一种区块链网络中实现机密交易的示意图。如图4所示,假定目标用户为用户Ua、交易对象为用户Ub、Uc等。用户Ua存在唯一对应的公私钥对(pk_0,sk_0),即公钥为pk_0、私钥为sk_0;类似地,用户Ub存在唯一对应的公私钥对(pk_1,sk_1)、用户Uc存在唯一对应的公私钥对(pk_2,sk_2),以此类推。
在区块链账本上,分别记录有各个用户对应账户的账户余额,并且是以账户余额对应的同态密文形式进行记录。例如,用户Ua的账户余额为m_a,实际以本说明书的同态加密方案对m_a进行加密生成相应的同态密文c_a,且区块链账本上记录该同态密文c_a;类似地,区块链账本上记录有用户Ub的账户余额m_b对应的同态密文c_b、用户Uc的账户余额m_c对应的同态密文c_c等。因此,虽然区块链账本上的数据可以公开查询,但是每个用户实际上仅能够通过密钥对自身对应的同态密文进行解密、无法对其他用户对应的同态密文进行解密,使得每个用户仅能够获知自身的账户余额、无法获知其他用户的账户余额。
假定由用户Ua发起一笔区块链交易,该区块链交易需要由用户Ua向用户Ub转账的转账额1为m_1、向用户Uc转账的转账额2为m_2等。那么,假定用户Ua从账户内选取一笔价值为m的资产,通过该资产完成上述区块链交易,并且可以获知该资产在完成向用户Ub、Uc等的转账后,剩余的找零额为m_0。那么,可以确定该区块链交易的输入为上述价值为m的资产,输出为转账至用户Ua的m_0、转账至用户Ub的m_1、转账至用户Uc的m_2等,此时由用户Ua、Ub、Uc等共同构成了上述的交易对象Q_0~Q_t。
其中,上述价值为m的资产属于用户Ua,该资产的价值在区块链账本上被记录为相应的同态密文c(pk_0,m),表示该同态密文c由用户Ua的公钥pk_0对资产数额m进行同态加密后得到。同时,用户Ua需要为区块链交易的各个输出进行同态加密,则加密时采用的公钥对应于输出的目标对象;例如,由于需要向用户Ua输出找零额m_0,因而需要采用用户Ua的公钥pk_0对数额m_0加密生成同态密文c_0(pk_0,m_0),由于需要向用户Ub输出转账额1即m_1,因而需要采用用户Ub的公钥pk_1对数额m_1加密生成同态密文c_1(pk_1,m_1),由于需要向用户Uc输出转账额2即m_2,因而需要采用用户Uc的公钥pk_2对数额m_2加密生成同态密文c_2(pk_2,m_2)。当然,区块链交易中还可以封装交易所需的其他内容或证明信息等,此处不再一一列举。
然后,用户Ua将上述区块链交易提交至区块链网络后,区块链网络中的各个区块链节点完成对该区块链交易的共识后,可以将该区块链交易上链执行。相应地,区块链账本中记录的各个用户的账户余额将随之发生变化:用户Ua在上述区块链交易中支出了上述价值m的资产、收入了找零额,因而在区块链账本上的资产由c_a更新为[c_a-c(pk_0,m)+c_0(pk_0,m_0)](若明文数据的加减法运算对应于同态密文的乘除法运算,则c_a更新为[c_a÷c(pk_0,m)×c_0(pk_0,m_0)]);其中,由于c_a、c(pk_0,m)、c_0(pk_0,m_0)均由用户Ua的公钥pk_0加密生成,因而满足加法同态特性,使得用户Ua通过相应的私钥sk_0对[c_a-c(pk_0,m)+c_0(pk_0,m_0)](或上述的[c_a÷c(pk_0,m)×c_0(pk_0,m_0)])进行解密后,得到的数值必然等于(m_a-m+m_0)。类似地,用户Ub在上述区块链交易中收入了转账额1,因而在区块链账本上的资产由c_b更新为[c_b+c_1(pk_1,m_1)](若明文数据的加减法运算对应于同态密文的乘除法运算,则c_b更新为[c_b×c_1(pk_1,m_1)]),并且可以通过私钥sk_1解密,得到的数值必然等于(m_b+m_1);用户Uc在上述区块链交易中收入了转账额2,因而在区块链账本上的资产由c_c更新为[c_c+c_2(pk_2,m_2)](若明文数据的加减法运算对应于同态密文的乘除法运算,则c_c更新为[c_c×c_2(pk_2,m_2)]),并且可以通过私钥sk_2解密,得到的数值必然等于(m_c+m_2)。
可见,基于本说明书的同态加解密方案,可以保证用户的账户余额、区块链交易的交易额等处于隐私状态,并且能够基于同态特性而保证各个数额之间能够正确计算与维护,从而实现了区块链网络场景下的机密交易。同时,尤其是当区块链交易涉及到多个交易对象、或者涉及大量区块链交易时,本说明书的同态加解密方案可以在保障安全性的同时,极大地加快每次加解密运算的执行速度,有助于提升区块链网络的交易效率。
上述同态加解密方案可以应用于多方计算场景中,以实现多方计算场景中的安全交互。例如,目标用户可以将数据m0~ms分别对应的同态密文c0~cs发送至指定用户,以由所述指定用户对同态密文c0~cs实施符合加法同态的预设运算f();并且,所述指定用户返回的运算结果f(c0~cs)可由所述私钥sk解密,且解密后取值为f(m0~ms)。
图5是一示例性实施例提供的一种多方计算场景的交互示意图。如图5所示,仍以用户Ua与用户Ub为例,用户Ua对应于公私钥对(pk_0,sk_0)、用户Ub对应于公私钥对(pk_1,sk_1),两者之间的交互过程可以包括以下步骤:
步骤502,用户Ua将数据m0~ms加密为同态密文c0~cs
用户Ua采用自身对应的公钥pk_0,基于如图1所示的实施例,对数据m0~ms进行同态加密处理,生成相应的同态密文c0~cs。此处不再赘述具体的计算公式和加密过程。
步骤504,用户Ua将同态密文c0~cs发送至用户Ub。
由于用户Ua仅将同态密文c0~cs发送至用户Ub,而无需发送原始的明文数据m0~ms,而用户Ub并不持有加密使用的公钥pk_0对应的私钥sk_0,因而数据m0~ms不会向用户Ub暴露。
步骤506,用户Ub利用模型参数d0~ds处理同态密文c0~cs
步骤508,用户Ub将密文处理结果c_f返回用户Ua。
假定用户Ub通过大数据分析或人工智能等方式,训练得到一组数据处理模型的模型参数d0~ds,但是用户Ub并不希望向其他用户暴露这组模型参数d0~ds。因此,通过利用这组模型参数d0~ds对同态密文c0~cs进行处理后,仅将得到的密文处理结果c_f返回用户Ua,这样既可以通过模型参数d0~ds处理同态密文c0~cs,又可以避免暴露模型参数d0~ds的具体取值等信息。
其中,在利用这组模型参数d0~ds对同态密文c0~cs进行处理时,处理过程应当符合加法同态特性,即每个同态密文可以与对应的参数进行乘除等运算,但是各个同态密文之间应当采用加减运算,而不应出现同态密文之间的乘除运算。例如,数据处理模型的处理方式可以为:c0×d0+c1×d1+…+cs×ds。当然,如果明文数据的加减法运算对应于同态密文的乘除法运算,则数据处理模型的处理方式可以为:c0 d0×c1 d1×…×cs ds
步骤510,用户Ua对密文处理结果c_f解密得到明文处理结果m_f。
基于加法同态特性,使得用户Ub通过上述模型参数d0~ds对同态密文c0~cs进行处理后,再通过私钥sk_0对密文处理结果c_f进行解密,得到的明文处理结果m_f相当于通过上述模型参数d0~ds对数据m0~ms进行处理得到的结果。
因此,基于本说明书的同态加解密方案,使得在用户Ua与用户Ub之间的多方计算场景下,既可以确保用户Ua持有的数据m0~ms不向用户Ub暴露、用户Ub持有的模型参数d0~ds不向用户Ua暴露,又可以使得用户Ua最终能够得到模型参数d0~ds对数据m0~ms进行处理后的结果m_f。同时,尤其是涉及到对较多数据进行同态加密的情况下,基于本说明书的同态加解密方案,可以显著加快加解密速度,从而提升多方计算效率。
图6是一示例性实施例提供的一种设备的示意结构图。请参考图6,在硬件层面,该设备包括处理器602、内部总线604、网络接口606、内存608以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。处理器602从非易失性存储器610中读取对应的计算机程序到内存608中然后运行,在逻辑层面上形成实现隐私保护的数据同态加密装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图7,在软件实施方式中,该实现隐私保护的数据同态加密装置可以包括:
公钥获取单元71,获取目标用户对应的公钥pk={N,h},其中h为随机数空间Z*N内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;
随机数选取单元72,选取随机数r,使得hr属于所述预设循环群;
数据处理单元73,通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2
密文提供单元74,将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
可选的,随机数空间的二次剩余群QRN为群与群的内直积,且 其中,所述预设循环群为群与群<-1>的内直积,群<-1>为随机数空间内由元素(-1mod N)生成的二阶循环群,a=1/2。
可选的,当N=P·Q,P、Q是长度为n/2比特的素数,且P≡Q≡3mod4,gcd(P-1,Q-1)=2时,满足:α=pq,β=(P-1)(Q-1)/(4pq),gcd(α,β)=1,且p|(P-1)、q|(Q-1),p、q是长度为i/2比特的素数。
可选的,h=-ymodN,其中y∈随机数空间
可选的,数据处理单元73具体用于:
以j比特为单位长度对随机数r进行分段,形成i/j个数值段ru,u∈[0,(i/j)-1];
查询预生成的取值列表,所述取值列表中包含(hNmodN2)的(2ju·v)次幂的取值,v∈[0,2j-1];
根据查询到的(hNmodN2)的ru次幂的取值,合并生成[(hNmodN2)rmodN2],以进一步生成同态密文c。
可选的,n=2048、224≤i<<n。
可选的,还包括:
密文发送单元75,将数据m0~ms分别对应的同态密文c0~cs发送至指定用户,以由所述指定用户对同态密文c0~cs实施符合加法同态的预设运算f();
其中,所述指定用户返回的运算结果f(c0~cs)可由所述私钥sk解密,且解密后取值为f(m0~ms)。
可选的,还包括:
交易创建单元76,根据交易对象Q_0~Q_t分别对应的转账额m0~mt,创建所述目标用户与交易对象Q_0~Q_t之间的区块链交易,所述区块链交易中包含转账额m0~mt分别对应的同态密文c0~ct,t≥0;其中,所述目标用户、交易对象Q_0~Q_t的账户余额在区块链账本上被分别记录为相应的同态密文d、d_0~d_t;
交易提交单元77,向区块链网络提交所述区块链交易;其中,当所述区块链交易完成后,区块链账本上记录的同态密文d与(c0+…+ct)运算、d_0与c0运算、…、d_t与ct运算,使所述目标用户的账户余额减小(m0+…+mt)、交易对象Q_0~Q_t的账户余额分别减小c0~ct
图8是一示例性实施例提供的一种设备的示意结构图。请参考图8,在硬件层面,该设备包括处理器802、内部总线804、网络接口806、内存808以及非易失性存储器810,当然还可能包括其他业务所需要的硬件。处理器802从非易失性存储器810中读取对应的计算机程序到内存808中然后运行,在逻辑层面上形成实现隐私保护的数据同态解密装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图9,在软件实施方式中,该实现隐私保护的数据同态解密装置可以包括:
密文获取单元91,获取同态密文c=(1+N)m·(hrmodN)N=(1+N)m·(hNmodN2)rmodN2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到;其中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n;
密文解密单元92,根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值;
数据输出单元93,将解密得到的数据m输出至所述目标用户。
可选的,随机数空间的二次剩余群QRN为群与群的内直积,且 其中,所述预设循环群为群与群<-1>的内直积,群<-1>为随机数空间内由元素(-1mod N)生成的二阶循环群,a=1/2。
可选的,当N=P·Q,P、Q是长度为n/2比特的素数,且P≡Q≡3mod4,gcd(P-1,Q-1)=2时,满足:α=pq,β=(P-1)(Q-1)/(4pq),gcd(α,β)=1,且p|(P-1)、q|(Q-1),p、q是长度为i/2比特的素数。
可选的,h=-ymodN,其中y∈随机数空间
可选的,n=2048、224≤i<<n。
可选的,还包括:
密文发送单元94,将数据m0~ms分别对应的同态密文c0~cs发送至指定用户,以由所述指定用户对同态密文c0~cs实施符合加法同态的预设运算f();
所述密文解密单元92具体用于接收并解密所述指定用户返回的运算结果f(c0~cs),且解密后取值为f(m0~ms)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (20)

1.一种实现隐私保护的数据同态加密方法,包括:
获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;
选取随机数r,使得hr属于所述预设循环群;
通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmod N)N=(1+N)m·(hNmod N2)rmod N2
将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
2.根据权利要求1所述的方法,随机数空间的二次剩余群QRN为群与群的内直积,且其中,所述预设循环群为群与群<-1>的内直积,群<-1>为随机数空间内由元素(-1mod N)生成的二阶循环群,a=1/2。
3.根据权利要求2所述的方法,当N=P·Q,P、Q是长度为n/2比特的素数,且P≡Q≡3mod4,gcd(P-1,Q-1)=2时,满足:α=pq,β=(P-1)(Q-1)/(4pq),gcd(α,β)=1,且p|(P-1)、q|(Q-1),p、q是长度为i/2比特的素数。
4.根据权利要求2所述的方法,h=-ymod N,其中y∈随机数空间
5.根据权利要求1所述的方法,通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c,包括:
以j比特为单位长度对随机数r进行分段,形成i/j个数值段ru,u∈[0,(i/j)-1];
查询预生成的取值列表,所述取值列表中包含(hNmod N2)的(2ju·v)次幂的取值,v∈[0,2j-1];
根据查询到的(hNmod N2)的ru次幂的取值,合并生成[(hNmod N2)rmod N2],以进一步生成同态密文c。
6.根据权利要求1所述的方法,n=2048、224≤i<<n。
7.根据权利要求1所述的方法,还包括:
将数据m0~ms分别对应的同态密文c0~cs发送至指定用户,以由所述指定用户对同态密文c0~cs实施符合加法同态的预设运算f();
其中,所述指定用户返回的运算结果f(c0~cs)可由所述私钥sk解密,且解密后取值为f(m0~ms)。
8.根据权利要求1所述的方法,还包括:
根据交易对象Q_0~Q_t分别对应的转账额m0~mt,创建所述目标用户与交易对象Q_0~Q_t之间的区块链交易,所述区块链交易中包含转账额m0~mt分别对应的同态密文c0~ct,t≥0;其中,所述目标用户、交易对象Q_0~Q_t的账户余额在区块链账本上被分别记录为相应的同态密文d、d_0~d_t;
向区块链网络提交所述区块链交易;其中,当所述区块链交易完成后,区块链账本上记录的同态密文d与(c0+…+ct)运算、d_0与c0运算、…、d_t与ct运算,使所述目标用户的账户余额减小(m0+…+mt)、交易对象Q_0~Q_t的账户余额分别减小c0~ct
9.一种实现隐私保护的数据同态解密方法,包括:
获取同态密文c=(1+N)m·(hrmod N)N=(1+N)m·(hNmod N2)rmod N2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到;其中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n;
根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值;
将解密得到的数据m输出至所述目标用户。
10.根据权利要求9所述的方法,随机数空间的二次剩余群QRN为群与群的内直积,且其中,所述预设循环群为群与群<-1>的内直积,群<-1>为随机数空间内由元素(-1mod N)生成的二阶循环群,a=1/2。
11.根据权利要求10所述的方法,当N=P·Q,P、Q是长度为n/2比特的素数,且P≡Q≡3mod4,gcd(P-1,Q-1)=2时,满足:α=pq,β=(P-1)(Q-1)/(4pq),gcd(α,β)=1,且p|(P-1)、q|(Q-1),p、q是长度为i/2比特的素数。
12.根据权利要求10所述的方法,h=-ymod N,其中y∈随机数空间
13.根据权利要求9所述的方法,n=2048、224≤i<<n。
14.根据权利要求9所述的方法,还包括:
将数据m0~ms分别对应的同态密文c0~cs发送至指定用户,以由所述指定用户对同态密文c0~cs实施符合加法同态的预设运算f();
接收并解密所述指定用户返回的运算结果f(c0~cs),且解密后取值为f(m0~ms)。
15.一种实现隐私保护的数据同态加密装置,包括:
公钥获取单元,获取目标用户对应的公钥pk={N,h},其中h为随机数空间内大小为k的预设循环群的生成元,k的长度为i比特、N的长度为n比特,且i<<n;
随机数选取单元,选取随机数r,使得hr属于所述预设循环群;
数据处理单元,通过所述公钥pk和所述随机数r对所述目标用户对应的待加密数据m进行处理,生成同态密文c=(1+N)m·(hrmod N)N=(1+N)m·(hNmod N2)rmod N2
密文提供单元,将所述同态密文c提供至所述目标用户,所述同态密文c可由所述目标用户通过私钥sk解密得到数据m,所述私钥sk的取值为α=a·k,a为预设非零数值。
16.一种实现隐私保护的数据同态解密装置,包括:
密文获取单元,获取同态密文c=(1+N)m·(hrmod N)N=(1+N)m·(hNmod N2)rmod N2,所述同态密文c由目标用户对应的公钥pk={N,h}和随机数r对数据m进行处理后得到;其中,h为随机数空间内大小为k的预设循环群的生成元,hr属于所述预设循环群,k的长度为i比特、N的长度为n比特,且i<<n;
密文解密单元,根据所述目标用户的私钥sk对所述同态密文c进行解密,得到加密前的数据其中所述私钥sk的取值为α=a·k,a为预设非零数值;
数据输出单元,将解密得到的数据m输出至所述目标用户。
17.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-8中任一项所述方法的步骤。
19.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求9-14中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求9-14中任一项所述方法的步骤。
CN201910528750.9A 2019-06-18 2019-06-18 实现隐私保护的数据同态加解密方法及装置 Active CN110348231B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201910528750.9A CN110348231B (zh) 2019-06-18 2019-06-18 实现隐私保护的数据同态加解密方法及装置
PCT/CN2020/071839 WO2020253234A1 (zh) 2019-06-18 2020-01-13 实现隐私保护的数据同态加解密方法及装置
TW109103360A TWI734368B (zh) 2019-06-18 2020-02-04 實現隱私保護的數據同態加解密方法及裝置
US16/783,102 US10778410B2 (en) 2019-06-18 2020-02-05 Homomorphic data encryption method and apparatus for implementing privacy protection
US16/945,434 US11159305B2 (en) 2019-06-18 2020-07-31 Homomorphic data decryption method and apparatus for implementing privacy protection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910528750.9A CN110348231B (zh) 2019-06-18 2019-06-18 实现隐私保护的数据同态加解密方法及装置

Publications (2)

Publication Number Publication Date
CN110348231A true CN110348231A (zh) 2019-10-18
CN110348231B CN110348231B (zh) 2020-08-14

Family

ID=68182354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910528750.9A Active CN110348231B (zh) 2019-06-18 2019-06-18 实现隐私保护的数据同态加解密方法及装置

Country Status (3)

Country Link
CN (1) CN110348231B (zh)
TW (1) TWI734368B (zh)
WO (1) WO2020253234A1 (zh)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784300A (zh) * 2019-11-08 2020-02-11 中国电子科技网络信息安全有限公司 一种基于乘法同态加密的密钥合成方法
CN110880967A (zh) * 2019-12-24 2020-03-13 北京炼石网络技术有限公司 采用分组对称密钥算法对多消息并行加解密方法
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111131317A (zh) * 2019-12-31 2020-05-08 百度在线网络技术(北京)有限公司 一种基于区块链的数据处理方法、装置、设备和介质
CN111143862A (zh) * 2019-12-13 2020-05-12 支付宝(杭州)信息技术有限公司 数据处理方法、查询方法、装置、电子设备和系统
CN111444527A (zh) * 2020-03-30 2020-07-24 腾讯云计算(北京)有限责任公司 不同应用程序之间数据的相关系数确定方法、装置及介质
US10778410B2 (en) 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
CN111737748A (zh) * 2020-06-24 2020-10-02 深圳前海微众银行股份有限公司 一种应用于区块链的数据解密方法及装置
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
WO2020253234A1 (zh) * 2019-06-18 2020-12-24 创新先进技术有限公司 实现隐私保护的数据同态加解密方法及装置
CN112288523A (zh) * 2020-10-29 2021-01-29 中国银联股份有限公司 一种基于区块链的数值排名方法及装置
CN112668053A (zh) * 2021-01-05 2021-04-16 上海能链众合科技有限公司 一种区块链基于伪随机公钥的加密方法
WO2021081803A1 (zh) * 2019-10-30 2021-05-06 深圳市网心科技有限公司 区块链系统及监管方法、系统、装置、计算机存储介质
CN112800476A (zh) * 2021-03-25 2021-05-14 全球能源互联网研究院有限公司 一种数据脱敏方法、装置及电子设备
CN113268750A (zh) * 2021-05-21 2021-08-17 中国联合网络通信集团有限公司 数据处理方法、竞投节点设备和计算机可读介质
CN113965314A (zh) * 2021-12-22 2022-01-21 深圳市洞见智慧科技有限公司 同态加密处理方法及相关设备
CN114567427A (zh) * 2022-01-05 2022-05-31 北京理工大学 一种区块链隐蔽数据分段传输方法
CN114817970A (zh) * 2022-06-30 2022-07-29 深圳市洞见智慧科技有限公司 基于数据来源保护的数据分析方法、系统及相关设备
CN115085897A (zh) * 2022-05-23 2022-09-20 支付宝(杭州)信息技术有限公司 用于保护隐私的数据处理方法、装置和计算机设备
CN116071137A (zh) * 2023-01-28 2023-05-05 中债金科信息技术有限公司 担保评估方法及装置、存储介质及电子设备
CN116684066A (zh) * 2023-07-06 2023-09-01 北京隐算科技有限公司 一种支持整数运算的同态加密方法、系统及存储介质
CN117478305A (zh) * 2023-12-28 2024-01-30 粤港澳大湾区数字经济研究院(福田) 基于两方安全协作的全同态加密方法、系统、终端及介质

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014373B (zh) * 2021-02-20 2022-06-10 广东浪潮智慧计算技术有限公司 一种同态计算中的数据加密方法、装置、设备及介质
CN112948083B (zh) * 2021-02-25 2023-10-27 北京金山云网络技术有限公司 数据处理方法、装置及电子设备
CN113099417B (zh) * 2021-03-23 2023-06-30 千寻位置网络(浙江)有限公司 差分数据播发方法、装置、电子设备及计算机存储介质
CN113159745B (zh) * 2021-03-23 2023-06-16 西安电子科技大学 基于全同态的区块链交易隐私保护方法
CN113055172B (zh) * 2021-03-31 2022-11-04 北京金山云网络技术有限公司 一种密钥协商方法、装置、电子设备及存储介质
CN113807537B (zh) * 2021-04-06 2023-12-05 京东科技控股股份有限公司 多源数据的数据处理方法、装置及电子设备、存储介质
CN113254956A (zh) * 2021-05-07 2021-08-13 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113313488B (zh) * 2021-05-26 2022-10-21 北京航空航天大学 一种基于区块链与同态加密的数据隐私保护方法
CN113312650B (zh) * 2021-06-23 2023-07-04 中国农业银行股份有限公司 交易日志隐私保护方法及装置
CN113965340A (zh) * 2021-08-30 2022-01-21 广东南方通信建设有限公司 一种跨平台数据迁移方法、系统和可读介质
CN114039785B (zh) * 2021-11-10 2024-02-27 奇安信科技集团股份有限公司 数据加密、解密、处理方法、装置、设备和存储介质
TWI789115B (zh) * 2021-11-12 2023-01-01 中華電信股份有限公司 雲端服務的加密系統及加密方法
CN114581070B (zh) * 2022-03-10 2024-03-19 南京大学 基于同态加密的区块链支付通道网络路径选择方法和系统
CN114785501B (zh) * 2022-05-30 2024-05-17 建信金融科技有限责任公司 数据判等方法、设备及存储介质
CN115271733B (zh) * 2022-09-28 2022-12-13 深圳市迪博企业风险管理技术有限公司 一种隐私保护的区块链交易数据异常检测方法及设备
CN115913554B (zh) * 2023-03-13 2023-05-16 深圳市洞见智慧科技有限公司 基于国密的高效匿踪联邦学习方法、系统及相关设备
CN116402505B (zh) * 2023-05-11 2023-09-01 蓝象智联(杭州)科技有限公司 基于同态加密的图扩散方法、装置及存储介质
CN116318621B (zh) * 2023-05-23 2023-08-01 青岛鑫晟汇科技有限公司 一种基于同态加密的产业物联数据隐私保护系统
CN116340984B (zh) * 2023-05-29 2023-08-15 四川云合数创信息技术有限公司 一种基于智慧社区的用户信息管理方法及系统
CN116756754B (zh) * 2023-06-19 2024-01-30 广东技术师范大学 一种cad模型加密及解密方法
CN116881950B (zh) * 2023-09-05 2023-11-10 北京天润基业科技发展股份有限公司 隐私数据的处理方法、装置、电子设备及可读存储介质
CN116915405B (zh) * 2023-09-13 2023-11-21 北京数牍科技有限公司 基于隐私保护的数据处理方法、装置、设备及存储介质
CN116915382B (zh) * 2023-09-14 2023-12-15 北京隐算科技有限公司 一种基于模分量同态的多用户隐私保护方法
CN116956354B (zh) * 2023-09-21 2024-01-19 恒生电子股份有限公司 数据查询方法、装置、数据源设备、查询方设备及系统
CN117234457B (zh) * 2023-11-10 2024-01-26 蓝象智联(杭州)科技有限公司 一种用于隐私计算的数据相减运算方法
CN117391754A (zh) * 2023-12-12 2024-01-12 国网数字科技控股有限公司 电力市场交易的结算方法、相关装置及计算机存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109284627A (zh) * 2018-09-10 2019-01-29 中山大学 一种基于区块链智能合约的征信信誉方法及装置
CN109690551A (zh) * 2018-08-24 2019-04-26 区链通网络有限公司 区块链数据保护方法、装置、系统及计算机可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI456966B (zh) * 2011-01-20 2014-10-11 Acer Inc 利用隱私同態加密技術來提供社交網路服務之方法
CN103036884B (zh) * 2012-12-14 2015-09-16 中国科学院上海微系统与信息技术研究所 一种基于同态加密的数据保护方法和系统
WO2014137393A1 (en) * 2013-03-04 2014-09-12 Thomson Licensing Privacy-preserving ridge regression using masks
CN105447361B (zh) * 2014-08-27 2018-08-21 华为技术有限公司 加密和相似性度量的方法、终端及服务器
CN104219056B (zh) * 2014-09-16 2017-05-17 西安电子科技大学 一种智能电网中具有隐私保护的实时电量收集方法
CN106160995B (zh) * 2015-04-21 2019-04-16 郑珂威 基于系数映射变换的多项式完全同态加密方法及系统
CN106161405B (zh) * 2015-04-21 2019-01-18 上海交通大学 基于同态加密机制的隐私可保护信息安全计算实现方法
CN104796475B (zh) * 2015-04-24 2018-10-26 苏州大学 一种基于同态加密的社会化推荐方法
CN105488422B (zh) * 2015-11-19 2019-01-11 上海交通大学 基于同态加密隐私数据保护的编辑距离计算系统
CN105577357B (zh) * 2015-12-21 2019-05-31 东南大学 基于全同态加密的智能家居数据隐私保护方法
CN106533650B (zh) * 2016-11-17 2019-04-02 浙江工商大学 面向云端的交互型隐私保护方法和系统
CN107222302B (zh) * 2017-07-03 2019-05-07 深圳大学 用部分同态加密方案构建的空间众包任务分配系统及方法
US11257077B2 (en) * 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
RU2727161C1 (ru) * 2018-11-07 2020-07-21 Алибаба Груп Холдинг Лимитед Защита данных цепочек блоков с использованием гомоморфного шифрования
BR112019016474A2 (pt) * 2018-12-21 2021-06-29 Alibaba Group Holding Limited método implementado por computador, meio de armazenamento não transitório legível por computador e sistema
CN109840770A (zh) * 2019-01-31 2019-06-04 北京瑞卓喜投科技发展有限公司 一种智能合约执行方法及智能合约执行系统
CN110348231B (zh) * 2019-06-18 2020-08-14 阿里巴巴集团控股有限公司 实现隐私保护的数据同态加解密方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109690551A (zh) * 2018-08-24 2019-04-26 区链通网络有限公司 区块链数据保护方法、装置、系统及计算机可读存储介质
CN109284627A (zh) * 2018-09-10 2019-01-29 中山大学 一种基于区块链智能合约的征信信誉方法及装置

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778410B2 (en) 2019-06-18 2020-09-15 Alibaba Group Holding Limited Homomorphic data encryption method and apparatus for implementing privacy protection
WO2020253234A1 (zh) * 2019-06-18 2020-12-24 创新先进技术有限公司 实现隐私保护的数据同态加解密方法及装置
US11159305B2 (en) 2019-06-18 2021-10-26 Advanced New Technologies Co., Ltd. Homomorphic data decryption method and apparatus for implementing privacy protection
WO2021081803A1 (zh) * 2019-10-30 2021-05-06 深圳市网心科技有限公司 区块链系统及监管方法、系统、装置、计算机存储介质
CN110784300A (zh) * 2019-11-08 2020-02-11 中国电子科技网络信息安全有限公司 一种基于乘法同态加密的密钥合成方法
CN111143862A (zh) * 2019-12-13 2020-05-12 支付宝(杭州)信息技术有限公司 数据处理方法、查询方法、装置、电子设备和系统
CN110912713A (zh) * 2019-12-20 2020-03-24 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN110880967A (zh) * 2019-12-24 2020-03-13 北京炼石网络技术有限公司 采用分组对称密钥算法对多消息并行加解密方法
CN110880967B (zh) * 2019-12-24 2023-04-07 北京炼石网络技术有限公司 采用分组对称密钥算法对多消息并行加解密方法
CN111131317A (zh) * 2019-12-31 2020-05-08 百度在线网络技术(北京)有限公司 一种基于区块链的数据处理方法、装置、设备和介质
US11418320B2 (en) 2019-12-31 2022-08-16 Baidu Online Network Technology (Beijing) Co., Ltd. Blockchain-based data processing methods, devices, and media
CN111131317B (zh) * 2019-12-31 2022-04-26 百度在线网络技术(北京)有限公司 一种基于区块链的数据处理方法、装置、设备和介质
CN111444527B (zh) * 2020-03-30 2023-08-11 腾讯云计算(北京)有限责任公司 不同应用程序之间数据的相关系数确定方法、装置及介质
CN111444527A (zh) * 2020-03-30 2020-07-24 腾讯云计算(北京)有限责任公司 不同应用程序之间数据的相关系数确定方法、装置及介质
CN111737748A (zh) * 2020-06-24 2020-10-02 深圳前海微众银行股份有限公司 一种应用于区块链的数据解密方法及装置
CN112052875A (zh) * 2020-07-30 2020-12-08 华控清交信息科技(北京)有限公司 一种训练树模型的方法、装置和用于训练树模型的装置
CN112288523A (zh) * 2020-10-29 2021-01-29 中国银联股份有限公司 一种基于区块链的数值排名方法及装置
US11825001B2 (en) 2020-10-29 2023-11-21 China Unionpay Co., Ltd. Numerical value ranking method and apparatus based on blockchain
CN112288523B (zh) * 2020-10-29 2023-09-05 中国银联股份有限公司 一种基于区块链的数值排名方法及装置
CN112668053A (zh) * 2021-01-05 2021-04-16 上海能链众合科技有限公司 一种区块链基于伪随机公钥的加密方法
CN112668053B (zh) * 2021-01-05 2024-05-03 上海零数众合信息科技有限公司 一种区块链基于伪随机公钥的加密方法
CN112800476A (zh) * 2021-03-25 2021-05-14 全球能源互联网研究院有限公司 一种数据脱敏方法、装置及电子设备
CN113268750B (zh) * 2021-05-21 2023-05-12 中国联合网络通信集团有限公司 数据处理方法、竞投节点设备和计算机可读介质
CN113268750A (zh) * 2021-05-21 2021-08-17 中国联合网络通信集团有限公司 数据处理方法、竞投节点设备和计算机可读介质
CN113965314A (zh) * 2021-12-22 2022-01-21 深圳市洞见智慧科技有限公司 同态加密处理方法及相关设备
CN114567427A (zh) * 2022-01-05 2022-05-31 北京理工大学 一种区块链隐蔽数据分段传输方法
CN114567427B (zh) * 2022-01-05 2023-10-20 北京理工大学 一种区块链隐蔽数据分段传输方法
CN115085897A (zh) * 2022-05-23 2022-09-20 支付宝(杭州)信息技术有限公司 用于保护隐私的数据处理方法、装置和计算机设备
CN114817970B (zh) * 2022-06-30 2022-11-29 深圳市洞见智慧科技有限公司 基于数据来源保护的数据分析方法、系统及相关设备
CN114817970A (zh) * 2022-06-30 2022-07-29 深圳市洞见智慧科技有限公司 基于数据来源保护的数据分析方法、系统及相关设备
CN116071137B (zh) * 2023-01-28 2023-05-30 中债金科信息技术有限公司 担保评估方法及装置、存储介质及电子设备
CN116071137A (zh) * 2023-01-28 2023-05-05 中债金科信息技术有限公司 担保评估方法及装置、存储介质及电子设备
CN116684066A (zh) * 2023-07-06 2023-09-01 北京隐算科技有限公司 一种支持整数运算的同态加密方法、系统及存储介质
CN116684066B (zh) * 2023-07-06 2023-10-20 北京隐算科技有限公司 一种支持整数运算的同态加密方法、系统及存储介质
CN117478305A (zh) * 2023-12-28 2024-01-30 粤港澳大湾区数字经济研究院(福田) 基于两方安全协作的全同态加密方法、系统、终端及介质
CN117478305B (zh) * 2023-12-28 2024-04-16 粤港澳大湾区数字经济研究院(福田) 基于两方安全协作的全同态加密方法、系统、终端及介质

Also Published As

Publication number Publication date
TWI734368B (zh) 2021-07-21
TW202101432A (zh) 2021-01-01
WO2020253234A1 (zh) 2020-12-24
CN110348231B (zh) 2020-08-14

Similar Documents

Publication Publication Date Title
CN110348231A (zh) 实现隐私保护的数据同态加解密方法及装置
US10778410B2 (en) Homomorphic data encryption method and apparatus for implementing privacy protection
CN109039640B (zh) 一种基于rsa密码算法的加解密硬件系统及方法
US7912216B2 (en) Elliptic curve cryptosystem optimization using two phase key generation
CN104967693B (zh) 面向云存储的基于全同态密码技术的文档相似度计算方法
CN107294697A (zh) 基于明文相似矩阵的对称全同态加密方法
KR101269737B1 (ko) 암호 처리 장치 및 암호 처리 방법과 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
CN109327304A (zh) 一种云计算中实现隐私保护的轻量级同态加密方法
CN107359979A (zh) 基于截断多项式的对称全同态加密方法
Kumari et al. Preserving health care data security and privacy using Carmichael's theorem-based homomorphic encryption and modified enhanced homomorphic encryption schemes in edge computing systems
CN106788963A (zh) 一种改进的格上基于身份的全同态加密方法
CN110213050A (zh) 密钥生成方法、装置及存储介质
Li et al. Efficient and adaptively secure attribute-based proxy reencryption scheme
EP3352411B1 (en) Method of generating cryptographic key pairs
Stam Speeding up subgroup cryptosystems
CN117134906A (zh) 多方隐私求交方法及相关装置
CN108494556A (zh) 一种高效的rsa算法加密元数据文件的方法
US11343070B2 (en) System and method for performing a fully homomorphic encryption on a plain text
Wei et al. Toward practical encrypted email that supports private, regular-expression searches
CN1258051A (zh) 一种公开密钥加密体制和装置
Zhao et al. CRT-Based Homomorphic Encryption over the Fraction
CN116226874A (zh) 一种数据处理方法、解密终端、加密终端及存储介质
Liu et al. PDPHE: Personal Data Protection for Trans-Border Transmission Based on Homomorphic Encryption
Al-Janabi et al. Multi-key Encryption Based on RSA and Block Segmentation
CN117394983A (zh) 用于实现对称加密和非对称加密的轻量级同态加密方法

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40015732

Country of ref document: HK

TR01 Transfer of patent right

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201009

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right