CN117595979A - 数据处理方法及设备 - Google Patents

数据处理方法及设备 Download PDF

Info

Publication number
CN117595979A
CN117595979A CN202311549653.0A CN202311549653A CN117595979A CN 117595979 A CN117595979 A CN 117595979A CN 202311549653 A CN202311549653 A CN 202311549653A CN 117595979 A CN117595979 A CN 117595979A
Authority
CN
China
Prior art keywords
ciphertext
encryption
homomorphic
processed
sub
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
CN202311549653.0A
Other languages
English (en)
Other versions
CN117595979B (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.)
WUHAN ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies Co Ltd
Original Assignee
WUHAN ARGUSEC TECHNOLOGY CO LTD
Beijing Infosec Technologies 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 WUHAN ARGUSEC TECHNOLOGY CO LTD, Beijing Infosec Technologies Co Ltd filed Critical WUHAN ARGUSEC TECHNOLOGY CO LTD
Priority to CN202311549653.0A priority Critical patent/CN117595979B/zh
Publication of CN117595979A publication Critical patent/CN117595979A/zh
Application granted granted Critical
Publication of CN117595979B publication Critical patent/CN117595979B/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/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
    • 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/0442Network 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 asymmetric encryption, i.e. different keys for encryption and decryption
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • 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/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

本发明实施例提供一种数据处理方法及设备,所述方法包括:接收请求端发送的待处理请求,待处理请求中包括待处理任务、第一加密密文以及第二加密密文;根据待处理任务,确定第一加密密文和第二加密密文对应的同态计算类型;确定第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次,加密层次用于表示执行乘法运算的深度;根据同态计算类型、第一加密层次以及第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果;将同态计算结果发送至请求端,以使得请求端对同态运算结果进行解密,得到处理结果,这样不仅可以提高密文数据的同态计算效率,同时还可以实现复杂的隐私计算。

Description

数据处理方法及设备
技术领域
本发明涉及信息安全数据处理技术领域,尤其涉及一种数据处理方法及设备。
背景技术
随着互联网络技术的不断发展,数据呈现爆发式增长的态势,海量数据往往以委托计算服务的模式保存在云服务器中。存储在云端的一些数据往往含有隐私信息,然而,云端的保密机制不完善容易泄露一部分数据信息。因此,需要对隐私数据进行加密保护,这样在对数据进行加密处理后,原始数据的原有的数据结构就遭到破坏了,从而容易使得加密后的数据失去了信息处理的功能。
为此,可以采用同态加密算法来对数据进行处理,同态加密算法既能对数据进行加密,又能对加密后的数据进行信息处理。然而,现有同态加密技术方案中,在利用同态加密得到的密文数据进行多项式同态计算时,还存在计算效率低等的问题,并且只支持简单的密文数据的同态计算,导致其使用范围较窄,不能实现复杂的隐私计算。
发明内容
本发明实施例提供一种数据处理方法及设备,用以提高密文数据的同态计算效率,同时还可以实现复杂的隐私计算。
第一方面,本发明实施例提供一种数据处理方法,该方法包括:
接收请求端发送的待处理请求,所述待处理请求中包括待处理任务和待处理数据,所述待处理数据包括第一加密密文和第二加密密文;
根据所述待处理任务,确定所述第一加密密文和第二加密密文对应的同态计算类型;
确定所述第一加密密文对应的第一加密层次以及所述第二加密密文对应的第二加密层次,所述加密层次用于表示执行乘法运算的深度;
根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果;
将所述同态计算结果发送至所述请求端,以使得所述请求端对所述同态运算结果进行解密,得到处理结果。
第二方面,本发明实施例提供一种数据处理装置,该装置包括:
接收模块,用于接收请求端发送的待处理请求,所述待处理请求中包括待处理任务和待处理数据,所述待处理数据包括第一加密密文和第二加密密文;
第一确定模块,用于根据所述待处理任务,确定所述第一加密密文和第二加密密文对应的同态计算类型;
第二确定模块,用于确定所述第一加密密文对应的第一加密层次以及所述第二加密密文对应的第二加密层次,所述加密层次用于表示执行乘法运算的深度;
处理模块,用于根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果;
发送模块,用于将所述同态计算结果发送至所述请求端,以使得所述请求端对所述同态运算结果进行解密,得到处理结果。
第三方面,本发明实施例提供一种终端设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的数据处理方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被管控设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的数据处理方法。
在本发明实施例提供的数据处理方案中,通过根据待处理任务,确定第一加密密文和第二加密密文对应的同态计算类型,再根据同态计算类型、第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果,并将同态计算结果发送至请求端,以使得请求端对同态运算结果进行解密,得到处理结果,这样不仅可以提高密文数据的同态计算效率,同时还可以实现复杂的隐私计算。
第五方面,本发明实施例提供一种数据处理方法,所述方法包括:
获取待处理数据,所述待处理数据为N次多项式,N小于等于4;
确定所述待处理数据对应的乘法深度;
根据所述乘法深度,对所述待处理数据进行分解处理,以获得多个子数据;
对所述多个子数据进行同态加密处理,以获得所述多个子数据各自对应的子加密密文;
按照上述第一方面所述的数据处理方法,对所述多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
第六方面,本发明实施例提供一种数据处理装置,所述装置包括:
获取模块,用于获取待处理数据,所述待处理数据为N次多项式,N小于等于4;
确定模块,用于确定所述待处理数据对应的乘法深度;
分解模块,用于根据所述乘法深度,对所述待处理数据进行分解处理,以获得多个子数据;
加密模块,用于对所述多个子数据进行同态加密处理,以获得所述多个子数据各自对应的子加密密文;
运算模块,用于按照上述第一方面所述的数据处理方法,对所述多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的数据处理方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被计算设备的处理器执行时,使所述处理器至少可以实现如第五方面所述的数据处理方法。
本发明实施例提供的数据处理方案中,首先获取待处理数据,待处理数据为N次多项式,N小于等于4。接着,确定待处理数据对应的乘法深度,并根据乘法深度,对待处理数据进行分解处理,以获得多个子数据,对多个子数据进行同态加密处理,以获得多个子数据各自对应的子加密密文,分别确定各个子加密密文对应的同态计算类型以及各个子加密密文对应的加密层次,根据同态计算类型、加密层次,对各个子加密密文进行同态计算,获得同态计算结果,实现了对4次多项式的同态运算处理,从而可以实现复杂的隐私计算。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据处理方法的流程图;
图2为本发明实施例提供的一种数据处理方法的应用示意图;
图3为本发明实施例提供的对第一加密密文和第二加密密文进行同态计算,获得同态计算结果的流程示意图;
图4为本发明实施例提供的一种对第一加密密文和第二加密密文进行同态加法计算,获得同态计算结果的流程图;
图5为本发明实施例提供的另一种数据处理方法的流程图;
图6为本发明实施例提供的一种同态解密方法的流程图;
图7为本发明实施例提供的一种数据处理装置的结构示意图;
图8为与图7所示实施例提供的数据处理装置对应的电子设备的结构示意图;
图9为本发明实施例提供的另一种数据处理装置的结构示意图;
图10为与图9所示实施例提供的数据处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
还需要说明的是,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
随着云计算在各个领域地广泛应用,在应用云计算时如何可以安全有效地保护用户隐私与安全成为当今密码学研究领域的热点。若数据以明文形式进行存储则有可能将敏感数据暴露给云服务商,将会给用户机密数据带来一系列的安全问题。为解决这一问题,同态加密方案应运而生,利用同态加密方案对用户数据进行加密,再将密文发送到云端,数据在云端可以进行一系列的上传、下载、删除、更新、检索等操作,并且操作的均是加密密文。该操作既避免了数据在传输过程中被拦截、复制、窜改或伪造等风险,也避免了数据存储方将数据泄露或在服务器端被攻破的危险。因此,高性能的同态计算方法将有助于提升人工智能、隐私保护以及安全多方计算的效率。
目前,现有的同态计算方案虽然多种多样,但仍存在计算性能低且无法实现复杂的同态运算等问题。为了解决上述技术问题,本发明各实施例提供了一种数据处理方法。利用本发明提供的技术方案,可以对加密密文进行两次同态乘法运算和任意次的同态加法运算,这样不仅可以实现对四次多项式的同态计算,还可以有效地提高同态计算效率,从而有助于提升人工智能、隐私保护以及安全多方计算的效率。
为了使本技术领域的人员更好地理解本发明,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。本发明实施例提供的数据处理方法可以由一电子设备来执行,该电子设备可以为同一电子设备,也可以为不同的电子设备,并且电子设备可以是诸如PC机、笔记本电脑、智能手机等终端设备。
图1为本发明实施例提供的一种数据处理方法的流程图;图2为本发明实施例提供的一种数据处理方法的应用示意图;参考附图1-2所示,本发明实施例提供了一种数据处理方法,具体的,该方法可以包括如下步骤:
101、接收请求端发送的待处理请求,待处理请求中包括待处理任务和待处理数据,待处理数据包括第一加密密文和第二加密密文。
102、根据待处理任务,确定第一加密密文和第二加密密文对应的同态计算类型。
103、确定第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次,加密层次用于表示执行乘法运算的深度。
104、根据同态计算类型、第一加密层次以及第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果。
105、将同态计算结果发送至请求端,以使得请求端对同态运算结果进行解密,得到处理结果。
本发明实施例提供的数据处理方法可以通过对待处理请求中的加密密文进行同态运算处理,以完成请求端的待处理请求并将同态运算后的同态计算结果发送至请求端,以使得处理端无法获知待处理数据,保护了用户隐私安全,同时还可以使得请求端获得处理后的处理结果。
在进行数据处理时,首先接收请求端发送的待处理请求,待处理请求中包括待处理任务和待处理数据,待处理数据包括第一加密密文和第二加密密文。在一可选实施例中,第一加密密文和第二加密密文可以是基于paillier算法的同态加密方法对待加密数据进行加密后获得的。由于paillier算法只能实现对密文数据的同态加法运算,不具备同态乘法运算的性质,那么paillier算法将限制了隐私计算的复杂性。那么为了可以对加密密文进行同态乘法运算,可以在paillier算法的基础上进行改进,以使得改进后的同态加密方法对待加密数据进行加密后的加密密文具备同态乘法运算性能。
具体的,生成第一随机数,基于第一随机数,对第一待加密数据进行加密,获得第一加密的密文第一部分。接着,基于公钥,对第一随机数进行加密,获得第一加密密文的密文第二部分,并基于密文第一部分和密文第二部分,获得第一待加密数据所对应的第一加密密文。即第一加密密文是由密文第一部分和密文第二部分构成,在保证同态加密方法的安全性的基础上,该同态加密方法不仅提高了同态加密性能,同时还可以使得该同态加密方法可以同时支持同态加法运算和同态乘法运算。为了便于描述,在本发明实施例中,将加密密文中的密文第一部分命名为第一子密文,将加密密文中的密文第二部分命名为第二子密文,将加密密文中的密文第三部分命名为第三子密文,依次类推,在此不再赘述。
例如,具体的,假设第一待加密数据为消息m,用于对消息m进行加密的公钥为pk,从明文空间中随机选取一个第一随机数b,首先使用第一随机数b对消息m进行加密,获得第一子密文α=(m-b)mod N,接着使用公钥pk对随机数b进行加密,获得第二子密文β=Encpk(b),基于第一子密文和第二子密文,获得消息m对应的第一加密密文C,即C=Epk(m)=(α,β)。其中,本发明实施例中对生成公钥的方式不做限定,可以是直接采用paillier算法生成的公私钥对,也可以采用基于paillier算法的同态加密方法生成公私钥对。
同样地,可以使用该同态加密方法对第一待加密数据进行加密,以获得加密后的第二加密密文,在此不再赘述。另外,第一加密密文和第二加密密文可以为对同一待加密数据进行同态加密后获得的同一加密密文或者对不同的待加密数据进行同态加密后,获得的不同的加密密文。
在获取到第一加密密文和第二加密密文之后,确定第一加密密文和第二加密密文对应的同态计算类型。其中,同态计算类型可以为同态加法运算、同态乘法运算、同态标量乘运算等。并且在实际应用时,可以根据待处理请求中请求端所请求的待处理任务,确定第一加密密文和第二加密密文对应的同态计算类型。待处理任务可以为对第一加密密文和第二加密密文进行同态加法运算或同态乘法运算等或者待处理任务为对第一加密密文和第二加密密文进行相应操作等,例如将第一加密密文和第二加密密文存储在云端服务器中或者在云端数据库中检索第一加密密文和第二加密密文等。若待处理任务为对第一加密密文和第二加密密文执行相应的操作,则可以根据预先设置的操作列表,确定待处理任务对应的同态计算类型。其中,操作列表中存储有各种操作所对应的同态计算类型。
接着,确定第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次。其中,加密层次是指用于表示执行乘法运算的深度。也就是说,可以根据是否执行同态乘法运算来确定加密密文所对应的加密层次。例如,可以定义执行一次同态乘法运算后获得的加密密文所对应的加密层次为二型加密层次,其他情况下的加密密文都为一型加密层次,具体可以包括:执行任意次同态加法运算后获得的加密密文其所对应的加密层次为一型加密层次;或者定义没有进行任何同态运算,直接由明文进行同态加密后获得的加密密文其所对应的加密层次为一型加密层次。
在具体实施时,在一可选实施例中,也可以根据第一加密密文中所包括的密文数量(加密密文中所包括的元素数量),确定第一加密密文所对应的第一加密层次;根据第二加密密文所包括的密文数量,确定第二加密密文对应的第二加密层次。例如,若获取到的加密密文中包括两个子密文,则该加密密文所对应的加密层次为一型加密层次;若获取到的加密密文中包括三个子密文,则该加密密文所对应的加密层次为二型加密层次。若获取到的加密密文中包括四个子密文或者五个子密文,则该加密密文所对应的加密层次为三型加密层次。
在确定出第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次之后,可以根据同态计算类型、第一加密层次以及第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果。为了提高同态计算效率,对于不同类型的加密密文以及不同类型的同态计算提供了不同的计算方式。在本发明实施例中,可以通过加密密文所对应的加密层次来区分不同类型的加密密文。因此,在对第一加密密文和第二加密密文进行同态计算时,可以根据第一加密密文和第二加密密文对应的同态计算类型以及加密层次,选取对应的同态计算方式进行同态计算。
若第一加密密文以及第二加密密文均为一型加密层次并且第一加密密文和第二加密密文对应的同态计算类型为同态加法运算,则获取第一加密密文中的第一子密文与第二加密密文中的第一子密文的第一和值,接着获取第一加密密文中的第二子密文与第二加密密文中的第二子密文的第一乘积值,最后基于第一和值和第一乘积值,确定同态加法计算结果。
例如,假设对明文m1、m2分别进行同态加密,获得第一加密密文C1=(α11)和第二加密密文C2=(α22)。其中,第一加密密文中的第一子密文为α1,第一加密密文中的第二子密文为β1。第二加密密文中的第一子密文为α2,第二加密密文中的第二子密文为β2。并且第一加密密文和第二加密密文所对应的加密层次均为一型加密层次,则计算第一加密密文中的第一子密文与第二加密密文中的第一子密文的和值即第一和值为α12,计算第一加密密文中的第二子密文与第二加密密文中的第二子密文的乘积,即第一乘积值为β12,最后基于第一和值和第一乘积值,确定同态运算结果为(α1212)。其中α1=m1-b1,α2=m2-b2,β1=Encpk(b1),β2=Encpk(b2),从而确定出:α12=(m1+m2)-(b1+b2),Encpk(b1+b2)=β12
若第一加密密文以及第二加密密文均为一型加密层次并且第一加密密文和第二加密密文对应的同态计算类型为同态乘法运算,则获取公钥,基于公钥分别对第一加密密文中的第一子密文与第二加密密文中的第一子密文的乘积值、第一加密密文中的第一子密文与第二加密密文中的第二子密文、以及第二加密密文中的第一子密文与第一密文中的第二子密文进行同态加密,获得第一加密结果,基于公钥对第一加密密文中的第二子密文进行同态加密,获得第二加密结果,基于公钥对第二加密密文中的第二子密文进行同态加密,获得第三加密结果,基于第一加密结果、第二加密结果、以及第三加密结果,确定同态乘法结果。
例如,假设第一加密密文为C1=(α11),其中,第一加密密文中的第一子密文为α1,第一加密密文中的第二子密文为β1。第二加密密文C2=(α22),其中,第二加密密文中的第一子密文为α2,第二加密密文中的第二子密文为β2。获取加密密文所对应的公钥为pk,基于公钥分别对第一加密密文中的第一子密文与第二加密密文中的第一子密文的乘积值、第一加密密文中的第一子密文与第二加密密文中的第二子密文、以及第二加密密文中的第一子密文与第一密文中的第二子密文进行同态加密,获得第一加密结果α,即 基于公钥对第一加密密文中的第二子密文进行同态加密,获得第二加密结果β1,即β1=Encpk(b1)。基于公钥对第二加密密文中的第二子密文进行同态加密,获得第三加密结果β2,即β2=Encpk(b2)。基于第一加密结果、第二加密结果、以及第三加密结果,确定同态乘法计算结果为/>
若第一加密密文和第二加密密文均为二型加密层次并且第一加密密文和第二加密密文对应的同态计算类型为同态加法运算,则获取第一加密密文中的第一子密文与第二加密密文中的第一子密文的第二乘积值,获取第一加密密文中的第二子密文与第二加密密文中的第二子密文的第三乘积值,获取第一加密密文中的第三子密文与第二加密密文中的第三子密文的第四乘积值,基于第二乘积值、第三乘积值、以及第四乘积值,确定同态加法计算结果。
例如,第一加密密文为C1=(α11,12,1),第二加密密文为C2=(α21,22,2),
其中,β1,1=Encpk(b1),β2,1
Encpk(b2)。β2,1=Encpk(b3),β2,2=Encpk(b4)。对第一加密密文和第二加密密文进行同态加法运算,获得同态计算结果为C1+C2=(α,β12)。其中,α=α1·α21=β1,1·β1,22=β2,1·β2,2
若第一加密密文和第二加密密文均为二型加密层次并且第一加密密文和第二加密密文对应的同态计算类型为同态乘法运算,则对所述第二加密密文中的各个子密文进行分组处理,以获得处理后的第二加密密文;对第一加密密文和处理后的第二加密密文进行同态乘法计算,获得同态乘法计算结果。
若第一加密密文和第二加密密文均为三型加密层次并且第一加密密文和第二加密密文对应的同态计算类型为同态加法运算,则基于第一加密密文中的第一子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第一部分;基于第一加密密文中的第二子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分;基于第一加密密文中的第三子密文和第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分;基于第一部分、第二部分以及第三部分,确定同态加法计算结果。
其中,对于三型加密层次,可以分为两种情况,第一种情况可以为第一加密密文为由二型加密层次的加密密文与一型加密层次的加密密文进行同态乘法运算获得的;第二种情况为第一加密密文为二型加密层次的加密密文与二型加密层次的加密密文进行同态乘法运算获得的。
最后,将同态计算结果发送至请求端,以使得请求端对同态运算结果进行解密,得到处理结果。由于同态运算后获得的同态计算结果可能对应有多种类型的加密层次,那么为了使得请求端可以更快速地对同态运算结果进行解密,以获得处理结果,在本发明实施例中,还提供了一种针对不同加密层次的同态计算结果对应有不同的解密方法,以提高请求端的解密效率。
具体实施时,若同态计算结果为一型加密层次的加密密文,则基于私钥对加密密文中的密文第二部分进行解密,获得明文第一部分,并基于加密密文的第一子密文和明文第一部分,获得加密密文所对应的明文,一型加密层次是指加密密文由两个元素组成;若同态计算结果为二型加密层次,则基于私钥分别对加密密文的第一子密文、第二子密文、第三子密文进行解密,获得明文第二部分、明文第三部分、明文第四部分,并基于明文第二部分、明文第三部分、明文第四部分,获得加密密文所对应的明文,二型加密层次是指加密密文由三个元素组成。若同态计算结果为三型加密层次的加密密文,则基于私钥对加密密文中的第一子密文、第二子密文、第三子密文进行解密,以获得明文第一部分以及明文第二部分以及明文第四部分,对第一子密文中的指数进行解密,以获得明文第三部分,基于明文第一部分、明文第二部分、明文第三部分、明文第四部分,获得加密密文所对应的明文。
本发明实施例提供的数据处理方法,通过根据待处理任务,确定同态计算类型,并根据同态计算类型、第一加密密文对应的第一加密层次以及第二加密密文对应的第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果,并将同态计算结果发送至请求端,以使得请求端对同态运算结果进行解密,得到处理结果,这样可以提高密文数据的同态计算效率,同时还可以实现复杂的隐私计算。
上述实施例介绍了当接收到请求端发送的待处理请求之后,对待处理请求中的第一加密密文和第二加密密文进行同态计算的具体实现过程,为了便于理解上述同态计算过程,结合下述各个实施例对第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果的具体实现过程进行示例性说明。
图3为本发明实施例提供的对第一加密密文和第二加密密文进行同态计算,获得同态计算结果的流程示意图;在上述实施例的基础上,参考附图3所示,本实施例提供了一种同态计算类型为同态乘法运算,根据同态计算类型、第一加密层次以及第二加密层次,对第一加密密文和第二加密密文进行同态计算,获得同态计算结果的实现方式,具体的可以包括如下步骤:
301、若第二加密层次为一型加密层次以及第二加密层次为一型加密层次,则对第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文。
302、对处理后的第一加密密文和第二加密密文进行同态乘法计算,获得同态计算结果。
在本发明实施例中,当第一加密密文对应的第一加密层次为二型加密层次以及第二加密密文对应的第二加密层次为一型加密层次,则对第一加密密文和第二加密密文进行同态乘法运算时,可以先对第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文,而后,对处理后的第一加密密文和第二加密密文进行同态乘法计算,以获得同态计算结果。
由于第一加密密文和第二加密密文对应的加密层次不同,那么在对第一加密密文和第二第二加密密文进行同态计算时,可以先对第一加密密文中所包括的各个子密文进行分组处理,以获得与第二加密密文具有相同数量的子密文后,再对分组处理后的第一加密密文和第二加密密文进行同态计算。具体的,在一可选实施例中,对第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文的实现过程可以为:将第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分;对第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分。
其中,对处理后的第一加密密文和第二加密密文进行同态乘法计算,获得同态计算结果的具体实现过程可以包括:基于处理后的第一加密密文中的第一部分和第二加密密文中的第一子密文,确定同态乘法计算结果中的第一部分;基于处理后的第一加密密文中的第二部分以及第二加密密文中的第一子密文,确定同态乘法计算结果中的第二部分;基于处理后的第一加密密文中的第二部分和第二加密密文中的第二子密文,确定同态乘法计算结果中的第三部分;基于第一部分、第二部分以及第三部分,确定同态计算结果。
在一可选实施例中,基于处理后的第一加密密文中的第一部分和第二加密密文中的第一子密文,确定同态乘法计算结果中的第一部分的具体实现方式可以为:以第二加密密文中的第一子密文为底数,以处理后的第一加密密文中的第一部分为指数,获得同态乘法计算结果中的第一部分。其中,处理后的第一加密密文中的第二部分以及基于第二加密密文中的第一子密文,确定同态乘法计算结果中的第二部分的具体实现方式可以为:以处理后的第一加密密文中的第二部分为底数,以第二加密密文中的第一子密文为指数,获得同态乘法计算结果中的第二部分。
例如,第一加密密文是由一型加密层次的第一子密文和一型加密层次的第二子密文进行同态乘法运算获得的,其中,第一子密文为C1=(a11),第二子密文为C2=(a22),则第一加密密文为Cmul1=C1⊙C2=(α,β12),其中,第二加密密文为一型加密层次的C3=(a33)。在对第一加密密文和第二加密密文进行同态乘法运算时,可以先将第一加密密文中的三元组分为两元组,即获得处理后的第一加密密文为Cmul1=(α,β),其中β=(β12)。接着,对处理后的第一加密密文和第二加密密文做同态乘法计算,获得
在实际应用中,在进行安全隐私计算时,经常会涉及到很多复杂的同态计算,例如可能还会涉及第一加密密文和第二加密密文均为二型加密层次,对第一加密密文和第二加密密文进行同态乘法运算的情况。因此,为了提高隐私计算效率,在本发明实施例中,还提供了一种当第一加密密文和第二加密密文均为二型加密层次时,对第一加密密文和第二加密密文进行同态乘法运算的实现方式。
具体的,若第一加密层次和第二加密层次均为二型加密层次,则将第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分,并对第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分;将第二加密密文中的第一子密文为确定为处理后的第二加密密文中的第一部分,并对第二加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第二加密密文中的第二部分;对处理后的第一加密密文和处理后的第二加密密文进行同态乘法计算,获得同态计算结果。
其中,对处理后的第一加密密文和处理后的第二加密密文进行同态乘法计算,获得同态计算结果的具体实现过程可以包括:基于处理后的第一加密密文中的第一部分和处理后的第二加密密文中的第一部分,确定同态乘法计算结果中的第一部分;基于处理后的第一加密密文中的第一部分、处理后的第一加密密文中的第二部分,确定同态乘法计算结果中的第二部分;基于处理后的第二加密密文中的第一部分以及处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第三部分;基于处理后的第一加密密文中的第一部分和处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第四部分;基于第一部分、第二部分、第三部分以及第四部分,确定同态计算结果。
例如,第一加密密文是由一型加密层次的第一子密文和一型加密层次的第二子密文进行同态乘法运算获得的,其中,第一子密文为C1=(a11),第二子密文为C2=(a22),则第一加密密文为Cmul1=C1⊙C2=(α,β12),第二加密密文是由一型加密层次的第三子密文和一型加密层次的第四子密文进行同态乘法运算获得的,其中,第三子密文为C3=(a33),第四子密文为C4=(a44),则第二加密密文为C′mul1=C3⊙C4=(α′,β34),其中 在对第一加密密文和第二加密密文进行同态乘法运算时,可以先将第一加密密文中的三元组分为两元组,即获得处理后的第一加密密文为Cmul1=(α,β),其中β=(β12)。接着,将第二加密密文中的三元组分为两元组,即获得处理后的第二加密密文为C′mul1=(α′,β(1)),其中β(1)=(β34)。而后,对处理后的第一加密密文和处理后的第二加密密文做同态乘法计算,获得Cmul2=Cmul1⊙C′mul1=((α,α′),(β1β2,α′),(β3β4,α))=((α,α′),(α′,β12),(α,β34),(β1234))。
本发明实施例提供了一种加密密文进行两次同态乘法运算的方法,通过对第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文;再对处理后的第一加密密文和第二加密密文进行同态乘法计算,获得同态计算结果。即在对第二加密层级的加密密文进行同态乘法运算时,可以先将加密层级较高的加密密文中的子密文进行分组处理,以将加密层级较高的加密密文中的三元组转化为两元组,再对处理后的加密密文进行同态乘法运算,可以快速获得同态计算结果,从而可以提高隐私计算效率。
由上述描述可知:对于二型加密层次的加密密文进行同态乘法运算后获得的加密密文为三型加密层次,即三型加密层次的加密密文对应有两种情况,第一种情况为加密密文是由一个一型加密层次的加密密文与一个二型加密层次的加密密文进行同态乘法运算后获得的,第二种情况为加密密文是由两个同为二型加密层次的加密密文进行同态乘法运算后获得的。
那么在对三型加密层次的加密密文进行同态加法计算时,也可以分为两种情况分别计算,或者将第二种情况下获得的加密密文进行分组处理,以将加密密文中的元素转化为三元组,再对处理后的加密密文进行同态加法运算。结合下述实施例对三型加密层次的加密密文进行同态加法运算的具体实现过程进行示例性说明。
图4为本发明实施例提供的一种对第一加密密文和第二加密密文进行同态加法计算,获得同态计算结果的流程图;参考附图4所示,在本发明实施例同态计算类型为同态加法运算,提供了一种根据同态计算类型、第一加密层次以及第二加密层次,对第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果的具体实现方式,该方法可以包括如下步骤:
401、若第一加密层次为三型加密层次以及第二加密层次为三型加密层次,则基于第一加密密文中的第一子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第一部分。
402、基于第一加密密文中的第二子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分。
403、基于第一加密密文中的第三子密文和第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分。
404、基于第一部分、第二部分以及第三部分,确定同态加法计算结果。
当接收到的待处理数据中的第一加密密文对应的第一加密层级为三型加密层次,第二加密密文对应的第二加密层级为三型加密层次,则基于第一加密密文中的第一子密文和第二加密密文中的第二第二子密文,确定同态加法计算结果中的第一部分。基于第一加密密文中的第二子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分。基于第一加密密文中的第三子密文和第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分。基于第一部分、第二部分以及第三部分,确定同态加法计算结果。
具体实施时,假设第一加密密文为Cmul2==(Δ123)其中,第二加密密文为第一加密密文与第二加密密文进行同态加法运算后获得的同态计算结果为/> 其中,/>
另外,该方法还提供了一种三型加密层次的加密密文对应的同态标量乘运算方法,具体的,假设第一加密密文为Cmul2==(Δ123)其中,β(1)=(β123)),k是常数,计算第一加密密文的同态标量乘后获得的同态计算结果为k·Cmul2=(Δ′1,Δ′2,Δ′3)。其中,
本发明实施例提供了一种三型加密层次的加密密文进行同态加法运算的方法,通过第一加密密文中的第一子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第一部分,并基于第一加密密文中的第二子密文和第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分,基于第一加密密文中的第三子密文和第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分,基于第一部分、第二部分以及第三部分,确定同态加法计算结果,不仅实现了对三型加密层次的加密密文的同态计算,还可以提高加密密文之间的同态计算效率。
本发明实施例提供的方案的一些步骤的具体执行过程可以参考前述其他实施例中的相关说明,在此不赘述。
上述各个实施例介绍了对于不同类型的加密密文进行同态运算的方法,可以将上述方法应用在各种复杂的同态计算中,例如多项式的同态计算等,以完成复杂的隐私计算,结合附图5对多项式的同态计算方法进行示例性说明。
图5为本发明实施例提供的另一种数据处理方法的流程图;参考附图5所示,具体的,该方法可以包括如下步骤:
501、获取待处理数据,所述待处理数据为N次多项式,N小于等于4。
502、确定待处理数据对应的乘法深度。
503、根据乘法深度,对待处理数据进行分解处理,以获得多个子数据。
504、对多个子数据进行同态加密处理,以获得多个子数据各自对应的子加密密文。
505、对多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
在对多项式进行处理时,首先获取待处理数据,并确定待处理数据对应的乘法深度。接着,根据乘法深度,对待处理数据进行分解处理,以获得多个子数据。对多个子数据进行同态加密处理,以获得多个子数据各自对应的子加密密文。而后,对多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
其中,待处理数据为N次多项式,N小于等于4。即本发明实施例提供的数据处理方法可以适用于对四次多项式、三次多项式、二次多项式等多项式进行同态计算处理。在对N次多项式进行同态计算之前,首先要对该多项式进行同态加密处理,再对加密后的多项式进行同态计算处理。
具体的,在进行同态加密处理时,可以先确定多项式所包含的各个项以及各个项之间的运算关系,再基于各个项之间的运算关系确定多项式中各个项对应的乘法深度。接着,基于各个项对应的乘法深度,对待处理数据进行分解处理,以获得多个子数据。对多个子数据进行同态加密处理,以获得多个子数据各自对应的子加密密文。其中,可以采用上述实施例中基于paillier算法的同态加密方法对各个子数据进行加密。可以采用上述实施例中对加密密文进行同态计算的方法,分别对多个子数据进行同态计算。
在实际应用中,本发明实施例提供的数据处理方法还可以用于同时对两个多项式进行隐私计算。例如,给定两个多项式分别为第一多项式f(x)=a4x4+a3x3+a2x2+a1x+a0,第二多项式g(y)=b4y4+b3y3+b2y2+b1y+b0。确定多项式对应的乘法深度,基于乘法深度,将第一多项式和第二多项式拆分为x、y对应的多个子数据,并分别对多个子数据进行加密,获得子加密密文e(x),e(y),根据多个子数据各自对应的子加密密文计算第一多项式对应的加密密文e(f(x))以及第二多项式对应的加密密文e(g(y))。分别将第一多项式和第二多项式对应的项相加以获得c(e(f(x)),e(g(y)))=e(f(x))+e(g(y))。根据多项式对应的乘法深度,利用私钥sk逐项解密,获得明文f(x)+g(y)=(a4x4+b4y4)+(a3x3+b3y3)+(a2x2+b2y2)+(a1x+b1y)+(a0+b0)。
上述实施例介绍了对待处理任务中的待处理数据进行同态计算的方法,当确定出待处理数据对应的同态计算结果之后,将同态计算结果发送至请求端,以使得请求端基于私钥对同态计算结果进行解密,以获得待处理数据对应的处理结果,在整个过程中不仅可以保护用户隐私,还可以使得请求端获取到处理结果。
那么为了可以使得请求端可以快速获取到处理结果,本发明实施例还提供了一种对同态计算结果进行解密的方法,结合图6对其具体实现过程进行示例性说明。
图6为本发明实施例提供的一种同态解密方法的流程图;参考附图6所示,本发明实施例提供了一种同态解密方法,具体的,该同态解密方法可以包括如下步骤:
601、获取待解密的同态计算结果以及用于对同态计算结果进行解密的私钥。
602、确定同态计算结果所对应的加密层次,加密层次用于表示执行乘法运算的深度。
603、根据加密层次和私钥,对同态计算结果进行解密,获得同态计算结果所对应的明文。
在对待解密的同态计算结果进行解密时,首先获取待解密的同态计算结果以及用于对同态计算结果进行解密的私钥。其中,待解密的同态计算结果可以为多个加密密文进行同态运算后,获得的加密密文,在此不对加密密文的类型进行限定。
由于同态计算结果的类型可能为多种,那么为了便于对同态计算结果进行解密处理,在获得待解密的同态计算结果之后,可以先确定同态计算结果所对应的加密层次,这样可以按照同态计算结果所对应的加密层次,对加密密文采用不同的解密过程,以提高解密效率。
其中,加密层次用于表示执行乘法运算的深度,也就是说,可以根据执行同态乘法运算的深度来确定同态计算结果所对应的加密层次。例如,可以定义执行任意次同态加法运算后获得的加密密文其所对应的加密层次为一型加密层次;或者定义没有进行任何同态运算,直接由明文进行同态加密后获得的加密密文其所对应的加密层次为一型加密层次;执行一次同态乘法运算后获得的同态计算结果所对应的加密层次为二型加密层次,执行两次同态乘法运算后获得同态计算结果所对应的加密层次为三型加密层次。
那么,在获取到待解密的同态计算结果之后,可以先确定待解密的同态计算结果所对应的加密层次。而后,根据加密层次以及私钥,对加密密文进行解密,获得加密密文所对的待处理信息。针对不同层次的同态计算结果,选择不同的解密方式,具体的,若同态计算结果所对应的加密层次为一型加密层次,则基于私钥对同态计算结果中的第二部分进行解密,获得明文第一部分,并基于同态计算结果中的第一部分和明文第一部分,获得同态计算结果所对应的明文。
例如,假设待解密的同态计算结果为C=(α,β),该同态计算结果所对应的加密层次为一型加密层次,则只需要对该同态计算结果中的第二部分进行解密即可。具体的,基于私钥对同态计算结果中的第二部分进行解密,获得明文第一部分Decsk(β),并基于同态计算结果中的第一部分α和明文第一部分Decsk(β),获得同态计算结果所对应的明文m=α+Decsk(β)。
若待解密的同态计算结果所对应的加密层次为二型加密层次,则基于私钥分别对同态计算结果中的第一部分、第二部分、第三部分进行解密,获得明文第一部分、明文第二部分、明文第三部分,并基于明文第一部分、明文第二部分、明文第三部分,获得待解密的同态计算结果所对应的明文。
例如,假设待解密的同态计算结果为C=(α,β12)∈M×C2,该待解密的同态计算结果所对应的加密层次为二型加密层次,则对待解密的同态计算结果中的第一部分、第二部分、第三部分都进行解密。具体的,基于私钥对同态计算结果中的第一部分进行解密,获得明文第一部分Decsk(α),基于私钥对同态计算结果中的第二部分进行解密,获得明文第二部分Decsk1),基于私钥对同态计算结果中的第三部分进行解密,获得明文第三部分Decsk2),并基于明文第一部分、明文第二部分、明文第三部分,获得待解密的同态计算结果所对应的明文m,即m=Decsk(α)+(Decsk1)·Decsk2))。
由于两种情况下获得的同态计算结果对应的加密层次均为三型加密层次,那么为了更快速地对各个同态计算结果进行解密,在本发明实施例中提供了两种解密方式。利用该方法对待解密的同态计算结果进行解密,不仅可以使得解密过程更简单,还可以提高解密效率。
具体的,若同态计算结果为其中,Cmul1是通过一型加密层次的加密密文C1,C2同态乘法计算得到即Cmul1=C1⊙C2,C3为一型加密层次的加密密文,利用私钥对同态计算结果Cmul2进行解密,获得的明文为若同态计算结果为Cmul2=Cmul1⊙C′mul1==((α,α),(α,β12),(α,β34),(β1234)),其中,Cmul1是通过一型加密层次的加密密文C1,C2同态乘法计算得到即Cmul1=C1⊙C2,Cmul1是通过一型加密层次的加密密文C3,C4同态乘法计算得到即C′mul1=C3⊙C4。利用私钥对同态计算结果Cmul2进行解密,获得的明文为/>
由上述描述可知:对同态计算结果进行解密时,首先根据同态计算结果所对应的加密层次,选择不同的解密方式,可以更快速地完成各种同态计算结果的解密过程。另外,上述解密方法中,采用根据同态计算结果的特点,对同态计算结果中的各个元素进行解密,可以提高解密效率,从而使得整个解密性能得到提高。
在本发明实施例提供的同态解密方案中,获取待解密的同态计算结果以及用于对加密密文进行解密的私钥,确定同态计算结果所对应的加密层次,并根据加密层次和私钥,对同态计算结果进行解密,获得同态计算结果所对应的明文,使得该解密方法可以直接对进行同态运算后得到的同态计算结果进行解密,并且可以使得解密过程更简单、更快速,从而可以使得请求端快速获取到处理结果。
本实施例中未展开描述的相关内容,可以参考前述实施例中的相关说明,在此不赘述。
以下将详细描述本发明的一个或多个实施例的数据存储装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图7为本发明实施例提供的一种数据处理装置的结构示意图,该装置位于一电子设备,如图7所示,该装置包括:接收模块11、第一确定模块12、第二确定模块13、处理模块14、发送模块15。
接收模块11,用于接收请求端发送的待处理请求,所述待处理请求中包括待处理任务和待处理数据,所述待处理数据包括第一加密密文和第二加密密文。
第一确定模块12,用于根据所述待处理任务,确定所述第一加密密文和第二加密密文对应的同态计算类型。
第二确定模块13,用于确定所述第一加密密文对应的第一加密层次以及所述第二加密密文对应的第二加密层次,所述加密层次用于表示执行乘法运算的深度。
处理模块14,用于根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果。
发送模块15,用于将所述同态计算结果发送至所述请求端,以使得所述请求端对所述同态运算结果进行解密,得到处理结果。
在一可选实施例中,所述同态计算类型为同态乘法运算,所述处理模块14具体可以用于:若所述第一加密层次为二型加密层次以及所述第二加密层次为一型加密层次,则对所述第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文;对所述处理后的第一加密密文和所述第二加密密文进行同态乘法计算,获得同态计算结果。
在一可选实施例中,所述处理模块14具体可以用于:将所述第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分;对所述第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分。
在一可选实施例中,所述处理模块14具体可以用于:基于所述处理后的第一加密密文中的第一部分和所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第一部分;基于所述处理后的第一加密密文中的第二部分以及所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第二部分;基于所述处理后的第一加密密文中的第二部分和所述第二加密密文中的第二子密文,确定同态乘法计算结果中的第三部分;基于所述第一部分、所述第二部分以及所述第三部分,确定同态计算结果。
在一可选实施例中,所述处理模块14具体可以用于:以所述第二加密密文中的第一子密文为底数,以所述处理后的第一加密密文中的第一部分为指数,获得同态乘法计算结果中的第一部分;以所述处理后的第一加密密文中的第二部分为底数,以所述第二加密密文中的第一子密文为指数,获得同态乘法计算结果中的第二部分。
在一可选实施例中,所述处理模块14具体可以用于:若所述第一加密层次和所述第二加密层次均为二型加密层次,则将所述第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分,并对所述第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分;将所述第二加密密文中的第一子密文为确定为处理后的第二加密密文中的第一部分,并对所述第二加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第二加密密文中的第二部分;对所述处理后的第一加密密文和所述处理后的第二加密密文进行同态乘法计算,获得同态计算结果。
在一可选实施例中,所述处理模块14具体可以用于:基于所述处理后的第一加密密文中的第一部分和所述处理后的第二加密密文中的第一部分,确定同态乘法计算结果中的第一部分;基于所述处理后的第一加密密文中的第一部分、所述处理后的第一加密密文中的第二部分,确定同态乘法计算结果中的第二部分;基于所述处理后的第二加密密文中的第一部分以及所述处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第三部分;基于所述处理后的第一加密密文中的第一部分和所述处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第四部分;基于所述第一部分、所述第二部分、所述第三部分以及所述第四部分,确定同态计算结果。
在一可选实施例中,所述同态计算类型为同态加法运算,所述处理模块14具体可以用于:若所述第一加密层次为三型加密层次以及所述第二加密层次为三型加密层次,则基于所述第一加密密文中的第一子密文和所述第二加密密文中的第二子密文,确定同态加法计算结果中的第一部分;基于所述第一加密密文中的第二子密文和所述第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分;基于所述第一加密密文中的第三子密文和所述第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分;基于所述第一部分、所述第二部分以及所述第三部分,确定同态加法计算结果。
图7所示装置可以执行前述实施例中数据处理方法的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图7所示数据处理装置的结构可实现为一电子设备,如图8所示,该电子设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述实施例中数据处理方法中的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的数据处理方法。
图9为本发明实施例提供的另一种数据处理装置的结构示意图,如图9所示,该装置包括:获取模块31、确定模块32、分解模块33、加密模块34、运算模块35。
获取模块31,用于获取待处理数据,所述待处理数据为N次多项式,N小于等于4。
确定模块32,用于确定所述待处理数据对应的乘法深度。
分解模块33,用于根据所述乘法深度,对所述待处理数据进行分解处理,以获得多个子数据。
加密模块34,用于对所述多个子数据进行同态加密处理,以获得所述多个子数据各自对应的子加密密文。
运算模块35,用于按照上述实施例所述的数据处理方法,对所述多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
图9所示装置可以执行前述实施例中数据处理方法中的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图9所示数据处理装置的结构可实现为一电子设备,如图10所示,该设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述实施例中数据处理方法中的步骤。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的数据处理方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种数据处理方法,其特征在于,包括:
接收请求端发送的待处理请求,所述待处理请求中包括待处理任务和待处理数据,所述待处理数据包括第一加密密文和第二加密密文;
根据所述待处理任务,确定所述第一加密密文和第二加密密文对应的同态计算类型;
确定所述第一加密密文对应的第一加密层次以及所述第二加密密文对应的第二加密层次,所述加密层次用于表示执行乘法运算的深度;
根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果;
将所述同态计算结果发送至所述请求端,以使得所述请求端对所述同态运算结果进行解密,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,所述同态计算类型为同态乘法运算,所述根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果,包括:
若所述第一加密层次为二型加密层次以及所述第二加密层次为一型加密层次,则对所述第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文;
对所述处理后的第一加密密文和所述第二加密密文进行同态乘法计算,获得同态计算结果。
3.根据所述权利要求2所述的方法,其特征在于,所述对所述第一加密密文中的各个子密文进行分组处理,以获得处理后的第一加密密文,包括:
将所述第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分;
对所述第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分。
4.根据权利要求3所述的方法,其特征在于,所述对所述处理后的第一加密密文和所述第二加密密文进行同态乘法计算,获得同态计算结果,包括:
基于所述处理后的第一加密密文中的第一部分和所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第一部分;
基于所述处理后的第一加密密文中的第二部分以及所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第二部分;
基于所述处理后的第一加密密文中的第二部分和所述第二加密密文中的第二子密文,确定同态乘法计算结果中的第三部分;
基于所述第一部分、所述第二部分以及所述第三部分,确定同态计算结果。
5.根据权利要求4所述的方法,其特征在于,所述基于所述处理后的第一加密密文中的第一部分和所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第一部分,包括:
以所述第二加密密文中的第一子密文为底数,以所述处理后的第一加密密文中的第一部分为指数,获得同态乘法计算结果中的第一部分;
所述所述处理后的第一加密密文中的第二部分以及基于所述第二加密密文中的第一子密文,确定同态乘法计算结果中的第二部分,包括:
以所述处理后的第一加密密文中的第二部分为底数,以所述第二加密密文中的第一子密文为指数,获得同态乘法计算结果中的第二部分。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第一加密层次和所述第二加密层次均为二型加密层次,则将所述第一加密密文中的第一子密文确定为处理后的第一加密密文中的第一部分,并对所述第一加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第一加密密文中的第二部分;
将所述第二加密密文中的第一子密文为确定为处理后的第二加密密文中的第一部分,并对所述第二加密密文中的第二子密文和第三子密文进行组合处理,以获得处理后的第二加密密文中的第二部分;
对所述处理后的第一加密密文和所述处理后的第二加密密文进行同态乘法计算,获得同态计算结果。
7.根据权利要求6所述的方法,其特征在于,所述对所述处理后的第一加密密文和所述处理后的第二加密密文进行同态乘法计算,获得同态计算结果,包括:
基于所述处理后的第一加密密文中的第一部分和所述处理后的第二加密密文中的第一部分,确定同态乘法计算结果中的第一部分;
基于所述处理后的第一加密密文中的第一部分、所述处理后的第一加密密文中的第二部分,确定同态乘法计算结果中的第二部分;
基于所述处理后的第二加密密文中的第一部分以及所述处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第三部分;
基于所述处理后的第一加密密文中的第一部分和所述处理后的第二加密密文中的第二部分,确定同态乘法计算结果中的第四部分;
基于所述第一部分、所述第二部分、所述第三部分以及所述第四部分,确定同态计算结果。
8.根据权利要求1所述的方法,其特征在于,所述同态计算类型为同态加法运算,所述根据所述同态计算类型、所述第一加密层次以及所述第二加密层次,对所述第一加密密文和所述第二加密密文进行同态计算,获得同态计算结果,包括:
若所述第一加密层次为三型加密层次以及所述第二加密层次为三型加密层次,则基于所述第一加密密文中的第一子密文和所述第二加密密文中的第二子密文,确定同态加法计算结果中的第一部分;
基于所述第一加密密文中的第二子密文和所述第二加密密文中的第二子密文,确定同态加法计算结果中的第二部分;
基于所述第一加密密文中的第三子密文和所述第二加密密文中的第三子密文,确定同态加法计算结果中的第三部分;
基于所述第一部分、所述第二部分以及所述第三部分,确定同态加法计算结果。
9.一种数据处理方法,其特征在于,包括:
获取待处理数据,所述待处理数据为N次多项式,N小于等于4;
确定所述待处理数据对应的乘法深度;
根据所述乘法深度,对所述待处理数据进行分解处理,以获得多个子数据;
对所述多个子数据进行同态加密处理,以获得所述多个子数据各自对应的子加密密文;
按照权利要求1至6中任一项所述的数据处理方法,对所述多个子数据各自对应的子加密密文进行同态运算,以获得同态运算结果。
10.一种电子设备,其特征在于,包括:存储器和处理器,其中,
所述存储器,用于存储一条或多条计算机程序;
所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述一条或多条计算机程序,以用于实现上述权利要求1至8或权利要求9中任一项所述的数据处理方法中的步骤。
CN202311549653.0A 2023-11-20 2023-11-20 数据处理方法及设备 Active CN117595979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311549653.0A CN117595979B (zh) 2023-11-20 2023-11-20 数据处理方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311549653.0A CN117595979B (zh) 2023-11-20 2023-11-20 数据处理方法及设备

Publications (2)

Publication Number Publication Date
CN117595979A true CN117595979A (zh) 2024-02-23
CN117595979B CN117595979B (zh) 2024-07-05

Family

ID=89914461

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311549653.0A Active CN117595979B (zh) 2023-11-20 2023-11-20 数据处理方法及设备

Country Status (1)

Country Link
CN (1) CN117595979B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426973A (zh) * 2013-09-03 2015-03-18 中国移动通信集团公司 一种云数据库加密方法、系统及装置
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN107294698A (zh) * 2017-07-25 2017-10-24 西安电子科技大学 单密文同态计算的全同态加密方法
CN115102688A (zh) * 2022-08-24 2022-09-23 北京信安世纪科技股份有限公司 数据处理方法、多项式计算方法及电子设备
CN115495768A (zh) * 2022-11-15 2022-12-20 金网络(北京)电子商务有限公司 基于区块链及多方安全计算的涉密信息处理方法及系统
CN115865348A (zh) * 2023-02-09 2023-03-28 北京信安世纪科技股份有限公司 数据加密方法、同态计算方法及设备
CN116545676A (zh) * 2023-04-25 2023-08-04 广东润联信息技术有限公司 密文处理方法和装置、电子设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426973A (zh) * 2013-09-03 2015-03-18 中国移动通信集团公司 一种云数据库加密方法、系统及装置
CN106571905A (zh) * 2016-11-02 2017-04-19 南京邮电大学 一种数值型数据同态保序加密方法
CN107294698A (zh) * 2017-07-25 2017-10-24 西安电子科技大学 单密文同态计算的全同态加密方法
CN115102688A (zh) * 2022-08-24 2022-09-23 北京信安世纪科技股份有限公司 数据处理方法、多项式计算方法及电子设备
CN115495768A (zh) * 2022-11-15 2022-12-20 金网络(北京)电子商务有限公司 基于区块链及多方安全计算的涉密信息处理方法及系统
CN115865348A (zh) * 2023-02-09 2023-03-28 北京信安世纪科技股份有限公司 数据加密方法、同态计算方法及设备
CN116545676A (zh) * 2023-04-25 2023-08-04 广东润联信息技术有限公司 密文处理方法和装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN117595979B (zh) 2024-07-05

Similar Documents

Publication Publication Date Title
EP3058678B1 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
US11895231B2 (en) Adaptive attack resistant distributed symmetric encryption
Wang et al. Privacy-preserving public auditing for data storage security in cloud computing
Liu et al. An efficient privacy-preserving outsourced computation over public data
Garg et al. Comparative analysis of cloud data integrity auditing protocols
JP5506704B2 (ja) 復号システム、鍵装置、復号方法、及びプログラム
CN115549891B (zh) 同态加密方法、同态解密方法、同态计算方法及设备
Zhang et al. Dynamic and Efficient Private Keyword Search over Inverted Index--Based Encrypted Data
Mo et al. Two-party fine-grained assured deletion of outsourced data in cloud systems
JP2012128398A (ja) プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム
Bhandari et al. A framework for data security and storage in Cloud Computing
CN114528331A (zh) 基于区块链的数据查询方法及装置、介质、设备
Altaee et al. Enhancing cloud computing security by paillier homomorphic encryption
Yasumura et al. Secure Naïve Bayes classification protocol over encrypted data using fully homomorphic encryption
Hoang et al. A multi-server oblivious dynamic searchable encryption framework
CN115865348B (zh) 数据加密方法、同态计算方法及设备
Abiodun et al. Analysis of a Double-stage Encryption Scheme Using Hybrid Cryptography to Enhance Data Security in Cloud Computing Systems.
CN116684062B (zh) 基于代理重加密的云计算外包和数据动态分享方法及系统
CN117595979B (zh) 数据处理方法及设备
Yarava et al. Efficient and Secure Cloud Storage Auditing Based on the Diffie-Hellman Key Exchange.
KR20100003093A (ko) 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법
Hariss et al. Cloud assisted privacy preserving using homomorphic encryption
Siva et al. Hybrid cryptography security in public cloud using TwoFish and ECC algorithm
Sun et al. Cloud storage architecture achieving privacy protection and sharing
Lee et al. A study of practical proxy reencryption with a keyword search scheme considering cloud storage structure

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