CN114500006A - 查询请求的处理方法及装置 - Google Patents

查询请求的处理方法及装置 Download PDF

Info

Publication number
CN114500006A
CN114500006A CN202210009307.2A CN202210009307A CN114500006A CN 114500006 A CN114500006 A CN 114500006A CN 202210009307 A CN202210009307 A CN 202210009307A CN 114500006 A CN114500006 A CN 114500006A
Authority
CN
China
Prior art keywords
selection
data
pairs
target
bits
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
CN202210009307.2A
Other languages
English (en)
Other versions
CN114500006B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210009307.2A priority Critical patent/CN114500006B/zh
Publication of CN114500006A publication Critical patent/CN114500006A/zh
Application granted granted Critical
Publication of CN114500006B publication Critical patent/CN114500006B/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
    • 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/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种查询请求的处理方法,包括:查询方基于目标对象的目标标识确定q个选择比特,用以执行茫然传输OT协议,得到q个中间值和q个选择密钥,从而向数据方发送查询请求,其中包括q个中间值以及含目标标识在内的n个对象标识;数据方基于该q个中间值执行OT协议得到q对密钥,基于该n个对象标识和对应查询出的n条数据,构造混淆电路,再将混淆电路信息中与对象标识对应的q对输入标签替换为利用q对密钥加密得到的q对标签密文,从而向查询方发送混淆电路信息;查询方利用q个选择密钥,基于q对标签密文进行解密,得到与目标对象对应的q个选择输入标签,基于该q个选择输入标签解密混淆电路,得到与目标对象对应的目标数据。

Description

查询请求的处理方法及装置
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种查询请求的处理方法及装置。
背景技术
随着大数据时代的带来,保护数据隐私安全问题的重要性日益凸显。典型地,在数据查询场景,希望能实现匿名查询,也即,当查询方向拥有多个键值对(key-value)的数据方查询指定关键字(key)的值(value)时,要求查询方只能获得该关键字的值,不能获得其他关键字的值,而数据方不能获得该关键字。例如,当支付平台作为查询方,向银行查询授权用户的银行账户余额时,要求支付平台只能获知该授权用户的账户余额,不能获得其他用户的账户余额,而数据方不能获知查询的是哪个用户。
然而,目前匿名查询的实现方式难以满足日益提高的实际应用需求。因此,需要一种匿名查询方案,能够更好地满足实际应用需求,例如,有效减少匿名查询过程中的通信交互轮次,等等。
发明内容
本说明书一个或多个实施例描述了一种查询请求的处理方法及装置,通过引入混淆电路实现匿名查询,将查询时的实时通信交互次数减少至1轮次,从而有效降低通信量。
根据第一方面,提供一种查询请求的处理方法,包括:查询方基于目标对象的目标标识确定q个选择比特,并基于该q个选择比特执行茫然传输OT协议,得到q个中间值和q个选择密钥。所述查询方向数据方发送针对所述目标对象的查询请求,其中包括所述q个中间值,以及含所述目标标识在内的n个对象标识。所述数据方基于所述q个中间值执行所述OT协议,得到q对密钥;基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路;将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密采用所述q对密钥实现。所述数据方向所述查询方发送所述混淆电路信息。所述查询方利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
在一个实施例中,查询方基于目标对象的目标标识确定q个选择比特,包括:将所述目标标识在所述n个对象标识中的排列序号编码为q位的标识比特串;将所述标识比特串中的q个比特作为所述q个选择比特。
在一个实施例中,所述查询方持有第一参数和第二参数;所述数据方持有所述第二参数和第三参数,所述第二参数等于所述第一参数和第三参数之间进行预定运算的结果;其中,基于该q个选择比特执行OT协议,得到中间值和q个选择密钥,包括:针对所述q个选择比特中任意的第i个选择比特,利用所述第一参数、第二参数和所述查询方生成的第i个随机数对其进行处理,得到第i个中间值,归入所述q个中间值;并且,利用所述第i个随机数和所述第二参数确定第i个选择密钥,归入所述q个选择密钥;所述数据方基于所述q个中间值执行所述OT协议,得到q对密钥,包括:基于所述第二参数和第三参数,对所述第i个中间值分别进行第一处理和第二处理,得到第i对密钥,归入所述q对密钥。
在一个具体的实施例中,所述预定运算对应乘积运算;其中,利用所述第一参数、第二参数和所述查询方生成的第i个随机数对其进行处理,得到第i个中间值,包括:计算所述第一参数与第i个随机数之间的第一乘积,以及计算所述第二参数与第i个选择比特之间的第二乘积,并将两个乘积的和值确定为第i个中间值;利用所述第i个随机数和所述第二参数确定第i个选择密钥,包括:计算该第i个随机数和第二参数之间的乘积,并将该乘积的哈希值确定为该第i个选择密钥;基于所述第二参数和第三参数,对所述第i个中间值分别进行第一处理和第二处理,得到第i对密钥,包括:计算所述第三参数与所述第i个中间值之间的第三乘积,并将该第三乘积的哈希值归入第i对密钥;计算该第三乘积减去由所述第二参数和第三参数确定的第四乘积的差值,并将该差值的哈希值归入所述第i对密钥。
在一个实施例中,基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,包括:基于所述n个对象标识中的各个对象标识,确定对应的q位的标识比特串;将所述n条数据中的各条数据分别编码为对应的p位的数据比特串;基于所述标识比特串和数据比特串,编译出实现所述目标数据选取函数的布尔电路;构造与所述布尔电路对应的所述混淆电路。
在一个具体的实施例中,所述混淆电路信息中包括编码信息、混淆表和解码信息;其中,构造与所述布尔电路对应的所述混淆电路,包括:确定与所述q位对应的q对输入标签,以及确定与所述n条数据的n个数据比特串对应的n*p个数据方输入标签,均归入所述编码信息;基于所述编码信息,确定与所述布尔电路中的逻辑门对应的混淆表;基于所述混淆表中的输出标签,确定所述解码信息。
在一个例子中,将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,包括:利用所述q对密钥对应加密所述q对输入标签,得到所述q对标签密文;将所述混淆电路信息中的q对输入标签替换为所述q对标签密文。
另一方面,在一个例子中,确定与所述布尔电路中的逻辑门对应的混淆表,包括:采用点置换Point-and-Permute技术,生成所述混淆表;基于所述混淆表中的输出标签,确定所述解码信息,包括:基于所述混淆表,从p对输出标签中对应比特值0的p个输出标签中提取p个最低位比特,形成第一置换比特串,归入所述解码信息;基于该q个选择输入标签解密所述混淆电路,包括:基于该q个选择输入标签和n*p个数据方输入标签解密所述混淆表,得到p个输出标签;从所述p个输出标签中提取p个最低位比特,形成第二置换比特串;将所述第一置换比特串和第二置换比特串之间的异或结果转换为所述目标数据。
又一方面,在一个例子中,基于所述混淆表中的输出标签,确定所述解码信息,包括:将p对输出标签与p对比特值之间的映射关系,作为所述解码信息;基于该q个选择输入标签解密所述混淆电路,包括:基于该q个选择输入标签和n*p个数据方输入标签解密所述混淆表,得到p个输出标签;基于所述映射关系,确定所述p个输出标签对应的p个比特值;将所述p个比特值形成的比特串转换为所述目标数据。
根据第二方面,提供一种查询请求的处理方法,所述方法涉及数据方和查询方,所述数据方持有两方共同执行茫然传输OT协议而获得的q对密钥,所述查询方持有所述执行OT协议而获得的q个原始选择比特和q个选择密钥。所述方法包括:所述查询方基于目标对象的目标标识确定q个目标选择比特,并通过比对该q个目标选择比特和q个原始选择比特,得到指示比对结果的q个指示比特;所述查询方向数据方发送针对所述目标对象的查询请求,其中包括所述q个指示比特,以及含所述目标标识在内的n个对象标识;所述数据方基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,并将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密基于所述q对密钥和q个指示比特实现;所述数据方向所述查询方发送所述混淆电路信息;所述查询方利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
在一个实施例中,通过比对该q个目标选择比特和q个原始选择比特,得到q个指示比特,包括:对第i个目标选择比特和第i个原始选择比特进行异或处理,得到第i个指示比特,归入所述q个指示比特。
在一个实施例中,将混淆电路信息中与对象标识对应的q对输入标签替换为加密后得到的q对标签密文,包括:根据所述q个指示比特指示的加密用对应关系,利用所述q对密钥对应加密所述q对输入标签,得到所述q对标签密文;将所述混淆电路信息中的所述q对输入标签替换为所述q对标签密文。
根据第三方面,提供一种查询请求的处理系统,包括:查询方,用于基于目标对象的目标标识确定q个选择比特,并基于该q个选择比特执行茫然传输OT协议,得到q个中间值和q个选择密钥;所述查询方,还用于向数据方发送针对所述目标对象的查询请求,其中包括所述q个中间值,以及含所述目标标识在内的n个对象标识;所述数据方,用于基于所述q个中间值执行所述OT协议,得到q对密钥;基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路;将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密采用所述q对密钥实现;所述数据方,还用于向所述查询方发送所述混淆电路信息;所述查询方,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
根据第四方面,提供一种查询请求的处理系统,其中包括数据方和查询方,所述数据方持有两方共同执行茫然传输OT协议而获得的q对密钥,所述查询方持有所述执行OT协议而获得的q个原始选择比特和q个选择密钥;其中,所述查询方,用于基于目标对象的目标标识确定q个目标选择比特,并通过比对该q个目标选择比特和q个原始选择比特,得到指示比对结果的q个指示比特;所述查询方,还用于向数据方发送针对所述目标对象的查询请求,其中包括所述q个指示比特,以及含所述目标标识在内的n个对象标识;所述数据方,用于基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,并将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密基于所述q对密钥和q个指示比特实现;所述数据方,还用于向所述查询方发送所述混淆电路信息;所述查询方,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,该处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
采用本说明书实施例提供的方法和装置,当查询方需要查询目标数据时,其与数据方之间只需要进行一轮次的通信交互,即可实现匿名查询,从而有效降低通信的交互轮次和数据量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出根据一个实施例的处理查询请求的通信交互示意图;
图2示出根据一个实施例的参数协商交互示意图;
图3示出根据另一个实施例的处理查询请求的通信交互示意图;
图4示出根据一个实施例的处理查询请求的系统结构示意图;
图5示出根据另一个实施例的处理查询请求的系统结构示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
承前所述,需要一种匿名查询方案能够满足日益提高的实际应用需求。由此,本说明书实施例开拓性地提出一种基于混淆电路(Garbled Circuits,简称GC)实现的匿名查询方案,查询方和数据方的仅需进行一轮次的通信交互轮次,从而有效降低通信量,更好地满足实际应用需求。
接下来介绍上述方案的实施步骤。图1示出根据一个实施例的处理查询请求的通信交互示意图,其中涉及的交互方包括查询方和数据方,以下或称A方和B方,查询方A和数据方B。需说明,数据方B中存储多个业务对象的标识(Identification,简称ID)和对应的多条业务数据,查询方A中存储该多个业务对象中部分或全部业务对象的ID;示例性地,其中业务对象可以是用户、商品、事件(如登录事件、访问事件、购买事件)等;相应,业务数据可以是用户消费金额、商品价格、事件安全等级等。
需理解,查询方A和数据方B可以实现为任何具有计算、处理能力的装置、平台、服务器或设备集群等,例如,A方是支付平台,B方是银行系统。如图1所示,所述交互过程包括以下步骤:
步骤S11,查询方基于目标对象的目标标识IDx确定q个选择比特{si}q
在一个实施例中,查询方响应与针对目标对象的查询指令,从其存储的对象标识中获取含目标标识IDx在内的多个(记作n个)对象标识,再将目标标识IDx在n个对象标识{IDi}n中的排列序号x编码为q位的标识比特串,从而将其中的q个比特作为q个选择比特{si}q。需说明,n个对象标识的排列顺序可以是随机的,x的取值可能是1至n中的任意一个数值。
在一个具体的实施例中,可以对序号x进行独热编码(One-Hot Encoding),得到独热编码结果,进一步,在一个更具体的实施例中,可以将此独热编码结果中包含的n个元素确定为q个选择比特,此时,q=n;示例性地,假定n=4,x=2,于是,可以对2进行独热编码得到{0,1,0,0},作为4个选择比特{si}4。在另一个更具体的实施例中,可以对上述n个元素中相邻的两个元素依次进行比较,并基于比较结果得到n-1个选择比特,此时q=n-1。在一个例子中,若比较结果指示前一元素小于或等于后一元素,则将对应的选择比特确定为1,否则确定为0;示例性地,假定独热编码结果为{0,0,0,0,0,1,0,0},由此可以确定出7个选择比特{1,1,1,1,1,0,1}。
在另一个具体的实施例中,可以确定序号x的自然顺序码,即x的二进制码值,用作q个选择比特。需理解,在二进制码值不足q位时可以在高位补0。示例性地,假定n=8,x=3,据此可以根据3的二进制码值11确定3个选择比特{0,1,1}。
如此,可以根据目标标识IDx的序号x确定上述q个选择比特{si}q
在另一个实施例中,还可以通过确定目标标识IDx的哈希值,得到q个选择比特{si}q
由上,可以根据目标标识IDx确定出q个选择比特{si}q。接着,在步骤S12,查询方基于该q个选择比特{si}q执行茫然传输OT协议,得到q个中间值{Zi}q和q个选择密钥
Figure BDA0003456739840000061
在一种典型的实施方式中,查询方持有第一参数G和第二参数T,用于结合q个选择比特{si}q,执行上述OT协议。需说明,在一种可能的情况中,第一参数G和第二参数T被预先写死在查询方代码中。
在另一种可能的情况中,查询方通过预先跟数据方进行协商,得到第一参数G和第二参数T,此时,数据方在协商过程中得到第二参数T和第三参数t,其中第二参数T等于第一参数G和第三参数t之间的运算结果,即T=f(G,t)。对于其中的协商过程,图2示出根据一个实施例的参数协商交互示意图。如图2所示,首先在步骤S21,查询方和数据方各自获取公共参数G(或称第一参数);示例性地,可以是两方中任一方生成第一参数G后将之发送给另一方。然后在步骤S22,数据方采样随机数t(或称第三参数t),并在步骤S22,对第一参数G和第三参数t进行预定运算,得到第二参数T,从而在步骤S24,将第二参数T发送给查询方。如此通过协商交互,查询方持有第一参数G和第二参数T,数据方除持有这两个参数以外,还持有第三参数t。
以上对查询方所持有的第一参数G和第二参数T的来源进行介绍。进一步,在本步骤中,查询方可以基于此两个参数和q个选择比特{si}q执行OT协议,从而得到q个中间值{Zi}q和q个选择密钥
Figure BDA0003456739840000071
具体,针对任意的第i个选择比特si,利用第一参数G和第二参数T,以及查询方生成的第i个随机数ri,对该选择比特si进行处理,得到第i个中间值Zi;并且,利用第i个随机数ri和第二参数T,确定第i个选择密钥
Figure BDA0003456739840000072
进一步,在一个实施例中,上述预定运算为乘积运算,也即,T=tG;相应,第i个中间值zi的确定可以包括:计算第一参数G与第i个随机数ri之间的第一乘积riG,以及计算第二参数T与第i个选择比特si之间的第二乘积siT,并将两个乘积的和值确定第i个中间值Zi,即,Zi=riG+siT;第i个选择密钥
Figure BDA0003456739840000073
的确定可以包括:计算该第i个随机数ri和第二参数T之间的乘积riT,并将该乘积的哈希值确定为该第i个选择密钥
Figure BDA0003456739840000074
Figure BDA0003456739840000075
在另一个实施例中,上述预定运算还可为除法运算或混合运算等,基于此可以对中间值和选择密钥的确定进行适应性设计。
在上述典型的实施方式中,查询方可以基于其持有的参数G、T,和确定出的q个选择比特{si}q执行OT协议,从而得到q个中间值{Zi}q和q个选择密钥
Figure BDA0003456739840000076
需说明,在查询方发起的多次查询中,参数G和T可以被重复使用,这并不会导致隐私数据的泄露。
此外需说明的是,OT协议本质上是一种思想,其目的在于使得两个参与方中的某一方可以基于选择比特获取另一方持有的两份明文数据之一,并且,该某一方(通常称为OT协议中的接收方)只能获得与选择比特对应的明文数据,而后者(通常称为OT协议中的发送方)无法知晓接收方获取的是哪份明文数据。在本说明书实施例中,该某一方和另一方分别被实例化为查询方和数据方,两份明文数据和被获取的其中之一分别被实例化为密钥对和选择密钥。进一步,OT协议的执行方式有多种,除了采用上述实施方式执行OT协议以确定q个中间值{Zi}q和q个选择密钥
Figure BDA0003456739840000077
以外,还可以采用其他实施方式,或者,也可以执行OT协议的变种协议,如ROT(Rondom OT)协议等。
由上,查询方可以得到q个中间值{Zi}q和q个选择密钥
Figure BDA0003456739840000078
接着,在步骤S13,查询方向数据方发送针对目标对象的查询请求,其中包括q个中间值{Zi}q,以及含上述目标标识IDx在内的n个对象标识{IDi}n。具体,在本步骤中,查询方可以将获取的n个对象标识{IDi}n和确定出的q个中间值{Zi}q打包在查询请求中,进而发送给数据方。
数据方在接收到查询请求后,一方面,在步骤S14,基于其中包括的q个中间值{Zi}q执行所述OT协议,得到q对密钥
Figure BDA0003456739840000081
在一种典型的实施方式中,数据方持有上述第二参数T和第三参数t,用于结合q个中间值,执行上述OT协议。其中,第二参数T等于第一参数G和第三参数t之间的运算结果,即T=f(G,t)。需说明,在一种可能的情况中,第二参数T和第三参数t被预先写死在数据方代码中。在另一种可能的情况中,数据方通过预先跟查询方进行上述协商,得到参数T和t。对协商过程的介绍可以参见前述实施例中相关描述,在此不作赘述。
在本步骤中,数据方基于以上第二参数T和第三参数t,对q个中间值{Zi}q中任意的第i个中间值Zi分别进行第一处理和第二处理,得到第i对密钥
Figure BDA0003456739840000082
进一步,在一个实施例中,上述运算结果对应乘积运算,也即,T=tG;相应,上述第一处理可以包括:计算第三参数t与第i个中间值Zi之间的第三乘积tZi,将第三乘积tZi的哈希值确定为对应第i个比特值0的密钥
Figure BDA0003456739840000083
即,
Figure BDA0003456739840000084
第二处理可以包括:计算第二参数T和第三参数t之间的第四乘积tT,并计算第三乘积tZi减去第四乘积tT的差值,从而将该差值的哈希值确定为对应第i个比特值1的密钥
Figure BDA0003456739840000085
即,
Figure BDA0003456739840000086
如此,通过进行第一处理和第二处理可以分别得到密钥
Figure BDA0003456739840000087
和密钥
Figure BDA0003456739840000088
形成第i对密钥
Figure BDA0003456739840000089
需理解的是,第i对密钥
Figure BDA00034567398400000810
中对应第i个选择比特si的密钥,与查询方生成的上述第i个选择密钥
Figure BDA00034567398400000811
相同。以下进行简单证明,首先,由前述可知,查询方中:Zi=riG+siT,
Figure BDA00034567398400000812
数据方中:
Figure BDA00034567398400000813
此外T=tG。据此,若si=0,那么Zi=riG,进而
Figure BDA00034567398400000814
若si=1,那么Zi=riG+T,进而
Figure BDA00034567398400000815
Figure BDA00034567398400000816
上述以三个参数T、G和t之间的关系为T=tG为例,对本步骤的实施进行示例性说明。在另一个实施例中,三者之间还可以是其他的运算关系,与上述查询方中确定中间值和选择密钥的方式相呼应的,可以对数据方中确定密钥对的方式进行适应性设计。
在上述典型实施方式中,数据方可以基于其持有的参数T、t和从查询方接收的q个中间值{Zi}q,参与OT协议的执行,从而得到q对密钥
Figure BDA00034567398400000817
需说明,在对多个查询请求的处理中,参数T和t可以被重复使用,这并不会导致隐私数据的泄露。此外,与上述查询方执行OT协议的实施方式相对应的,本步骤中数据方参与执行OT协议也可以采用其他实施方式。
由上,查询方可以得到q对密钥
Figure BDA0003456739840000091
另一方面,数据方基于查询请求中包含的n个对象标识{IDi}n,执行步骤S15,根据该n个对象标识{IDi}n查询n条数据{datai}n,从而构造与目标数据选取函数对应的混淆电路GC。需理解的是,目标数据选取函数用于实现n选1,即从n条数据中选取与n个对象标识中任一对象标识对应的数据,此函数的输入为n条数据{datai}n和任一对象标识IDi,输出为该任一对象标识对应的数据datai
本步骤的实施可以包括:基于n个对象标识中的各个对象标识,确定对应的q位的标识比特串,以及,将n条数据中的各条数据分别编码为p位的数据比特串;从而基于标识比特串和数据比特串,编译出实现目标数据选取函数的布尔电路(Boolean Circuit),进而构造与该布尔电路对应的混淆电路。
需说明,对于上述标识比特串中q个标识比特的确定,可以参见前述对查询方基于目标标识确定q个选择比特的描述,确定方式是相同的,在此不作赘述。此外,查询出的上述n条数据可以包括数据、字母和汉字。在一个实施例中,可以将其中的各条数据分别转换为对应的ASCII二进制码,作为对应的数据比特串。在另一个实施例中,若各条数据中仅包括数字,那么,可以确定数字的自然顺序码,并在不足p位时进行高位补0,从而得到对应的数据比特串。
在确定出标识比特串和数据比特串后,可以编译出实现目标数据选取函数的布尔电路,此布尔电路包括与针对对象标识IDi的q个输入比特对应的q根输入线、于针对n条数据{datai}n的n*p个输入比特对应的n*p根输入线,共计q+n*p根输入线,以及与针对输出数据datai的p个输出比特对应的p根输出线。需理解,布尔电路是一组用连接线连接的逻辑门的集合,能对一组输入比特完成函数计算并输出比特结果,逻辑门可以包括与门(AND)、异或门(XOR)和非门(NOT)等实现布尔函数的门,一般一个函数可以编译成一组与门、异或门和非门完成计算。另外,对于上述布尔电路的编译,可以采用已有技术实现,不作其他叙述。
对于上述构造与布尔电路对应的混淆电路,实质为确定混淆电路的编码信息、混淆表和解码信息。其中编码信息包括对输入比特进行编码而得到的信息,通常称为输入标签。在一个实施例中,可以针对查询方输入比特,确定与上述q根输入线对应的q对输入标签
Figure BDA0003456739840000092
每对输入标签中的两个标签分别对应比特值0和1;以及,可以针对数据方输入比特,确定与上述n*p根输入线对应的n*p对输入标签,或者,确定与上述n个p位的数据比特串对应的n*p个数据方输入标签
Figure BDA0003456739840000093
从而将确定出的这些输入标签归入编码信息。在另一个实施例中,对于编码信息的确定可以采用Free-XOR技术,从而使得后续生成混淆表时,无需生成跟异或门对应的混淆表,有效减少计算量和通信量。
在以上确定出编码信息后,可以基于此编码信息,确定与布尔电路中逻辑门对应的混淆表。在一个实施例中,可以采用half-gates技术生成混淆表,如此,可以只生成与数据方实际的输入标签相关的混淆表,有效减少计算量和通信量。
进一步,可以基于混淆表中的输出标签,确定解码信息。在一个实施例中,可以基于混淆表,确定与上述p个输出比特位对应的p对输出标签,并将该p对输出标签与p对比特值之间的映射关系,归为解码信息。可以理解,p对比特值中的每对比特值均包括0和1。在另一个实施例中,上述混淆表的生成采用了点置换Point-and-Permute技术,需理解,上述half-gates技术中涉及对点置换技术的使用;相应,可以基于混淆表,从p对输出标签中对应比特值0的p个输出标签中,对应提取p个最低位比特,形成第一置换比特串,归入解码信息。如此,可以实现解码信息的确定。
由上,可以实现对混淆电路的构建。
在以上确定出q对密钥及构建出混淆电路后,在步骤S16,将混淆电路信息中与对象标识对应的q对输入标签
Figure BDA0003456739840000101
替换为加密后得到的q对标签密文
Figure BDA0003456739840000102
其中加密采用上述q对密钥
Figure BDA0003456739840000103
实现。
具体,先利用q对密钥
Figure BDA0003456739840000104
对应加密q对输入标签
Figure BDA0003456739840000105
得到q对标签密文
Figure BDA0003456739840000106
更具体地,利用第i对密钥
Figure BDA0003456739840000107
中的单个密钥去加密第i对输入标签
Figure BDA0003456739840000108
中与之对应相同比特值的输入标签,也即,利用密钥
Figure BDA0003456739840000109
加密标签
Figure BDA00034567398400001010
得到标签密文
Figure BDA00034567398400001011
利用密钥
Figure BDA00034567398400001012
加密标签
Figure BDA00034567398400001013
得到标签密文
Figure BDA00034567398400001014
从而组成第i对标签密文
Figure BDA00034567398400001015
此外,上述加密采用的是对称加密的方式,例如,利用密钥对标签进行异或运算等。
在上述得到q对标签密文
Figure BDA00034567398400001016
后,利用其对混淆电路信息中的q对输入标签
Figure BDA00034567398400001017
进行替换。之后,在步骤S17,数据方向查询方发送该混淆电路GC信息。可以理解,发送的是经过替换处理后的混淆电路信息。
接着,在步骤S18,查询方利用其生成的q个选择密钥
Figure BDA00034567398400001018
基于接收的q对标签密文
Figure BDA00034567398400001019
进行解密,得到与所述目标对象对应的q个选择输入标签
Figure BDA00034567398400001020
或称q个查询方输入标签。
具体,利用第i个选择密钥
Figure BDA00034567398400001021
对第i对标签密文
Figure BDA00034567398400001022
进行解密,只能成功解密出其中之一,即
Figure BDA00034567398400001023
从而得到第i个选择输入标签
Figure BDA00034567398400001024
更具体地,若si=0,则可以成功解密
Figure BDA00034567398400001025
而得到
Figure BDA00034567398400001026
若si=1,则可以成功解密
Figure BDA00034567398400001027
而得到
Figure BDA00034567398400001028
以上是根据对称密码学原理可以推知的,简单来说,第i对标签密文
Figure BDA00034567398400001029
是利用第i对密钥
Figure BDA0003456739840000111
针对第i对输入标签
Figure BDA0003456739840000112
进行对称加密而得到,在密钥
Figure BDA0003456739840000113
Figure BDA0003456739840000114
中,有且只有一个密钥与第i个选择密钥
Figure BDA0003456739840000115
相同,若si=0,则
Figure BDA0003456739840000116
否则
Figure BDA0003456739840000117
相应,利用选择密钥
Figure BDA0003456739840000118
对标签密文
Figure BDA0003456739840000119
进行解密时,只能解密出利用相同密钥加密得到的密文
Figure BDA00034567398400001110
从而得到选择输入标签
Figure BDA00034567398400001111
由上,查询方可以解密出与目标对象对应的q个选择输入标签
Figure BDA00034567398400001112
接着,在步骤S19,查询方基于q个选择输入标签
Figure BDA00034567398400001113
解密上述构造的混淆电路,得到与目标标识IDx对应的目标数据datax。具体,查询方可以基于解密出的q个选择输入标签
Figure BDA00034567398400001114
以及接收到的混淆电路信息中除标签密文以外的信息,解密混淆电路。
在一个实施例中,查询方基于q个查询方输入标签
Figure BDA00034567398400001115
个数据方输入标签
Figure BDA00034567398400001116
解密混淆表,得到p个输出标签
Figure BDA00034567398400001117
进一步,在一个具体的实施例中,上述解码信息中包括上述p对输出标签与p对比特值之间的映射关系;相应,在本步骤中,可以基于该映射关系,确定与p个输出标签
Figure BDA00034567398400001118
对应的p个比特值
Figure BDA00034567398400001119
从而将此p个比特值
Figure BDA00034567398400001120
形成的比特串转换为目标数据datax。在另一个具体的实施例中,上述解码信息中包括第一置换比特串;相应,在本步骤中,可以从p个输出标签
Figure BDA00034567398400001121
中提取p个最低位比特,形成第二置换比特串,从而将第一置换比特串和第二置换比特串之间的异或结果转换为目标数据datax
如此,查询方可以实现对混淆电路的解密,从而得到与目标对象对应的目标数据。
综上,采用本说明书实施例披露的查询请求的处理方法,当查询方需要查询目标数据时,其与数据方之间只需要进行一轮次的通信交互,即可实现匿名查询,从而有效降低通信的交互轮次和数据量。并且,不需要预计算,也不需要缓存预先执行OT得到的结果数据,都是实时计算得到,从而可以充分保护数据的隐私安全。
根据另一方面的实施例,本说明书还披露另一种基于混淆电路的匿名查询方案。在此方案中,匿名查询涉及的数据方和查询方预先共同执行OT协议,相应,数据方持有执行OT协议而获得的q对密钥
Figure BDA00034567398400001122
查询方持有执行OT协议而获得的q个原始选择比特{ui}q和q个选择密钥
Figure BDA00034567398400001123
进一步,在一种OT协议的执行方式中,数据方可以自主生成q对密钥,作为OT协议的输入,以使得查询方基于其自主确定的q个原始选择比特从该q对密钥中选取出q个选择密钥;在另一种OT协议的执行方式中,OT协议在执行过程中随机生成q对密钥及q个原始选择比特,之后,数据方接收OT协议输出的q对密钥,查询方接收OT协议输出的q个原始选择比特和对应的q个选择密钥。
基于此,图3示出根据另一个实施例的处理查询请求的通信交互示意图。需理解,其中涉及的查询方和数据方可以实现为任何具有计算、处理能力的装置、平台、服务器或设备集群等。如图3所示,所述交互过程包括以下步骤:
步骤S31,查询方基于目标对象的目标标识IDx确定q个目标选择比特{si}q。需理解,对步骤S31的描述,可以参见前述对步骤S11的描述,不作赘述。
步骤S32,查询方通过比对该q个目标选择比特{si}q和q个原始选择比特{ui}q,得到q个指示比特{Ii}q。在一个实施例中,针对第i个目标选择比特si和第i个原始选择比特ui,比较两者的异同,若相同,则将第i个指示比特Ii的比特值确定为0,否则确定为1;反之亦可。在另一个实施例中,对对第i个目标选择比特si和第i个原始选择比特ui进行异或处理,得到第i个指示比特Ii,归入所述q个指示比特。如此,可以得到表征同位置选择比特异同的q个指示比特。
步骤S33,查询方向数据方发送针对目标对象的查询请求,其中包括所述q个指示比特{Ii}q,以及含所述目标标识IDx在内的n个对象标识{IDi}n。具体,在本步骤中,查询方可以将获取的n个对象标识{IDi}n和确定出的q个指示比特{Ii}q打包在查询请求中,进而发送给数据方。
然后,数据方基于接收到的查询请求,在步骤S34,基于其中包含的上述n个对象标识{IDi}n和根据该n个对象标识查询出的n条数据{datai}n,构造与目标数据选取函数对应的混淆电路GC。需说明,对步骤S34的介绍可以参见前述对步骤S15的介绍,在此不作赘述。
接着,在步骤S35,数据方将混淆电路信息中与对象标识对应的q对输入标签
Figure BDA0003456739840000121
替换为加密后得到的q对标签密文
Figure BDA0003456739840000122
其中加密基于q对密钥
Figure BDA0003456739840000123
和q个指示比特{Ii}q实现。
具体,先根据q个指示比特{Ii}q指示的加密用对应关系,利用所述q对密钥
Figure BDA0003456739840000124
对应加密所述q对输入标签
Figure BDA0003456739840000125
得到所述q对标签密文
Figure BDA0003456739840000126
需理解,当第i个原始选择比特si和第i个目标选择比特ui相同时,在利用第i对密钥加密q对输入标签时需要进行翻转操作,否则不需要进行翻转。在一个实施例中,假定在确定上述第i个指示比特时,相异取比特值1,相同取比特值0;基于此,在本步骤中,当第i个指示比特等于1时,其指示的加密用对应关系包括:利用第i对密钥中的单个密钥去加密第i对输入标签中与之对应不同比特值的输入标签,也即需要进行翻转操作后再加密;当第i个指示比特等于0时,其指示的加密用对应关系包括:利用第i对密钥中的单个密钥去加密第i对输入标签中与之对应相同比特值的输入标签,也即加密前不需要进行翻转操作。
在得到上述q对标签密
Figure BDA0003456739840000131
文后,利用其对混淆电路信息中的上述q对输入标签
Figure BDA0003456739840000132
进行替换。之后,在步骤S36,数据方向查询方发送该混淆电路GC信息。可以理解,发送的是经过替换处理后的混淆电路信息。
接着,在步骤S37,查询方利用其持有的q个选择密钥
Figure BDA0003456739840000133
基于上述q对标签密文
Figure BDA0003456739840000134
进行解密,得到与所述目标对象对应的q个选择输入标签
Figure BDA0003456739840000135
或称q个查询方输入标签。需理解,此处得到的q个选择输入标签
Figure BDA0003456739840000136
与q个目标选择比特{si}q对应。此外,对步骤S37的描述,还可以参见对前述步骤S18的描述,在此不作赘述。
然后,在步骤S38,查询方基于q个选择输入标签
Figure BDA0003456739840000137
解密混淆电路,得到与目标对象对应的目标数据datax。需说明,对步骤S38的描述,可以参见对前述步骤S19的描述,在此不作赘述。
综上,采用本说明书实施例披露的查询请求的处理方法,当查询方需要查询目标数据时,其与数据方之间只需要进行一轮次的通信交互,即可实现匿名查询,从而有效降低通信的交互轮次和数据量。
根据另一方面的实施例,与上述处理方法相对应的,本说明书实施例还披露处理系统。图4示出根据一个实施例的处理查询请求的系统结构示意图,如图4所示,该系统包括:
查询方410,用于基于目标对象的目标标识确定q个选择比特,并基于该q个选择比特执行茫然传输OT协议,得到q个中间值和q个选择密钥。所述查询方410,还用于向数据方420发送针对所述目标对象的查询请求,其中包括所述q个中间值,以及含所述目标标识在内的n个对象标识。所述数据方420,用于基于所述q个中间值执行所述OT协议,得到q对密钥;基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路;将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密采用所述q对密钥实现。所述数据方420,还用于向所述查询方410发送所述混淆电路信息。所述查询方410,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
图5示出根据另一个实施例的处理查询请求的系统结构示意图,其中包括数据方520和查询方510,所述数据方520持有两方共同执行茫然传输OT协议而获得的q对密钥,所述查询方510持有所述执行OT协议而获得的q个原始选择比特和q个选择密钥;其中,
所述查询方510,用于基于目标对象的目标标识确定q个目标选择比特,并通过比对该q个目标选择比特和q个原始选择比特,得到指示比对结果的q个指示比特。所述查询方510,还用于向数据方520发送针对所述目标对象的查询请求,其中包括所述q个指示比特,以及含所述目标标识在内的n个对象标识。所述数据方520,用于基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,并将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密基于所述q对密钥和q个指示比特实现。所述数据方520,还用于向所述查询方510发送所述混淆电路信息。所述查询方510,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图1或图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图1或图2或图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (16)

1.一种查询请求的处理方法,包括:
查询方基于目标对象的目标标识确定q个选择比特,并基于该q个选择比特执行茫然传输OT协议,得到q个中间值和q个选择密钥;
所述查询方向数据方发送针对所述目标对象的查询请求,其中包括所述q个中间值,以及含所述目标标识在内的n个对象标识;
所述数据方基于所述q个中间值执行所述OT协议,得到q对密钥;基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路;将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密采用所述q对密钥实现;
所述数据方向所述查询方发送所述混淆电路信息;
所述查询方利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
2.根据权利要求1所述的方法,其中,查询方基于目标对象的目标标识确定q个选择比特,包括:
将所述目标标识在所述n个对象标识中的排列序号编码为q位的标识比特串;
将所述标识比特串中的q个比特作为所述q个选择比特。
3.根据权利要求1所述的方法,其中,所述查询方持有第一参数和第二参数;所述数据方持有所述第二参数和第三参数,所述第二参数等于所述第一参数和第三参数之间进行预定运算的结果;其中,
基于该q个选择比特执行OT协议,得到中间值和q个选择密钥,包括:针对所述q个选择比特中任意的第i个选择比特,利用所述第一参数、第二参数和所述查询方生成的第i个随机数对其进行处理,得到第i个中间值,归入所述q个中间值;并且,利用所述第i个随机数和所述第二参数确定第i个选择密钥,归入所述q个选择密钥;
所述数据方基于所述q个中间值执行所述OT协议,得到q对密钥,包括:基于所述第二参数和第三参数,对所述第i个中间值分别进行第一处理和第二处理,得到第i对密钥,归入所述q对密钥。
4.根据权利要求3所述的方法,其中,所述预定运算对应乘积运算;其中,
利用所述第一参数、第二参数和所述查询方生成的第i个随机数对其进行处理,得到第i个中间值,包括:计算所述第一参数与第i个随机数之间的第一乘积,以及计算所述第二参数与第i个选择比特之间的第二乘积,并将两个乘积的和值确定为第i个中间值;
利用所述第i个随机数和所述第二参数确定第i个选择密钥,包括:计算该第i个随机数和第二参数之间的乘积,并将该乘积的哈希值确定为该第i个选择密钥;
基于所述第二参数和第三参数,对所述第i个中间值分别进行第一处理和第二处理,得到第i对密钥,包括:计算所述第三参数与所述第i个中间值之间的第三乘积,并将该第三乘积的哈希值归入第i对密钥;计算该第三乘积减去由所述第二参数和第三参数确定的第四乘积的差值,并将该差值的哈希值归入所述第i对密钥。
5.根据权利要求1所述的方法,其中,基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,包括:
基于所述n个对象标识中的各个对象标识,确定对应的q位的标识比特串;
将所述n条数据中的各条数据分别编码为对应的p位的数据比特串;
基于所述标识比特串和数据比特串,编译出实现所述目标数据选取函数的布尔电路;
构造与所述布尔电路对应的所述混淆电路。
6.根据权利要求5所述的方法,其中,所述混淆电路信息中包括编码信息、混淆表和解码信息;其中,构造与所述布尔电路对应的所述混淆电路,包括:
确定与所述q位对应的q对输入标签,以及确定与所述n条数据的n个数据比特串对应的n*p个数据方输入标签,均归入所述编码信息;
基于所述编码信息,确定与所述布尔电路中的逻辑门对应的混淆表;
基于所述混淆表中的输出标签,确定所述解码信息。
7.根据权利要求1、5或6所述的方法,其中,将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,包括:
利用所述q对密钥对应加密所述q对输入标签,得到所述q对标签密文;
将所述混淆电路信息中的q对输入标签替换为所述q对标签密文。
8.根据权利要求6所述的方法,其中,
确定与所述布尔电路中的逻辑门对应的混淆表,包括:采用点置换Point-and-Permute技术,生成所述混淆表;
基于所述混淆表中的输出标签,确定所述解码信息,包括:基于所述混淆表,从p对输出标签中对应比特值0的p个输出标签中提取p个最低位比特,形成第一置换比特串,归入所述解码信息;
基于该q个选择输入标签解密所述混淆电路,包括:基于该q个选择输入标签和n*p个数据方输入标签解密所述混淆表,得到p个输出标签;从所述p个输出标签中提取p个最低位比特,形成第二置换比特串;将所述第一置换比特串和第二置换比特串之间的异或结果转换为所述目标数据。
9.根据权利要求6所述的方法,其中,
基于所述混淆表中的输出标签,确定所述解码信息,包括:将p对输出标签与p对比特值之间的映射关系,作为所述解码信息;
基于该q个选择输入标签解密所述混淆电路,包括:基于该q个选择输入标签和n*p个数据方输入标签解密所述混淆表,得到p个输出标签;基于所述映射关系,确定所述p个输出标签对应的p个比特值;将所述p个比特值形成的比特串转换为所述目标数据。
10.一种查询请求的处理方法,所述方法涉及数据方和查询方,所述数据方持有两方共同执行茫然传输OT协议而获得的q对密钥,所述查询方持有所述执行OT协议而获得的q个原始选择比特和q个选择密钥;所述方法包括:
所述查询方基于目标对象的目标标识确定q个目标选择比特,并通过比对该q个目标选择比特和q个原始选择比特,得到指示比对结果的q个指示比特;
所述查询方向数据方发送针对所述目标对象的查询请求,其中包括所述q个指示比特,以及含所述目标标识在内的n个对象标识;
所述数据方基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,并将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密基于所述q对密钥和q个指示比特实现;
所述数据方向所述查询方发送所述混淆电路信息;
所述查询方利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
11.根据权利要求10所述的方法,其中,通过比对该q个目标选择比特和q个原始选择比特,得到q个指示比特,包括:
对第i个目标选择比特和第i个原始选择比特进行异或处理,得到第i个指示比特,归入所述q个指示比特。
12.根据权利要求10或11所述的方法,其中,将混淆电路信息中与对象标识对应的q对输入标签替换为加密后得到的q对标签密文,包括:
根据所述q个指示比特指示的加密用对应关系,利用所述q对密钥对应加密所述q对输入标签,得到所述q对标签密文;
将所述混淆电路信息中的所述q对输入标签替换为所述q对标签密文。
13.一种查询请求的处理系统,包括:
查询方,用于基于目标对象的目标标识确定q个选择比特,并基于该q个选择比特执行茫然传输OT协议,得到q个中间值和q个选择密钥;
所述查询方,还用于向数据方发送针对所述目标对象的查询请求,其中包括所述q个中间值,以及含所述目标标识在内的n个对象标识;
所述数据方,用于基于所述q个中间值执行所述OT协议,得到q对密钥;基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路;将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密采用所述q对密钥实现;
所述数据方,还用于向所述查询方发送所述混淆电路信息;
所述查询方,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
14.一种查询请求的处理系统,其中包括数据方和查询方,所述数据方持有两方共同执行茫然传输OT协议而获得的q对密钥,所述查询方持有所述执行OT协议而获得的q个原始选择比特和q个选择密钥;其中,
所述查询方,用于基于目标对象的目标标识确定q个目标选择比特,并通过比对该q个目标选择比特和q个原始选择比特,得到指示比对结果的q个指示比特;
所述查询方,还用于向数据方发送针对所述目标对象的查询请求,其中包括所述q个指示比特,以及含所述目标标识在内的n个对象标识;
所述数据方,用于基于所述n个对象标识和根据该n个对象标识查询出的n条数据,构造与目标数据选取函数对应的混淆电路,并将混淆电路信息中与对象标识对应的q对输入标签替换为加密后的q对标签密文,其中加密基于所述q对密钥和q个指示比特实现;
所述数据方,还用于向所述查询方发送所述混淆电路信息;
所述查询方,还用于利用所述q个选择密钥,基于所述q对标签密文进行解密,得到与所述目标对象对应的q个选择输入标签;基于该q个选择输入标签解密所述混淆电路,得到与所述目标对象对应的目标数据。
15.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项所述的方法。
16.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。
CN202210009307.2A 2022-01-05 2022-01-05 查询请求的处理方法及装置 Active CN114500006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210009307.2A CN114500006B (zh) 2022-01-05 2022-01-05 查询请求的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210009307.2A CN114500006B (zh) 2022-01-05 2022-01-05 查询请求的处理方法及装置

Publications (2)

Publication Number Publication Date
CN114500006A true CN114500006A (zh) 2022-05-13
CN114500006B CN114500006B (zh) 2023-08-04

Family

ID=81509971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210009307.2A Active CN114500006B (zh) 2022-01-05 2022-01-05 查询请求的处理方法及装置

Country Status (1)

Country Link
CN (1) CN114500006B (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205549A1 (zh) * 2017-05-09 2018-11-15 深圳市全同态科技有限公司 一种全同态加密的密文查询方法和系统
CN110321732A (zh) * 2019-05-23 2019-10-11 深圳壹账通智能科技有限公司 区块链系统的数据授权方法、装置、存储介质及电子设备
US20190349191A1 (en) * 2018-05-08 2019-11-14 NEC Laboratories Europe GmbH Dynamic anonymous password-authenticated key exchange (apake)
CN110661764A (zh) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
CN110895611A (zh) * 2019-11-26 2020-03-20 支付宝(杭州)信息技术有限公司 基于隐私信息保护的数据查询方法、装置、设备及系统
CN111008325A (zh) * 2020-03-10 2020-04-14 支付宝(杭州)信息技术有限公司 数据查询方法、装置、电子设备和系统
CN111125727A (zh) * 2019-12-03 2020-05-08 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
US20200228308A1 (en) * 2019-01-10 2020-07-16 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置
CN112614545A (zh) * 2020-12-29 2021-04-06 暨南大学 一种支持多属性匿名认证的基因序列安全比对方法及系统
CN113591146A (zh) * 2021-07-29 2021-11-02 北京航空航天大学 基于合作的高效安全两方计算系统及计算方法
CN113886887A (zh) * 2021-10-25 2022-01-04 支付宝(杭州)信息技术有限公司 基于多方安全计算的数据查询方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205549A1 (zh) * 2017-05-09 2018-11-15 深圳市全同态科技有限公司 一种全同态加密的密文查询方法和系统
US20190349191A1 (en) * 2018-05-08 2019-11-14 NEC Laboratories Europe GmbH Dynamic anonymous password-authenticated key exchange (apake)
CN110661764A (zh) * 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
US20200228308A1 (en) * 2019-01-10 2020-07-16 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
CN110321732A (zh) * 2019-05-23 2019-10-11 深圳壹账通智能科技有限公司 区块链系统的数据授权方法、装置、存储介质及电子设备
CN110895611A (zh) * 2019-11-26 2020-03-20 支付宝(杭州)信息技术有限公司 基于隐私信息保护的数据查询方法、装置、设备及系统
CN111125727A (zh) * 2019-12-03 2020-05-08 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
CN111008325A (zh) * 2020-03-10 2020-04-14 支付宝(杭州)信息技术有限公司 数据查询方法、装置、电子设备和系统
CN112055021A (zh) * 2020-09-08 2020-12-08 苏州同济区块链研究院有限公司 一种基于椭圆曲线的茫然传输方法及装置
CN112614545A (zh) * 2020-12-29 2021-04-06 暨南大学 一种支持多属性匿名认证的基因序列安全比对方法及系统
CN113591146A (zh) * 2021-07-29 2021-11-02 北京航空航天大学 基于合作的高效安全两方计算系统及计算方法
CN113886887A (zh) * 2021-10-25 2022-01-04 支付宝(杭州)信息技术有限公司 基于多方安全计算的数据查询方法及装置

Also Published As

Publication number Publication date
CN114500006B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN111510281B (zh) 一种同态加密方法及装置
KR19990082665A (ko) 공통키 통신방법
CN110138739B (zh) 数据信息加密方法、装置、计算机设备及存储介质
US8180048B2 (en) Method and system for computational transformation
TW201349823A (zh) 資料加密方法、資料驗證方法及電子裝置
CN112042150B (zh) 登记装置、服务器装置、隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
US9641328B1 (en) Generation of public-private key pairs
CN114036565A (zh) 隐私信息检索系统及隐私信息检索方法
US7894608B2 (en) Secure approach to send data from one system to another
KR20130093557A (ko) 적어도 하나의 암호화 명령어를 포함하는 소프트웨어 애플리케이션의 협력 실행을 위한 시스템, 장치, 및 방법
CN114443718A (zh) 一种数据查询方法及系统
US20210279341A1 (en) Cryptographic security system, method, and program product using data partitioning
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
GB2498063A (en) Checking acceptance of a string by automaton
CN102222188A (zh) 一种信息系统用户密码的生成方法
CN112422491A (zh) 数字编码的加密解密方法、服务器和存储介质
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
WO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
CN117171202A (zh) 一种数据查询方法及装置
CN114500006B (zh) 查询请求的处理方法及装置
CN115277064A (zh) 数据加密、数据解密方法、装置、电子设备和介质
CN112836239A (zh) 保护隐私的双方协同确定目标对象数据的方法及装置
JP2003304237A (ja) 共通鍵生成方法、その共通鍵を用いる暗号方法および共通鍵管理方法並びに端末の固体番号による固体認証方法、並びにそれらの方法を実行するプログラム、及びそのプログラムを含む応用ソフトウェア
KR101808313B1 (ko) 데이터 암호화 방법
CN116484407B (zh) 一种数据安全保护方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant