CN110999209A - 安全计算 - Google Patents

安全计算 Download PDF

Info

Publication number
CN110999209A
CN110999209A CN201780093818.4A CN201780093818A CN110999209A CN 110999209 A CN110999209 A CN 110999209A CN 201780093818 A CN201780093818 A CN 201780093818A CN 110999209 A CN110999209 A CN 110999209A
Authority
CN
China
Prior art keywords
encrypted
function
data
random data
output
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
CN201780093818.4A
Other languages
English (en)
Other versions
CN110999209B (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.)
Nokia Oyj
Original Assignee
Nokia Oyj
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 Nokia Oyj filed Critical Nokia Oyj
Publication of CN110999209A publication Critical patent/CN110999209A/zh
Application granted granted Critical
Publication of CN110999209B publication Critical patent/CN110999209B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials

Abstract

根据本发明的示例方面,提供了一种装置,该装置包括至少一个处理核、至少一个存储器,该至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为使该装置:接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时的函数的经加密的输出,获得函数的同态多项式因式分解,包括获得函数的经分解的表示,该表示包括多项式的和,以及通过检查经加密的输出与经加密的计算结果之间的差是否等于经分解的表示的值,来验证计算结果正确,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。

Description

安全计算
技术领域
本发明涉及安全的分布式计算,例如在云计算的上下文中。
背景技术
传统上,数据处理是使用不同的框架执行的。在1960年代和1970年代,数据处理集中在相对较少数目的计算机上,用户可以利用终端访问这些计算机。随后,功能越来越强大的计算机的激增引起了分布式模型,在该模型中,公司、研究小组甚至个人使用专有的本地计算基质(诸如PC和服务器)执行其数据处理。
可以预见,在将来,大量的相对较轻的计算设备(诸如传感器或物联网节点)可能会生成大量数据,而这些较轻的设备可能会缺少处理资源以进行处理。因此,云计算是一种可能的模型,在这种模型中,有可能返回到集中式框架,使得较轻节点将其数据提供给集中式、高性能的计算基质以进行处理。
但是,在云不受生成数据的相同实体(诸如公司)控制的情况下,云计算面临挑战。详细地,数据所有者可能不会完全信任云操作者而不对数据感到好奇,因此可以加密数据以存储在云中。
除了存储,加密还提供了在数据所有者与云数据处理服务器的计算基质之间的传输期间保护数据的优点。
当仅仅存储不足并且数据所有者希望在云中存储和处理其数据两者以使得云操作者无法发现数据的内容时,可以考虑各种密码解决方案。
同态加密方法至少使得能够对经加密的数据进行部分处理,以使得作为处理对象的数据不会透露给执行处理的节点。
发明内容
根据一些方面,提供了独立权利要求的主题。一些实施例在从属权利要求中定义。
根据本发明的第一方面,提供了一种装置,该装置包括至:少一个处理核、至少一个存储器,该至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理核一起使该装置至少:接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时的函数的经加密的输出,获得函数的同态多项式因式分解,包括获得函数的经分解的表示,该表示包括多项式的和,以及通过检查经加密的输出与经加密的计算结果之间的差是否等于经分解的表示的值,来验证计算结果正确,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。
第一方面的各种实施例可以包括以下项目符号列表中的至少一个特征:
·多项式的和中的每个多项式包括第一部分和第二部分的乘积,第一部分包括第一参数与第二参数之间的差,并且第二部分包括涉及第一参数的多项式表达式
·该装置被配置为在获得多项式的和的值时,将经加密的随机数据作为第一参数,并且将经加密的输入数据指配为第二参数
·该装置被配置为从结果请求方接收经加密的计算结果
·该装置被配置为请求来自数据提供方节点的函数的标识符、经加密的随机数据和函数的经加密的输出,数据提供方节点源发所述输入数据。
·该装置还被配置为请求来自云数据处理节点的经加密的输入数据
·该装置还被配置为向节点指示验证的结果,该装置从该节点接收到经加密的计算结果
·该装置还被配置为使用相同的经加密的随机数据和经加密的输出来验证第二经加密的计算结果。
根据本发明的第二方面,提供了一种装置,该装置包括:至少一个处理核、至少一个存储器,该至少一个存储器包括计算机程序代码,至少一个存储器和计算机程序代码被配置为与至少一个处理核一起使该装置至少:执行函数的同态多项式因式分解,以获得函数的经分解的表示,该表示包括多项式的和,获得随机数据,并且生成利用随机数据被运行时的函数的输出,以及向验证器节点提供加密形式的随机数据、加密形式的输出、以及函数的标识符,该验证器节点不同于云计算服务器,其中该装置被配置为将函数的计算卸载到云计算服务器。
第二方面的各种实施例可以包括以下项目符号列表中的至少一个特征:
·该装置还被配置为向云计算服务器提供经加密的输入数据和指令,以对经加密的输入数据执行该函数。
·该装置被配置为使用同态加密密钥来加密输出和随机数据,该同态加密密钥在该装置中从代理节点被接收
·该装置被配置为使用同态加密密钥来加密输入数据,该同态加密密钥在该装置中从代理节点被接收
·该装置包括传感器节点,该传感器节点被配置为用作基于分组的通信网络的一部分。
根据本发明的第三方面,提供了一种方法,该方法包括:接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时的函数的经加密的输出,获得函数的同态多项式因式分解,包括获得函数的经分解的表示,该表示包括多项式的和,以及通过检查经加密的输出与经加密的计算结果之间的差是否等于经分解的表示的值,来验证计算结果正确,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。
第三方面的各种实施例可以包括至少一个特征,该至少一个特征与结合第一方面而布置的前述项目符号列表中的特征相对应。
根据本发明的第四方面,提供了一种方法,该方法包括:执行函数的同态多项式因式分解,以获得函数的经分解的表示,该表示包括多项式的和,获得随机数据,并且生成利用随机数据被运行时的函数的输出,以及向验证器节点提供加密形式的随机数据、加密形式的输出、以及函数的标识符,验证器节点不同于云计算服务器,其中执行该方法的装置被配置为将函数的计算卸载到云计算服务器。
第四方面的各种实施例可以包括至少一个特征,该至少一个特征与结合第二方面而布置的前述项目符号列表中的特征相对应。
根据本发明的第五方面,提供了一种装置,该装置包括:用于接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时函数的经加密的输出的部件,用于获得函数的同态多项式因式分解的部件,包括获得函数的经分解的表示,该表示包括多项式的和,以及用于通过检查经加密的输出与经加密的计算结果之间的差是否等于多项式的和的值来验证计算结果正确的部件,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。
根据本发明的第六方面,提供了一种装置,包括:用于执行函数的同态多项式因式分解,以获得函数的经分解的表示的部件,该表示包括多项式的和,用于获得随机数据并且生成利用随机数据被运行时的函数的输出的部件,以及用于向验证器节点提供加密形式的随机数据、加密形式的输出、以及函数的标识符的部件,验证器节点不同于云计算服务器,其中该装置被配置为将函数的计算卸载到云计算服务器。
根据本发明的第七方面,提供了一种非瞬态计算机可读介质,在其上存储有计算机可读指令集合,该计算机可读指令集合在由至少一个处理器执行时使装置至少:接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时的函数的经加密的输出,获得函数的同态多项式因式分解,包括获得函数的经分解的表示,该表示包括多项式的和,以及通过检查经加密的输出与经加密的计算结果之间的差是否等于多项式的和的值,来验证计算结果正确,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。
根据本发明的第八方面,提供了一种非瞬态计算机可读介质,在其上存储有计算机可读指令集合,该计算机可读指令集合在由至少一个处理器执行时使装置至少:执行函数的同态多项式因式分解,以获得函数的经分解的表示,该表示包括多项式的和,获得随机数据,并且生成利用随机数据被运行时的函数的输出,以及向验证器节点提供加密形式的随机数据、加密形式的输出、以及函数的标识符,验证器节点不同于云计算服务器,其中该装置被配置为将函数的计算卸载到云计算服务器。
根据本发明的第九方面,提供了一种计算机程序,该计算机程序被配置为使根据第三方面和第四方面中的至少一个方面的方法被执行。
附图说明
图1示出了根据本发明的至少一些实施例的示例系统;
图2示出了根据本发明的至少一些实施例的示例系统;
图3示出了能够支持本发明的至少一些实施例的示例装置;
图4示出了根据本发明的至少一些实施例的信令;
图5是根据本发明的至少一些实施例的方法的流程图;以及
图6是根据本发明的至少一些实施例的方法的流程图。
具体实施方式
本文中描述了一种用于验证外包给计算方的计算结果的方法,其中采用函数的多项式因式分解,以使得能够使用具有函数的分解的随机数据来确定计算结果的正确性。例如,该方法可以在物联网上下文中使用,在物联网上下文中,数据提供方节点提供在服务器中进行处理的数据,并且请求方可以访问已处理数据,使得服务器无法访问数据本身。正确性的确定可以与服务器中的处理有关。
图1示出了根据本发明的至少一些实施例的示例系统。图1示出了计算流程。
图1的系统包括数据提供方110,其可以包括例如生成传感器数据的物联网传感器节点、诸如智能电话或平板计算机的用户设备、或者另一种合适的节点。通常,数据提供方110是愿意提供其数据并且外包有关该数据的计算的一方。例如,数据提供方110可能具有有限的计算资源或有限的电力资源,因此数据提供方110可能希望将计算和/或数据存储任务卸载到另一节点。数据本身可以包括传感器数据,诸如地震数据、医学或大气数据、数字照片、商业或技术数据。在一些实施例中,数据包括在使用之前需要进行处理的扩频或多频谱雷达数据。
可以被称为可信审核代理节点的代理140可以被配置为向数据提供方110提供同态加密密钥。例如,这些密钥可以包括公共密钥-秘密密钥对。代理140可以被配置为例如通过使用随机过程来生成这样的密钥,或者代理140可以被配置为从另一节点获得这样的密钥,并且然后将它们提供给数据提供方110。随机过程可以包括例如使用热噪声或无线电噪声来生成随机数。向数据提供方110提供这样的密钥在图1中被示出为消息141。例如,可以通过应用安全协议以安全的方式通过基于分组的通信网络来传送消息141。例如,这种网络可以是有线的或至少部分是无线的。代理140例如可以包括网络服务器。
例如,服务器120可以被包括在包括服务器的云计算云中。服务器120具有可用于数据提供方110将计算任务卸载到的计算资源。通常,服务器120可以包括或向其他方(诸如例如,数据提供方110)供给计算基质。数据提供方110可以向服务器120提供使用同态加密密钥加密的其数据的分组。这在图1中示出为阶段112。此外,数据提供方110可以提供函数或函数标识符,使得数据提供方110可以请求服务器120根据该函数来处理数据。例如,该函数可以包括快速傅立叶变换、小波变换、乘法、加法或其他数学处理。服务器120可以响应地对数据执行所请求的处理。此外,服务器120可以通过将处理结果与随机数或随机数的集合相乘来掩盖处理结果,以对代理140隐藏已处理的数据。在服务器120中执行的处理本质上可以是同态的,这意味着服务器120尽管对其进行了处理,但是仍未获得数据本身的知识。可以在不反转加密以使处理发生的情况下对经加密的数据执行处理,换言之,无需向服务器120揭示明文。
一旦请求方130或135表示希望获得处理结果,它就可以向代理140传输请求。这在图1示出为消息134。代理140可以验证请求方130被授权获得结果,之后代理140可以将请求转发到服务器120。该转发在图1中示出为消息142。然后,服务器120可以将掩盖的计算结果发布到代理140,消息124,并且服务器120可以将在掩盖时使用的一个或多个随机值传递到请求方130,消息123。例如,消息123可以利用请求方130的公共密钥加密。
代理140可以为请求方130重新加密被掩盖的数据,并且将经重新加密的被掩盖的数据转发到请求方130,消息143。然后,请求方130可以对数据进行去掩盖以获得已处理的数据。在一些实施例中,服务器120不使用随机数据来掩盖结果。消息传送不需要完全如图1所示进行,例如,可以经由服务器120从代理140向请求方提供经重新加密的数据。作为另一示例变体,阶段134的请求可以被传输到服务器120,而不是代理140。
图2示出了根据本发明的至少一些实施例的示例系统。图2示出了验证流程。
图2的系统类似于图1的系统,其中相同的标号表示相同的结构和特征。图2的系统还包括验证器150。实际上,验证器150可以被包括在与请求方相同的物理节点中。在这个意义上,可以将请求方和验证器视为物理节点可以承担的功能角色。例如,物理节点可以包括计算机,诸如平板电脑、膝上型计算机或台式计算机。
在图2中,假设已经进行了诸如图1所示的计算过程,结果是请求方135拥有已处理的数据。最初,请求方135向验证器150发出审核请求1355。审核请求1355可以包括同态加密形式的已处理的数据。验证器150然后可以从数据提供方110请求数据,并且响应地从数据提供方接收数据的分组。这些阶段在图2中被示出为阶段151和115。来自数据提供方110的数据的分组可以包括经加密的随机数据和利用随机数据被运行时的函数的经加密的输出。
同样,验证器150可以在阶段152向服务器120请求,并且在阶段125从服务器120接收未经处理的数据的加密版本。然后,验证器可以继续检查该处理是否最初在服务器120中正确执行。详细地,验证器150可以使用函数的同态多项式因式分解,如将在下文中更详细地描述的。取决于实施例,例如,验证器150可以从请求方135或从服务器120获得经加密的已处理的数据。
在验证中,数据提供方110可以被配置为通过根据多项式因式分解算法生成验证算法来为将来的审核过程做准备。根据验证算法,数据提供方110可以选择随机数据作为函数的输入并且计算该输入的输出,并且然后出于验证的目的,利用同态加密密钥对来加密随机数据和输出。试图在服务器120处审核计算结果的正确性的验证器150可以请求数据提供方110提供随机数据和验证算法以用于执行审核和验证。具体地,验证器150可以将这些随机数据、经加密的外包数据和计算结果作为输入输入到验证算法中,并且进一步检查验证算法的输出是否符合预期,以判断服务器120的数据处理结果的正确性。总体而言,例如,验证器150可以从数据提供方110或服务器120获得未经处理的数据,并且从请求方135或服务器120获得已处理的数据。
可验证计算是一种外包计算服务技术,该技术帮助客户端以预期的承诺将其计算外包给服务器120。在云计算场景中,客户端和服务器120不完全相互信任,因此,可以请求服务器120协作以证明由其处理的数据计算是正确的。可验证计算提供了用于基于计算复杂性定理(诸如概率可检验证明PCP、非交互式证明)或密码技术(诸如基于属性的加密ABE、完全同态加密FHE等)来审核数据计算的方法。
Goldwasser等人在[1]中提出了基于PCP的交互式证明,其中客户端可以检查和验证计算结果,但是在这样做时必须在本地存储大量数据。不幸的是,尽管这些方案供给了令人印象深刻的理论性能,但是客户端仍然需要拥有强大的计算能力来处理复杂的计算,这在现实世界中似乎是不切实际的。由于这些问题,已经进行了很多研究来提高PCP的效率,以使其更加实用。
Thaler在[2]中提出了一种方案,该方案建立在由Goldwasser等人在[1]中设计的基于PCP的论证(名为GKR协议)。在[2]中,Thaler提出了一些特殊功能来并行地处理流设置,其中并非所有数据都可以被存储以进行计算。此外,该方案不使用密码术,并且可以防止计算上无限制的对手。
Setty等人提出了另一基于PCP的系统,其称为线性PCP[3]、[4]。与原始PCP相对照,线性PCP将证明表示为线性函数。在现有的方案中,工作人员仅基于某些标准密码假设就可以通过线性同态加密方案生成对其证明的承诺。该方法优化了传统的基于PCP的方案,并且使其在现实世界中利用基于PCP的方案变得切实可行。而且,对于可以容忍大批量生产的应用,这些方案在验证方面仅需花费很少。
非交互式可验证计算最早由Gennaro等人在[5]中引入。它允许计算能力较弱的客户端将其复杂的计算外包给功能强大的服务器或操作器,然后服务器或操作器可以返回计算结果并且生成结果的非交互式证明,以帮助客户端审核计算结果的正确性。提出了很多构造来提高性能效率,但是大多数构造只允许有限的函数,诸如多项式[6]、[7]和集合运算[8]。
Setty等人[9]建立了一个基于由Gennaro等人[8]提出的二次算术程序QAP的方案。QAP类似于线性PCP,并且可以类似地用于Ginger的密码框架[3]、[4]。Vu等人[11]建议利用批处理模型来改进GKR的协议[1],并且设计了可以在三个基于PCP的后端之间进行选择的编译器。但是,为了提高效率,这两种方案分批执行计算。因此,客户端的秘密密钥被暴露给第三方以对外包的计算结果进行验证,这会导致与实践中使用可验证计算有关的安全风险。
Rivest等人[12]在1978年首次引入了完全同态加密FHE。同态加密HE使得能够对经加密的数据进行有意义的计算,而无需对解密它们。但是,由于一些密码问题,直到2009年才提出候选FHE方案。2009年,Gentry[13]提出了第一FHE方案,称为特定同态加密SHE,它使得客户端能够评估有限深度的电路,该电路包括直接对经加密的数据进行的加法和乘法。尽管由于其电路深度的限制,该方案并不完全符合FHE的概念,但是这激发了很多研究人员努力将SHE改进为真正的FHE,[14]-[20]。此外,基于Gentry的不同假设,提出了一些其他FHE方案[21]-[24]。
在第一FHE方案之后,开发了同态加密的三个主要分支:基于晶格的、基于整数的、和基于同态加密的容错学习LWE、或环容错学习RLWE,其旨在解决诸如整数、字段、多项式等不同领域的问题。此外,FHE提供了一种以安全且通用的方式实现外包计算的新途径。但是,如何验证基于FHE的数据计算的正确性是一个悬而未决的问题。
为了实现公开验证,Parno等人在[9]中首次提出了公共验证的两个关键属性,而这在基于ABE的早期解决方案中是无法实现的。一种属性是公共可委派性。简而言之,公共可委派性表示若干方应当能够将其计算委托给云。传统方案[26]-[28]要求对任何输入xi进行广泛的预处理以在云处计算F(xi)。首先,客户端可以生成可能很小的秘密密钥SKF和可能很大的评估密钥EKF。在这种情况下,对于只想执行一次计算的那些客户端,初始化阶段可能会浪费计算资源。轻量级的系统设置或发起将是优选的。
Goldwasser、Kalai和Rothblum[1]提出了一种函数的公共可委托可验证计算协议,该协议可以通过大小为poly(n)并且深度为poly(log(n))的电路来计算,其中poly(n)表示针对某个常数c>0的未指定的函数f(n)=o(nc)。该方案改进了原始方案[5],因为它不需要客户端执行预设定。类似地,Canetti、Riva和Rothblum在[30]中进行了另一项研究,并且提出了一种针对通用电路C的协议,该协议依赖于抗冲突哈希和多对数私有信息检索PIR,其中客户端按时间运行poly(log(|C|),depth(C))。但是,以上两项研究都不能很好地满足公共可验证性的要求。
公共可验证计算的另一属性是公共可验证性。具体地,若干方应当能够利用专门设计的“验证”密钥来验证服务器或云的工作。在上述相同情况下,例如,客户端将函数F的计算委托给云时,可能会同时针对输入x生成验证密钥VKx。该密钥使得客户端能够在不涉及云的情况下验证计算结果的正确性。而且,即使云知道验证密钥VKx,云仍然不可能对计算结果进行欺骗。
Papamanthou、Tamassia和Triandopoulos[31]提出了一种设置操作的可验证计算方案,该方案使得任何人能够检查设置操作结果的正确性。Parno等人[23]设计了一种用于公共可验证计算的方案,称为Pinocchio。该方案通过组合QAP和高效的密码协议来实现操作结果的公共可验证性。在他们的方案中,无论执行多少次计算,操作结果的证明都是恒定的。因此,可以非常有效地验证计算结果。Papamanthou、Shi和Tamassia[33]提出了另一种有关公共可验证计算的协议。
现在将描述根据本发明的至少一些实施例的系统。
完全同态加密的概念是由Rivist在1978年首次提出的。但是,由于当时的技术限制,Gentry直到2009年才提出了一种有前途的完全同态加密方案。他首次提出了一种被称为特定同态加密SHE的方案,该方案使用理想晶格来实现能够计算有限深度的电路的同态。然后,他和他的团队改进了这项工作,并且成功地基于理想晶格构造了完全同态加密方案FHE。在Gentry首次将该理论带入现实世界之后,完全同态加密成为研究中的活跃话题。其中有三个主要分支:基于理想晶格的完全同态加密、基于整数的完全同态加密、以及基于容错学习LWE或环容错学习RLWE的完全同态加密。在本发明的至少一些实施例中,基于RLWE使用BGV[21]完全同态加密方案。
在本节中,简要介绍可以在本发明的至少一些实施例中使用的完全同态加密算法。完全同态加密方案中有四种算法:密钥生成(Keygen)、加密(Enc)、解密(Dec)、和评估(Eval)。细节如下:
1)KeyGen(1λ)→(pk,sk):通过输入:安全参数λ,该算法输出完全同态公共密钥pk和完全同态秘密密钥sk。
2)
Figure BDA0002381712210000121
通过输入:公共密钥pk和明文mi,算法加密m并且输出密文
Figure BDA0002381712210000122
其中mi表示由DPi提供的第i明文并且
Figure BDA0002381712210000123
表示mi的对应密文。
3)
Figure BDA0002381712210000124
通过输入:秘密密钥sk和密文
Figure BDA0002381712210000125
该算法解密
Figure BDA0002381712210000126
并且输出明文mi
4)
Figure BDA0002381712210000127
通过输入:公共密钥pk、评估电路C和密文元组
Figure BDA0002381712210000128
该算法计算并且输出结果
Figure BDA0002381712210000129
Figure BDA00023817122100001210
表示密文计算结果,其中
Figure BDA00023817122100001211
完全同态加密的关键算法是Eval,它以加密形式计算数据。显然,数据的加密可以保护数据免遭暴露给未经授权的用户。只有拥有秘密密钥sk的一方才能访问明文结果。
接下来,将描述多项式因式分解。现在给出多元多项式的表示法。关键是使用可重复多重集,这意味着一个元素可以出现一次以上以表示一个多元多项式,例如{1,1,2,2,3,3}是一个多重集。在形式上,函数S→Z≥0表示多重集(S)与该多重集中的每个元素的多重性之间的映射,即S={1,1,2,3,3,3},得到S(1)=2,S(2)=1,S(3)=3。|S|表示多重集的次数,即对于多重集{1,1,2,3,3,3},|S|=6。最后,Sd,n表示大小最多为d并且不同元素最多为n的多重集的集合。假设f是Zp上的n-变量多项式,则f可以这样表示:
Figure BDA0002381712210000131
其中cS表示对应单项多元多项式的系数。例如,多重集{1,1,2,5,5,5}对应于n-变量多项式
Figure BDA0002381712210000132
特别地,对于多元多项式,使用包含在多项式中的单项式的最大次数来表示该多项式的次数,例如,
Figure BDA0002381712210000133
的次数为6。
多元多项式因式分解:令
Figure BDA0002381712210000134
是n-变量多项式。对于所有
Figure BDA0002381712210000135
存在
Figure BDA0002381712210000136
其中f(x)-f(a)可以表示为
Figure BDA0002381712210000137
此外,存在一种多项式时间算法来求解这些qi(x)。
证明:该因式分解算法的证明是简单的。给定Zp上的n-变量多项式f(x)-f(a),使用x1-a1除以该多项式以得到
f(x)-f(a)=(x1-a1)qi(x1,x2,…,xn)+r1(x2,x3,…,xn)
其中r1(x2,x3,…,xn)是不再包含变量x1的余项。连续地,将余数除以(x2-a2),然后除以(x3-a3),依此类推。最后,f(x)-f(a)可以表示为:
Figure BDA0002381712210000141
其中rn∈Zp。由于当x=a时f(x)-f(a)=0,因此rn也应当为0。所以,得到
Figure BDA0002381712210000142
将采用以下符号:
Figure BDA0002381712210000143
Figure BDA0002381712210000151
对于系统设置,每个系统实体x生成其自己的公共密钥和私有密钥对PKx和SKx,并且在系统内部广播其公共密钥。代理140生成完全同态加密密钥对PKH和SKH并且将其发布给每个数据提供方DPi(i=1,...,I)。对于不同的上下文,可以对这些密钥进行不同的设置。因此,通常,系统中可能存在多个同态密钥对。为了简化,使用PKH来指代这些同态公共密钥中的任何一个,并且使用SKH来指代这些同态私有秘钥中的任何一个。
接下来,将更详细地描述数据提供和计算阶段。DPi提供有关函数Fj的数据Di,j。为了隐藏原始数据的内容并且将其计算外包给服务器120,DPi利用由代理140提供的与函数Fj相关联的PKH加密Di,j,以生成包P{Di,j}={E(PKH,Di,j)},并且利用它的秘密密钥
Figure BDA0002381712210000161
对它进行签名。该签名确保包P{Di,j}是由对应的DPi生成的。在各种实施例中,可以省略密码签名。
在服务器120接收到数据包P{Di,j}及其签名之后,服务器120可以首先检查该包是否确实由对应的DPi发送。如果为真,则服务器120对包P{Di,j}进行拆包,并且以完全同态方式计算关于Fj的加密数据E(PKH,Di,j)并且获得E(PKH,DMj)=Fj({E(PKH,Di,j)})(i=1,...,I)。然后,服务器120可以通过乘以随机数ra以获取E(PKH,DMj*ra)来掩盖E(PKH,DMj),以便对代理140隐藏计算结果。
如果RPk想要从服务器120请求关于函数Fj的数据处理的结果,它首先可以向服务器120传送请求
Figure BDA0002381712210000162
和签名Rk以及其秘密密钥
Figure BDA0002381712210000163
在接收到该请求之后,服务器120首先将它们发送到代理140以检查该RPk的资格。如果检查是肯定的,则代理140可以向服务器120请求掩盖的结果E(PKH,DMj*ra),并且利用RPk的公共密钥对其进行重新加密以获取与其在该数据上的签名相关联的
Figure BDA0002381712210000171
代理140然后可以将数据发送回服务器120。在确认数据从代理140发送之后,服务器12O计算
Figure BDA0002381712210000172
利用
Figure BDA0002381712210000173
Fj对其进行打包,并且利用其秘密密钥对其进行签名(
Figure BDA0002381712210000174
),然后将包和签名发送到请求方RPk。RPk最终可以例如通过以下方式得到结果:首先利用其自己的秘密密钥
Figure BDA0002381712210000175
解密
Figure BDA0002381712210000176
Figure BDA0002381712210000177
以得到DMj*ra和ra,然后得到结果DMj
接下来,将更详细地描述数据验证阶段。在准备验证时,根据多项式因式分解公式(
Figure BDA0002381712210000178
),DPi分解
Figure BDA0002381712210000179
其中
Figure BDA00023817122100001710
以生成
Figure BDA00023817122100001711
其中qi(x)是由多元多项式因式分解算法生成的多项式,其都对应于Fj。同时,DPi选择随机数据RDi,j并且获取关于函数Fj的随机数据计算结果RDMj=Fj({RDi,j})。
第一次要求验证器审核由服务器120从RPk提供的关于函数Fj的数据处理结果时,验证器将请求转发到与其签名相关联的对应DPi,例如,通过服务器120。当接收到该请求时,DPi将数据包P{RDi,j}={E(PKH,RDi,j),E(PKH,RDMj),Fj}发布给验证器以使其存储以附接到函数Fj。然后,对于其余的审核,验证器可以一直使用该包执行审核过程,直到DPi被请求通过选择新的随机数据RDi,j来刷新包。
审核过程:审核过程的关键任务是以完全同态的方式计算多项式因式分解公式。验证器150首先查询服务器120以获取关于Fj的对应包P{Di,j}={E(PKH,Di,j)}。然后,验证器以完全同态的方式计算函数F′j和F″j,并且检查这两个结果是否相等:
Figure BDA0002381712210000181
如果检查是肯定的,则结果是正确的,否则结果是错误的。最后,验证器将审核结果发布给对应的RPk
上述方案的正确性在于:如果由服务器120提供的处理结果通过审核检查,即:
Figure BDA0002381712210000182
根据多项式因式分解公式(
Figure BDA0002381712210000183
),这表示
Figure BDA0002381712210000184
Figure BDA0002381712210000185
因为RDMj=Fj({RDi,j})(i=1,…,I)(通过DPi计算的),存在DMj=Fj({Di,j})(i=1,…,I),使得在服务器120处处理的计算可以如预期那样指示正确。否则,在服务器120处处理的计算必须是错误的。
至少一些实施例提供了诸如例如隐私保护的益处,其中改善了服务器120处的数据挖掘/处理/计算隐私。服务器120也不能访问由DP发送的明文数据和明文结果DMj。而且,本发明进一步确保了验证器在整个验证过程中也无法知道计算的明文输入和输出。
另一或备选益处可以包括认证和不可否认:本发明利用数字签名来确保认证和不可否认。非法实体不可能假装自己是系统中的参与者之一。
另一或备选益处可以包括函数意识:对于数据利用其被计算的每个不同函数,本发明可以根据多项式因式分解公式来生成其特定验证算法。因此,基于DP想要对其计算的函数,系统可以生成适当的计算和验证过程以执行计算验证。
另一或备选益处可以包括公共验证:本发明使得公众可以通过请求“验证输入”和“验证功能”以计算验证结果来验证服务器120的计算结果。“验证输入”包括经加密的原始数据或经加密的处理结果。因此,这些数据不会向公众暴露有关数据提供方的任何有用信息。
另一或备选益处可以包括通用性:本发明使得能够在云处出于不同目的进行数据挖掘/处理/计算。本发明使得能够在不同情况下并且利用不同处理算法和函数在不可信或半可信服务器120处审核数据挖掘/处理/计算。
图3示出了能够支持本发明的至少一些实施例的示例装置。示出了设备300,设备300在适当的部分中可以包括例如图1和/或图2中所示的节点。设备300中包括处理器300,处理器310可以包括例如单核或多核处理器,其中单核处理器包括一个处理核,而多核处理器包括一个以上的处理核。处理器310可以包括一个以上的处理器。处理核可以包括例如由ARM Holdings制造的Cortex-A8处理核或由Advanced Micro Devices Corporation生产的Steamroller处理核。处理器310可以包括至少一个Qualcomm Snapdragon和/或Intel Atom处理器。处理器310可以包括至少一个专用集成电路ASIC。处理器310可以包括至少一个现场可编程门阵列FPGA。处理器310可以是用于执行设备300中的方法步骤的部件。处理器310可以至少部分由计算机指令配置为执行动作。
设备300可以包括存储器320。存储器320可以包括随机存取存储器和/或永久存储器。存储器320可以包括至少一个RAM芯片。存储器320可以包括例如固态、磁性、光学和/或全息存储器。存储器320可以是处理器310至少部分可访问的。存储器320可以至少部分地被包括在处理器310中。存储器320可以是用于存储信息的部件。存储器320可以包括处理器310被配置为执行的计算机指令。当被配置为使处理器310执行某些动作的计算机指令被存储在存储器320中,并且设备300整体被配置为使用来自存储器320的计算机指令在处理器310的指导下运行时,处理器310和/或其至少一个处理核可以被认为被配置为执行所述某些动作。存储器320可以至少部分地被包括在处理器310中。存储器320可以至少部分在设备300外部,但是对设备300是可访问的。
设备300可以包括发射器330。设备300可以包括接收器340。发射器330和接收器340可以被配置为分别根据至少一种蜂窝或非蜂窝标准来发射和接收信息。发射器330可以包括一个以上的发射器。接收器340可以包括一个以上的接收器。发射器330和/或接收器340可以被配置为例如根据全球移动通信系统GSM、宽带码分多址WCDMA、5G、长期演进LTE、IS-95、无线局域网WLAN、以太网和/或全球微波接入互通操作性WiMAX标准进行操作。
设备300可以包括近场通信NFC收发器350。NFC收发器350可以支持至少一种NFC技术,诸如NFC、蓝牙、Wibree或类似技术。
设备300可以包括用户接口UI 360。UI 360可以包括以下中的至少一项:显示器、键盘、触摸屏、被布置为通过使设备300振动来向用户发信号通知的振动器、扬声器和麦克风。用户可以能够经由UI 360操作设备300,例如配置与分布式计算有关的参数。
设备300可以包括或被布置为接受用户身份模块370。用户身份模块370可以包括例如可安装在设备300中的订户身份模块SIM卡。用户身份模块370可以包括标识设备300的用户的订阅的信息。用户身份模块370可以包括密码信息,该密码信息可用于验证设备300的用户的身份和/或促进对所传送的信息的加密以及对设备300的用户针对经由设备300进行的通信进行计费。
处理器310可以配备有发射器,该发射器被布置为经由设备300内部的电引线从处理器310向设备300中包括的其他设备输出信息。这种发射器可以包括串行总线发射器,该串行总线发射器被布置为例如经由至少一条电引线将信息输出到存储器320以在其中存储。作为串行总线的备选,发射器可以包括并行总线发射器。同样地,处理器310可以包括接收器,该接收器被布置为在处理器310中经由设备300内部的电引线从设备300中包括的其他设备接收信息。这样的接收器可以包括串行总线接收器,该串行总线接收器被布置为例如经由至少一条电引线从接收器340接收信息以在处理器310中处理。作为串行总线的备选,该接收器可以包括并行总线接收器。
设备300可以包括图3中未示出的另外的设备。例如,在设备300包括智能电话的情况下,其可以包括至少一个数字相机。一些设备300可以包括后置相机和前置相机,其中后置相机可以用于数字摄影,而前置相机可以用于视频电话。设备300可以包括指纹传感器,该指纹传感器被布置为至少部分地认证设备300的用户。在一些实施例中,设备300缺少至少一个上述设备。例如,某些设备300可能缺少NFC收发器350和/或用户身份模块370。
处理器310、存储器320、发射器330、接收器340、NFC收发器350、UI 360和/或用户身份模块370可以通过设备300内部的电引线以多种不同方式互连。例如,每个前述设备可以分别连接到设备300内部的主总线,以允许设备交换信息。然而,如本领域技术人员将理解的,这仅是一个示例,并且在不脱离本发明的范围的情况下,取决于实施例,可以选择互连至少两个前述设备的各种方式。
图4示出了根据本发明的至少一些实施例的信令。在垂直轴上,从左设置数据提供方110、服务器120、代理140和请求方130。时间从上到下前进。在该图的下部中示出了与验证有关的第二信令过程,其中验证器150代替代理140,因为代理140不参与验证过程。第一信令序列包括阶段410至470,并且第二信令序列包括阶段480至4140。
在阶段410中,数据提供方110从代理140接收其同态加密密钥。在阶段420中,数据提供方110将其利用同态加密密钥加密的数据提供给服务器120以进行处理。该阶段可以包括函数或函数标识符的通信,以指示用于所请求的处理的函数。在阶段420传送的数据可以由数据提供方110使用数据提供方110的密钥来签名。
在阶段430中,服务器120使用同态处理根据阶段420的请求执行处理,其中服务器120无法访问数据或结果的未经加密的副本。也可以在该阶段执行使用随机数据进行的掩盖。作为阶段430的结果,服务器130具有已处理的数据的经加密的副本。
在阶段440中,请求方130通过向服务器120或代理140传输请求来请求获得已处理的数据。在图4中,该请求被传输到服务器120。服务器120可以确定请求方130获得该数据的资格,例如服务器120可以通过例如从代理140查询并且从代理140接收决定来确定请求方130获得该数据的资格。在访问要被授予的情况下,服务器120可以在阶段450将已处理的数据传输给代理140以进行重新加密,使得已处理的数据从通过数据提供方110的密钥加密的形式转换为加密的形式,使得请求方130可以使用请求方130的私有秘钥对其进行解密。代理140在阶段460中将经重新加密的已处理的数据返回给服务器120。然后,服务器120可以在阶段470向请求方130提供经重新加密的已处理的数据,并且在使用掩盖的情况下,提供用于掩盖的、经加密的随机数据,以供请求方130解密。在一些实施例中,代理140在阶段460中将经重新加密的已处理的数据直接传递给请求方130。在阶段470中传送的数据可以由服务器120使用服务器120的密钥来签名。
如上所述,在较低的信令过程中,执行验证。详细地,在阶段480中,请求方130从验证器150请求对阶段430的处理的验证。该请求可以包括加密形式的已处理的数据。响应地,验证器150在阶段490请求来自数据提供方110的数据包。数据提供方110在阶段4100中提供所请求的包,该包包括经加密的随机数据、经加密的函数输出,使得利用随机数据作为函数输入来获得输出、以及在验证器150未在阶段480接收到函数标识符的情况下可选地包括函数标识符。在一些实施例中,包还包括使用函数的同态多项式分解在数据提供方110中获得的函数的分解表示。
在阶段4110中,验证器150从服务器120请求数据,并且响应地,在阶段4120中,服务器120向验证器150提供未经处理的数据的经加密的副本。在阶段480的通信不包括已处理的数据的实施例中,在阶段4120中,服务器120也可以以加密形式向验证器150提供已处理的数据的副本。例如,在阶段4120中提供的数据可以使用数据提供方110的密钥来加密。
在阶段4130中,验证器150可以验证阶段430的处理是否正确,如上所述。阶段4140包括验证器150向请求方130提供关于阶段4130的验证结果的指示。
图5是根据本发明的至少一些实施例的方法的流程图。当安装在验证器150中时,所示出的方法的各阶段可以在验证器150中、或者在被配置为控制其功能的控制设备中执行。
阶段510包括接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用随机数据被运行时的函数的经加密的输出。阶段520包括获得函数的同态多项式因式分解,包括获得函数的经分解的表示,该表示包括多项式的和。例如,获得经分解的表示可以包括执行分解,或者从另一节点接收经分解的表示。最后,阶段530包括通过检查经加密的输出与经加密的计算结果之间的差是否等于经分解的表示的值,来验证计算结果正确,其中经加密的随机数据和经加密的输入数据作为多项式的和中的参数值被使用。
图6是根据本发明的至少一些实施例的方法的流程图。当安装在数据提供方110中时,所示出的方法的各阶段可以在数据提供方110中、或者在被配置为控制其功能的控制设备中执行。
阶段610包括对函数执行同态多项式因式分解以获得函数的经分解的表示,该表示包括多项式的和。阶段620包括获得随机数据,并且生成利用随机数据被运行时的函数的输出。最后,阶段630包括向验证器节点提供加密形式的随机数据、加密形式的输出、以及函数的标识符,该验证器节点不同于云计算服务器,其中执行该方法的装置被配置为将函数的计算卸载到云计算服务器。
应当理解,所公开的本发明的实施例不限于本文中所公开的特定结构、过程步骤、或材料,而是被扩展至其等同物,如相关领域的普通技术人员将认识到的。还应当理解,本文中采用的术语仅用于描述特定实施例的目的,而无意于进行限制。
在整个说明书中对一个实施例(one embodiment)或一个实施例(an embodiment)的引用表示结合该实施例描述的特定特征、结构、或特性被包括在本发明的至少一个实施例中。因此,在整个说明书中各处出现的短语“在一个实施例中(in one embodiment)”或“在一个实施例中(in an embodiment)”并不一定都是指同一实施例。在使用诸如例如大约或基本上的术语来参考数值时,也公开了确切的数值。
如本文中使用的,为了方便,可以在共同的列表中呈现多个项目、结构元素、组成元素、和/或材料。但是,这些列表应当被解释为好像列表的每个成员都被个别标识为单独且唯一的成员。因此,仅基于在共同的组中的它们的表现而没有相反指示,该列表的任何个体成员都不应当被解释为事实上等同于该相同列表的任何其他成员。另外,本文中可以参考本发明的各种实施例和示例以及用于其各种组件的备选方案。应当理解,这样的实施例、示例、和备选方案不应当被理解为彼此的事实上等同物,而应当被认为是本发明的单独且自主的表示。
此外,在一个或多个实施例中,所描述的特征、结构、或特性可以以任何合适的方式组合。在前面的描述中,提供了很多具体细节,诸如长度、宽度、形状等的示例,以提供对本发明的实施例的透彻理解。然而,相关领域的技术人员将认识到,可以在没有一个或多个特定细节的情况下,或者在其他方法、组件、材料等的情况下实践本发明。在其他情况下,为了避免掩盖本发明的各个方面,不详细示出或描述众所周知的结构、材料、或操作。
尽管前述示例在一个或多个特定应用中示出了本发明的原理,但是对于本领域的普通技术人员而言很清楚的是,在不进行创造性劳动并且在不脱离本发明的原理和概念的情况下,可以对实现的形式、使用和细节进行多种修改。因此,除了由下面提出的权利要求书之外,无意限制本发明。
动词“包括(to comprise)”和“包括(to include)”在本文中用作开放的限制,其既不排除也不要求还存在未记载的特征。除非另有明确说明,否则从属权利要求中记载的特征可以相互自由组合。此外,应当理解,在本文中,“一个(a)”或“一个(an)”(即,单数形式)的使用并不排除多个。
工业适用性
本发明的至少一些实施例在安全的分布式计算中找到工业应用。
附件列表
ABE 基于属性的加密
FHE 完全同态加密
HE 同态加密
LWE 容错学习
PCP 概率可检验证明
QAP 二次算术程序
RLWE 环容错学习
SHE 特定同态加密
附图标记列表
110 数据提供者(DP)
120 服务器
130、135 请求方
140 代理(例如,可信审核代理)
150 验证器
300-370 图3的设备的结构
410-4140 图4的信令过程的阶段
510-530 图5的方法的阶段
610-630 图6的方法的阶段
引用列表
[1]S.Goldwasser,Y.T.Kalai,and G.N.Rothblum,“Delegating computation:Interactive proofs for muggles,”in Proc.ACM Symp.Theory Comput.,pp.113-122,2008.
[2]J.R.Thaler,“Practical verified computation with streaminginteractive proofs,”Ph.D.dissertation,Harvard University,2013.
[3]S.Setty,R.McPherson,A.J.Blumberg,and M.Walfish,“Making argumentsystems for outsourced computation practical(sometimes),”in Pceedings of theISOC NDSS,2012.
[4]S.Setty,V.Vu,N.Panpalia,B.Braun,A.J.Blumberg,and M.Walfish,“Takingproof-based verified computation a few steps closer to practicality,”inProc.of USENIX Security,2012.
[5]R.Gennaro,C.Gentry,and B.Parno,“Non-interactive verifiablecomputation:outsourcing computation to untrusted workers,”Proc.of the 30thannual conference on Advances in cryptology(CRYPTO’10),Springer BerlinHeidelberg,pp.465-482,2010.
[6]D.Fiore and R.Gennaro,“Publicly verifiable delegation of largepolynomials and matrix computations,with applications,”in ACM conference onComputer and communications security,ACM,pp.501-512,2012.
[7]A.Kate,G.M.Zaverucha,and I.Goldberg,“Constant-size commitments topolynomials and their applications,”in Advances in Cryptology-ASIACRYPT 2010,Springer,pp.177-194,2010.
[8]R.Gennaro,C.Gentry,B.Parno,and M.Raykova,“Quadratic span programsand succinct NIZKs without PCPs,”in EUROCRYPT,2013.Originally published asCryptology ePrint Archive,Report 2012/215.
[9]S.Setty,B.Braun,V.Vu,A.J.Blumberg,B.Parno,and M.Walfish,“Resolvingthe conflict between generality and plausibility in verified computation,”inProc.of the ACM European Conference on Computer Systems(EuroSys),Apr.2013.
[10]S.Benabbas,R.Gennaro,and Y.Vahlis,“Verifiable delegation ofcomputation over large datasets,”in Proc.of the 31 st annual conference onAdvances in cryptology(CRYPTO’11),Springer Berlin Heidelberg,pp.111-131,2011.
[11]V.Vu,S.Setty,A.J.Blumbery,and M.Walfish,“A Hybrid Architecturefor Interactive Verifiable Computation,”Security and Privacy(SP),2013 IEEESymposium on,pp.223-237,19-22 May 2013.
[12]R.L.Rivest,L.Adleman,and M.L.Dertouzos,“On data banks and privacyhomomorphisms,”Foundations of Secure Computation,pp.169-180,1978.
[13]C.Gentry,“A fully homomorphic encryption scheme,”Ph.D.dissertation,Stanford University,2009.
[14]B.Parno,M.Raykova,and V.Vaikuntanathan,“How to delegate andverify in public:verifiable computation from attribute-based encryption,”Proc.of the 9th international conference on Theory of Cryptography(TCC’12),Springer Berlin Heidelberg,pp.422-439,2012.
[15]M.Dijk,D.Clarke,B.Gassend,G.Edward Suh,and S.Devadas,”Speeding upExponentiation using an Untrusted Computational Resource,”Journal Designs,Codes and Cryptography,vol.39,pp.253-273,May 2006.
[16]D.Catalano and D.Fiore,“Practical homomorphic macs for arithmeticcircuits,”in Advances in Cryptology-EUROCRYPT.Springer,pp.336-352,2013.
[17]R.Gennaro and D.Wichs,“Fully homomorphic message authenticators,”in Advances in Cryptology-ASIACRYPT,Springer,pp.301-320,2013.
[18]M.Backes,D.Fiore,and R.M.Reischuk,“Verifiable delegation ofcomputation on outsourced data,”in ACM conference on Computer andcommunications security.ACM,pp.863-874,2013.
[19]D.Boneh and D.M.Freeman,“Homomorphic signatures for polynomialfunctions,”in Advances in Cryptology-EUROCRYPT.Springer,pp.149-168,2011.
[20]K.M.Chung,Y.Kalai,and S.Vadhan,“Improved delegation ofcomputation using fully homomorphic encryption,”in Advances in Cryptology-CRYPTO.Springer,pp.483-501,2010.
[21]Z.Brakerski,C.Gentry,V.Vaikuntanathan,“(Leveled)Fully HomomorphicEncryption without Bootstrapping,”Acm Transactions on Computation Theory,vol.6,no.3,pp.1-36,2014.
[22]Z.Yan,X.X.Yu,W.X.Ding,“Context-aware verifiable cloud computing,”IEEE Access 5:2211-2227,2017.
[23]B.Parno,J.Howell,C.Gentry,and M.Raykova,“Pinocchio:Nearlypractical verifiable computation,”in IEEE Symposium on Security andPrivacy.IEEE,pp.238-252,2013.
[24]S.Papadopoulos,G.Cormode,A.Deligiannakis,and M.Garofalakis,“Lightweight authentication of linear algebraic queries on data streams,”inInternational conference on Management of data.ACM,pp.881-892,2013.
[25]C.Gentry,D.Wichs,“Separating succinct non-interactive argumentsfrom all falsifiable assumptions,”In:Proceedings of the ACM Symposium onTheory of Computing,STOC,2011.
[26]D.Catalano,A.Marcedone,O.Puglisi,“Linearly homomorphic structurepreserving signatures:new methodologies and applications,”IACR CryptologyePrint Archive 2013:801,2013.
[27]M.J.Atallah,and K.B.Frikken,“Securely outsourcing linear algebracomputations,”Proc.ACM Symposium on Information,Computer and CommunicationsSecurity(ASIACCS 2010),ACM,pp.48-59,2010.
[28]D.Benjamin,and M.J.Atallah,“Private and cheating-free outsourcingof algebraic computations,”Proc.of the 6th Annual Conference on Privacy,Security and Trust(PST’08),IEEE Computer Society,pp.240-245,2008.
[29]N.Attrapadung,B.Libert,T.Peters,“Computing on authenticated data:new privacy definitions and constructions,”In:ASIACRYPT 2012,LNCS,vol.7658,pp367-385,Springer,Heidelberg,2012.
[30]R.Canetti,B.Riva,and G.N.Rothblum,“Two 1-round protocols fordelegation of computation,”Cryptology ePrint Archive,Report 2011/518,2011.
[31]C.Papamanthou,R.Tamassia,and N.Triandopoulos,“OptimalVerification of Operations on Dynamic Sets,”In:Rogaway,P.(ed.)CRYPTO2011.LNCS,vol.6841,pp.91-110.Springer,Heidelberg,2011.
[32]C.Joo,A.Yun,“Homomorphic authenticated encryption secure againstchosen ciphertext attack,”IACR Cryptology ePrint Archive 2013:726,2013.
[33]C.Papamanthou,E.Shi,and R.Tamassia,“Publicly verifiabledelegation of computation,”Cryptology ePrint Archive,Report 2011/587,2011.

Claims (31)

1.一种装置,包括至少一个处理核、至少一个存储器,所述至少一个存储器包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核一起使所述装置至少:
-接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用所述随机数据被运行时的所述函数的经加密的输出;
-获得所述函数的同态多项式因式分解,包括获得所述函数的经分解的表示,所述表示包括多项式的和,以及
-通过检查所述经加密的输出与所述经加密的计算结果之间的差是否等于所述经分解的表示的值,来验证所述计算结果正确,其中所述经加密的随机数据和所述经加密的输入数据作为所述多项式的和中的参数值被使用。
2.根据权利要求1所述的装置,其中所述多项式的和中的每个多项式包括第一部分和第二部分的乘积,所述第一部分包括第一参数与第二参数之间的差,并且所述第二部分包括涉及所述第一参数的多项式表达式。
3.根据权利要求2所述的装置,其中所述装置被配置为在获得所述多项式的和的值时,将所述经加密的随机数据指配为所述第一参数,并且将所述经加密的输入数据指配为所述第二参数。
4.根据权利要求1至3中任一项所述的装置,其中所述装置被配置为从结果请求方接收所述经加密的计算结果。
5.根据权利要求1至4中任一项所述的装置,其中所述装置被配置为请求来自数据提供方节点的函数的所述标识符、所述经加密的随机数据和所述函数的所述经加密的输出,所述数据提供方节点源发所述输入数据。
6.根据权利要求1至5中任一项所述的装置,其中所述装置还被配置为请求来自云数据处理节点的所述经加密的输入数据。
7.根据权利要求1至6中任一项所述的装置,其中所述装置还被配置为向节点指示所述验证的结果,所述装置从所述节点接收到所述经加密的计算结果。
8.根据权利要求1至7中任一项所述的装置,其中所述装置还被配置为使用相同的所述经加密的随机数据和所述经加密的输出来验证第二经加密的计算结果。
9.一种装置,包括至少一个处理核、至少一个存储器,所述至少一个存储器包括计算机程序代码,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核一起使所述装置至少:
-执行函数的同态多项式因式分解,以获得所述函数的经分解的表示,所述表示包括多项式的和;
-获得随机数据,并且生成利用所述随机数据被运行时的所述函数的输出,以及
-向验证器节点提供加密形式的所述随机数据、加密形式的所述输出、以及所述函数的标识符,所述验证器节点不同于云计算服务器,其中所述装置被配置为将所述函数的计算卸载到所述云计算服务器。
10.根据权利要求9所述的装置,其中所述装置还被配置为向所述云计算服务器提供经加密的输入数据和指令,以对所述经加密的输入数据执行所述函数。
11.根据权利要求9所述的装置,其中所述装置被配置为使用同态加密密钥来加密所述输出和所述随机数据,所述同态加密密钥在所述装置中从代理节点被接收。
12.根据权利要求10所述的装置,其中所述装置被配置为使用同态加密密钥来加密所述输入数据,所述同态加密密钥在所述装置中从代理节点被接收。
13.根据权利要求9至12中任一项所述的装置,其中所述装置包括传感器节点,所述传感器节点被配置为用作基于分组的通信网络的一部分。
14.一种方法,包括:
-接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用所述随机数据被运行时的所述函数的经加密的输出;
-获得所述函数的同态多项式因式分解,包括获得所述函数的经分解的表示,所述表示包括多项式的和,以及
-通过检查所述经加密的输出与所述经加密的计算结果之间的差是否等于所述经分解的表示的值,来验证所述计算结果正确,其中所述经加密的随机数据和所述经加密的输入数据作为所述多项式的和中的参数值被使用。
15.根据权利要求14所述的方法,其中所述多项式的和中的每个多项式包括第一部分和第二部分的乘积,所述第一部分包括第一参数与第二参数之间的差,并且所述第二部分包括涉及所述第一参数的多项式表达式。
16.根据权利要求15所述的方法,还包括在获得所述多项式的和的值时,将所述经加密的随机数据指配为所述第一参数,并且将所述经加密的输入数据指配为所述第二参数。
17.根据权利要求14至16中任一项所述的方法,还包括从结果请求方接收所述经加密的计算结果。
18.根据权利要求14至17中任一项所述的方法,还包括请求来自数据提供方节点的函数的所述标识符、所述经加密的随机数据和所述函数的所述经加密的输出,所述数据提供方节点源发所述输入数据。
19.根据权利要求14至18中任一项所述的方法,还包括请求来自云数据处理节点的所述经加密的输入数据。
20.根据权利要求14至19中任一项所述的方法,还包括向节点指示所述验证的结果,执行所述方法的装置已经从所述节点接收到所述经加密的计算结果。
21.根据权利要求14至20中任一项所述的方法,还包括使用相同的所述经加密的随机数据和所述经加密的输出来验证第二经加密的计算结果。
22.一种方法,包括:
-执行函数的同态多项式因式分解,以获得所述函数的经分解的表示,所述表示包括多项式的和;
-获得随机数据,并且生成利用所述随机数据被运行时的所述函数的输出,以及
-向验证器节点提供加密形式的所述随机数据、加密形式的所述输出、以及所述函数的标识符,所述验证器节点不同于云计算服务器,其中执行所述方法的装置被配置为将所述函数的计算卸载到所述云计算服务器。
23.根据权利要求22所述的方法,还包括向所述云计算服务器提供经加密的输入数据和指令,以对所述经加密的输入数据执行所述函数。
24.根据权利要求22所述的方法,还包括使用同态加密密钥来加密所述输出和所述随机数据,所述同态加密密钥在所述装置中从代理节点被接收。
25.根据权利要求23所述的方法,还包括使用同态加密密钥来加密所述输入数据,所述同态加密密钥在所述装置中从代理节点被接收。
26.根据权利要求22至25中任一项所述的方法,包括在传感器节点中执行所述方法,所述传感器节点被配置为用作基于分组的通信网络的一部分。
27.一种装置,包括:
-用于接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用所述随机数据被运行时的所述函数的经加密输出的部件;
-用于获得所述函数的同态多项式因式分解的部件,包括获得所述函数的经分解的表示,所述表示包括多项式的和,以及
-用于通过检查所述经加密的输出与所述经加密的计算结果之间的差是否等于所述多项式的和的值来验证所述计算结果正确的部件,其中所述经加密的随机数据和所述经加密的输入数据作为所述多项式的和中的参数值被使用。
28.一种装置,包括:
-用于执行函数的同态多项式因式分解以获得所述函数的经分解的表示的部件,所述表示包括多项式的和;
-用于获得随机数据并且生成利用所述随机数据被运行时的所述函数的输出的部件,以及
-用于向验证器节点提供加密形式的所述随机数据、加密形式的所述输出、以及所述函数的标识符的部件,所述验证器节点不同于云计算服务器,其中所述装置被配置为将所述函数的计算卸载到所述云计算服务器。
29.一种非瞬态计算机可读介质,在其上存储有计算机可读指令集合,所述计算机可读指令集合在由至少一个处理器执行时使装置至少:
-接收函数的标识符、经加密的输入数据、经加密的计算结果、经加密的随机数据和利用所述随机数据被运行时的所述函数的经加密的输出;
-获得所述函数的同态多项式因式分解,包括获得所述函数的经分解的表示,所述表示包括多项式的和,以及
-通过检查所述经加密的输出与所述经加密的计算结果之间的差是否等于所述多项式的和的值,来验证所述计算结果正确,其中所述经加密的随机数据和所述经加密的输入数据作为所述多项式的和中的参数值被使用。
30.一种非瞬态计算机可读介质,在其上存储有计算机可读指令集合,所述计算机可读指令集合在由至少一个处理器执行时使装置至少:
-执行函数的同态多项式因式分解,以获得所述函数的经分解的表示,所述表示包括多项式的和;
-获得随机数据,并且生成利用所述随机数据被运行时的所述函数的输出,以及
-向验证器节点提供加密形式的所述随机数据、加密形式的所述输出、以及所述函数的标识符,所述验证器节点不同于云计算服务器,其中所述装置被配置为将所述函数的计算卸载到所述云计算服务器。
31.一种计算机程序,被配置为使根据权利要求14至21或权利要求22至26中的至少一项所述的方法被执行。
CN201780093818.4A 2017-06-20 2017-06-20 一种用于通信的装置、方法和非瞬态计算机可读介质 Active CN110999209B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/089216 WO2018232603A1 (en) 2017-06-20 2017-06-20 SECURE COMPUTERIZED CALCULATION

Publications (2)

Publication Number Publication Date
CN110999209A true CN110999209A (zh) 2020-04-10
CN110999209B CN110999209B (zh) 2022-08-16

Family

ID=64736219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780093818.4A Active CN110999209B (zh) 2017-06-20 2017-06-20 一种用于通信的装置、方法和非瞬态计算机可读介质

Country Status (4)

Country Link
US (1) US11165558B2 (zh)
EP (1) EP3642999A4 (zh)
CN (1) CN110999209B (zh)
WO (1) WO2018232603A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468290A (zh) * 2020-10-30 2021-03-09 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10992467B2 (en) * 2018-03-16 2021-04-27 Colossio, Inc. System and method for encrypting information with polynomial distributed strings
US11308222B2 (en) * 2018-03-22 2022-04-19 Via Science, Inc. Neural-network training using secure data processing
US20210211269A1 (en) * 2018-05-24 2021-07-08 Mamadou Ibra WADE Distributed homomorphic image encryption and decryption
US11381381B2 (en) * 2019-05-31 2022-07-05 Intuit Inc. Privacy preserving oracle
EP4018612B1 (en) * 2019-08-19 2024-02-28 Nokia Technologies Oy Verifiability for execution in trusted execution environment
CN113055152B (zh) * 2019-12-26 2022-10-18 郑珂威 基于完全同态加密技术的中间代码加密方法及密文虚拟机系统
US11588617B2 (en) * 2020-11-01 2023-02-21 The Toronto-Dominion Bank Validating confidential data using homomorphic computations
US11902424B2 (en) * 2020-11-20 2024-02-13 International Business Machines Corporation Secure re-encryption of homomorphically encrypted data
US11799643B2 (en) * 2021-01-19 2023-10-24 Bank Of America Corporation Collaborative architecture for secure data sharing
WO2022185316A1 (en) * 2021-03-03 2022-09-09 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University Verifiable computing using computation fingerprint within fully homomorphic encryption (fhe)
US11728966B2 (en) * 2021-10-22 2023-08-15 National Applied Research Laboratories Method of constructing a semi-public key system in QAP-based homomorphic encryption
US11550961B1 (en) * 2022-04-27 2023-01-10 Intuit Inc. Integrity protection for homomorphic computations

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
CN102822816A (zh) * 2010-03-30 2012-12-12 国际商业机器公司 用于双线性型的高效同态加密方案
US20130329883A1 (en) * 2012-06-12 2013-12-12 Kryptnostic Method for fully homomorphic encryption using multivariate cryptography
CN106100831A (zh) * 2016-06-01 2016-11-09 兰雨晴 一种传送和处理数据的方法及系统
CN106100818A (zh) * 2016-06-02 2016-11-09 苏州健雄职业技术学院 一种基于整数多项的全同态加密的数据加密方法
US20170063526A1 (en) * 2014-09-03 2017-03-02 Research Foundation Of The City University Of New York System and Method for Private-Key Fully Homomorphic Encryption and Private Search Between Rings
US20170134157A1 (en) * 2015-11-05 2017-05-11 Microsoft Technology Licensing, Llc Homomorphic Encryption with Optimized Encoding

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4258551B2 (ja) * 2007-01-25 2009-04-30 日本電気株式会社 認証システム、認証方法、及び認証プログラム
JP5790318B2 (ja) 2011-08-29 2015-10-07 ソニー株式会社 情報処理装置、署名生成装置、情報処理方法、署名生成方法、及びプログラム
US8925075B2 (en) * 2011-11-07 2014-12-30 Parallels IP Holdings GmbH Method for protecting data used in cloud computing with homomorphic encryption
US9524392B2 (en) * 2013-11-30 2016-12-20 Microsoft Technology Licensing, Llc Encrypting genomic data for storage and genomic computations
EP3114602B1 (en) 2014-03-07 2022-01-12 Nokia Technologies Oy Method and apparatus for verifying processed data
CN104601586B (zh) 2015-01-29 2017-12-19 西安电子科技大学 一种公开可验证的外包统计方法
US10079674B2 (en) * 2015-02-26 2018-09-18 New York University Systems and methods for privacy-preserving functional IP verification utilizing fully homomorphic encryption
CN104811450B (zh) 2015-04-22 2017-10-17 电子科技大学 云计算中一种基于身份的数据存储方法及完整性验证方法
US9729312B2 (en) * 2015-04-28 2017-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for high-assurance data storage and processing based on homomorphic encryption
US9876823B2 (en) * 2015-06-09 2018-01-23 Intel Corporation System, apparatus and method for privacy preserving distributed attestation for devices
US9973334B2 (en) * 2015-09-03 2018-05-15 Cisco Technology, Inc. Homomorphically-created symmetric key
US10333715B2 (en) * 2016-11-14 2019-06-25 International Business Machines Corporation Providing computation services with privacy
US11005828B1 (en) * 2018-11-19 2021-05-11 Bae Systems Information And Electronic Systems Integration Inc. Securing data at rest

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
CN102822816A (zh) * 2010-03-30 2012-12-12 国际商业机器公司 用于双线性型的高效同态加密方案
US20130329883A1 (en) * 2012-06-12 2013-12-12 Kryptnostic Method for fully homomorphic encryption using multivariate cryptography
US20170063526A1 (en) * 2014-09-03 2017-03-02 Research Foundation Of The City University Of New York System and Method for Private-Key Fully Homomorphic Encryption and Private Search Between Rings
US20170134157A1 (en) * 2015-11-05 2017-05-11 Microsoft Technology Licensing, Llc Homomorphic Encryption with Optimized Encoding
CN106100831A (zh) * 2016-06-01 2016-11-09 兰雨晴 一种传送和处理数据的方法及系统
CN106100818A (zh) * 2016-06-02 2016-11-09 苏州健雄职业技术学院 一种基于整数多项的全同态加密的数据加密方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
P. SHA AND Z. ZHU: "The modification of RSA algorithm to adapt fully homomorphic encryption algorithm in cloud computing", 《2016 4TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND INTELLIGENCE SYSTEMS (CCIS)》 *
Z. YAN, X. YU AND W. DING: "Context-Aware Verifiable Cloud Computing", 《IEEE ACCESS》 *
古春生: "近似理想格上的全同态加密方案", 《软件学报》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468290A (zh) * 2020-10-30 2021-03-09 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置

Also Published As

Publication number Publication date
US11165558B2 (en) 2021-11-02
US20200136797A1 (en) 2020-04-30
EP3642999A4 (en) 2021-01-13
EP3642999A1 (en) 2020-04-29
CN110999209B (zh) 2022-08-16
WO2018232603A1 (en) 2018-12-27

Similar Documents

Publication Publication Date Title
CN110999209B (zh) 一种用于通信的装置、方法和非瞬态计算机可读介质
Zhang et al. BaDS: Blockchain-based architecture for data sharing with ABS and CP-ABE in IoT
Zhang et al. Secure smart health with privacy-aware aggregate authentication and access control in Internet of Things
Liu et al. Achieving reliable and secure services in cloud computing environments
Wang et al. Oruta: Privacy-preserving public auditing for shared data in the cloud
Hohenberger et al. Online/offline attribute-based encryption
Mahmood et al. An enhanced anonymous identity‐based key agreement protocol for smart grid advanced metering infrastructure
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
CN110089071B (zh) 安全的分布式数据处理
US10938547B2 (en) Method and system for providing encrypted data
Yu et al. Verifiable outsourced computation over encrypted data
WO2021044411A1 (en) Systems and methods for signing of a message
Karati et al. Provably secure and lightweight identity-based authenticated data sharing protocol for cyber-physical cloud environment
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
Munivel et al. New authentication scheme to secure against the phishing attack in the mobile cloud computing
Meshram et al. A subtree‐based transformation model for cryptosystem using chaotic maps under cloud computing environment for fuzzy user data sharing
Chen et al. Witness-based searchable encryption with optimal overhead for cloud-edge computing
Ali et al. Hyper elliptic curve based certificateless signcryption scheme for secure IIoT communications
Jiang et al. A verifiable and privacy‐preserving multidimensional data aggregation scheme in mobile crowdsensing
Wang One-round secure fair meeting location determination based on homomorphic encryption
Peng et al. Efficient distributed decryption scheme for IoT gateway-based applications
Bayat et al. A secure and efficient chaotic maps based authenticated key-exchange protocol for smart grid
Cui et al. Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems

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