CN107113162A - 用于同态加密的多值打包方案的系统和方法 - Google Patents

用于同态加密的多值打包方案的系统和方法 Download PDF

Info

Publication number
CN107113162A
CN107113162A CN201580072625.1A CN201580072625A CN107113162A CN 107113162 A CN107113162 A CN 107113162A CN 201580072625 A CN201580072625 A CN 201580072625A CN 107113162 A CN107113162 A CN 107113162A
Authority
CN
China
Prior art keywords
encrypted payloads
value
data value
encrypted
data
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
CN201580072625.1A
Other languages
English (en)
Other versions
CN107113162B (zh
Inventor
萨尔瓦尔·帕特尔
马塞尔·M·M·容
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Priority to CN201910247605.3A priority Critical patent/CN109905227B/zh
Publication of CN107113162A publication Critical patent/CN107113162A/zh
Application granted granted Critical
Publication of CN107113162B publication Critical patent/CN107113162B/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Abstract

描述了用于同态加密的多值打包方案的系统和方法,包括在服务器处,生成多个加密有效载荷,所述加密有效载荷中的每一个具有多个数据值,在客户端处,接收具有所述多个数据值的多个加密有效载荷中的每一个,以及将所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与一个或多个其他加密有效载荷的一个或多个其他数据值相乘,以生成表示与所相乘的、所述加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷的一个或多个其他数据值相对应的数据值的总和的积。

Description

用于同态加密的多值打包方案的系统和方法
技术领域
本文所述的主题通常涉及数据处理,更具体而言涉及使用多值打包(packing)方案的同态加密的系统和方法。
背景技术
在相关技术中,可以执行数据库、数据库即服务(database as a service)、或云数据库操作。更具体而言,数据库服务器可以保持用户的数据(例如,用户传输数据),并且用户可以在该数据上执行操作(例如查询)。该用户可能具有敏感的、他或她不希望服务器(例如云所有者)知道的数据。
同态密码学,诸如Paillier密码学包括许多性质。例如,给定两个值V1和V2(被称为明文),E(V1)=C1(即,加密V1得到密文C1)和E(V2)=C2。同态密码学的一个性质为两个密文C1和C2的积将解密成它们对应的明文V1和V2的和。
随着日益增加的数据量和在服务器侧处理的事务量,需要减少必须被传输以实现同态密码学的字节数。
发明内容
本主题包括一种计算机实现的方法,用于执行同态加密以生成总和,所述方法包括:在客户端处,接收多个加密有效载荷,所述加密有效载荷分别具有多个数据值;以及将所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与一个或多个其他加密有效载荷的一个或多个其他数据值相乘以生成积,所述积表示与所相乘的、所述加密有效载荷中的所述一个加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷的所述一个或多个其他数据值相对应的数据值的总和。
本主题还包括一种计算机实现的方法,用于执行同态加密以生成总和,所述方法包括:在服务器处,生成多个加密有效载荷,所述加密有效载荷均具有多个数据值,其中,所述加密有效载荷中的每一个的数据值位于所述加密有效载荷中的每一个的下半部,并且所述加密有效载荷中的每一个的上半部为空。
此外,本主题包括一种计算机实现的方法,用于执行同态加密以生成总和,该方法包括:在服务器处,生成多个加密有效载荷,所述加密有效载荷均具有多个数据值;以及在客户端处,接收具有所述多个数据值的所述加密有效载荷中的每一个;以及将所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与一个或多个其他加密有效载荷的一个或多个其他数据值相乘,以生成积,所述积表示与所相乘的、所述加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷的一个或多个其他数据值相对应的数据值的总和。
使用一个或多个计算设备和/或系统实现所述方法。所述方法可以存储在计算机可读介质中。
附图说明
图1示出打包的相关技术途径。
图2示出拆包的相关技术途径。
图3示出根据示例性实施方式的,打包工具和拆包工具的架构。
图4示出根据示例实施方式的打包过程。
图5示出根据示例实施方式的拆包过程。
图6示出与示例实施方式相关联的系统过程。
图7示出与示例实施方式相关联的服务器过程。
图8示出与示例实施方式相关联的客户端过程。
图9示出适合于一些示例实施方式的示例环境。
图10A和10B示出适合于在一些示例实施方式中使用的具有相应示例计算设备的示例计算环境。
具体实施方式
通过示例性实施方式教导本文所述的主题。为了清楚和避免模糊本主题起见,省略诸多细节。下文所示的示例涉及用于实现与用于同态加密的多值打包方案相关联的系统和方法的结构和功能。
图1图示采用Paillier加密(例如,密文相乘、明文相加)的同态加密100的相关技术途径。提供客户端101和服务器103。在105处,客户端101使用利用密钥f的交换加密来执行多个ID X1…Xn…的加密。在105处执行的加密的结果由客户端101发送到服务器103。例如,交换加密可以是利用秘密指数对大质数取模来取幂。
在107处,服务器103从客户端101接收加密的ID f(X1)…f(Xn)…,并且利用密钥g来执行加密操作,并且将g(X1)…g(Xn)发送到客户端101。此外,服务器103利用密钥g加密ID Y1…Ym,并且将g(Y1)…g(Ym)连同利用Paillier同态加密E加密的值(例如花费(spend))Si一起发送到客户端101。数字的加密值被提供给客户端101以作为每一数字(例如花费值)的个体的、单独的有效载荷。
在111处,在客户端101,利用密钥f进一步加密服务器ID g(X1)…g(Xn)来生成fg(Y1)…fg(Ym)。在113处,客户端101执行检验操作来确定gf(Xi)和fg(Yj)之间是否存在匹配或交集。这样的匹配或交集会指示Xi等于Yj。
在115处,对于该交集,客户端101将作为Sj的加密值的所有值E(Sj)相乘以生成积,其与Sj的净值(clear value)的和的加密相同。客户端101可以请求服务器103解密该积并且返回该和。为避免在返回过程期间泄露该和,客户端101可以执行盲化操作(blindingoperation),即,将该积乘以E(r)以返回随机数r。
在117处,服务器103Paillier解密并且将结果返回给客户端101。为获得净和(clear sum),客户端101从由服务器103发送至客户端101的结果减去随机数r。
图2图示如上所述操作109的相关技术途径200。为了清楚起见,省略对与上文参考图1所述的相同附图标记的进一步说明。更具体而言,在操作109,服务器103发送加密的ID和关联的Paillier加密的花费值(例如g(Yi)连同E(Si))。
图3图示示例架构300。提供客户端侧模块303,其生成客户端的ID,并且经由互联网305将加密的ID发送到例如服务器侧模块307。服务器侧模块307可以加密从客户端侧模块303接收的数据,诸如客户端加密的ID。该服务器侧模块还控制服务器打包工具309。
服务器打包工具309包括打包工具操作员311,其控制服务器打包工具309。例如,在打包工具操作员311的命令下可以将多个数据值打包成单个有效载荷,使得服务器打包工具309将多个这种加密的有效载荷提供给服务器侧模块307。服务器侧模块307将加密的有效载荷提供给客户端侧模块303。在下文中,将参考图4,论述加密的有效载荷的进一步细节。
客户端拆包(unpacking)工具301接收加密的单个有效载荷。更具体而言,拆包工具操作员313在来自客户端侧模块303的单个有效载荷中的每一个上执行一系列左移位运算,,其进而从服务器侧模块307接收。左移位运算使用幂来移位在单个有效载荷内的值,使得所需值处于指定位置。当完成左移位运算时,在客户端拆包工具301处获得加密的数据值的积,其与明文值的和相关联。可选地,客户端侧模块303可以盲化该积,并且请求服务器侧模块303解密并且将经盲化和返回客户端侧模块,其去盲该经盲化和以获得表示该值(例如花费值)的明文和。
图4示出根据示例实施方式的与打包操作相关联的过程实施方式的示例。如图4所示,提供客户端401以与服务器403通信。在客户端401处,如上参考图1和2的元素105中所指出,客户端101使用利用密钥f的交换加密来执行对多个ID X1…Xn…的加密。由客户端101在105处执行的加密的结果被发送到服务器103。例如,但不作为限制,交换加密可以是利用秘密指数对大质数取模的幂。
在服务器403处,在407中,服务器403从客户端401接收加密的ID f(X1)…f(Xn)…,并且利用密钥g执行加密操作,并且可选地将g(X1)…g(Xn)发送到客户端401。此外,在409处,服务器403将利用Paillier同态加密E加密的值(例如花费)Si发送到服务器401。可选地,服务器403利用密钥g加密ID Y1…Ym,并且将g(Y1)…g(Ym)发送到客户端401。
根据此示例实施方式,在409处,服务器403将多个值(例如,四个花费值S1…S4)包括(例如打包)到单个Paillier有效载荷中,其然后被加密并且发送到客户端401。在多个单个有效载荷中的每一个内,通过32位防护使该值中的每一个相互分离。换言之,在S1和S2之间提供32位间隔。该间隔的目的是允许进位(carryover)而不侵入相邻的数字。由此,例如但不作为限制,可以使用128位来表示每一数字,假定数字为64位整数(例如int64),其具有96位表示以及作为相邻数字之间的防护或分隔符的32位零。因此,可以使用多达2^32可能值而没有进位问题。
尽管在此示例实施方式中使用int64,但本发明构思不限于此,并且本领域的技术人员能理解,可以使用其他大小的整数、有效载荷和间隔,而不背离本发明构思的范围。例如但不作为限制,可以基于应用来确定这些值。
此外,该值仅覆盖加密的有效载荷中的每一个的后半部分。最高有效的(例如上)半部保持为空。如下参考图5所述,在用于移位过程的拆包操作中,可以采用上半部。
因此,多个花费值被服务器403打包成单个有效载荷中的每一个,并且被加密和发送到客户端401。因此,需要传输的字节数可以减少1/N,其中,N为单个有效载荷中的每一个的值的数目。在本示例中,需要传输的字节数会减少1/4(即,四分之一)。
在411处,在客户端401处,利用密钥f进一步加密服务器ID g(X1)…g(Xn)来生成fg(Y1)…fg(Ym)。在413处,客户端401执行检验操作来确定gf(Xi)和fg(Yj)之间是否存在匹配或交集。这样的匹配或交集会指示Xi等于Yj。如下文参考图5更详细所述,执行包含移位操作的拆包操作。
在415处,对于该交集,客户端401将作为Sj的加密值的所有值E(Sj)相乘以生成积,其与Sj的净值的和的加密相同。客户端401可以请求服务器403解密该积并且返回该和。为避免在返回过程期间泄露该和,客户端401可以执行盲化操作,即,将该积乘以E(r)以返回随机数r。
在417处,服务器403Paillier解密并且将结果返回客户端403。为获得净和,客户端401从由服务器403发送至客户端401的结果减去随机数r。
图5图示根据示例性实施方式的拆包操作。如图5所示,服务器503将有效载荷505提供给客户端501。如上参考图4讨论有效载荷505,并且为清楚起见省略进一步细节。
在图5的示例性实施方式中,客户端501需要将E(S3)、E(S1)、E(S8)和E(S6)的加密值相乘。因此,这些加密值必须位于有效载荷中的指定位置。例如,在图5中,E(S3)、E(S1)、E(S8)和E(S6)的加密值位于第四位置507。因此,将忽略所有其他位置中的加密值。
因此,E(S3)、E(S1)、E(S8)和E(S6)的加密值必须被移位到第四位置507以执行这些加密值的相乘。为实现移位,Paillier加密的密文取2次幂,使对应的明文值向左移1位。
例如,为使E(S3)移动到第四位置,并且使明文S3移位128位,有必要对密文取128x1值次幂。在第二有效载荷中,为使E(S1)向左移位3个位置,由此使E(S1)处于有效载荷的第四位置,对密文取128x3次幂以使其向左移位3个位置。关于E(S8),其已经处于第四位置并且不需要移位。接着,关于E(S6),其处于第2位置并且需要移动到第四位置,并且由此需要取128x2次幂以便移位到明文的第四位置。
因此,产生的加密数据值的密文积表示与密文的数据值的和相关联的明文的和。因此,在上述示例实施方式中,使移位的密文相乘以产生密文,其基础明文为S3+S1+S8+S6的和。
在客户端501处,进一步利用密钥f加密服务器ID g(X1)…g(Xn)来生成fg(Y1)…fg(Ym)。客户端501由此执行检验操作来确定gf(Xi)和fg(Yj)之间是否匹配或交集。这样的匹配或交集会指示Xi等于Yj。
对于该交集,客户端501将作为Sj的加密值、与多个单个有效载荷中的每一个相关联的所有E(Sj)的值相乘以生成积,其与Sj的净值的和的加密相同。客户端501可以请求服务器503解密该积并且返回该和。为避免在返回过程期间泄露该和,客户端501可以执行盲化操作,即,将该积乘以E(r)以返回随机数r。
然后,服务器503Paillier解密并且将结果返回客户端501。为获得净和,客户端501从由服务器503发送给客户端501的结果减去随机数r。
在上述示例实施方式中,当客户端501从服务器503接收解密时,客户端501可以忽略除指定位置507外的位置中的数字。由此,客户端501仅需要提取指定位置(例如图5的元素507中的第四位置)的值。此外,因为与每一加密数据值相邻的32个防护位,向相邻加密数据值添加不会进位到其他位置。
尽管上述示例性实施方式指代利用64位整数打包,对其可以用其他值替代。例如,但不作为限制,能将十个(10)数字打包成加密的有效载荷中的每一个,这会将所需带宽减少1/10。例如当最大的值不大于1,000,000(例如花费值不大于1百万美元)时,可以采用这样的途径。
作为上述示例实施方式的替选方案,可以采用Paillier加密的Damgard版本。例如但不作为限制,可以采用比有效载荷大(s+1)/s倍的密文。在直接Paillier加密的情况下,s具有值1,并且存在展开式(1+1)/1=2。另一方面,如果使用具有值3的s,则会得出(3+1)/2=4/3展开式。由此,得出4096位(例如512字节)密文和3072位有效载荷,使得能将30个数字容纳到有效载荷中。因此,由于较大数字,每一加密具有较大关联成本,但要求较少加密。
图6-8图示与上述示例实施方式相关联的示例过程。在一些示例中,过程600-800可以用不同的、更少、或更多框来实现。过程600-800可以实现为能存储在介质上、加载到一个或多个计算设备的一个或多个处理器上、并且执行为计算机实现的方法的计算机可执行指令。
图6图示根据一个或多个上述示例实施方式的示例过程600。在605处,客户端加密多个值X1…Xn。例如但不作为限制,可以使用Paillier加密方案来加密值X1…Xn。然后,将对应的加密值f(X1)…f(Xn)提供给服务器。
在610,服务器接收加密值f(X1)…f(Xn)并且在这些值上执行加密操作。由服务器加密(例如Paillier加密)的得出值作为gf(X1)…gf(Xn)提供给客户端。同时在610处,服务器加密(例如Paillier加密)g(Y1)…g(Ym)并且将其发送到客户端。此外,在610处,生成多个单个有效载荷E[(S1)…(Sn)],每一个包括多个值(例如花费值)。单个有效载荷E[(S1)…(Sn)]均将最高有效位(例如上半部)维持为空,并且在下半部中提供加密数据值。如上所述,在有效载荷E[(S1)…(Sn)]中的每一个中,加密数据值以保护位来间隔。
如下更详细所述,可选地,在610处,可以在服务器处对加密数据值进行操作,其中,加密数据值E[(S1)…(Sn)]表示多个位置处的一个或多个数据值的向量。根据该操作,可以执行以下操作中的至少一个:在有效载荷中,将加密的有效载荷E[(S1)…(Sn)]乘以常数值的加密,以及乘以加密的有效载荷E[(S1)…(Sn)]来移位与向量相关联的数据值的位置。
在615和620处,执行基于由客户端和服务器提供的ID之间的匹配来确定交集的操作。在615处,客户端加密g(Y1)…g(Ym)来获得fg(Y1)…fg(Ym)。然而,在620处,客户端检验fg(Yj)和上述gf(Xi)之间的匹配。基于615和620的操作,确定交集。
在625处,如上参考图4和5所述,执行移位操作。例如但不作为限制,对于关于上文导出的交集的E(Sj)的值,执行如上所述的移位和幂过程。因此,对于加密的有效载荷E[(S1)…(Sn)]中的每一个,使由位于适当左移位置处的E(Sj)表示的加密数据值相乘。由此,生成与明文值的和相关联的、单个有效载荷E[(S1)…(Sn)]中的每一个中的加密数据值的积。
可选地,作为客户端处的625的乘法运算的一部分,并且如上所述,加密的有效载荷E[(S1)…(Sn)]中的一个的一个或多个数据值可以位于向量中的第一位置(i)处,并且可以乘以可以位于第二向量中的第二位置(j)处的其他加密有效载荷E[(R1)…(Rn)]中的一个或多个中的一个或多个其他数据值,以生成上述积,其表示与作为所得加密向量E[(U1)…(Un)]中的(Si+Rj)的加密值的加密有效载荷中的一个的相乘的一个或多个数据值相对应的数据值的总和。即,第三位置(k)是这样的以使得得出的加密向量中Uk=Si+Rj。
可选地,可以执行操作630和635。例如但不作为限制,在操作630处,客户端通过加密随机数r来在该积上执行加密操作以将随机数r的加密值生成为E(r),其与该积相乘。向服务器发送解密经盲化积的请求。由此,服务器解密该经盲化积,并且将经盲化和返回客户端。在操作635处,客户端接收该经盲化和并且减去r以生成明文和。
图7图示根据与本发明构思的示例服务器侧操作相关联的示例实施方式的过程700。为了清楚和简明起见,此处不重复先前参考图6所述的一些方面。
可选地,在操作705处,服务器从例如客户端接收f(X1)…f(Xn),其是客户端IDX1…Xn的加密值。服务器执行f(X1)…f(Xn)的加密以生成gf(X1)…gf(Xn)并且将其发送到客户端。进一步地,服务器生成和加密ID Y1…Ym,并且由此将g(Y1)…g(Ym)发送到客户端。
在操作710处,数据值S1…Sn位于单个有效载荷E[(S1)…(Sn)]中并且在数据值上执行加密操作,以生成加密数据值E(S1)…E(Sn),其如上所述彼此间隔防护位。如上所述,加密数据值E(S1)…E(Sn)位于有效载荷中的每一个的下半部中,使得保持有效载荷的上半部(例如最高有效位)为空。
如下更详细所述,可选地,在710处,可以在服务器处对加密数据值执行操作,其中,加密数据值E[(S1)…(Sn)]表示多个位置处的数据值中的一个或多个的向量。根据该操作,可以执行以下操作中的至少一个:在有效载荷中,将加密的有效载荷E[(S1)…(Sn)]乘以加密常数值,以及乘以加密的有效载荷E[(S1)…(Sn)]来移位与向量相关联的数据值的位置。
在操作715处,服务器可选地接收解密E(Sj)的经盲化积的请求。例如,如上图6中所述,服务器可以接收该经盲化请求。在操作720处,解密该经盲化积并且将其提供给客户端。
图8图示根据与本发明构思的示例客户端侧操作相关联的示例实施方式的过程800。为了清楚和简洁起见,此处不重复先前参考图6所述的一些方面。
在805处,客户端将ID X1…Xn…加密为f(X1)…f(Xn),并且将加密值发送到服务器。在810处,客户端接收作为gf(X1)…gf(Xn)的客户端ID X1…Xn…的服务器加密值和作为g(Y1)…g(Ym)的服务器ID Y1…Ym的加密ID。此外,客户端接收多个打包的有效载荷,每一个包括作为上半部为空且下半部由数据值占用的单个有效载荷的E[(S1)…(Sn)],如上参考图6所述。
在815和820处,执行操作以基于由客户端和服务器提供的ID之间的匹配来确定交集。在815处,客户端加密g(Y1)…g(Ym)以获得fg(Y1)…fg(Ym)。然后,在820处,客户端检验fg(Yj)和上述gf(Xi)之间的匹配。基于操作815和820,确定交集。
在825处,如上参考图4和5所述,执行移位操作。例如但不作为限制,对于多个单个有效载荷E[(S1)…(Sn)]的E(Sj)的值,关于上述交集,执行如上所述的移位和幂过程。因此,使由适当左移位置处的E(Sj)表示的加密数据值相乘。由此,生成与明文值的和相关联的加密数据值的积。
可选地,作为客户端处的825的乘法运算的一部分,并且如上所述,加密有效载荷E[(S1)…(Sn)]中的一个的一个或多个数据值可以位于向量中的第一位置(i)处,并且可以乘以可以位于第二向量中的第二位置(j)处的其他加密有效载荷E[(R1)…(Rn)]中的一个或多个中的一个或多个其他数据值,以生成上述积,其表示与作为所得的加密向量E[(U1)…(Un)]中的(Si+Rj)的加密值的加密有效载荷中的一个的相乘的一个或多个数据值相对应的数据值的总和。即,第三位置(k)这样的以使得得出的加密向量中,Uk=Si+Rj。
可选地,可以执行操作830和835。例如但不作为限制,在操作830处,客户端通过加密随机数r来在该积上执行加密操作以将随机数r的加密值生成为E(r),其与该积相乘。向服务器发送解密经盲化积的请求。由此,服务器解密该经盲化积,并且将经盲化和返回客户端。在操作835处,客户端接收该经盲化和并且减去r来生成明文和。
除上述示例实施方式外,可以提供其他示例实施方式。例如但不作为限制,有效载荷中的多个元素可以是向量,如下所述。
相对于比密文总体更短的明文数据元素,公钥加密的密文可以是大的。此外,明文的和比密文的大小总体更短。因此,在该替选示例实施方式中,加密有效载荷可以表示多个或经定位的多个(向量)元素值,并且由此节省相当大的空间。
根据该替选示例实施方式,乘以加密的有效载荷将有效载荷元素添加在每位置的向量中,并且可以简化第一向量加密处的位置i与在第二向量加密处的位置j元素的相加,其中,j不同于i。
由此,本示例实施方式提供允许跨位置来执行同态操作的方法。因此,得出的加密向量在一些位置k处具有第一加密有效载荷密文的初始向量位置i元素与第二加密向量有效载荷的位置j元素中的元素的结果(例如和)。
因此,可以在同一有效载荷中加密的元素上提供同态操作的扩展的灵活性,使得无论位置如何,都能在加密下的数据元素(例如密文有效载荷)上执行操作,而不必解密该有效载荷和在明文元素上执行这样的操作。示例实施方式总是使元素维持加密,同时允许元素上的灵活操作(例如使向量元素相加,而不管其在向量内的位置如何)。
图9示出适合于一些示例实施方式的示例环境。环境900包括设备905-945,并且均经由例如网络960(例如通过有线和/或无线连接)来与至少一个其他设备通信连接。一些设备可以通信地连接到一个或多个存储设备930和945。
一个或多个设备905-945的示例可以是下面在图10A和10B中所述的计算设备1005。设备905-945可以包括但不限于计算机905(例如手提计算设备)、移动设备910(例如智能电话或平板计算机)、电视915、与车辆920相关联的设备、服务器计算机925、计算设备930-940、存储设备930和945。
在一些实施方式中,设备905-920可以被视为用户设备(例如由用户使用来访问服务和/或发出请求的设备,诸如在社交网络上)。设备925-945可以是与服务提供者相关联的设备(例如由服务提供者使用来提供服务和/或存储数据,诸如网页、文本、文本部分、图像、图像部分、音频、音频段、视频、视频段、和/或与其有关的信息)。
例如,客户端可以执行与诸如上面图8的上述示例实施方式相关联的操作,包括在由一个或多个设备925-940支持的网络上使用设备905或910的示例实施方式的拆包操作。服务器可以执行与诸如上面图7的上述示例实施方式相关联的操作,包括经由网络950使用设备945的示例实施方式的打包操作。
图10A-10B示出具有适合于在一些示例性实施方式中使用的示例计算设备的示例计算环境。为了清楚和简洁起见,一起论述图10A和10B的公共元件。
计算环境1000中的计算设备1005能包括一个或多个处理单元、内核、或处理器1010、存储器1015(例如RAM和/或ROM等)、内部存储1020(例如磁、光、固态存储、和/或有机)、和/或I/O接口1025,上述中的任何一个能耦合在用于传送信息的通信机构或总线1030上或嵌入在计算设备1005中。
计算设备1005能够通信地耦合至输入/用户接口1035和输出设备/接口1040。输入/用户接口1035和输出设备/接口1040中的任何一个或两者能是有线或无线接口,并且能够是可拆卸的。输入/用户接口1035可以包括能被用来提供输入的、物理或虚拟的任何设备、组件、传感器、或接口(例如按钮、触摸屏接口、键盘、指示/光标控制、麦克风、相机、盲文、运动传感器、和/或光学阅读器等)。输出设备/接口1040可以包括显示器、电视、监控器、打印机、扬声器、盲文等。在一些示例实施方式中,输入/用户接口1035和输出设备/接口1040能嵌入到计算设备1005或与之物理耦合。在其他示例实施方式中,其他计算设备可以充当计算设备1005的输入/用户接口1035和输出设备/接口1040或提供其功能。
计算设备1005的示例可以包括但不限于高度移动的设备(例如智能电话、车辆和其他机器中的设备、由人或动物携带的设备等)、移动设备(例如平板计算机、笔记本计算机、膝上型计算机、个人计算机、便携式电视、无线电等),以及不针对移动性设计的设备(例如台式计算机、其他计算机、信息亭、具有嵌入其中和/或耦合至其的一个或多个处理器的电视、无线电等)。
计算设备1005能够通信地耦合(例如经由I/O接口1025)到外部储存1045以及网络1050,以用于与任何数目的联网组件、装置、和系统通信,所述联网组件、装置、和系统通信包括配置相同或不同的一个或多个计算装置。计算装置1005或者任何连接的计算装置可以充当服务器、客户端、瘦服务器、通用机器、专用机器、或其他标签,或者提供它们的服务,或者被称为服务器、客户端、瘦服务器、通用机器、专用机器、或其他标签。
I/O接口1025可以包括促进通过语音和/或通过数据网络的无线通信的无线通信组件(未示出)。无线通信组件可以包括具有一个或多个天线、无线电系统、基带系统、或其任何组合的天线系统。可以在无线电系统的管理下,通过天线系统在空中发射和接收射频(RF)信号。
I/O接口1025可包括但不限于使用任何通信或I/O协议或标准(例如以太网、802.11x、通用系统总线、WIMAX、调制解调器、蜂窝网络协议等等)的有线和/或无线接口,其用于向至少计算环境1000中所连接的组件、设备、以及网络传输信息和/或从其传输信息。网络1050可以是任何网络或网络的组合(例如互联网、局域网、广域网、电话网络、蜂窝网络、卫星网络等等)。
计算装置1005可以使用计算机可用介质或计算机可读介质和/或使用计算机可用或计算机可读介质来通信,所述计算机可用或计算机可读介质包括暂时性介质和非暂时性介质。暂时性介质包括传输介质(例如金属电缆、光纤)、信号、载波等等。非暂时性介质包括磁介质(例如磁盘和磁带)、光介质(例如CD ROM、数字视频盘、蓝光盘)、固态介质(例如RAM、ROM、闪存、固态存储)、以及其他非易失性存储或存储器。
计算装置1005可用于在一些示例计算环境中实现技术、方法、应用、过程、或计算机可执行指令。计算机可执行指令可以从暂时性介质检索,并存储在非暂时性介质上,以及从非暂时性介质检索。可执行指令可源自于任何编程语言、脚本语言、以及机器语言中的一个或多个(例如C、C++、C#、Java、Visual Basic、Python、Perl、JavaScript以及其他)。
如图10A所示,在原生或虚拟环境中,处理器1010可以在任何操作系统(OS)(未示出)下执行。可以部署一个或多个应用,其包括逻辑单元1060、应用程序编程接口(API)单元1065、输入单元1070、输出单元1075、多值拆包引擎1080、密码引擎1085、第三方接口1090、和用于不同单元相互通信、与OS通信、以及与其他应用(未示出)通信的单元间通信机构1095。例如,多值拆包引擎1080、密码引擎1085、和第三方接口1090可以实现图6和8中所示的一个或多个过程。所述单元和元件可以在设计、功能、配置、或实施方式方面不同,并且不限于所提供的描述。
在一些示例实施方式中,当由API单元1065接收信息或执行指令时,其被传送到一个或多个其他单元(例如,逻辑单元1060、输入单元1070、输出单元1075、多值拆包引擎1080、密码引擎1085、和第三方接口1090)。例如,多值拆包引擎1080可以执行左移位(例如拆包)和乘法,如上参考图6和8所述。密码引擎1085可以加密客户端的ID,或执行上面参考图6和8所述的操作所需的其他值。第三方接口1090可以准许第三方——诸如用户、操作员或管理员与计算环境相接口。在输入单元1070检测到请求后,输入单元1070可以使用API单元1065将请求传送到多值拆包引擎1080。多值拆包引擎1080可以经由API单元1065与密码引擎1085交互来检测和处理请求。使用API单元1065,多值拆包引擎1080可以与第三方接口1090交互来准许第三方在客户端侧查看或管理操作。
在一些实例中,在上述的一些示例实施方式中,逻辑单元1060可以被配置成控制单元当中的信息流并且指引由API单元1065、输入单元1070、输出单元1075、多值拆包引擎1080、密码引擎1085、和第三方接口1090提供的服务。例如,可以仅由逻辑单元1060或结合API单元1065来控制一个或多个过程或实施方式的流程。
如图10B所示,处理器1010能在原生或虚拟环境中,在任何操作系统(OS)(未示出)下执行。能部署一个或多个应用,其包括逻辑单元1060、应用编程接口(API)单元1065、输入单元1070、输出单元1075、多值打包引擎1082、服务器侧加密单元1087、第三方接口1092、和用于不同单元相互通信、与OS通信、和与其他应用(未示出)通信的单元间通信机构1095。例如,多值打包引擎1082、服务器侧加密单元1087、和第三方接口1092可以实现图7和8中所示的一个或多个过程。所述单元和元件可以在设计、功能、配置、或实施方式方面不同,并且不限于所提供的描述。
在一些实施方式中,当由API单元1065接收信息或执行指令时,其可以被传送到一个或多个其他单元(例如,逻辑单元1060、输入单元1070、输出单元1075、多值打包引擎1082、服务器侧加密单元1087和第三方接口1092)。例如,多值打包引擎1082可以执行生成每一单个有效载荷并且加密单个有效载荷中的每一个中的数据值(例如打包),如上参考图7和8所述。服务器侧加密单元1087可以加密服务器的ID,或执行上面参考图7和8所述的操作所需的其他值。第三方接口1092可以准许第三方——诸如用户、操作员或管理员与来自服务器侧的计算环境相接口。在输入单元1070检测到请求后,输入单元1070可以使用API单元1065来将请求传送到多值打包引擎1082。多值打包引擎1082可以经由API单元1065与服务器侧加密单元1087交互以检测和处理请求。使用API单元1065,多值打包引擎1082可以与第三方接口1092交互来准许第三方在服务器侧查看或管理操作。
在一些实例中,在上述的一些示例实施方式中,逻辑单元1060可以被配置成控制单元当中的信息流并且指引由API单元1065、输入单元1070、输出单元1075、多值打包引擎1082、服务器侧加密单元1087、第三方接口1092提供的服务。例如,可以仅由逻辑单元1060或结合API单元1065来控制一个或多个过程或实施方式的流程。
本文所述的任何一个软件组件可以采取各种形式。例如,组件可以是独立软件包,或可以是包含在较大软件产品中的“工具”的软件包。其可以作为独立产品或作为安装在现有软件应用中的插件包而可从网络——例如网站下载以。其还可以用作客户端-服务器软件应用、支持web的软件应用和/或移动应用。
在本文所述的实施方式收集有关用户的个人信息,或可以利用个人信息的情形或示例中,可以为用户提供机会来控制程序或特征是否收集用户信息(例如有关用户的社交网络的信息、社会行为或活动、职业、用户偏好、或用户的当前位置,或者控制是否和/或如何从与用户更相关的内容服务器接收内容。此外,某些数据在其被存储或使用前,可以以一种或多种方式处理,使得去除个人可识别信息。
虽然示出和描述了一些示例实施方式,但是这些示例实施方式被提供来向熟悉本领域的人员传达本文所述主题内容。应当理解,本文所述主题内容可以以多种形式实施,而不限于所述的示例实施方式。本文所述主题在没有这些特别限定或描述的内容的情况下也可以实践,也可利用其他或不同的元件或者没有描述的内容来实践。本领域技术人员应当理解,在不脱离所附权利要求书及其等同物所限定的本文所述主题内容的情况下,在这些示例实施方式中可以进行改变。

Claims (23)

1.一种执行同态加密以生成总和的计算机实现的方法,所述方法包括:
在客户端处,
接收多个加密有效载荷,所述加密有效载荷均具有多个数据值;
将所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与一个或多个其他加密有效载荷中的一个或多个其他数据值相乘以生成积,所述积表示与所相乘的、所述加密有效载荷中的所述一个加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷中的所述一个或多个其他数据值相对应的数据值的总和。
2.如权利要求1所述的计算机实现的方法,进一步包括:
在表示多个位置处的数据值中的一个或多个数据值的向量的多个数据值中的加密数据值上操作,以便执行以下中的至少一个:在所述有效载荷中,将所述加密有效载荷乘以常数值的加密,以及乘以所述加密有效载荷以移位与所述向量相关联的数据值的位置。
3.如权利要求2所述的计算机实现的方法,
其中,所述相乘包括:将所述向量中的第一位置处的所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与所述向量中的第二位置处的所述一个或多个其他加密有效载荷中的一个或多个其他数据值相乘,以生成积,该积表示与所相乘的、所述加密有效载荷中的该一个加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷中的一个或多个其他数据值相对应的数据值的总和,该积被表示为所得出的积加密有效载荷处的所述向量的第三位置处的未加密值。
4.如权利要求1所述的计算机实现的方法,其中,所述加密有效载荷中的每一个的数据值位于所述加密有效载荷的下半部,并且所述加密有效载荷中的每一个的上半部为空。
5.如权利要求1所述的计算机实现的方法,其中,所述加密有效载荷中的每一个的数据值中的每一个数据值与所述加密有效载荷中的每一个的其他数据值间隔开具有指定位数的长度的防护。
6.如权利要求1所述的计算机实现的方法,所述相乘进一步包括:
在所述加密有效载荷中的每一个的多个数据值上执行幂操作以将所述加密有效载荷中的每一个内的数据值中的一个数据值的位置移位到指定位置;以及
将所述加密有效载荷中的每一个的所述指定位置处的数据值中的一个数据值与所述一个或多个其他加密有效载荷的所述指定位置处的一个或多个其他数据值相乘。
7.如权利要求1所述的计算机实现的方法,其中,在对所述加密有效载荷中的每一个进行加密前通过在数据值中打包来生成所述加密有效载荷中的每一个,使得该数据值不覆盖所述加密有效载荷中的每一个的最高有效位。
8.如权利要求1所述的计算机实现的方法,其中,所述总和包括花费值。
9.如权利要求1所述的计算机实现的方法,其中,所述有效载荷的块大小为64位。
10.如权利要求1所述的计算机实现的方法,
所述接收包括:接收与第一类型值相关联的多个第一密钥和具有所述多个数据值的所述加密有效载荷中的每一个,所述第一密钥中的每一个与所述加密有效载荷中的每一个内的数据值的对应一个数据值相关联;以及
将与所述第一类型值相关联的所述多个第一密钥和与第二类型值相关联的多个第二密钥匹配以定义交集,
其中,所述相乘包括:将在所述交集中所包括的加密有效载荷中的每一个的一个或多个数据值与在所述交集中所包括的一个或多个其他加密有效载荷中的一个或多个其他数据值相乘,以生成积,该积是以明文的数据值的总和的密文表示。
11.如权利要求10所述的计算机实现的方法,进一步包括:
通过加密第二值以生成加密的第二值并且外部加密所加密的第二值,生成与所述第二类型值相关联的所述多个第二密钥。
12.如权利要求1所述的计算机实现的方法,进一步包括:
利用随机数r盲化所述积;以及
从所述积的经盲化、经解密的值减去所述随机数r以生成所述总和。
13.一种执行同态加密以生成总和的计算机实现的方法,所述方法包括:
在服务器处,
生成多个加密有效载荷,所述加密有效载荷均具有多个数据值,其中,所述加密有效载荷中的每一个的数据值位于所述加密有效载荷中的每一个的下半部,并且所述加密有效载荷中的每一个的上半部为空。
14.如权利要求13所述的计算机实现的方法,进一步包括:基于请求,解密与多个第一密钥和多个第二密钥之间的交集相关联的盲化积,所述第二密钥与第二类型值相关联,所述积包括:在所述交集中所包括的加密有效载荷中的一个加密有效载荷的一个或多个数据值与在所述交集中所包括的一个或多个其他加密有效载荷中的一个或多个其他数据值相乘的积。
15.如权利要求13所述的计算机实现的方法,所述生成包括:在所述服务器处,在对所述加密有效载荷中的每一个进行加密前在数据值中打包,使得该数据值不覆盖所述加密有效载荷中的每一个的最高有效位。
16.一种执行同态加密以生成总和的计算机实现的方法,所述方法包括:
在服务器处,
生成多个加密有效载荷,所述加密有效载荷均具有多个数据值;以及
在客户端处,
接收具有所述多个数据值的所述加密有效载荷中的每一个;以及
将所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与一个或多个其他加密有效载荷中的一个或多个其他数据值相乘,以生成积,所述积表示与所相乘的、所述加密有效载荷的一个或多个数据值与所述一个或多个其他加密有效载荷中的一个或多个其他数据值相对应的数据值的总和。
17.如权利要求16所述的计算机实现的方法,其中,所述加密有效载荷中的每一个的数据值位于所述加密有效载荷中的每一个的下半部,以及所述加密有效载荷中的每一个的上半部为空。
18.如权利要求16所述的计算机实现的方法,
其中,所述加密有效载荷中的每一个的数据值中的每一个与所述加密有效载荷上的其他数据值间隔开具有指定位数的长度的防护。
19.如权利要求16所述的计算机实现的方法,所述相乘进一步包括:
在所述加密有效载荷中的每一个的多个数据值上执行幂操作以将所述加密有效载荷中的每一个内的数据值中的一个数据值的位置移位到指定位置;以及
将所述加密有效载荷中的每一个的所述指定位置处的数据值中的一个数据值与所述一个或多个其他加密有效载荷的所述指定位置处的一个或多个其他数据值相乘。
20.如权利要求16所述的计算机实现的方法,其中,在对所述加密有效载荷中的每一个进行加密前通过在数据值中打包来生成所述加密有效载荷中的每一个,使得该数据值不覆盖所述加密有效载荷中的每一个的最高有效位。
21.如权利要求16所述的计算机实现的方法,
所述接收包括:接收与第一类型值相关联的多个第一密钥和具有多个数据值的所述加密有效载荷中的每一个,所述第一密钥中的每一个与所述加密有效载荷中的每一个内的数据值的对应一个数据值相关联;以及
将与所述第一类型值相关联的所述多个第一密钥和与第二类型值相关联的多个第二密钥匹配以定义交集,
其中,所述相乘包括:将在所述交集中所包括的加密有效载荷中的一个加密有效载荷的一个或多个数据值与在所述交集中所包括的一个或多个其他加密有效载荷中的一个或多个其他数据值相乘,以生成积,该积是以明文的数据值的总和的密文表示。
22.如权利要求16所述的计算机实现的方法,进一步包括:
在客户端处,在表示多个位置处的数据值中的一个或多个数据值的向量的多个数据值中的加密数据值上操作,以便执行以下中的至少一个:在所述有效载荷中,将所述加密有效载荷乘以常数值的加密,以及乘以所述加密有效载荷以移位与所述向量相关联的数据值的位置。
23.如权利要求22所述的计算机实现的方法,
其中,所述相乘包括:将在所述向量中的第一位置处的所述加密有效载荷中的一个加密有效载荷的一个或多个数据值与所述向量中的第二位置处的一个或多个其他加密有效载荷的一个或多个其他数据值相乘,以生成积,该积表示与所相乘的、所述加密有效载荷中的该一个加密有效载荷中的一个或多个数据值与一个或多个其他加密有效载荷中的一个或多个其他数据值相对应的数据值的总和,该积被表示为所得出的积加密有效载荷处的所述向量中的第三位置处的未加密值。
CN201580072625.1A 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法 Active CN107113162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910247605.3A CN109905227B (zh) 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/590,479 US9641318B2 (en) 2015-01-06 2015-01-06 Systems and methods for a multiple value packing scheme for homomorphic encryption
US14/590,479 2015-01-06
PCT/US2015/059874 WO2016111745A1 (en) 2015-01-06 2015-11-10 Systems and methods for a multiple value packing scheme for homomorphic encryption

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910247605.3A Division CN109905227B (zh) 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法

Publications (2)

Publication Number Publication Date
CN107113162A true CN107113162A (zh) 2017-08-29
CN107113162B CN107113162B (zh) 2019-04-16

Family

ID=54705823

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910247605.3A Active CN109905227B (zh) 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法
CN201580072625.1A Active CN107113162B (zh) 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910247605.3A Active CN109905227B (zh) 2015-01-06 2015-11-10 用于同态加密的多值打包方案的系统和方法

Country Status (5)

Country Link
US (2) US9641318B2 (zh)
CN (2) CN109905227B (zh)
DE (1) DE112015005893B4 (zh)
GB (2) GB2549237B (zh)
WO (1) WO2016111745A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI684108B (zh) * 2017-10-31 2020-02-01 香港商阿里巴巴集團服務有限公司 資料統計方法和裝置
WO2021092973A1 (zh) * 2019-11-14 2021-05-20 深圳前海微众银行股份有限公司 敏感信息处理方法、设备及可读存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017063079A1 (en) * 2015-10-13 2017-04-20 Grant Colhoun Systems and methods for facilitating secure electronic transactions
US10187375B1 (en) * 2016-04-22 2019-01-22 Walgreen Co. Cryptographic services engine
DE112018002942T5 (de) * 2017-07-06 2020-03-05 Robert Bosch Gmbh Verfahren und System zur datenschutzwahrenden Social-Media-Werbung
US11250116B2 (en) * 2019-10-25 2022-02-15 Visa International Service Association Optimized private biometric matching
US11368281B2 (en) * 2020-04-15 2022-06-21 Sap Se Efficient distributed secret shuffle protocol for encrypted database entries using dependent shufflers
US11368296B2 (en) * 2020-04-15 2022-06-21 Sap Se Communication-efficient secret shuffle protocol for encrypted data based on homomorphic encryption and oblivious transfer
US11411725B2 (en) 2020-04-15 2022-08-09 Sap Se Efficient distributed secret shuffle protocol for encrypted database entries using independent shufflers
US11356241B2 (en) 2020-04-15 2022-06-07 Sap Se Verifiable secret shuffle protocol for encrypted data based on homomorphic encryption and secret sharing
US11494510B2 (en) 2021-03-04 2022-11-08 Inmarket Media, Llc Multi-touch attribution and control group creation using private commutative encrypted match service
CN113505386A (zh) * 2021-07-26 2021-10-15 上海点融信息科技有限责任公司 基于区块链和同态算法的数据处理方法、装置及存储介质
CN113922944B (zh) * 2021-10-20 2023-12-22 张家口佰信网络科技有限公司 一种基于多值单量子态的量子同态加解密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954546A (zh) * 2004-05-19 2007-04-25 法国电信公司 用于生成名单签名的方法和系统
US20110075846A1 (en) * 2006-12-18 2011-03-31 Sap Ag Secure computation of private values

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080212780A1 (en) * 2005-06-03 2008-09-04 Koninklijke Philips Electronics, N.V. Homomorphic Encryption For Secure Watermarking
DE102005030031B4 (de) * 2005-06-27 2007-08-02 Nec Europe Ltd. Verfahren zum Datenmanagement in einem Sensornetzwerk
US8630422B2 (en) 2009-11-10 2014-01-14 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US8625782B2 (en) 2010-02-09 2014-01-07 Mitsubishi Electric Research Laboratories, Inc. Method for privacy-preserving computation of edit distance of symbol sequences
US8667062B2 (en) 2011-02-22 2014-03-04 Nokia Corporation Method and apparatus for preserving privacy for appointment scheduling
US20130097417A1 (en) * 2011-10-13 2013-04-18 Microsoft Corporation Secure private computation services
WO2014113132A2 (en) * 2012-11-16 2014-07-24 Raytheon Bbn Technologies Corp. Method for secure symbol comparison
EP2965461A1 (en) * 2013-03-04 2016-01-13 Thomson Licensing Privacy-preserving ridge regression using masks
CN103401871B (zh) * 2013-08-05 2016-08-10 苏州大学 一种面向同态加密的密文定序方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1954546A (zh) * 2004-05-19 2007-04-25 法国电信公司 用于生成名单签名的方法和系统
US20110075846A1 (en) * 2006-12-18 2011-03-31 Sap Ag Secure computation of private values

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GEORGE DANEZIS等: "《FINANCIAL CRYPTOGRAPHY AND DATA SECURITY》", 12 February 2007 *
JAIDEEP VAIDYA等: "Secure Set Intersection Cardinality with Application to Association Rule Mining", 《JOURNAL OF COMPUTER SECURITY》 *
PAILLIER PASCAL 等: "《ADVANCES IN CRYPTOLOGY-EUROCRYPT"99.INTERNATIONAL CONF. ON THE THEORY AND APPLICATION OF CRYPTOGRAPHIC TECHNIQUES》", 1 January 1999 *
RAKESH AGRAWAL 等: "《SIGMOD 2003.PROCEEDINGS OF THE ACM SIGMOD INTERNATIONAL CONFERENCE ON MANEGEMENT OF DATA》", 1 January 2003 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI684108B (zh) * 2017-10-31 2020-02-01 香港商阿里巴巴集團服務有限公司 資料統計方法和裝置
US10749666B2 (en) 2017-10-31 2020-08-18 Alibaba Group Holding Limited Data statistics method and apparatus
WO2021092973A1 (zh) * 2019-11-14 2021-05-20 深圳前海微众银行股份有限公司 敏感信息处理方法、设备及可读存储介质

Also Published As

Publication number Publication date
GB2558834B (en) 2019-12-25
US20160359617A1 (en) 2016-12-08
WO2016111745A1 (en) 2016-07-14
GB2549237A (en) 2017-10-11
GB2558834A (en) 2018-07-18
US20170149558A1 (en) 2017-05-25
US9641318B2 (en) 2017-05-02
CN107113162B (zh) 2019-04-16
GB2549237B (en) 2018-06-27
GB201712423D0 (en) 2017-09-13
CN109905227B (zh) 2021-10-01
CN109905227A (zh) 2019-06-18
DE112015005893B4 (de) 2021-08-12
DE112015005893T5 (de) 2017-09-21
GB201806390D0 (en) 2018-06-06
US9847871B2 (en) 2017-12-19

Similar Documents

Publication Publication Date Title
CN107113162B (zh) 用于同态加密的多值打包方案的系统和方法
EP3553995B1 (en) Terminal device for performing homomorphic encryption, server device for processing cipher text thereof, and methods therefor
CN106533665B (zh) 用于存储网站私钥明文的方法、系统和装置
KR101965628B1 (ko) 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들
CN105490711B (zh) 蓝牙自动连接方法以及主设备、从设备和系统
CN103716330B (zh) 一种数字内容加密与解密方法和设备
CN106134128B (zh) 使用关联私钥部分更快的公钥加密的系统和方法
CN109428710A (zh) 数据传输方法、装置、存储介质和处理器
CN102387343A (zh) 终端设备,服务器,数据处理系统,数据处理方法和程序
CN107786331B (zh) 数据处理方法、装置、系统及计算机可读存储介质
CN110235409A (zh) 使用同态加密被保护的rsa签名或解密的方法
CN107222759A (zh) 媒体文件加解密的方法、系统、设备和介质
CN107666386A (zh) 一种数据安全传输方法及装置
CN109379345B (zh) 敏感信息传输方法及系统
CN112182624A (zh) 加密方法、加密装置、存储介质与电子设备
CN109063496A (zh) 一种数据处理的方法及装置
CN106789008A (zh) 对可共享的加密数据进行解密的方法、装置及系统
EP2950229B1 (en) Method for facilitating transactions, computer program product and mobile device
US20140294176A1 (en) Generating device, encryption device, decryption device, generating method, encryption method, decryption method, and computer program product
CN106031079B (zh) 加密算法中的运算符提升
CN111786955B (zh) 用于保护模型的方法和装置
CN114357504A (zh) 基于隐私保护的联邦学习方法以及相关设备
CN114499825A (zh) 一种双控密钥管理方法、系统、加密机和存储介质
CN103563292B (zh) 用于集成密钥提供的方法和系统
CN113922976A (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
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant