CN111510281A - 一种同态加密方法及装置 - Google Patents

一种同态加密方法及装置 Download PDF

Info

Publication number
CN111510281A
CN111510281A CN202010602748.4A CN202010602748A CN111510281A CN 111510281 A CN111510281 A CN 111510281A CN 202010602748 A CN202010602748 A CN 202010602748A CN 111510281 A CN111510281 A CN 111510281A
Authority
CN
China
Prior art keywords
data
ciphertext
result
homomorphic
target
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
CN202010602748.4A
Other languages
English (en)
Other versions
CN111510281B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010602748.4A priority Critical patent/CN111510281B/zh
Publication of CN111510281A publication Critical patent/CN111510281A/zh
Application granted granted Critical
Publication of CN111510281B publication Critical patent/CN111510281B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

本申请实施例提供一种同态加密方法及装置,涉及数据处理技术领域,应用于参与同态加密系统中的参与节点,同态加密系统包括同态运算节点和至少两个参与节点,同态加密方法包括:参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;参与节点利用共享的对称密钥对目标码文数据进行加密并将加密得到的目标密文数据发送给同态运算节点;参与节点接收同态运算节点返回的密文结果数据;参与节点利用对称密钥将密文结果数据解密,得到解密结果数据;参与节点对解密结果数据解码,并在解码过程中去除各个参与节点的随机噪声数据,得到明文结果数据。本申请用以提高同态计算过程中数据的安全性。

Description

一种同态加密方法及装置
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种同态加密方法及装置。
背景技术
为了实现信息的安全保密,一般采用加密手段来对信息加以保护。随着互联网的发展和云计算概念的诞生,以及人们在密文搜索、电子投票、移动代码和多方计算等方面的需求日益增加,同态加密(Homomorphic Encryption)越来越重要。同态加密是一类具有特殊自然属性的加密方法,与一般加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。由于这个良好的性质,人们可以委托第三方对数据进行处理而不泄露信息。
现有技术中很多场景会利用加法同态的密码系统进行加密,由于其加密过程的复杂度较低,因此安全性较低。
发明内容
本申请实施例提供一种同态加密方法及装置,用以提高同态计算过程中数据的安全性。
第一方面,本申请实施例提供一种同态加密方法,应用于参与同态加密系统中的参与节点,所述同态加密系统包括同态运算节点和至少两个参与节点,其特征在于,在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据,所述同态加密方法包括:
参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;其中,所述目标码文数据中包括所述自身的随机噪声数据,以及添加了加扰数据的目标明文数据,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的;
所述参与节点利用所述对称密钥对所述目标码文数据进行加密并将加密得到的目标密文数据发送给同态运算节点;
所述参与节点接收所述同态运算节点返回的密文结果数据,所述密文结果数据为所述同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的第一密文结果和第二密文结果,所述第一密文结果为所述各个参与节点各自的随机噪声数据的同态加运算结果,所述第二密文结果为所述各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果;
所述参与节点利用所述对称密钥将所述密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据;所述第一解密结果数据中包括所述各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,所述第二解密结果包括对所述各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据;
所述参与节点利用所述设定预算规则对所述噪声结果数据进行运算,并根据运算结果去除所述码文结果数据中所述各个参与节点添加的加扰数据,得到明文结果数据。
第二方面,本申请实施例提供了一种同态加密装置,应用于参与同态加密系统中的参与节点,所述同态加密系统包括同态运算节点和至少两个参与节点,其特征在于,在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据,所述同态加密装置包括:
编码单元,用于利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;其中,所述目标码文数据中包括所述自身的随机噪声数据,以及添加了加扰数据的目标明文数据,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的;
加密单元,用于利用所述对称密钥对所述目标码文数据进行加密;
收发单元,用于将加密得到的目标密文数据发送给同态运算节点;接收所述同态运算节点返回的密文结果数据,所述密文结果数据为所述同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的第一密文结果和第二密文结果,所述第一密文结果为所述各个参与节点各自的随机噪声数据的同态加运算结果,所述第二密文结果为所述各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果;
解密单元,用于利用所述对称密钥将所述密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据;所述第一解密结果数据中包括所述各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,所述第二解密结果包括对所述各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据;
解码单元,用于利用所述设定预算规则对所述噪声结果数据进行运算,并根据运算结果去除所述码文结果数据中所述各个参与节点添加的加扰数据,得到明文结果数据。
第三方面,本申请实施例提供了一种计算设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行本申请实施例提供的同态加密方法的步骤。
第四方面,本申请实施例提供了一种存储介质所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本申请实施例提供的同态加密方法的步骤。
本申请实施例提供的同态加密系统包括同态运算节点和至少两个参与节点,同态加密方法应用于参与同态加密系统中的各个参与节点。在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据。
本申请实施例中的同态加密方法中,参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据。其中,目标码文数据中包括自身的随机噪声数据,以及添加了加扰数据的目标明文数据;加扰数据是基于设定预算规则对自身的随机噪声数据进行运算后获得的。本申请实施例对目标明文数据进行编码,在编码过程中将加扰数据加入目标明文数据,由于随机加扰数据的加入,使得根据密文数据推测目标明文数据的难度大大增加,从而增加了数据的安全性。
各个参与节点将目标明文数据编码得到目标码文数据后,利用对称密钥对目标码文数据进行加密,并将加密得到的目标密文数据发送给同态运算节点。进而同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到第一密文结果和第二密文结果。其中,第一密文结果为各个参与节点各自的随机噪声数据的同态加运算结果,第二密文结果为各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果。同态运算节点将得到的第一密文结果和第二密文结果后,再反馈给各个参与节点。
参与节点接收到第一密文结果和第二密文结果后,利用对称密钥将密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据。其中,第一解密结果数据中包括各个节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。最后,参与节点利用设定预算规则对噪声结果数据进行运算,并根据运算结果去除码文结果数据中各个节点添加的加扰数据,得到明文结果数据。
本申请实施例中,参与节点对目标明文数据进行编码和加密,在编码的过程中利用随机噪声数据得到加扰数据,并将加扰数据加入目标明文数据中,以增加数据的安全性。参与节点将加密后得到的目标密文数据发送给同态运算节点。同态运算节点对接收到的各个参与节点发送的目标密文数据执行同态加运算,得到密文结果数据,并将密文结果数据反馈给各个参与节点。各个参与节点接收到密文结果数据后,利用对称密钥将密文结果数据解密,得到第一解密结果数据和第二解密结果数据。此时,第一解密结果数据中包括各个节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。从而,参与节点在进行解码时,可以利用与编码对应的设定预算规则,对噪声结果数据进行运算,根据运算结果去除码文结果数据中各个节点添加的加扰数据,得到明文结果数据。
本申请实施例在对目标明文数据进行编码的过程中,将加扰数据加入目标明文数据,由于加扰数据为随机生成,随机的加扰数据的加入,使得根据密文数据推测明文数据的难度大大增加,保证目标明文数据在传输过程中不易被破解,从而增加了数据的安全性。进一步的,本申请实施例对多个目标明文数据的计算为同态计算,即先将目标明文数据进行加密得到目标密文数据,由同态运算节点对多个目标密文数据执行同态加运算得到密文结果数据,再由各个参与节点将密文结果数据解密得到明文结果数据,由于同态运算节点没有对称密钥,只对密文数据执行同态加运算,因此同态运算节点无法对密文数据进行解密,从而同态运算节点无法确定每一个参与节点的明文数据,也无法根据密文数据推测明文数据。同时,不同的参与节点之间由于并没有执行数据互传,因此任一参与节点也无法获知其余参与节点的明文数据,从而进一步保证了每一个参与节点的数据的隐私性和安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的基于多个计算节点的同态加密系统的示意图;
图2为本申请实施例提供的应用场景为平均成绩计算的系统示意图;
图3a为本申请实施例提供的一种同态加密方法的流程示意图;
图3b为本申请实施例提供的一种具体的同态加密方法的流程示意图;
图4为本申请实施例提供的一种同态加密装置的结构示意图;
图5为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本申请实施例中涉及的名词进行解释:
1、同态加密:是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。也就是说,其他人可以对加密数据进行处理,但是处理过程不会泄露任何原始内容。同时,拥有密钥的用户对处理过的数据进行解密后,得到的正好是处理后的结果。
2、密码系统的同态性:在一种密码系统中,如果密文空间中的密文操作(如加、乘) 可以映射到明文空间中,那么称该密码系统具有同态性。利用同态密码系统进行加密,我们 称之为同态加密。例如,若用
Figure 754238DEST_PATH_IMAGE001
表示明文m的密文,著名的RSA密码系统是乘法同态的,即 满足
Figure 327171DEST_PATH_IMAGE002
。同态加密是安全多方计算的核心技术之一。
3、对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。所谓对称,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规定如何进行加密和解密。因此加密的安全性不仅取决于加密算法本身,密钥管理的安全性更是重要。因为加密和解密都使用同一个密钥,如何把密钥安全地传递到解密者手上就成了必须要解决的问题。
4、仿射密码:是一种对称密码系统,为单表加密的一种,字母系统中所有字母都藉 一简单数学方程加密,对应至数值,或转回字母是。具体的,仿射密码是一种替换密码,是一 个字母对一个字母的。密钥为(a,b,n),其中
Figure 779012DEST_PATH_IMAGE003
是大整数;
Figure 705380DEST_PATH_IMAGE004
Figure 441123DEST_PATH_IMAGE005
, 其中
Figure 935690DEST_PATH_IMAGE006
是Zn中与n互质的数组成的集合。仿射密码的加密函数是:
Figure 733882DEST_PATH_IMAGE007
……公式1
解密函数是:
Figure 854153DEST_PATH_IMAGE008
……公式2
其中a-1是a关于n的乘法模逆。显然,仿射密码具有加法同态性:
Figure 54190DEST_PATH_IMAGE009
……公式3
5、迭代型仿射密码:是一种对称密码系统。密钥为
Figure 719658DEST_PATH_IMAGE010
,其中
Figure 144428DEST_PATH_IMAGE011
是一系列大整数,K是一个小整数,比如K=5;
Figure 678178DEST_PATH_IMAGE012
。迭代型 仿射密码的加密函数是:
Figure 873667DEST_PATH_IMAGE013
……公式4
其中
Figure 959303DEST_PATH_IMAGE014
Figure 732087DEST_PATH_IMAGE015
表示函数复合,即
Figure 679315DEST_PATH_IMAGE016
解密函数是:
Figure 853944DEST_PATH_IMAGE017
……公式5
其中
Figure 844903DEST_PATH_IMAGE018
显然,迭代型仿射密码具有加法同态性:
Figure 245928DEST_PATH_IMAGE019
……公式6
6、语义安全:在一个密码系统下,如果即使攻击者已知任意两条明文和两者之一对应的密文,也无法推测该密文对应的是两明文中的哪一条,那么称该密码系统具有语义安全的特性。例如对于迭代型仿射密码来说,攻击者很容易分辨明文0和1的密文,因为0的密文总是0,所以迭代型仿射密码不是语义安全的。
7、云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
具体实践过程中,在安全多方计算领域,同态加密技术分为两种类型,部分同态和全同态。其中,全同态能在密文空间中完成任意复杂度函数的计算,但计算成本高、性能极差、原理复杂。本申请实施例中主要考虑部分同态领域。
部分同态为仅仅是某种运算符下的同态性,如加、或乘等。满足部分同态的密码系统又可以根据其密钥类型分为两种:
一、非对称型密码系统:该类密码系统的密钥分为公钥和私钥,公钥用以加密,私钥用以解密。非对称型的同态性应用极为广泛,如RSA算法、Paillier算法等。
二、对称型密码系统:该类密码系统的密钥只有一把,密钥拥有者既可以加密,也可以解密。对称型的部分同态性应用相对狭窄,如仿射密码、DES(Data EncryptionStandard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)。
对于对称型密码系统,由于其加解密原理简单,计算复杂度低,但安全性也较低。例如,对于仿射密码和迭代型仿射密码,攻击者很容易分辨明文0和1的密文,因为明文0的密文总是为0,因此数据安全性较低,很容易被破解。
因此,本申请的发明人为了增加破解的难度,在编码过程中向目标明文数据增加随机的加扰数据,其中加扰数据为随机噪声数据基于参与同态运算的各个参与节点按照设定预算规则计算得出。从而增加数据的复杂性和随机性,提高了数据的安全。进一步地,为了得出最终的同态运算结果,参与节点将目标明文数据编码后,随机噪声数据和增加了加扰数据的目标明文数据组成了目标码文数据,并利用对称密钥加密后发送给同态运算节点。
同态运算节点接收多个参与节点发送的目标密文数据,对所有目标密文数据执行同态加运算,得到同态加运算结果。同态加运算结果中包括第一密文结果和第二密文结果,其中,第一密文结果为各个参与节点的随机噪声数据的同态加运算结果,第二密文结果为各个参与节点添加了加扰数据的目标明文数据的同态加运算结果。同态运算节点将计算得到的同态加运算结果再反馈给各个参与节点。
参与节点利用对称密钥将密文结果数据解密,将第一密文结果解密得到第一解密结果数据,从而第一解密结果中包括各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据;将第二密文结果解密得到第二解密结果数据,从而第二解密结果中包括各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。之后,参与节点利用设定预算规则对噪声结果数据进行运算,并根据运算结果去除码文结果数据中各个节点添加的加扰数据,得到明文结果数据。这里,由于编码时加扰数据即为随机噪声数据基于设定预算规则进行运算后得到的,在同态运算节点将多个随机噪声数据执行同态加运算后得到的噪声结果数据,也可以通过设定预算规则将码文结果数据中的加扰数据去除,从而只剩下明文结果数据。这里,在解密和解码的过程直接利用第一密文结果和第二密文结果即可,无需同态运算节点提供同态运算次数,进一步提高了数据的安全性。
进一步地,本申请实施例对多个目标明文数据的计算为同态计算,即先将目标明文数据进行加密得到目标密文数据,由同态运算节点对多个目标密文数据执行同态加运算得到密文结果数据,再由各个参与节点将密文结果数据解密得到明文结果数据。由于同态运算节点没有对称密钥,只对密文数据执行同态加运算,因此同态运算节点无法对密文数据进行解密,从而同态运算节点无法确定每一个参与节点的明文数据,也无法根据密文数据推测明文数据,保证了参与节点的信息不会被泄密。同时,不同的参与节点之间由于并没有执行数据互传,因此任一参与节点也无法获知其余参与节点的明文数据,从而进一步保证了每一个参与节点的数据的隐私性和安全性。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
参考图1,其为本申请实施例提供的基于多个计算节点的同态加密系统的示意图。该应用场景至少包括同态运算节点101以及至少两个参与节点102,参与节点102之间共享对称密钥对,每个参与节点102存有各自的随机噪声数据。每个参与节点102上存有各自需要进行同态加运算的目标明文数据,不同参与节点102上目标明文数据的数量可以相同,也可以不同。不同参与节点102均需要保护各自的数据隐私,则在对所有参与节点102上的目标明文数据进行计算时,例如计算所有参与节点102上的目标明文数据之和时,所有参与节点102均将目标明文数据加密之后传送给同态运算节点101。由同态运算节点101对所有的密文数据进行同态加运算后,将运算结果发送回各个参与节点102。参与节点102再通过解密和解码,得到同态运算节点101的计算结果。
同态运算节点101与参与节点102之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
同态运算节点101与参与节点102可以是终端设备,也可以是服务器,可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,应用于云电子地图产品中,应对电子地图大数据量的处理需求。
在基于云技术实现时,参与节点102可以通过云计算和云存储的方式对目标明文数据和密文数据进行处理,同态运算节点101也可以通过云计算和云存储的方式对接收到的密文数据进行处理。
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
在一种可能的实现方式中,通过云存储的方式对目标明文数据和对称密钥对进行存储,当需要对目标明文数据进行编码和加密时,从云存储对应的存储系统中获取目标明文数据和对称密钥,并利用对称密钥对目标明文数据进行编码和加密。对目标明文数据进行编码和加密时,可以通过云计算的方式将计算任务分布在大量资源池中,减少计算压力,同时可以获取加密结果。当需要接收到的密文数据进行同态加运算时,也可以通过云计算的方式将计算任务分布在大量资源池中,减少计算压力,同时可以获取同态加的计算结果。
下面介绍一个具体的应用场景。有4个学校,分别掌握各自学生的期末考试成绩,具体成绩如表1所示:
表1
Figure 121480DEST_PATH_IMAGE020
这4所学校想在保护各自的学生成绩及学生数隐私的前提下,完成4所学校平均成绩的计算。
图2示出了应用场景为平均成绩计算的系统示意图。如图2所示,每个学校分别对应一个学校管理平台,分别为A1、A2、A3、A4,每个学校管理平台中存储有各自学生的具体成绩。密钥存储系统中存储有对称密钥,学校管理平台可以从密钥存储系统中获取对称密钥。每个学校管理平台,生成各自的随机噪声数据,并利用随机噪声数据对目标明文数据即每个学生的成绩进行编码,在成绩数据中加入加扰数据,再利用对称密钥对加入了加扰数据的成绩数据进行加密得到成绩密文数据,用E()表示。此外,为了计算平均成绩,每个学校管理平台还将学生人数进行编码和加密,得到人数密文数据。学校管理平台A1、A2、A3、A4将各自的成绩密文数据和人数密文数据发送到中央服务器。
中央服务器对接收的所有学校的人数密文数据进行同态加运算,并对所有学校的成绩密文数据进行同态加运算,具体如下公式所示:
Figure 275250DEST_PATH_IMAGE021
……公式7
Figure 578055DEST_PATH_IMAGE022
……公式8
即中央服务器同态加运算得到总学生数密文E(11),以及总成绩密文E(907)。
中央服务器将总学生数密文E(11)和总成绩密文E(907)分别向学校管理平台A1、A2、A3、A4发送。
每个学校管理平台利用对称密钥对总学生数密文E(11)和总成绩密文E(907)进行解密和解码,得到总学生数明文11,以及总成绩密文907。这样,每个学校管理平台可以利用总成绩密文907和总学生数明文11相除得到平均成绩82.46。
本申请实施例中,每个学校生成对应的随机噪声数据,进而运算得到加扰数据,例如学校A1对应的随机噪声数据为X1,学校A2对应的随机噪声数据为X2,学校A3对应的随机噪声数据为X3,学校A4对应的随机噪声数据为X4,将学生成绩作为目标明文数据。每个学校管理平台基于设定预设规则对随机噪声数据运算后得到加扰数据,设定的预设规则假设为将随机噪声数据乘以m得到加扰数据,将加扰数据加入目标明文数据中进行编码再加密,得到目标密文数据。
以表1为例,学校A1得到目标密文数据分别为[E(X1),E(96+mX1)]、[E(X1),E(93+mX1)]、[E(X1),E(93+mX1)],学校A2得到目标密文数据分别为[E(X2),E(67+mX2)]、[E(X2),E(88+mX2)],学校A3得到目标密文数据分别为[E(X3),E(95+mX3)]、[E(X3),E(70+mX3)]、[E(X3),E(73+mX3)]、[E(X3),E(55+mX3)]、[E(X3),E(92+mX3)],学校A4得到目标密文数据为[E(X4),E(85+mX4)]。
同态运算节点接收到每个学校管理平台发送的目标密文数据后,对目标密文数据进行同态加运算,得到密文结果数据为[E(3X1+2X2+5X3+X4),E(907+3 mX1+2 mX2+5mX3+mX4)]。
同态运算节点将密文结果数据发送回各个参考节点,各个参考节点解密后得到码文结果数据为[ (3X1+2 X2+5X3+X4), (907+3mX1+2 mX2+5mX3+mX4)],再利用设定预设规则,根据运算结果去除码文结果数据中的加扰数据,得到明文结果数据,即(907+3mX1+2mX2+5mX3+m X4)-m(3X1+2X2+5X3+X4)=907。
当然,本申请实施例提供的方法并不限用于图1或图2所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
下面结合图1所示的应用场景,对本申请实施例提供的同态加密方法进行说明。本申请实施例中的同态加密方法应用于参与同态加密系统中的参与节点,同态加密系统包括同态运算节点和至少两个参与节点,请参考图3a,本申请实施例提供了一种同态加密方法,如图3a所示,方法包括:
步骤S301:参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据。
步骤S303:参与节点利用对称密钥对目标码文数据进行加密。
步骤S305:参与节点将加密得到的目标密文数据发送给同态运算节点。
步骤S307:参与节点接收同态运算节点返回的密文结果数据。
其中,密文结果数据为同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的。
步骤S309:参与节点利用对称密钥将密文结果数据解密,得到解密结果数据。
步骤S311:参与节点对解密结果数据解码,并在解码过程中去除各个参与节点的随机噪声数据,得到明文结果数据。
下面对上述同态加密方法进行详细介绍,其中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据。请参考图3b,本申请实施例提供了一种具体的同态加密方法,如图3b所示,方法包括:
步骤S302:参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据。
其中,目标码文数据中包括自身的随机噪声数据,以及添加了加扰数据的目标明文数据,加扰数据是基于设定预算规则对自身的随机噪声数据进行运算后获得的。
具体实施过程中,每个参与节点之间的随机噪声数据不同,因此,基于设定规则对随机噪声数据进行运算得到的加扰数据也不同。进一步地,加扰数据是以各个参与节点共享的设定数据对自身的随机噪声数据进行乘运算后获得加扰数据。
也就是说,这里基于设定规则对随机噪声数据进行运算,其中的设定规则可以为多个参与节点之间预先设定好的。例如,可以为参与节点在编码时临时生成一个随机噪声数据,直接将该随机噪声数据作为加扰数据;或者也可以为多个参与节点之间预先约定好相乘的倍数,当编码时临时生成随机噪声数据,将随机噪声数据按照约定好的倍数扩大作为加扰数据;或者还可以为多个参与节点之间预先约定好噪声源数据,当编码时临时确定随机噪声数据作为相乘的倍数,即将随机噪声数据与噪声源数据相乘作为加扰数据。
步骤S304:参与节点利用对称密钥对目标码文数据进行加密。
具体实施过程中,将目标明文数据编码为目标码文数据后,为了保证数据传输过程中以及同态计算过程中的数据安全,利用对称密钥对目标码文数据进行加密。这里的对称密钥可以为仿射密码、迭代型仿射密码、DES、AES等。
步骤S306:参与节点将加密得到的目标密文数据发送给同态运算节点。
步骤S308:同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算,得到密文结果数据。
密文结果数据中包含第一密文结果和第二密文结果。其中,第一密文结果为各个参与节点各自的随机噪声数据的同态加运算结果,第二密文结果为各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果。
具体实施过程中,同态运算节点对接收到的所有目标密文数据执行同态加运算,得到密文结果数据。由于一个目标密文数据包括随机噪声数据,以及添加了加扰数据的目标明文数据。这里执行同态加运算为将所有参与节点的随机噪声数据执行同态加,得到第一密文结果;将所有添加了加扰数据的目标明文数据执行同态加,得到第二密文结果。从而后续解码过程中,可以利用第一密文结果去除第二密文结果中的加扰数据。
步骤S310:参与节点接收同态运算节点返回的密文结果数据。
步骤S312:参与节点利用对称密钥将密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据。
第一解密结果数据中包括各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。
具体实施过程中,参与节点接收到密文结果数据后,利用对称密钥将密文结果数据解密。即将第一密文结果解密,得到第一解密结果数据;将第二密文结果解密,得到第二解密结果数据。其中,第一解密结果数据中包括各个参与节点的随机噪声数据执行同态加运算的结果,第二解密结果数据中包括各个参与节点的添加了加扰数据的目标明文数据执行同态加运算得到的结果。
步骤314:参与节点利用设定预算规则对噪声结果数据进行运算,并根据运算结果去除码文结果数据中各个参与节点添加的加扰数据,得到明文结果数据。
由于参与节点在编码过程中是根据设定预算规则对随机噪声数据进行运算后得到加扰数据,因此,这里可以利用相同的设定预算规则,对噪声结果数据进行运算,确定码文结果数据中的加扰数据,从而去除码文结果数据中各个节点添加的加扰数据,进而得到明文结果数据。
本申请实施例提供的同态加密系统包括同态运算节点和至少两个参与节点,同态加密方法应用于参与同态加密系统中的各个参与节点。在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据。
本申请实施例中的同态加密方法中,参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据。其中,目标码文数据中包括自身的随机噪声数据,以及添加了加扰数据的目标明文数据;加扰数据是基于设定预算规则对自身的随机噪声数据进行运算后获得的。本申请实施例对目标明文数据进行编码,在编码过程中将加扰数据添加入目标明文数据,由于随机加扰数据的加入,使得根据密文数据推测明文数据的难度大大增加,从而增加了数据的安全性。
各个参与节点将目标明文数据编码得到目标码文数据后,利用对称密钥对目标码文数据进行加密,并将加密得到的目标密文数据发送给同态运算节点。进而同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到第一密文结果和第二密文结果。其中,第一密文结果为各个参与节点各自的随机噪声数据的同态加运算结果,第二密文结果为各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果。同态运算节点将得到的第一密文结果和第二密文结果后,再反馈给各个参与节点。
参与节点接收到第一密文结果和第二密文结果后,利用对称密钥将密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据。其中,第一解密结果数据中包括各个节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。最后,参与节点利用设定预算规则对噪声结果数据进行运算,并根据运算结果去除码文结果数据中各个节点添加的加扰数据,得到明文结果数据。
本申请实施例中,参与节点对目标明文数据进行编码和加密,在编码的过程中利用随机噪声数据得到加扰数据,并将加扰数据加入目标明文数据中,以增加数据的安全性。参与节点将加密后得到的目标密文数据发送给同态运算节点。同态运算节点对接收到的各个参与节点发送的目标密文数据执行同态加运算,得到密文结果数据,并将密文结果数据反馈给各个参与节点。各个参与节点接收到密文结果数据后,利用对称密钥将密文结果数据解密,得到第一解密结果数据和第二解密结果数据。此时,第一解密结果数据中包括各个节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据。从而,参与节点在进行解码时,可以利用与编码对应的设定预算规则,对噪声结果数据进行运算,根据运算结果去除码文结果数据中各个节点添加的加扰数据,得到明文结果数据。
本申请实施例在对目标明文数据进行编码的过程中,将加扰数据加入目标明文数据,由于加扰数据为随机生成,随机的加扰数据的加入,使得根据密文数据推测明文数据的难度大大增加,保证目标明文数据在传输过程中不易被破解,从而增加了数据的安全性。进一步的,本申请实施例对多个目标明文数据的计算为同态计算,即先将目标明文数据进行加密得到目标密文数据,由同态运算节点对多个目标密文数据执行同态加运算得到密文结果数据,再由各个参与节点将密文结果数据解密得到明文结果数据,由于同态运算节点没有对称密钥,只对密文数据执行同态加运算,因此同态运算节点无法对密文数据进行解密,从而同态运算节点无法确定每一个参与节点的明文数据,也无法根据密文数据推测明文数据。同时,不同的参与节点之间由于并没有执行数据互传,因此任一参与节点也无法获知其余参与节点的明文数据,从而进一步保证了每一个参与节点的数据的隐私性和安全性。
本申请实施例中,各个参与节点自身的随机噪声数据的个数可以为一个,也可以为两个或两个以上。
一种可选的实施例中,自身的随机噪声数据的个数为一个。
则参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据,包括:
将设定数据与随机噪声数据相乘,得到加扰数据;
将加扰数据作为第一码文单元;
在目标明文数据中添加所述加扰数据,得到第二码文单元;
将第一码文单元和第二码文单元组成目标码文数据。
具体实施过程中,将目标明文数据编码为二元数组,该二元数据包括第一码文单元和第二码文单元,其中,第一码文单元为加扰数据,第二码文单元为添加了加扰数据的目标明文数据。这样,后续执行同态加运算时,可以将所有二元数组中的第一码文单元执行同态加运算,将所有二元数组中的第二码文单元执行同态加运算,即将两个码文单元分别执行同态加运算,这样在解码过程中,无需同态运算节点提供同态运算次数,也可以利用二元数据中的两个码文单元,将目标明文数据中的加扰数据去除。
此外,为了进一步增加数据的安全性,噪声源数据还可以设置为2个或多个,即参考节点对应的自身的随机噪声数据的个数为至少两个;
参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据,包括:
将设定数据与至少两个随机噪声数据分别相乘,得到至少两个加扰数据;
将至少两个加扰数据作为第一码文单元;
在目标明文数据中添加至少两个加扰数据,得到第二码文单元;
将第一码文单元和第二码文单元组成目标码文数据。
下面以对称密钥为仿射密码来详细介绍数据的编码过程、加密过程、解密过程和解码过程。
仿射密码的密钥为(a,b,n),其中n是大整数;
Figure 200798DEST_PATH_IMAGE023
Figure 742025DEST_PATH_IMAGE024
, 其中Zn为明文空间,
Figure 891246DEST_PATH_IMAGE025
是Zn中与n互质的数组成的集合。此外,所有参考节点之间约定噪声 源数据g,以及设定倍数m。各个参考节点在编码过程中各自生成自身的随机噪声数据y。另 外,x为目标明文数据。则参考节点将目标明文数据进行编码的过程如下:
首先,计算
Figure 240319DEST_PATH_IMAGE026
。其中,%表示取模,n为集合基数,对n取模即为将h映射至集合 基数为n的集合中,用以降低空间复杂度。
然后,生成随机噪声数据y,其中
Figure 209412DEST_PATH_IMAGE027
将目标明文数据x编码为二元组(X1,X2),其中计算公式如下:
Figure 551401DEST_PATH_IMAGE028
……公式9
之后,参与节点利用对称密钥(a,b,n)对二元组进行加密,得到目标密文数据C:
Figure 430495DEST_PATH_IMAGE029
……公式10
其中,
Figure 75103DEST_PATH_IMAGE030
参与节点将加密得到的目标密文数据C发送至同态运算节点。
同态运算节点将所有参与节点的目标密文数据C执行同态加运算。
以同态计算参与节点1与参与节点2的目标密文数据为例。用
Figure 921705DEST_PATH_IMAGE031
表示同态加,若
Figure 677172DEST_PATH_IMAGE032
为参与节点1的目标密文数据,
Figure 410773DEST_PATH_IMAGE033
为参与节点2的目标密文数据,那么 本申请实施例根据以下公式保持同态性:
Figure 350916DEST_PATH_IMAGE034
……公式11
其中,P为参与节点1的目标密文数据与参与节点2的目标密文数据执行同态加运算得到的密文结果数据。
同态运算节点将密文结果数据P以及同态加运算次数向参与节点1和参与节点2发送。参与节点1和参与节点2根据以下方式获取明文结果数据:
首先,利用密钥(a,b,n)将密文结果数据P解密为二元组码文Q,包括噪声结果数据Q1和码文结果数据Q2,公式如下:
Figure 294601DEST_PATH_IMAGE035
……公式12
其中,
Figure 994704DEST_PATH_IMAGE036
之后,将二元组码文解码,得到明文结果数据F,具体公式如下:
Figure 707445DEST_PATH_IMAGE037
……公式13
为了增强密码的安全性,还可以利用迭代型仿射密码代替上述仿射密码进行加解密。这种情况下,迭代型仿射密码中包含K个集合的集合基数;
参与节点利用对称密钥对目标码文数据进行加密,包括:
利用迭代型仿射密码,将目标码文数据依次映射至K个集合中,得到目标密文数据;
其中,K个集合的集合基数依次增大。
进一步地,参与节点接收所述同态运算节点返回的密文结果数据之前,还包括:
将第K个集合的集合基数向同态运算节点发送;密文结果数据为同态运算节点对各个参与节点的目标密文数据执行同态加运算后再对第K个集合的集合基数取模得到的。
具体实施过程中,即为将第K个集合的集合基数不再视为密钥,而是作为公共知识发送至同态运算节点。这样,同态运算节点每一次执行同态加运算都包含一次取模操作,使得密文总是保持在第K个集合范围内,从而避免过多密文相加使得最终结果密文长度过长。
下面以具体实施例对利用迭代型仿射密码进行同态运算的过程进行详细介绍,具体的实施过程包括密钥生成阶段、加密阶段、同态运算阶段、解密阶段。
1、密钥生成阶段
首先,随机生成大整数n1…nk,满足K>1且n1<…<nk。其中,nk为第K个集合的集合基数。
较佳地,K可以取值为5。nk的比特长度即整个密钥长度,如nK的长度是1024比特。明 文空间是
Figure 821419DEST_PATH_IMAGE038
随机挑选
Figure 393345DEST_PATH_IMAGE039
随机选择
Figure 490614DEST_PATH_IMAGE040
。其中,g是循环群
Figure 448075DEST_PATH_IMAGE041
的一个生成元。m的比特长度 可以短一些,典型值如160比特。
最终得到如表2的密钥和公共知识。
表2
Figure 480753DEST_PATH_IMAGE042
其中,将第K个集合的集合基数,即nK
Figure 399031DEST_PATH_IMAGE043
作为公共知识可以发送至同态运算节点,是为了 减少同态运算的空间复杂度。
2、加密阶段
计算
Figure 424624DEST_PATH_IMAGE044
,其中,%表示取模。
生成随机噪声数据
Figure 111957DEST_PATH_IMAGE045
。其中,y的量级可设为与m相似。
将目标明文数据x编码为二元组(X1,X2),其计算公式如下:
Figure 315537DEST_PATH_IMAGE046
……公式14
参与节点利用对称密钥
Figure 845744DEST_PATH_IMAGE047
对二元组进行加密,得到目标密文 数据C:
Figure 550395DEST_PATH_IMAGE048
……公式15
其中
Figure 967601DEST_PATH_IMAGE049
参与节点将加密得到的目标密文数据C发送至同态运算节点。
3、同态运算阶段
同态运算节点将所有参与节点的目标密文数据C执行同态加运算。
仍以同态计算参与节点1与参与节点2的目标密文数据为例。用
Figure 466715DEST_PATH_IMAGE031
表示同态加,若
Figure 487149DEST_PATH_IMAGE050
为参与节点1的目标密文数据,
Figure 729911DEST_PATH_IMAGE051
为参与节点2的目标密文数据,那么 本申请实施例根据以下公式保持同态性:
Figure 1624DEST_PATH_IMAGE052
……公式16
同态运算节点中存有公共知识nK。若要降低同态执行方的空间复杂度,则其需要掌握公共知识nK
其中,P为参与节点1的目标密文数据与参与节点2的目标密文数据执行同态加运算得到的密文结果数据。同态运算节点将密文结果数据P向参与节点1和参与节点2发送。
4、解密阶段
参与节点将密文结果数据P解密为二元组码文Q,包括噪声结果数据Q1和码文结果数据Q2,公式如下:
Figure 61852DEST_PATH_IMAGE053
……公式17
其中
Figure 176439DEST_PATH_IMAGE054
之后,将二元组码文解码,得到明文结果数据F,具体公式如下:
Figure 98258DEST_PATH_IMAGE055
……公式18
本申请实施例中的迭代型仿射密码,相比仿射密码,在解密时不需提供同态运算过的次数,从而增强了密码安全性。
本申请具体实施例的有益效果如下:
1、保持加法同态性。
实验如下:首先实例化一个本申请的密钥及公共知识信息如表3所示:
表3
Figure 614690DEST_PATH_IMAGE056
然后随机生成10000个处于[0,10000]区间的整数作为目标明文数据,用本申请实施例的迭代型仿射密码进行编码和加密,同态运算节点在密文空间中加和,将密文进行解密解码,与真实结果对比。实验结果如表4所示:
表4
Figure 580241DEST_PATH_IMAGE057
很容易验证,与明文数据之和相对比,解密和的密文与明文数据之和一致,即得到了正确结果。
2、解密时,不需提供同态运算过的次数,从而增强密码安全性。
3、保护语义安全。
本申请实施例的语义安全性由在编码阶段引入的随机噪声数据
Figure 323069DEST_PATH_IMAGE058
实现。
例如,对于目标明文数据0,1,2,如果不引入随机噪声数据
Figure 173214DEST_PATH_IMAGE058
,得到的密文如表5:
表5
Figure 668786DEST_PATH_IMAGE059
那么对于攻击者来说,很容易推测出密文0对应的明文是0。根据2对应的密文是1对应的密文的2倍,推测明文关系也是倍数为2的关系。
如果引入随机噪声数据
Figure 680604DEST_PATH_IMAGE058
,多次加密明文0,1,2,得到的密文总是不同的,如表6:
表6
Figure 379570DEST_PATH_IMAGE060
观察表6,可以发现无法推测密文对应的明文,即使是0。由于随机噪声数据的存在,无法推测包括倍数关系在内的重要信息。
4、本方案将最大的nK不再视为密钥,而是作为公共知识发送至同态运算节点使 用。从而,每一次同态加运算都包含一次取模操作,使得密文总是保持在
Figure 149250DEST_PATH_IMAGE061
范围内,从而避 免过多密文相加使得最终结果密文长度过高。
下述为本申请装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
请参考图4,其示出了本申请一个实施例提供的同态加密装置的结构方框图。该同态加密装置通过硬件或者软硬件的结合实现成为图1中参与同态加密系统中参与节点的全部或者一部分。同态加密系统包括同态运算节点和至少两个参与节点。该装置包括:编码单元401、加密单元402、收发单元403、解密单元404,解码单元405。
编码单元401,用于利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;
加密单元402,用于利用共享的对称密钥对目标码文数据进行加密;
收发单元403,用于将加密得到的目标密文数据发送给同态运算节点;接收同态运算节点返回的密文结果数据,密文结果数据为同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的;
解密单元404,用于利用对称密钥将密文结果数据解密,得到解密结果数据;
解码单元405,用于对解密结果数据解码,并在解码过程中去除各个参与节点的随机噪声数据,得到明文结果数据。
可选的,目标码文数据之中包括随机噪声数据以及添加了加扰数据的目标明文数据,加扰数据是基于设定预算规则对随机噪声数据进行运算后获得的,设定预算规则为以各个参与节点共享的设定数据对自身的随机噪声数据进行乘运算;
密文结果数据包括第一密文结果和第二密文结果,第一密文结果为各个参与节点各自的随机噪声数据的同态加运算结果,第二密文结果为所述各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果;
解密结果数据包括第一密文结果的第一解密结果和第二密文结果的第二解密结果;第一解密结果中包括各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,第二解密结果包括对各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据;
解码单元405,具体用于利用设定预算规则对噪声结果数据进行运算,并根据运算结果去除码文结果数据中各个参与节点添加的加扰数据。
可选的,加扰数据是基于设定预算规则对自身的随机噪声数据进行运算后获得的;
编码单元401,用于:
以各个参与节点共享的设定数据对自身的随机噪声数据进行乘运算后获得加扰数据。
可选的,自身的随机噪声数据的个数为一个;
编码单元401,具体用于:
将设定数据与随机噪声数据相乘,得到加扰数据;
将加扰数据作为第一码文单元;
在目标明文数据中添加加扰数据,得到第二码文单元;
将第一码文单元和第二码文单元组成目标码文数据。
可选的,自身的随机噪声数据的个数为至少两个;
编码单元401,具体用于:
将设定数据与至少两个随机噪声数据分别相乘,得到至少两个加扰数据;
将至少两个加扰数据作为第一码文单元;
在目标明文数据中添加至少两个加扰数据,得到第二码文单元;
将第一码文单元和第二码文单元组成目标码文数据。
可选的,对称密钥为仿射密码。
可选的,对称密钥为迭代型仿射密码,迭代型仿射密码中包含K个集合的集合基数;
加密单元402,具体用于:
利用迭代型仿射密码,将目标码文数据依次映射至K个集合中,得到目标密文数据;
其中,K个集合的集合基数依次增大。
可选的,收发单元403,还用于:
将第K个集合的集合基数向同态运算节点发送;密文结果数据为同态运算节点对各个参与节点的目标密文数据执行同态加运算后再对第K个集合的集合基数取模得到的。
请参考图5,其示出了本申请一个实施例提供的服务器的结构方框图。该服务器500实现为图1中参与节点的全部或者一部分。具体来讲:
服务器500包括中央处理单元(CPU)501、包括随机存取存储器(RAM)502和只读存储器(ROM)503的系统存储器504,以及连接系统存储器504和中央处理单元501的系统总线505。服务器500还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)506,和用于存储操作系统513、应用程序514和其他程序模块515的大容量存储设备507。
基本输入/输出系统506包括有用于显示信息的显示器508和用于用户输入信息的诸如鼠标、键盘之类的输入设备509。其中显示器508和输入设备509都通过连接到系统总线505的输入输出控制器510连接到中央处理单元501。基本输入/输出系统506还可以包括输入输出控制器510以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器510还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备507通过连接到系统总线505的大容量存储控制器(未示出)连接到中央处理单元501。大容量存储设备507及其相关联的计算机可读介质为服务器500提供非易失性存储。也就是说,大容量存储设备507可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器504和大容量存储设备507可以统称为存储器。
根据本申请的各种实施例,服务器500还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器500可以通过连接在系统总线505上的网络接口单元511连接到网络512,或者说,也可以使用网络接口单元511来连接到其他类型的网络或远程计算机系统(未示出)。
存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,一个或者一个以上程序包含用于进行本申请实施例提供的同态加密方法的指令。
本领域普通技术人员可以理解上述实施例的同态加密方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
本领域普通技术人员可以理解上述实施例的同态加密方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种同态加密方法,应用于参与同态加密系统中的参与节点,所述同态加密系统包括同态运算节点和至少两个参与节点,其特征在于,在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据,所述同态加密方法包括:
参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;其中,所述目标码文数据中包括所述自身的随机噪声数据,以及添加了加扰数据的目标明文数据,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的;
所述参与节点利用所述对称密钥对所述目标码文数据进行加密并将加密得到的目标密文数据发送给同态运算节点;
所述参与节点接收所述同态运算节点返回的密文结果数据,所述密文结果数据为所述同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的第一密文结果和第二密文结果,所述第一密文结果为所述各个参与节点各自的随机噪声数据的同态加运算结果,所述第二密文结果为所述各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果;
所述参与节点利用所述对称密钥将所述密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据;所述第一解密结果数据中包括所述各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,所述第二解密结果包括对所述各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据;
所述参与节点利用所述设定预算规则对所述噪声结果数据进行运算,并根据运算结果去除所述码文结果数据中所述各个参与节点添加的加扰数据,得到明文结果数据。
2.根据权利要求1所述的方法,其特征在于,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的,具体包括:
以所述各个参与节点共享的设定数据对自身的随机噪声数据进行乘运算后获得所述加扰数据。
3.根据权利要求2所述的方法,其特征在于,所述自身的随机噪声数据的个数为一个;
所述参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据,包括:
将所述设定数据与所述随机噪声数据相乘,得到所述加扰数据;
将所述加扰数据作为第一码文单元;
在所述目标明文数据中添加所述加扰数据,得到第二码文单元;
将所述第一码文单元和所述第二码文单元组成所述目标码文数据。
4.根据权利要求2所述的方法,其特征在于,所述自身的随机噪声数据的个数为至少两个;
所述参与节点利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据,包括:
将所述设定数据与至少两个随机噪声数据分别相乘,得到至少两个加扰数据;
将所述至少两个加扰数据作为第一码文单元;
在所述目标明文数据中添加所述至少两个加扰数据,得到第二码文单元;
将所述第一码文单元和所述第二码文单元组成所述目标码文数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述对称密钥为仿射密码。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述对称密钥为迭代型仿射密码,所述迭代型仿射密码中包含K个集合的集合基数;
所述参与节点利用对称密钥对所述目标码文数据进行加密,包括:
利用所述迭代型仿射密码,将所述目标码文数据依次映射至所述K个集合中,得到所述目标密文数据;
其中,所述K个集合的集合基数依次增大。
7.根据权利要求6所述的方法,其特征在于,所述参与节点接收所述同态运算节点返回的密文结果数据之前,还包括:
将第K个集合的集合基数向所述同态运算节点发送;所述密文结果数据为所述同态运算节点对各个参与节点的目标密文数据执行同态加运算后再对所述第K个集合的集合基数取模得到的。
8.一种同态加密装置,其特征在于,应用于参与同态加密系统中的参与节点,所述同态加密系统包括同态运算节点和至少两个参与节点,其特征在于,在同态加密过程中,每个参与节点共享对称密钥,但各自有自身的随机噪声数据,所述同态加密装置包括:
编码单元,用于利用自身的随机噪声数据对需要加密的目标明文数据进行编码,得到目标码文数据;其中,所述目标码文数据中包括所述自身的随机噪声数据,以及添加了加扰数据的目标明文数据,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的;
加密单元,用于利用所述对称密钥对所述目标码文数据进行加密;
收发单元,用于将加密得到的目标密文数据发送给同态运算节点;接收所述同态运算节点返回的密文结果数据,所述密文结果数据为所述同态运算节点对参与同态加密的各个参与节点分别发送的目标密文数据执行同态加运算得到的第一密文结果和第二密文结果,所述第一密文结果为所述各个参与节点各自的随机噪声数据的同态加运算结果,所述第二密文结果为所述各个参与节点各自添加了加扰数据的目标明文数据的同态加运算结果;
解密单元,用于利用所述对称密钥将所述密文结果数据解密,得到第一密文结果的第一解密结果数据和第二密文结果的第二解密结果数据;所述第一解密结果数据中包括所述各个参与节点的随机噪声数据执行同态加运算得到的噪声结果数据,所述第二解密结果包括对所述各个参与节点添加了加扰数据的目标明文数据执行同态加运算得到的码文结果数据;
解码单元,用于利用所述设定预算规则对所述噪声结果数据进行运算,并根据运算结果去除所述码文结果数据中所述各个参与节点添加的加扰数据,得到明文结果数据。
9.根据权利要求8所述的装置,其特征在于,所述加扰数据是基于设定预算规则对所述自身的随机噪声数据进行运算后获得的;
所述编码单元,用于:
以所述各个参与节点共享的设定数据对自身的随机噪声数据进行乘运算后获得所述加扰数据。
10.根据权利要求9所述的装置,其特征在于,所述自身的随机噪声数据的个数为一个;
所述编码单元,具体用于:
将所述设定数据与所述随机噪声数据相乘,得到所述加扰数据;
将所述加扰数据作为第一码文单元;
在所述目标明文数据中添加所述加扰数据,得到第二码文单元;
将所述第一码文单元和所述第二码文单元组成所述目标码文数据。
11.根据权利要求9所述的装置,其特征在于,所述自身的随机噪声数据的个数为至少两个;
所述编码单元,具体用于:
将所述设定数据与至少两个随机噪声数据分别相乘,得到至少两个加扰数据;
将所述至少两个加扰数据作为第一码文单元;
在所述目标明文数据中添加所述至少两个加扰数据,得到第二码文单元;
将所述第一码文单元和所述第二码文单元组成所述目标码文数据。
12.根据权利要求8-11任一项所述的装置,其特征在于,所述对称密钥为仿射密码。
13.根据权利要求8-11任一项所述的装置,其特征在于,所述对称密钥为迭代型仿射密码,所述迭代型仿射密码中包含K个集合的集合基数;
所述加密单元,具体用于:
利用所述迭代型仿射密码,将所述目标码文数据依次映射至所述K个集合中,得到所述目标密文数据;
其中,所述K个集合的集合基数依次增大。
14.一种计算机设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如权利要求1~7中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1~7中任一项所述的方法。
CN202010602748.4A 2020-06-29 2020-06-29 一种同态加密方法及装置 Active CN111510281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010602748.4A CN111510281B (zh) 2020-06-29 2020-06-29 一种同态加密方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010602748.4A CN111510281B (zh) 2020-06-29 2020-06-29 一种同态加密方法及装置

Publications (2)

Publication Number Publication Date
CN111510281A true CN111510281A (zh) 2020-08-07
CN111510281B CN111510281B (zh) 2020-09-25

Family

ID=71877122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010602748.4A Active CN111510281B (zh) 2020-06-29 2020-06-29 一种同态加密方法及装置

Country Status (1)

Country Link
CN (1) CN111510281B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073196A (zh) * 2020-11-10 2020-12-11 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
CN112152796A (zh) * 2020-08-25 2020-12-29 南方电网科学研究院有限责任公司 一种基于密钥动态协商的组播方法及相关装置
CN112231736A (zh) * 2020-11-04 2021-01-15 广东辰宜信息科技有限公司 全同态加密微系统、计算方法、加密方法、处理端及介质
CN112906044A (zh) * 2021-05-10 2021-06-04 腾讯科技(深圳)有限公司 多方安全计算方法、装置、设备及存储介质
CN113312654A (zh) * 2021-06-29 2021-08-27 重庆交通大学 一种基于csp问题的同态密文编码与计算方法
CN113821810A (zh) * 2021-08-26 2021-12-21 上海赢科信息技术有限公司 数据处理方法及系统、存储介质及电子设备
CN114070558A (zh) * 2021-11-18 2022-02-18 北京字节跳动网络技术有限公司 一种数据传输方法及装置
CN114221792A (zh) * 2021-11-23 2022-03-22 杭州天宽科技有限公司 一种互联网数据传输加密系统
CN116150795A (zh) * 2023-04-17 2023-05-23 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、系统及相关设备
CN116508288A (zh) * 2020-10-29 2023-07-28 扎马简易股份有限公司 具有改进的数据项表示的全同态密码

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110211692A1 (en) * 2010-02-26 2011-09-01 Mariana Raykova Secure Computation Using a Server Module
CN102833740A (zh) * 2012-09-03 2012-12-19 江苏科技大学 一种无线传感器网络数据聚合隐私保护方法
CN106100831A (zh) * 2016-06-01 2016-11-09 兰雨晴 一种传送和处理数据的方法及系统
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN107104796A (zh) * 2017-05-02 2017-08-29 北京邮电大学 一种基于非交换群上的对称乘法同态加密方法及装置
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
CN109656840A (zh) * 2018-12-21 2019-04-19 成都海光集成电路设计有限公司 一种数据加解密的装置、方法、存储介质、以及数据存储系统
CN109858269A (zh) * 2019-02-20 2019-06-07 安徽师范大学 一种基于同态加密的隐私保护密度峰聚类方法
US20200036512A1 (en) * 2018-07-24 2020-01-30 Duality Technologies, Inc. Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110211692A1 (en) * 2010-02-26 2011-09-01 Mariana Raykova Secure Computation Using a Server Module
CN102833740A (zh) * 2012-09-03 2012-12-19 江苏科技大学 一种无线传感器网络数据聚合隐私保护方法
CN106100831A (zh) * 2016-06-01 2016-11-09 兰雨晴 一种传送和处理数据的方法及系统
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN107104796A (zh) * 2017-05-02 2017-08-29 北京邮电大学 一种基于非交换群上的对称乘法同态加密方法及装置
CN108712260A (zh) * 2018-05-09 2018-10-26 曲阜师范大学 云环境下保护隐私的多方深度学习计算代理方法
US20200036512A1 (en) * 2018-07-24 2020-01-30 Duality Technologies, Inc. Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware
CN109656840A (zh) * 2018-12-21 2019-04-19 成都海光集成电路设计有限公司 一种数据加解密的装置、方法、存储介质、以及数据存储系统
CN109858269A (zh) * 2019-02-20 2019-06-07 安徽师范大学 一种基于同态加密的隐私保护密度峰聚类方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘洋: ""保护隐私的多标记分类方法"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
张玉清等: ""云计算环境安全综述"", 《软件学报》 *
黄刘生等: ""大数据隐私保护密码技术研究综述"", 《软件学报》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152796A (zh) * 2020-08-25 2020-12-29 南方电网科学研究院有限责任公司 一种基于密钥动态协商的组播方法及相关装置
CN112152796B (zh) * 2020-08-25 2022-12-23 南方电网科学研究院有限责任公司 一种基于密钥动态协商的组播方法及相关装置
CN116508288A (zh) * 2020-10-29 2023-07-28 扎马简易股份有限公司 具有改进的数据项表示的全同态密码
CN112231736A (zh) * 2020-11-04 2021-01-15 广东辰宜信息科技有限公司 全同态加密微系统、计算方法、加密方法、处理端及介质
CN112073196B (zh) * 2020-11-10 2021-02-23 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
CN112073196A (zh) * 2020-11-10 2020-12-11 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
WO2022237450A1 (zh) * 2021-05-10 2022-11-17 腾讯科技(深圳)有限公司 多方安全计算方法、装置、设备及存储介质
CN112906044A (zh) * 2021-05-10 2021-06-04 腾讯科技(深圳)有限公司 多方安全计算方法、装置、设备及存储介质
CN112906044B (zh) * 2021-05-10 2021-07-30 腾讯科技(深圳)有限公司 多方安全计算方法、装置、设备及存储介质
CN113312654B (zh) * 2021-06-29 2023-05-12 重庆交通大学 一种基于csp问题的同态密文编码与计算方法
CN113312654A (zh) * 2021-06-29 2021-08-27 重庆交通大学 一种基于csp问题的同态密文编码与计算方法
CN113821810A (zh) * 2021-08-26 2021-12-21 上海赢科信息技术有限公司 数据处理方法及系统、存储介质及电子设备
CN113821810B (zh) * 2021-08-26 2024-03-08 上海赢科信息技术有限公司 数据处理方法及系统、存储介质及电子设备
CN114070558A (zh) * 2021-11-18 2022-02-18 北京字节跳动网络技术有限公司 一种数据传输方法及装置
CN114070558B (zh) * 2021-11-18 2023-11-24 抖音视界有限公司 一种数据传输方法及装置
CN114221792A (zh) * 2021-11-23 2022-03-22 杭州天宽科技有限公司 一种互联网数据传输加密系统
CN114221792B (zh) * 2021-11-23 2023-06-16 杭州天宽科技有限公司 一种互联网数据传输加密系统
CN116150795A (zh) * 2023-04-17 2023-05-23 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、系统及相关设备
CN116150795B (zh) * 2023-04-17 2023-07-14 粤港澳大湾区数字经济研究院(福田) 基于同态加密的数据处理方法、系统及相关设备

Also Published As

Publication number Publication date
CN111510281B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN111510281B (zh) 一种同态加密方法及装置
CN113424185B (zh) 快速不经意传输
Almaiah et al. A new hybrid text encryption approach over mobile ad hoc network
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
CN112769542B (zh) 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
Peng Danger of using fully homomorphic encryption: A look at Microsoft SEAL
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
Sekar et al. Comparative study of encryption algorithm over big data in cloud systems
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
US11411720B2 (en) Key distribution system, terminal device, key distribution method, and program
US11271743B2 (en) Plaintext equivalence proof techniques in communication systems
Li et al. Cryptographic algorithms for privacy-preserving online applications.
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
KR102304831B1 (ko) 순열그룹 기반의 암호화 기술을 적용한 암호화시스템 및 방법
CN114629620A (zh) 同态加密计算方法及系统、同态请求、计算和密钥系统
JP2024514711A (ja) 完全適応型セキュリティを有する分散型マルチオーソリティの属性ベース暗号化
Al-Attab et al. Lightweight effective encryption algorithm for securing data in cloud computing
JP2886517B2 (ja) 共通鍵通信システム
Popoola Data Integrity Using Caesar Cipher and Residue Number System
CN114189329B (zh) 一种公钥认证可否认加密方法及系统
CN114500006B (zh) 查询请求的处理方法及装置
WO2023115603A1 (zh) 一种基于半可信硬件的多方隐私计算方法及装置
Kishore et al. A novel text encryption algorithm using enhanced Diffie Hellman and AES
Weng et al. Privacy-Preserving Neural Network Based on Multi-key NTRU Cryptosystem
CN111835506B (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: 40028359

Country of ref document: HK