CN115766174A - 两方安全计算的方法及系统 - Google Patents

两方安全计算的方法及系统 Download PDF

Info

Publication number
CN115766174A
CN115766174A CN202211399287.0A CN202211399287A CN115766174A CN 115766174 A CN115766174 A CN 115766174A CN 202211399287 A CN202211399287 A CN 202211399287A CN 115766174 A CN115766174 A CN 115766174A
Authority
CN
China
Prior art keywords
party
data
target
character string
ith
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.)
Pending
Application number
CN202211399287.0A
Other languages
English (en)
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.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai 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 Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202211399287.0A priority Critical patent/CN115766174A/zh
Publication of CN115766174A publication Critical patent/CN115766174A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种两方安全计算的方法及系统,在两方安全计算的方法中,第一方向第二方发送计算请求。第二方生成用于对两个数据进行计算的布尔电路及对应的混淆表,该布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于第一数据。第二方获取n个标识对应的n个第二数据,并根据L根第二输入线的标注字符串,确定n个第二数据对应的n个字符串组。第二方利用n选1的目标OT协议加密n个字符串组,并将n个加密结果和混淆表发送给第一方。第一方利用目标OT协议解密n个加密结果,得到目标标识对应的第二数据所对应的目标字符串组。第一方利用目标字符串组解密混淆表,得到目标标识对应的第二数据与第一数据的计算结果。

Description

两方安全计算的方法及系统
技术领域
本说明书一个或多个实施例涉及安全技术领域,尤其涉及一种两方安全计算的方法及系统。
背景技术
安全多方计算(Secure Multi-Party Computation,MPC),允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其它任何信息。换句话说,MPC可以获取数据使用价值,却不泄露原始数据内容。
MPC可基于混淆电路(Garbled Circuit,GC)而实现。GC是一种两方安全多方计算协议,对实现一个计算函数的布尔电路用密码函数生成混淆表,对两方输入计算出结果,并且在计算过程中一方输入不会泄漏给另一方。在传统的GC方案中,安全多方计算的各参与方需要进行复杂的交互,这导致GC方案的网络代价过高,严重影响MPC的应用广度。
发明内容
本说明书一个或多个实施例描述了一种两方安全计算的方法及系统,用以在两方之间通过较少轮次的通信,实现双方数据的安全计算。
第一方面,提供了一种两方安全计算的方法,包括:
第一方向第二方发送计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
所述第二方生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
所述第二方获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
所述第二方利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方;
所述第一方利用所述目标OT协议解密所述n个加密结果,得到所述目标标识对应的第二数据所对应的目标字符串组;
所述第一方至少利用所述目标字符串组解密所述混淆表,以及根据解密结果,确定所述目标标识对应的第二数据与所述第一数据的计算结果。
第二方面,提供了一种两方安全计算的方法,包括:
从第一方接收计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方,以使得所述第一方利用所述目标OT协议解密所述n个加密结果,以及解密所述混淆表,以获取所述目标标识对应的第二数据与所述第一数据的计算结果。
第三方面,提供了一种两方安全计算的系统,包括:
第一方,用于向第二方发送计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;第一方持有所述目标标识对应的第一数据;
所述第二方,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
所述第二方,还用于获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
所述第二方,还用于利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方;
所述第一方,还用于利用所述目标OT协议解密所述n个加密结果,得到所述目标标识对应的第二数据所对应的目标字符串组;
所述第一方,还用于至少利用所述目标字符串组解密所述混淆表,以及根据解密结果,确定所述目标标识对应的第二数据与所述第一数据的计算结果。
第四方面,提供了一种两方安全计算的装置,包括:
接收单元,用于从第一方接收计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
生成单元,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
获取单元,用于获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
发送单元,用于利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方,以使得所述第一方利用所述目标OT协议解密所述n个加密结果,以及解密所述混淆表,以获取所述目标标识对应的第二数据与所述第一数据的计算结果。
第五方面,提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一、第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一、第二方面的方法。
本说明书一个或多个实施例提供的两方安全计算的方法及系统,第一方同时向第二方发送n个标识,可以实现数据的匿名计算,也即第二方不仅无法获知第一方的数据,还无法获知第一方想要与第二方的哪个数据进行计算,这进一步确保了数据的安全性。此外,第二方只生成两个数据的计算电路,但同时向第一方发送n个待计算数据对应的n个字符串组和混淆表,并由第一方基于n选1的目标OT协议选取其中的一个字符串组,解密混淆表,可以实现将n选1的目标OT协议与混淆电路相结合,由此可以减少双方的通信轮次。从而本方案可以在减少双方通信轮次的情况下,对双方数据进行安全计算,也即本方案可以降低网络通信代价。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1a示出1-out-of-2类型OT协议示意图;
图1b示出1-out-of-n类型OT协议示意图;
图2示出ROT协议示意图;
图3为本说明书一个实施例提供的实施场景示意图;
图4示出根据一个实施例的两方安全计算的方法交互图;
图5示出根据一个实施例的本地选择标签更新方法示意图;
图6示出根据一个实施例的两方安全计算的系统示意图;
图7示出根据一个实施例的两方安全计算的装置示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在描述本说明书实施例提供的方案之前,先对本方案的发明构思作以下说明。
首先,为进一步加强第一方(也称数据请求方)的隐私保护,本申请的发明人提出,第一方同时向第二方发送n个标识,该n个标识包括目标标识和n-1个混淆标识,由此可以使得第二方(也称数据持有方),无法获知第一方所请求计算的数据。在计算结束之后,第一方只能获得与目标标识对应的数据的计算结果,而不能获取到与其它标识对应的数据的计算结果。
此外,为解决传统的GC方案中网络代价过高的问题,本申请的发明人提出,将n选1的目标OT协议与混淆电路相结合,来实现对两方数据进行安全计算。这里的目标OT协议具体是指随机OT协议(简称ROT),随机OT协议为OT协议的一种,其之所以称为随机OT协议是因为在OT协议中引入了随机数。以下先对OT协议进行说明。
OT协议,又称不经意传输(Oblivious transfer)协议,是安全多方计算的基础技术,是一个两方协议。其具体为接收方(Receiver)与发送方(Sender)之间的交互协议。由于OT协议可以保证双方数据的安全性,从而其被广泛应用到各个领域中。
OT协议,按照功能,可以将其分为如下两种类型:2选1(1-out-of-2)类型和n选1(1-out-of-n)类型。图1a示出1-out-of-2类型OT协议示意图,图1b示出1-out-of-n类型OT协议示意图。
图1a中,Receiver的输入为选择比特c∈{0,1},Sender的输入为一对消息(M0,M1),其中M0、M1为待发送的明文消息(比如为128比特的比特串)。通过OT协议,Receiver最终可以获得Mc。
显然,通过OT协议,可以满足如下两方面的安全性:(1)Receiver选择比特c的保密性,即通过OT协议,Sender不能获知Receiver选择的是哪一个消息。(2)Sender未被选择消息的保密性,即通过OT协议,Receiver只能获得(M0,M1)中的一个消息Mc,不能获知另一个消息的信息。
在图1b中,通过1-out-of-n类型OT协议,Receiver可以根据自己的选择c∈{1,2,…,n}获得Sender的消息元组(M1,M2,…,Mn)中的一个消息Mc,但不能获知其余n-1个消息的信息。Sender不能获知Receiver选择的是哪一个消息,即不能获知Receiver选择c的信息。
以下再对ROT协议进行说明。
图2示出ROT协议示意图。图2中,Sender首先持有a和A,其中,A=aG。这里的G也称基点,其是从椭圆曲线中选取得到的,且由双方约定。a为随机数,且a∈Zp。之后,Sender可以将A发给Receiver。在Receiver缓存A之后,双方通过交互就可以生成各自的OT标签。
具体地,Receiver首先选取随机数b,b∈Zp,计算B=bG+cA,并计算目标标签keyc=H(bA)。这里的H()为双方约定的哈希函数。之后,Receiver向Sender发送B。最后,Sender根据B进行n次迭代计算之后,可以得到n个标签{key0,key1,…,keyn-1}。其中任意的第m个标签为:keym=H(aB-maA)。
通过简单推导可知,上述目标标签keyc始终与{key0,key1,…keyn-1}中下标为c的标签值保持一致。比如,当c=0时,keyc=key0,当c=1时,keyc=key1。此外,Sender不能获知Receiver选择c的信息,Receiver只能获得sender的一组标签中的一个标签keyc,也即满足OT协议,因此,Receiver计算得到的目标标签也可以称为目标OT标签,Sender计算得到的n个标签也可以称为n个OT标签,该两者共同构成一组ROT标签。
需要说明,可以在Sender和Receiver之间重复多次地执行ROT协议,且每次执行过程中,A不变,但随机数b的取值可不同,从而Receiver可以生成若干不同的目标标签,Sender可以得到若干组OT标签,其中每组包括n个OT标签。
本说明书所述的将n选1的目标OT协议与混淆电路相结合具体可以包括:由GC的Garbler(即第二方)作为OT协议的sender生成一组OT标签,并基于该一组OT标签中的n个OT标签,对GC的Evaluator(即第一方)获取的n个第二数据所对应的n个字符串组进行加密。之后由第一方将其作为OT协议的Receiver所生成的一个目标OT标签,来解密加密后的n个字符串组,得到目标字符串组,并将其中的各个选定字符串,作为想要计算的数据对应于L根输入线的标注字符串,以及利用其来解密第二方生成的对应于两个数据计算电路的混淆表。由于在该方法中,第一方不需要与第二方单独执行OT协议,来选择想要计算的数据,由此可以减少双方之间的通信轮次,进而可以降低通信代价。
以上就是本说明书实施例提供的方案的发明构思,以下对该方案进行详细说明。
图3为本说明书一个实施例提供的实施场景示意图。图3中,第一方和第二方可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。
具体地,第一方可以向第二方发送计算请求,其中包括n个标识:ID0、ID1、…、IDn-1。该n个标识包括目标标识IDx和n-1个混淆标识,其中,x∈{0,2,…,n-1}。该第一方持有第一数据recx。第二方在接收到计算请求之后,可以获取n个标识对应的n个第二数据:inf0、inf1、…、infn-1。生成用于对两个数据进行计算的布尔电路(boolean circuit)及其对应的混淆表,以及可以确定出n个第二数据对应的n个字符串组,其中,任意的字符串组i可以表示为Arrayi={labeli0,labeli1,…,labeli,L-1},其中,L为第二数据所包含的比特位数。
之后,第二方利用n选1的目标OT协议加密n个字符串组,并将得到的n个加密结果和混淆表发送给第一方。第一方利用目标OT协议解密n个加密结果,得到目标标识IDx对应的第二数据所对应的目标字符串组Arrayx,并利用其解密混淆表,以及根据解密结果,确定目标标识IDx对应的第二数据infx与第一数据recx的计算结果。
本说明书所述的布尔电路是一组用连接线连接的逻辑门的集合,能对一组输入完成函数计算并输出结果。逻辑门包括与门(AND)、异或门(XOR)、非门(NOT)等实现布尔函数的门,一般一个函数可以编译成一组与门、异或门和非门完成计算。在一个示例中,该布尔电路可以采用混淆电路的执行方式。
关于布尔电路中的异或门,在一种优化的实现方式中,其可以实现为free-xor门。需要说明,当该异或门实现为free-xor门时,GC的Garbler无需针对其生成对应的混淆表,由此可以降低双方之间的通信代价。但free-xor门的每根线(包括输入线和输出线)需满足如下要求:每根线的真值1对应的标注字符串等于其真值0对应的标注字符串异或偏移值。在一个示例中,该偏移值的预定位是1。以预定位为最低位为例来说,该偏移值可以为1001、0001或0101。
从图3可以看出,在本说明书实施例提供的计算方案中,第二方既无法获知第一方的第一数据recx,还无法获知第一方想要进行计算的第二数据infx,由此可以进一步提升数据的安全性。此外,第一方也无法获知其想要进行计算的第二数据infx,而只能获取到第一数据recx和第二数据infx的计算结果。可见,本方案可以加强数据的隐私保护。最后,在该方案中,第一方和第二方只需要进行一轮通信(即第一方->第二方,第二方->第一方),即可实现两方数据的安全计算,由此可以减少双方之间的通信轮次,进而可以降低通信代价。
图4示出根据一个实施例的两方安全计算的方法交互图。如图4所示,该方法至少可以包括如下步骤。
步骤402,第一方向第二方发送计算请求。
该计算请求可以用于请求进行比较运算、求和运算、乘法运算或者幂运算等等。
上述计算请求中可以包括n个标识:ID0、ID1、…、IDn-1。这里的n个标识包括目标标识IDx和n-1个混淆标识。其中,x∈{0,1,…n-1}。
上述n个标识各自对应的顺序编号分别为:0,1,…n-1等。
此外,上述计算请求还可以包括第一基值Sx,该第一基值基于目标标识IDx的顺序编号x和约定随机数而确定。比如,可以是根据图2中B的计算公式来获取,即Sx=sxG+xA,其中的sx为选取的随机数,sx∈Zp,G为第一方和第二方预先约定的基点,x为目标标识IDx在n个标识中的顺序编号,A为双方的约定随机数,且A=aG。该随机数可以是由第一方从本地文件中读取得到,也可以是预先设定的。
当然,在实际应用中,上述计算请求还可以包括L个第二基值:S1、S2、…、SL。该L个第二基值是由第一方至少基于其持有的第一数据的L位二进制数而确定。在一个示例中,这里的L位二进制数可以是由第一方按计算最小精度获取的。比如,假设计算精度为10,那么可以先计算recx/210,然后对计算结果进行上取整,再按小端取L个比特,即可以得到L位二进制数,分别表示为:p1、p2、…、pL
在一个示例中,第i个第二基值Si可以是基于第一数据的第i位二进制数和约定随机数而确定。比如,可以是根据图2中B的计算公式来获取,即Si=siG+piA,其中的si为计算第i个第二基值时选取的随机数,si∈Zp,G为第一方和第二方预先约定的基点,pi为第一数据的第i位二级制数,A为双方的约定随机数,且A=aG。
步骤404,第二方生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表。
在一个示例中,上述生成的布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于第一方持有的第一数据。换句话说,L根第一输入线用于输入第一数据的L位二进制数。也即,上述布尔电路所计算的两个数据中的一个数据为第一数据。
应理解,上述可以是针对布尔电路中全部或部分门生成对应的混淆表。在一个示例中,可以先对布尔电路中的每根线(包括L根第一输入线、L根第二输入线和输出线)进行标注,然后针对每个需要生成混淆表的门,先生成对应的真值表,然后用每根线的标注字符串替换真值表中的真实值,并通过两次对称加密和乱序混淆之后得到对应的混淆表。
以下针对布尔电路中的每根线的标注方法进行说明:
首先,关于上述L根第二输入线和输出线,可以采用已知的任一标注方法进行标注。应理解,当布尔电路中的异或门实现为free-xor门时,要求每根线的真值1对应的标注字符串等于其真值0对应的标注字符串异或偏移值。
其次,关于上述L根第一输入线,在一个实施例中,第二方可以利用现有的任一标注方法对其进行标注,从而第一方通过与第二方执行OT协议,获得第一方持有的L根第一输入线的真值所对应的标注字符串。
在另一个实施例中,也可以利用满足ROT协议的OT标签对其进行标注,以减少双方的通信轮次。具体地,第二方可以基于L个第二基值,生成L对OT标签。根据L对OT标签,确定L根第一输入线的标注字符串。
其中,上述L对OT标签的生成过程具体可以为:基于第i个基值并利用与第一方约定的哈希函数,确定第一标签。基于第i个基值与约定随机数之差,并利用约定的哈希函数,确定第二标签。上述第一标签和第二标签构成第i对OT标签。类似地,可以生成其它对OT标签。
在一个示例中,第一标签的生成公式可以为:L0i=H(aSi),第二标签的生成公式可以为:L1i=H(aSi-aA)。其中,a为第二方预先选取的随机数,其满足如下条件:A=aG。这里的A(双方的约定随机数)、G(双方约定的基点,选取自椭圆曲线)和Si(第i个第二基值)的定义可以同上文所述。
应理解,这里的L0i和L1i的计算公式实际上就是图2中keym的计算公式,即L0i为m=0的情况,L1i为m=1的情况。
需要说明,在第二方生成L对OT标签的过程中或者之前,第一方可以利用约定的哈希函数,与L个第二基值关联地生成L个第二选择标签,其中第i个第二选择标签,是第i对OT标签所含标签之一。
在一个示例中,第i个第二选择标签的生成公式可以为:Li=H(siA),其中,si为第一方计算第i个第二基值时选取的随机数,A为双方的约定随机数。应理解,这里的Li的计算公式实际上就是图2中keyc的计算公式。
应理解,在基于图2中keym的计算公式计算L0i和L1i,以及基于keyc的计算公式计算Li时,可以确保在pi=0时,Li=L0i,以及pi=1时,Li=L1i
在获取到L对OT标签之后,可以将第i对OT标签中的第一标签(即L0i),作为第i根第一输入线的真值0对应的标注字符串。将第i对OT标签中的第二标签(即L1i),作为第i根第一输入线的真值1对应的标注字符串。类似地,可以确定出其它每根第一输入线的两个标注字符串。
应理解,在通过该种方式确定L根第一输入线的标注字符串时,第二方需要针对异或门也生成对应的混淆表,但不需要针对该L根第一输入线向第一方发送对应的标注字符串,也即不需要与第一方单独执行L次2选1的OT协议,来确定第一方持有的L根第一输入线的真值所对应的标注字符串。原因如下:
首先,上文给出pi=0时,Li=L0i,其中,pi=0说明第一方持有第i根第一输入线的真值0,L0i为第二方针对第i根第一输入线的真值0所标注的标注字符串,而又因为Li=L0i,从而第一方持有的第i个第二选择标签,即为第二方针对第i根第一输入线的真值0所标注的标注字符串,从而第二方不需要向第一方发送L0i
其次,上文给出pi=1时,Li=L1i,其中,pi=1说明第一方持有第i根第一输入线的真值1,L1i为第二方针对第i根第一输入线的真值1所标注的标注字符串,而又因为Li=L1i,从而第一方持有的第i个第二选择标签,即为第二方针对第i根第一输入线的真值1所标注的标注字符串,从而第二方不需要向第一方发送L1i
总之,在该另一个实施例中,第i个第二选择标签始终为第一方持有的第i根第一输入线的真值所对应的标注字符串。
在还一个实施例中,在根据上述另一个实施例的计算方式,获取到L对OT标签之后,通过以下步骤确定对应于L根第一输入线的标注字符串:
先将第i对OT标签中的第一标签与偏移值进行异或运算,得到第三标签。然后将第i对OT标签中的第一标签,作为第i根第一输入线的真值0对应的标注字符串。将计算得到的第三标签,作为第i根第一输入线的真值1对应的标注字符串。
应理解,在通过上述还一个实施例确定L根第一输入线的标注字符串时,第二方不需要针对异或门生成对应的混淆表。原因是:第i根第一输入线的真值1对应的标注字符串等于其真值0对应的标注字符串异或偏移值。也即满足free-xor门对输入线的要求。
但是在该还一个实施例中,需要对第一方的L个第二选择标签进行更新。比如,在第i个第二选择标签为第i对OT标签中的第二标签时,需要将第i个第二选择标签更新为第三标签,以确保第i个第二选择标签始终为第一方持有的第i根第一输入线的真值所对应的标注字符串。具体更新方法后续说明。
至此,第二方就完成了布尔电路中每根线的标注。
步骤406,第二方获取n个标识对应的n个第二数据,并根据L根第二输入线的标注字符串,以及n个第二数据各自的L位二进制数,确定n个第二数据对应的n个字符串组。
这里,针对n个第二数据中的每个第二数据,可以按计算最小精度对其做上取整和截断,可以得到n个第二数据各自的L位二进制数。
在一个示例中,上述确定n个第二数据对应的n个字符串组可以包括:对于任一第二数据,若其中的第i位二进制数为0,则将第i根第二输入线的真值0的标注字符串作为第i个选定字符串;若其中的第i位二进制数为1,则将第i根第二输入线的真值1的标注字符串作为第i个选定字符串,上述任一第二数据的L位二进制数对应的L个选定字符串形成其对应的字符串组。
需要说明,上述任一第二数据对应的字符串组,可以理解为,该任一第二数据对应于L根第二输入线的实际标注串所形成的组合。也可以理解为,在L根第二输入线输入该任一第二数据的L位进制数时,L根第二输入线的实际标注串所形成的组合。
应理解,由于第二方并不知道第一方想要与n个第二数据中的哪个第二数据进行计算,因此,第二方针对n个第二数据,分别形成n个字符串组。
步骤408,第二方利用n选1的目标OT协议加密n个字符串组,并将得到的n个加密结果和混淆表发送给第一方。
在一个实施例中,上述目标OT协议为传统的OT协议,从而第二方可以采用任一已知的OT标签生成方法,来生成n个OT标签,并利用该n个OT标签,对应加密n个字符串组,得到上述n个加密结果。
在另一个实施例中,上述目标OT协议为ROT协议,第二方可以基于计算请求中的第一基值Sx,生成对应于n个标识的n个OT标签,并利用该n个OT标签,对应加密n个字符串组,得到n个加密结果。
其中,上述生成对应于n个标识的n个OT标签可以包括:迭代地执行对应于n个标识的n轮标签生成。其中,任意的第j轮标签生成包括,对第一基值与第j个标识的顺序编号和约定随机数的乘积求差,并基于差值,利用与第一方约定的哈希函数,确定本轮生成的OT标签。
在一种实现方式中,上述标签生成公式可以表示为:Lj=H(aSx-jaA),其中,j为第j个标识的顺序编号,j∈{0,1,…,n-1}。a为第二方预先选取的随机数,其满足如下条件:A=aG。这里的A(双方的约定随机数)、G(双方约定的基点,选取自椭圆曲线)和Sx为第一基值。
在上述n轮迭代结束之后,就可以得到n个OT标签。
应理解,这里的Lj的计算公式实际上就是图2中keym的计算公式。
需要说明,在第二方生成对应于n个标识的n个OT标签的过程中或者之前,第一方可以利用约定的哈希函数,与第一基值关联地生成第一选择标签,该第一选择标签是n个OT标签中之一。
上述第一选择标签的生成公式可以为:Lx=H(sxA),其中,sx为第一方计算上述第一基值Sx时选取的随机数,A为双方的约定随机数。应理解,这里的Lx的计算公式实际上就是图2中keyc的计算公式。
应理解,在基于图2中keym的计算公式计算Lj,以及基于keyc的计算公式计算Lx时,可以确保在x=0时,Lx=L0,以及x=1时,Lx=L1,依次类推。从而第一方利用Lx可以解密出利用n个OT标签中与其相同的标签所加密的目标字符串组。
还需要说明,在布尔电路的L根第一输入线的标注字符串,基于上述第一和第三标签确定时,也即基于上述步骤404中的还一个实施例确定时,第二方在向第一方发送混淆表的同时,还可以发送L根第一输入线的L个加密字符串,以便于第一方根据L个加密字符串,更新L个第二选择标签。其中,任意的第i根第一输入线的加密字符串通过对第i对OT标签中的第一标签、第二标签以及偏移值进行异或运算得到。
其中,第一方更新L个第二选择标签的过程具体可以如下:
对于第i个第二选择标签,若与其相关联的第i个第二基值基于二进制数0而确定,也即第一方持有的第i根第一输入线的真值为0,则第一方将第i个第二选择标签作为更新的第i个第二选择标签。否则,若第一方持有的第i根第一输入线的真值为1,则第一方对第i个第二选择标签与第i个加密字符串进行异或运算,并将异或结果作为更新的第i个第二选择标签。
以下通过图5来对上述更新方法的正确性进行说明。
图5示出根据一个实施例的本地选择标签更新方法示意图。图5中,假设Garbler(即第二方)已生成一对OT标签:L0和L1,Evaluator(即第一方)已生成本地选择标签Lc,选择(choice)为c,且当c=0时,Lc=L0;c=1时,Lc=L1。此外,还假设Garbler将Evaluator的输入线的k0设为L0,将k1设为L0^R,其中,R为偏移值。其中,将k0设为L0,表示将Evaluator的输入线的真值0对应的标注字符串设为L0,将k1设为L0^R,表示将Evaluator的输入线的真值1对应的标注字符串设为L0^R。那么,Garbler可以向Evaluator发送密文y=L0^L1^R。之后,若Evaluator针对上述输入线持有真值0,也即input==0,则将Lc作为其针对该输入线获取的标注字符串,即k=Lc。而若Evaluator针对上述输入线持有真值1,也即input==1,则将Lc^y作为其针对该输入线获取的标注字符串,即k=Lc^y。
当然,上述更新本地选择标签(即第二选择标签)的方法有个前提条件是:Evaluator针对上述输入线拥有的真值与选择c相同,也即input=c。在满足该条件的情况下,那么在input==0时,c=0,从而k=L0。在input==1时,c=1,从而k=L1^y=L1^L0^L1^R=L0^R。也即基于密文y,可以使得Evaluator始终能获取到Garbler针对Evaluator持有的输入值所标注的字符串。
回到图4中,图4还可以包括如下步骤:
步骤410,第一方利用目标OT协议解密n个加密结果,得到目标标识对应的第二数据所对应的目标字符串组。
上述解密n个加密结果可以包括:第一方利用与第一基值关联地生成的第一选择标签,解密n个加密结果,得到目标字符串组。其中,上述第一方可以得到目标字符串组可以参见上述所述,本说明书对此不作重复解释。
应理解,上述目标字符串组中的各选定字符串,即为第一方所选择的第二数据(即目标标识对应的第二数据)对应于L根第二输入线的L个实际标注串,第一方基于其以及L个第二选择标签,解密混淆表时,可以基于解密结果得到第一数据与目标标识对应的第二数据的计算结果。
上述利用L个第二选择标签解密混淆表,是因为这里的L个第二选择标签用于作为L根第一输入线的实际标注串。当然,如果第一方对L个第二选择标签进行了更新,那么可以基于更新的L个第二选择标签,解密混淆表。
步骤412,第一方至少利用目标字符串组解密混淆表,以及根据解密结果,确定目标标识对应的第二数据与所述第一数据的计算结果。
上述解密结果可以包括第一方算出的布尔电路的输出线的目标字符串。
在一个示例中,在布尔电路实现为half-gates电路(具有如下特点:每根线的真值1对应的标注字符串等于其真值0对应的标注字符串异或偏移值)时,上述确定目标标识对应的第二数据与第一数据的计算结果,包括:
第一方将目标字符串的最低比特作为计算结果的第一结果分片sbx,并对第一结果分片sbx与从第二方接收的计算结果的第二结果分片pbx进行异或运算,得到上述计算结果。这里的第二结果分片pbx是第二方针对输出线的真值0所标注的标注字符串的最低比特。
其中,上述第二结果分片pbx是由第二方连同混淆表一起发送给第一方的。
在另一个示例中,第一方也可以将算出的目标字符串发送给第二方,从而由第二方将其翻译为对应的计算结果,并提供给第一方。
至此两方安全计算的方法描述完成。
综合以上,本说明书实施例提供的两方安全计算的方法,第一方同时向第二方发送n个标识,可以实现数据的匿名计算,也即第二方不仅无法获知第一方的数据,还无法获知第一方想要与第二方的哪个数据进行计算,这进一步确保了数据的安全性。此外,第二方只生成两个数据的计算电路,但同时向第一方发送n个待计算数据对应的n个字符串组和混淆表,并由第一方基于n选1的目标OT协议选取其中的一个字符串组,解密混淆表,可以实现将n选1的目标OT协议与混淆电路相结合,由此可以减少双方的通信轮次。
最后,在该方案中,第一方和第二方只需要进行一轮通信(即第一方->第二方,第二方->第一方),即可实现两方数据的安全计算,从而本方案可以在减少双方通信轮次的情况下,对双方数据进行安全计算,也即本方案可以降低网络通信代价。
与上述两方安全计算的方法对应地,本说明书一个实施例还提供的一种两方安全计算的系统,如图6所示,该系统可以包括:
第一方602,用于向第二方604发送计算请求,其中包括n个标识,该n个标识包括目标标识和n-1个混淆标识。第一方602持有目标标识对应的第一数据。
第二方604,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表,该布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于第一数据。
第二方604,还用于获取n个标识对应的n个第二数据,并根据L根第二输入线的标注字符串,以及n个第二数据各自的L位二进制数,确定n个第二数据对应的n个字符串组。
其中,第二方604具体用于:
对于任一第二数据,根据其第i位二进制数为0或1,将第i根第二输入线的真值0或真值1对应的标注字符串作为第i个选定字符串,该任一第二数据的L位二进制数对应的L个选定字符串形成其对应的字符串组。
第二方604,还用于利用n选1的目标OT协议加密n个字符串组,并将得到的n个加密结果和混淆表发送给所述第一方602。
第一方602,还用于利用目标OT协议解密n个加密结果,得到目标标识对应的第二数据所对应的目标字符串组。
第一方602,还用于至少利用目标字符串组解密混淆表,以及根据解密结果,确定目标标识对应的第二数据与第一数据的计算结果。
其中,上述解密结果包括第一方602算出的布尔电路的输出线的目标字符串;
第一方602具体用于:
将目标字符串的最低比特作为计算结果的第一结果分片,并对第一结果分片与从第二方604接收的计算结果的第二结果分片进行异或运算,得到计算结果;
其中,第二结果分片是输出线的真值0对应的标注字符串的最低比特。
在一些实施例中,上述计算请求还包括第一基值,该第一基值基于目标标识的顺序编号和约定随机数而确定;
第二方604还具体用于:
基于第一基值,生成对应于n个标识的n个OT标签,并利用该n个OT标签,对应加密n个字符串组,得到n个加密结果;
第一方602还具体用于:
利用与第一基值关联地生成的第一选择标签,解密n个加密结果,得到目标字符串组,该第一选择标签是n个OT标签中之一。
在一些实施例中,第二方604还具体用于:
迭代地执行对应于n个标识的n轮标签生成。其中,任意的第j轮标签生成包括,对第一基值与第j个标识的顺序编号和约定随机数的乘积求差,并基于差值,利用与第一方602约定的哈希函数,确定本轮生成的OT标签;
第一方602还具体用于:
基于第一基值,利用哈希函数,确定第一选择标签。
在一些实施例中,上述计算请求还包括L个第二基值,该L个第二基值至少基于第一数据的L位二进制数而确定;第二方604还具体用于:
基于L个第二基值,生成L对OT标签,以及根据L对OT标签,确定L根第一输入线的标注字符串;
第一方602还具体用于:
与L个第二基值关联地生成L个第二选择标签,用于解密混淆表,其中,第i个第二选择标签,是第i对OT标签所含标签之一。
在一些实施例中,L个第二基值中的第i个第二基值,基于第一数据的第i位二进制数和约定随机数而确定;
第二方604还具体用于:
基于第i个基值并利用与第一方602约定的哈希函数,确定第一标签;
基于第i个基值与约定随机数之差,并利用哈希函数,确定第二标签;第一标签和第二标签构成第i对OT标签。
在一些实施例中,任意的第i对OT标签包括第一标签和第二标签;
第二方604还具体用于:
将第一标签,作为第i根第一输入线的真值0对应的标注字符串;
将第二标签,作为第i根第一输入线的真值1对应的标注字符串。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的两方安全计算的系统,可以在减少双方通信轮次的情况下,对双方数据进行安全计算。
与上述两方安全计算的方法对应地,本说明书一个实施例还提供的一种两方安全计算的装置,设置于第二方。如图7所示,该装置可以包括:
接收单元702,用于从第一方接收计算请求,其中包括n个标识,该n个标识包括目标标识和n-1个混淆标识。第一方持有所述目标标识对应的第一数据。
生成单元704,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表,该布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于第一数据。
获取单元706,用于获取n个标识对应的n个第二数据,并根据L根第二输入线的标注字符串,以及n个第二数据各自的L位二进制数,确定n个第二数据对应的n个字符串组。
发送单元708,用于利用n选1的目标OT协议加密n个字符串组,并将得到的n个加密结果和混淆表发送给第一方,以使得第一方利用目标OT协议解密n个加密结果,以及解密混淆表,以获取目标标识对应的第二数据与第一数据的计算结果。
本说明书一个实施例提供的两方安全计算的装置,可以在减少双方通信轮次的情况下,对双方数据进行安全计算。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图4所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图4所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (20)

1.一种两方安全计算的方法,包括:
第一方向第二方发送计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
所述第二方生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
所述第二方获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
所述第二方利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方;
所述第一方利用所述目标OT协议解密所述n个加密结果,得到所述目标标识对应的第二数据所对应的目标字符串组;
所述第一方至少利用所述目标字符串组解密所述混淆表,以及根据解密结果,确定所述目标标识对应的第二数据与所述第一数据的计算结果。
2.根据权利要求1所述的方法,其中,所述确定所述n个第二数据对应的n个字符串组,包括:
对于任一第二数据,根据其第i位二进制数为0或1,将第i根第二输入线的真值0或真值1对应的标注字符串作为第i个选定字符串;所述任一第二数据的L位二进制数对应的L个选定字符串形成其对应的字符串组。
3.根据权利要求1所述的方法,其中,所述计算请求还包括第一基值,所述第一基值基于所述目标标识的顺序编号和约定随机数而确定;
所述第二方利用n选1的目标OT协议加密所述n个字符串组,包括:
所述第二方基于所述第一基值,生成对应于所述n个标识的n个OT标签,并利用该n个OT标签,对应加密所述n个字符串组,得到所述n个加密结果;
所述第一方利用所述目标OT协议解密所述n个加密结果,包括:
所述第一方利用与所述第一基值关联地生成的第一选择标签,解密所述n个加密结果,得到所述目标字符串组;所述第一选择标签是所述n个OT标签中之一。
4.根据权利要求3所述的方法,其中,所述生成对应于所述n个标识的n个OT标签,包括:
迭代地执行对应于所述n个标识的n轮标签生成;其中,任意的第j轮标签生成包括,对第一基值与第j个标识的顺序编号和约定随机数的乘积求差,并基于差值,利用与第一方约定的哈希函数,确定本轮生成的OT标签;
所述方法还包括:
所述第一方基于所述第一基值,利用所述哈希函数,确定所述第一选择标签。
5.根据权利要求1所述的方法,其中,所述计算请求还包括L个第二基值;所述L个第二基值至少基于所述第一数据的L位二进制数而确定;所述生成对应的混淆表,包括:
基于所述L个第二基值,生成L对OT标签;根据所述L对OT标签,确定所述L根第一输入线的标注字符串;
所述方法还包括:
所述第一方与所述L个第二基值关联地生成L个第二选择标签,用于解密所述混淆表;其中,第i个第二选择标签,是第i对OT标签所含标签之一。
6.根据权利要求5所述的方法,其中,所述L个第二基值中的第i个第二基值,基于所述第一数据的第i位二进制数和约定随机数而确定;
所述生成L对OT标签,包括:
基于所述第i个基值并利用与所述第一方约定的哈希函数,确定第一标签;
基于所述第i个基值与所述约定随机数之差,并利用所述哈希函数,确定第二标签;所述第一标签和所述第二标签构成第i对OT标签。
7.根据权利要求5所述的方法,其中,任意的第i对OT标签包括第一标签和第二标签;
所述确定所述L根第一输入线的标注字符串,包括:
将所述第一标签,作为第i根第一输入线的真值0对应的标注字符串;
将所述第二标签,作为第i根第一输入线的真值1对应的标注字符串。
8.根据权利要求1所述的方法,其中,所述解密结果包括所述第一方算出的所述布尔电路的输出线的目标字符串;
所述确定所述目标标识对应的第二数据与所述第一数据的计算结果,包括:
所述第一方将所述目标字符串的最低比特作为所述计算结果的第一结果分片,并对所述第一结果分片与从所述第二方接收的所述计算结果的第二结果分片进行异或运算,得到所述计算结果;
其中,所述第二结果分片是所述输出线的真值0对应的标注字符串的最低比特。
9.一种两方安全计算的方法,通过第二方执行,包括:
从第一方接收计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方,以使得所述第一方利用所述目标OT协议解密所述n个加密结果,以及解密所述混淆表,以获取所述目标标识对应的第二数据与所述第一数据的计算结果。
10.一种两方安全计算的系统,包括:
第一方,用于向第二方发送计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;第一方持有所述目标标识对应的第一数据;
所述第二方,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
所述第二方,还用于获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
所述第二方,还用于利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方;
所述第一方,还用于利用所述目标OT协议解密所述n个加密结果,得到所述目标标识对应的第二数据所对应的目标字符串组;
所述第一方,还用于至少利用所述目标字符串组解密所述混淆表,以及根据解密结果,确定所述目标标识对应的第二数据与所述第一数据的计算结果。
11.根据权利要求10所述的系统,其中,所述第二方具体用于:
对于任一第二数据,根据其第i位二进制数为0或1,将第i根第二输入线的真值0或真值1对应的标注字符串作为第i个选定字符串;所述任一第二数据的L位二进制数对应的L个选定字符串形成其对应的字符串组。
12.根据权利要求10所述的系统,其中,所述计算请求还包括第一基值,所述第一基值基于所述目标标识的顺序编号和约定随机数而确定;
所述第二方还具体用于:
基于所述第一基值,生成对应于所述n个标识的n个OT标签,并利用该n个OT标签,对应加密所述n个字符串组,得到所述n个加密结果;
所述第一方具体用于:
利用与所述第一基值关联地生成的第一选择标签,解密所述n个加密结果,得到所述目标字符串组;所述第一选择标签是所述n个OT标签中之一。
13.根据权利要求12所述的系统,其中,所述第二方还具体用于:
迭代地执行对应于所述n个标识的n轮标签生成;其中,任意的第j轮标签生成包括,对第一基值与第j个标识的顺序编号和约定随机数的乘积求差,并基于差值,利用与第一方约定的哈希函数,确定本轮生成的OT标签;
所述第一方还具体用于:
基于所述第一基值,利用所述哈希函数,确定所述第一选择标签。
14.根据权利要求10所述的系统,其中,所述计算请求还包括L个第二基值;所述L个第二基值至少基于所述第一数据的L位二进制数而确定;所述第二方还具体用于:
基于所述L个第二基值,生成L对OT标签;根据所述L对OT标签,确定所述L根第一输入线的标注字符串;
所述第一方还具体用于:
与所述L个第二基值关联地生成L个第二选择标签,用于解密所述混淆表;其中,第i个第二选择标签,是第i对OT标签所含标签之一。
15.根据权利要求14所述的系统,其中,所述L个第二基值中的第i个第二基值,基于所述第一数据的第i位二进制数和约定随机数而确定;
所述第二方还具体用于:
基于所述第i个基值并利用与所述第一方约定的哈希函数,确定第一标签;
基于所述第i个基值与所述约定随机数之差,并利用所述哈希函数,确定第二标签;所述第一标签和所述第二标签构成第i对OT标签。
16.根据权利要求14所述的方法,其中,任意的第i对OT标签包括第一标签和第二标签;
所述第二方还具体用于:
将所述第一标签,作为第i根第一输入线的真值0对应的标注字符串;
将所述第二标签,作为第i根第一输入线的真值1对应的标注字符串。
17.根据权利要求10所述的系统,其中,所述解密结果包括所述第一方算出的所述布尔电路的输出线的目标字符串;
所述第一方还具体用于:
将所述目标字符串的最低比特作为所述计算结果的第一结果分片,并对所述第一结果分片与从所述第二方接收的所述计算结果的第二结果分片进行异或运算,得到所述计算结果;
其中,所述第二结果分片是所述输出线的真值0对应的标注字符串的最低比特。
18.一种两方安全计算的装置,设置于第二方,包括:
接收单元,用于从第一方接收计算请求;其中包括n个标识;所述n个标识包括目标标识和n-1个混淆标识;所述第一方持有所述目标标识对应的第一数据;
生成单元,用于生成用于对两个数据进行计算的布尔电路,以及生成对应的混淆表;所述布尔电路包括L根第一输入线和L根第二输入线,其中的L根第一输入线对应于所述第一数据;
获取单元,用于获取所述n个标识对应的n个第二数据,并根据所述L根第二输入线的标注字符串,以及所述n个第二数据各自的L位二进制数,确定所述n个第二数据对应的n个字符串组;
发送单元,用于利用n选1的目标OT协议加密所述n个字符串组,并将得到的n个加密结果和所述混淆表发送给所述第一方,以使得所述第一方利用所述目标OT协议解密所述n个加密结果,以及解密所述混淆表,以获取所述目标标识对应的第二数据与所述第一数据的计算结果。
19.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项所述的方法。
20.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
CN202211399287.0A 2022-11-09 2022-11-09 两方安全计算的方法及系统 Pending CN115766174A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211399287.0A CN115766174A (zh) 2022-11-09 2022-11-09 两方安全计算的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211399287.0A CN115766174A (zh) 2022-11-09 2022-11-09 两方安全计算的方法及系统

Publications (1)

Publication Number Publication Date
CN115766174A true CN115766174A (zh) 2023-03-07

Family

ID=85368648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211399287.0A Pending CN115766174A (zh) 2022-11-09 2022-11-09 两方安全计算的方法及系统

Country Status (1)

Country Link
CN (1) CN115766174A (zh)

Similar Documents

Publication Publication Date Title
CN113424185B (zh) 快速不经意传输
CN111510281B (zh) 一种同态加密方法及装置
US20140233727A1 (en) Method for secure substring search
US20180131512A1 (en) Method and system for providing encrypted data on a client
JP2014017556A (ja) 共有秘密鍵生成装置、暗号化装置、復号化装置、及びプログラム
CN112597524B (zh) 隐私求交的方法及装置
CN111586142B (zh) 一种安全多方计算方法及系统
CN114175572A (zh) 利用拟群运算对加密数据实行相等和小于运算的系统和方法
US20240163084A1 (en) Method of data transmission, and electronic devic
CN113886887A (zh) 基于多方安全计算的数据查询方法及装置
US20100005307A1 (en) Secure approach to send data from one system to another
CN115905710A (zh) 一种匿踪查询系统、方法、装置、电子设备及存储介质
CN114443718A (zh) 一种数据查询方法及系统
GB2603495A (en) Generating shared keys
Olumide et al. A hybrid encryption model for secure cloud computing
Holz et al. Linear-complexity private function evaluation is practical
CN111555880A (zh) 数据碰撞方法、装置、存储介质及电子设备
US20230396432A1 (en) Methods and systems for updatable encryption
CN115828310B (zh) 一种基于隐私计算的数据查询方法、装置及存储介质
CN114465708B (zh) 隐私数据处理方法及装置、系统、电子设备、存储介质
US20240048360A1 (en) Method for processing multi-source data
CN116248359A (zh) 一种基于不经意传输协议的数据传输系统、方法及装置
CN112019335B (zh) 一种基于sm2算法的多方协同加解密方法及装置、系统、介质
CN114024674B (zh) 两方安全比较的方法及系统
CN115766174A (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