CN111460510A - 基于隐私保护确定相同业务数据的方法及装置 - Google Patents

基于隐私保护确定相同业务数据的方法及装置 Download PDF

Info

Publication number
CN111460510A
CN111460510A CN202010302518.6A CN202010302518A CN111460510A CN 111460510 A CN111460510 A CN 111460510A CN 202010302518 A CN202010302518 A CN 202010302518A CN 111460510 A CN111460510 A CN 111460510A
Authority
CN
China
Prior art keywords
hash
tables
party
same
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010302518.6A
Other languages
English (en)
Other versions
CN111460510B (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 CN202010302518.6A priority Critical patent/CN111460510B/zh
Publication of CN111460510A publication Critical patent/CN111460510A/zh
Application granted granted Critical
Publication of CN111460510B publication Critical patent/CN111460510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书实施例提供一种基于隐私保护确定多个业务方的相同业务数据的方法,通过在各个业务方按照相同规则分别设置的4个哈希表,结合布谷鸟哈希,以及相同业务数据的散列值存储位置重合原理,使得两两业务方之间的数据比较次数大大减少,例如减少至8(子表数量)与业务数据较多的业务方所拥有的业务数据条数的乘积,提高比较效率,另一方面,采用基于秘密共享的等式比较方式进行相应位置的两方数据比较,并在数据比较过程中采用随机抽取部分位比较的方法,减少安全比较过程中的计算量,提高比较效率。总之,本说明书的技术构思可以在隐私保护的基础上,提高确定多个业务方的相同业务数据的效率。

Description

基于隐私保护确定相同业务数据的方法及装置
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及基于隐私保护,通过计算机确定多个业务方中的相同业务数据的方法和装置。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。例如,安全多方计算一个典型的应用是隐私求交。隐私求交(Private set intersection, PSI),或称为撞库,可以理解为在基于隐私保护的前提下,确定多方之间的交集。隐私求交往往是多方协同训练机器学习算法以及做多头借贷等业务的核心。隐私求交的核心思想是在协议交互的最后,一方或是多方应该得到正确的交集,而且不会得到交集以外其他方数据集合中的其他任何数据。
常规技术中,隐私求交的过程中多个参与方之间往往需要较多的交互次数,从而比较效率较低。
发明内容
本说明书一个或多个实施例描述了一种基于隐私保护确定多个业务方的相同业务数据的方法及装置,用以解决背景技术提到的一个或多个问题。
根据第一方面,提供了一种基于隐私保护确定多个业务方的相同业务数据的方法,所述多个业务方包括第一方和第二方,所述方法由所述第一方执行,包括:针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,所述4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;对于所述4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与所述第一位置相对应的第二位置,是否存储有相同的散列值,其中,所述第二组4个哈希表与所述第一组4个哈希表一一对应,且由所述第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据。
在一个实施例中,在所述第一结果为不相等的情况下,确定所述比较结果为所述第二位置未和所述第一位置存储相同散列值。
在一个实施例中,在所述第一结果为相等的情况下,继续分别从所述第一位置的散列值、所述第二位置的数值中各自挑选若干位数值进行比较,直至:出现不相等的第i结果,确定所述比较结果为所述第二位置未和所述第一位置存储相同散列值;或者出现相等的第j结果且不存在未进行比较的数值,确定所述比较结果为所述第二位置和所述第一位置存储有相同散列值。
在一个实施例中,所述根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据包括:
在所述比较结果为所述第二位置和所述第一位置存储有相同散列值的情况下,确定所述第一业务数据为所述第一方和所述第二方的相同业务数据。
根据第二方面,提供一种基于隐私保护确定多个业务方的相同业务数据的方法,所述多个业务方包括第一方和第二方,所述方法由所述第二方执行,包括:针对第二业务数据,通过以下方式在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;对于所述至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与所述第二位置相对应的第一位置,是否存储有相同的散列值,其中:所述第一组4个哈希表与所述第二组4个哈希表一一对应,且由所述第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置;所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据。
在一个实施例中,所述利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中包括:在利用所述2个无重叠交叉组合分别确定的2个存储位置对应同一个哈希表的情况下,按照所述2个存储位置存储相应散列值;在利用所述2个无重叠交叉组合分别确定的2个存储位置对应不同哈希表的情况下,将2个相应散列值按照对应的哈希函数存储到同一个辅助表。
在一个实施例中,在所述第一结果为不相等的情况下,确定所述比较结果为所述第一位置未与所述第二位置存储相同散列值。
在一个实施例中,在所述第一结果为相等的情况下,继续分别从所述第一位置的数值、所述第二位置的散列值中各自挑选若干位数值进行比较,直至:出现不相等的第i结果,确定所述比较结果为所述第一位置未和所述第二位置存储相同散列值;或者,出现不相等的第j结果且不存在未进行比较的数值,确定所述比较结果为所述第一位置和所述第二位置存储有相同散列值。
在一个实施例中,所述根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据包括:在所述比较结果为所述第一位置和所述第二位置存储有相同散列值的情况下,确定所述第二业务数据为所述第一方和所述第二方的相同业务数据。
根据第三方面,提供一种基于隐私保护确定多个业务方的相同业务数据的装置,所述多个业务方包括第一方和第二方,所述装置设于所述第一方,包括:
存储单元,配置为针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,所述4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元,配置为对于所述4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与所述第一位置相对应的第二位置,是否存储有相同的散列值,其中,所述第二组4个哈希表与所述第一组4个哈希表一一对应,且由所述第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
确定单元,配置为根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据。
根据第四方面,提供一种基于隐私保护确定多个业务方的相同业务数据的装置,所述多个业务方包括第一方和第二方,所述装置设于所述第二方,包括:
存储单元,配置为针对第二业务数据,通过以下方式在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元,配置为对于所述至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与所述第二位置相对应的第一位置,是否存储有相同的散列值,其中:所述第一组4个哈希表与所述第二组4个哈希表一一对应,且由所述第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置;所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
确定单元,配置为根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,在基于隐私保护确定多个业务方的相同业务数据的过程中,通过在各个业务方按照相同规则分别设置的4个哈希表,结合布谷鸟哈希,以及相同业务数据的散列值存储位置重合原理,使得两两业务方之间的数据比较次数大大减少,例如减少至8(子表数量)与业务数据较多的业务方所拥有的业务数据条数的乘积,提高比较效率,另一方面,采用基于秘密共享的等式比较方式进行相应位置的两方数据比较,并在数据比较过程中采用随机抽取部分位比较的方法,减少安全比较过程中的计算量,提高比较效率。总之,本说明书的技术构思可以在隐私保护的基础上,提高确定多个数据方的相同业务数据的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出本说明书技术构思中基于隐私保护确定多个业务方的相同业务数据的实施架构示意图;
图2-图6示出本说明书实施架构下的技术构思原理;
图7示出根据一个实施例的基于隐私保护确定多个业务方的相同业务数据的方法流程图;
图8示出根据另一个实施例的基于隐私保护确定多个业务方的相同业务数据的方法流程图;
图9示出根据一个实施例的基于隐私保护确定多个业务方的相同业务数据的装置的示意性框图;
图10示出根据另一个实施例的基于隐私保护确定多个业务方的相同业务数据的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
首先,结合图1示出一个具体实施场景进行说明。如图1所示,在该实施场景中,多个数据方分别拥有自己的业务数据,多个数据方也可以称为多个业务方。这些数据方之间可以相互进行数据通信,例如联合进行安全数据运算。即,在各个数据方相互不获取其他方数据的情况下,进行数据运算。这里的数据运算例如是加和、乘法、逻辑运算(与、或、非)等等。可以理解的是,减法和加法可以相互转化,乘法和除法可以相互转化。数据运算作为一种手段,其具体场景可以根据实际业务需要确定。具体的业务数据例如可以是文字数据、图片数据、音频数据、视频数据等等。
在本说明书实施架构下,以隐私求交场景为例进行描述。作为示例,在一个具体场景中,当一个用户注册使用一种新的服务(如微信、Whatsapp 等)时,为了给用户提供更好的体验,可以从用户的现有联系人中寻找有哪些联系人注册了同类的服务。如果将用户的联系人发送给服务提供商,虽然可以有效地完成这项功能,但是同时用户的联系人信息,这种在大多数情况下被认为是隐私的信息,也被暴露给服务提供商。在这种场景下,用户的联系人信息作为一个数据方拥有的业务数据,开通服务的用户信息作为另一个数据方(服务提供商)所拥有的数据,如何在保护数据隐私的基础上对这两个数据方分别拥有的数据求交集,就是隐私求交问题。隐私求交的结果是,确定多个数据方之间的相同业务数据(如用户),并且一个数据方至少不会获知另一个数据方交集以外的其他业务数据。
图1中,隐私求交过程可以由计算平台完成。计算平台可以是设于可信第三方设备的平台,也可以是设于多个数据方中的一个数据方或分布在多个数据方的平台。计算平台可以与各个数据方进行数据交互。图1中的多个数据方可以是相同数据类别的数据方,例如都是银行类别数据方,或者都是购物平台数据方等等。多个数据方也可以是不同类别的数据方,例如数据方1是购物平台数据方,数据方2是借贷平台数据方,或者上述例子中数据方1是联系人信息的数据拥有方,数据方2是服务提供商,等等。在隐私求交场景下,这些数据方所提供的业务数据通常是同一类型的业务数据。例如,数据方1是购物平台数据方,数据方2是借贷平台数据方的情况下,如果购物平台绑定有付款银行卡号,借贷平台绑定有提款还款银行卡号,双方提供的用于隐私求交的业务数据可以是银行卡号。如果购物平台数据方和借贷平台数据方都登记有用户的电话号码,双方提供的用于隐私求交的业务数据也可以是电话号码。在其他业务场景下,业务数据也可以包含其他数据,在此不再一一列举。
值得说明的是,图1中示出的数据方的数量仅为示例,实际应用中,数据方的数量为两个或两个以上,根据实际需求设置,在此不做限定。
常规技术中,隐私求交过程通常需要多个数据方(或业务方)之间的多轮次通信过程,交互过程越多,隐私泄露的风险越高。为了减少多个数据方之间的通信次数,本说明书提供的基于隐私保护确定多个业务方的相同业务数据的方法,各个数据方采用新的布谷鸟散列方法,对其拥有的业务数据进行存储,并通过基于秘密共享的等式比较方式,对相应子表中存储的数值一一对比的方式,确定两个业务方的共同业务数据,保护数据隐私。
可以理解的是,隐私求交的场景可以有多种,例如还可以是,确定多个银行的共同贷款用户的场景等等。在隐私求交场景下,相同业务数据可以是某一项业务数据的交集,而不必完全相同。通常,用于确定交集的业务数据可以是通用型、唯一确定性的业务数据。例如,前述的确定联系人和服务之间的交集时,可以通过电话号码等业务数据进行,而不必是联系人备注名、服务中的用户名等完全一致。确定多个银行的共同贷款用户的场景可以通过开户身份证号等业务数据进行,而不必银行卡号、借贷记录等完全一致。
下面先详细描述本说明书的技术构思下,对两个业务方确定共同业务数据时,如何采用布谷鸟散列存储数据。为了描述方便,这里假设两个业务方分别为第一方和第二方。其中,第一方和第二方仅用于对两个业务方进行区分,而不进行其他如顺序等方面的限定。
布谷鸟散列(CuckooHash)是为了解决冲突而提出的一种哈希方法。使用两个哈希函数hashA、hashB分别计算某个数据对应的key位置,如果两个位置均为空(未存储数值),则任选一个插入相应哈希值,如果两个位置中一个为空,则插入相应哈希值到空的那个位置,如果两个位置均不为空,则任意踢出一个位置后插入相应哈希值,对被踢出的数值对应的数据调用另一个哈希函数找其另一个位置,直到插入成功。可选地,如果某次存储过程中被踢出的次数达到一定的阈值(如20次),则认为hash表已满,并进行重新哈希(rehash)。
由于每方提供一个哈希表的对比方法可能暴露数据隐私,设想每个业务方可以通过4个哈希函数,构建2个哈希表,每个哈希表包括2个子表,各个子表分别对应各个哈希函数。为了描述方便,可以将4个哈希函数分别记为:第一哈希函数
Figure DEST_PATH_IMAGE001
、第二哈希函数
Figure 800720DEST_PATH_IMAGE002
、第三哈希函数
Figure DEST_PATH_IMAGE003
,以及第四哈希函数
Figure 655544DEST_PATH_IMAGE004
。值得说明的是,本说明书对所涉及的各个哈希函数本身不做限定,以上4个哈希函数可以是任意4个哈希函数。
图2给出了第一方通过2组哈希算法构建的2个哈希表的示例。如图2所示,在第一哈希表中,两个子表为
Figure DEST_PATH_IMAGE005
Figure 310647DEST_PATH_IMAGE006
,分别对应哈希函数
Figure 643540DEST_PATH_IMAGE001
Figure 661174DEST_PATH_IMAGE002
,也就是说,子表
Figure 952478DEST_PATH_IMAGE005
存储通过哈希函数
Figure 148406DEST_PATH_IMAGE001
确定的散列值,子表
Figure 816147DEST_PATH_IMAGE006
存储通过哈希函数
Figure 953868DEST_PATH_IMAGE002
确定的散列值。类似地,第二哈希表的两个子表为
Figure DEST_PATH_IMAGE007
Figure 884915DEST_PATH_IMAGE008
,分别对应哈希函数
Figure 842506DEST_PATH_IMAGE003
Figure 517201DEST_PATH_IMAGE004
对第一方而言,可以先对每条业务数据,分别利用上述的2个哈希表中的4个哈希函数进行哈希运算,并利用布谷鸟散列的方式存储在各个哈希表中。也就是说,对单条业务数据按照2个哈希表所包含的子表及相应哈希函数分别进行2组布谷鸟散列,从而在每个哈希表的其中一个子表存储有该单条业务数据对应的散列值。
为了进行安全比较,第二方也可以根据以上4个哈希函数构建2组布谷鸟散列,分别对应2个哈希表,各个哈希表中的子表及哈希函数与第一方设置一致。可以理解,在哈希函数一样的情况下,业务数据完全相同,则在相应子表中的存储位置理论上存在一致的可能。但由于第一方和第二方拥有不完全相同的业务数据,以及业务数据排列顺序,并且布谷鸟哈希方法存在一定随机性,因此对相同业务数据执行布谷鸟散列后,其散列值存储位置也不完全相同。但在同一个哈希函数对应的子表中,相同业务数据对应的散列值存储位置往往是一致的。亦即,如果相同的业务数据的散列值在第一方存储的子表和第二方存储的子表有一个是对应一致的子表,例如都是图2示出的子表TL1,则该相同的业务数据的散列值在第一方的子表TL1中和第二方的子表TL1中,存储在相对应的位置,例如都是第30行第1000列的位置。
如此,如果第一方和第二方在至少一个子表中,相对应的2个位置的散列值相同,则该相对应2个位置分别对应的第一方的业务数据是第一方和第二方的业务数据是相同的业务数据。这就需要保证,对于某条业务数据而言,按照第一方的散列值存储规则和第二方的散列值存储规则,两方存储散列值的子表至少有一个是对应一致的,例如都在子表
Figure DEST_PATH_IMAGE009
中存储。
作为示例,对于第一方的某条业务数据而言,在第一哈希表和第二哈希表中可能存储位置组合如图3所示。如果第二方也拥有该条业务数据,那么第二方针对该条业务数据的散列值至少在一个子表中的存储是与第一方一致的。如图3所示,如果可以第二方将业务数据同时存放于一个哈希表中,如第一哈希表的子表
Figure 447111DEST_PATH_IMAGE010
Figure 611376DEST_PATH_IMAGE009
中,或者同时存放于第二哈希表的子表
Figure DEST_PATH_IMAGE011
Figure 790685DEST_PATH_IMAGE012
中,则就可以确保针对相同的业务数据,第二方和第一方存储散列值的子表至少有一个对应一致。
为了实现上述目标,第二方的数据存储组合如图4所示,对于一条业务数据,确保其散列值同时出现在
Figure 562DEST_PATH_IMAGE010
Figure 112874DEST_PATH_IMAGE009
中,或者
Figure 916882DEST_PATH_IMAGE012
Figure 380225DEST_PATH_IMAGE011
中。也就是说,业务数据的散列值存储在同一个哈希表的两个子表中。这样的话,如果第二方也按照与第一方一致的布谷鸟散列方法,则无法同时将一条业务数据的散列值同时存储在一个哈希表的2个子表。因此,考虑第二方对单条业务数据执行布谷鸟哈希时,采用从第一个哈希表中选择一个子表和从第二个哈希表中选择一个哈希表的交叉组合方式。为了避免两次布谷鸟哈希选中相同的子表,采用无交叉组合方式执行布谷鸟哈希。参考图3所示,第二方执行布谷鸟哈希时,采用的子表无交叉组合例如是:
Figure DEST_PATH_IMAGE013
Figure 927881DEST_PATH_IMAGE012
组合,以及
Figure 160279DEST_PATH_IMAGE009
Figure 400767DEST_PATH_IMAGE011
组合。当然,这种组合也可以是
Figure 820247DEST_PATH_IMAGE010
Figure 437173DEST_PATH_IMAGE011
组合,以及
Figure 258499DEST_PATH_IMAGE009
Figure 935468DEST_PATH_IMAGE012
,在此不作限定。
然而,可以理解的是,这种方式下仍存在第二方对同一条业务数据执行2次布谷鸟散列选中的子表不再一个哈希表内的情形。为此,引入两个辅助表,利用四个哈希表来存储业务数据的散列值,来解决这个问题。
图5示出了第一方引入辅助表之后的哈希表对应的子表及相应哈希函数的排列情况。将原来的2个哈希表称为基准表,则辅助表相对于基准表,第一个子表的哈希函数设置一致,第二个子表的哈希函数设置相反。如图5所示,在第一哈希表中,两个子表为
Figure 576665DEST_PATH_IMAGE005
Figure 731703DEST_PATH_IMAGE006
,分别对应哈希函数
Figure 938693DEST_PATH_IMAGE001
Figure 520984DEST_PATH_IMAGE002
,第二哈希表的两个子表为
Figure 915056DEST_PATH_IMAGE007
Figure 873785DEST_PATH_IMAGE008
,分别对应哈希函数
Figure 669703DEST_PATH_IMAGE003
Figure 688474DEST_PATH_IMAGE004
,第三哈希表的两个子表为
Figure 835422DEST_PATH_IMAGE014
Figure DEST_PATH_IMAGE015
,分别对应哈希函数
Figure 804034DEST_PATH_IMAGE001
Figure 720037DEST_PATH_IMAGE004
,第四哈希表的两个子表为
Figure 378551DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
,分别对应哈希函数
Figure 950478DEST_PATH_IMAGE003
Figure 251009DEST_PATH_IMAGE002
从图5可以看出,第一哈希表和第三哈希表的第一个子表对应相同的哈希函数
Figure 21519DEST_PATH_IMAGE001
,第二哈希表和第四哈希表的第一个子表对应相同的哈希函数
Figure 382094DEST_PATH_IMAGE003
,第三哈希表的第二个子表对应的哈希函数与第二哈希表的第二个子表对应的哈希函数
Figure 238054DEST_PATH_IMAGE004
一致,第四哈希表的第二个子表对应的哈希函数与第一哈希表的第二个子表对应的哈希函数
Figure 76697DEST_PATH_IMAGE002
一致。
在进行隐私求交时,第一方构建第一组4个哈希表。第一方可以按照各个哈希表中的各组哈希函数,分别对单条业务数据执行布谷鸟散列,存储相应散列值。在2个基准表和2个辅助表中,一条业务数据的散列值存储组合可能出现的情况分别如图3所示。
第二方也按照图5所示的方式构建第二组4个哈希表。在2个基准表中,第二方确定的业务数据散列值存储地址可以分为两类,一类是如图4所示的同一哈希表中的2个子表存储地址组合,一类是不同哈希表中的2个子表存储地址(如
Figure 436134DEST_PATH_IMAGE010
Figure 967610DEST_PATH_IMAGE011
Figure 310866DEST_PATH_IMAGE009
Figure 953200DEST_PATH_IMAGE012
等)。
可以理解,当针对某条业务数据,在2个基准表中被选中的子表在同一个哈希表中,例如被选中的哈希表为
Figure 698302DEST_PATH_IMAGE010
Figure 400679DEST_PATH_IMAGE009
,则满足同一条业务数据至少在第一方和第二方相对应的子表中同时出现的情形,可以通过两方的哈希表散列值比较确定是否对应相同业务数据。
当针对某条业务数据,在2个基准表中被选中的子表不在同一个哈希表中,例如被选中的哈希表为
Figure 231232DEST_PATH_IMAGE010
Figure 411678DEST_PATH_IMAGE011
,则不满足同一条业务数据至少在第一方和第二方相对应的子表中同时出现的情形。此时,如图6所示,假设被选中的子表为
Figure 276865DEST_PATH_IMAGE010
Figure 884564DEST_PATH_IMAGE011
,分别对应哈希函数
Figure 202413DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE019
,则可以将相应哈希值调整到辅助表中。由于第三哈希表中的2个子表对应的哈希函数分别与
Figure 590145DEST_PATH_IMAGE010
Figure 309839DEST_PATH_IMAGE011
一致,为
Figure 354018DEST_PATH_IMAGE018
Figure 159163DEST_PATH_IMAGE019
,因此,无需重新计算,可以直接将相应哈希值存储到第三哈希表的相应子表中(对应的哈希函数分别为
Figure 681412DEST_PATH_IMAGE018
Figure 255612DEST_PATH_IMAGE019
)。如图6所示的带箭头的虚线表示,被选中的子表
Figure 470693DEST_PATH_IMAGE011
和第三哈希表中的子表
Figure 231976DEST_PATH_IMAGE020
对应相同的哈希函数
Figure 823494DEST_PATH_IMAGE019
,则将相应散列值直接存储在该子表
Figure 252201DEST_PATH_IMAGE020
中,同理,被选中的子表
Figure 638183DEST_PATH_IMAGE011
对应的散列值被存储在子表
Figure DEST_PATH_IMAGE021
中。可以理解,第一方在存储业务数据的散列值时,每条业务数据在第三哈希表中都选中其中一个子表进行存储,因此,如果上述第二方转移的这条业务数据与第一方的某条业务数据相同,则第一方和第二方必然在第三哈希表的相同子表中存储了相应业务数据的散列值。即,满足上述的可以通过两个数据方的哈希表元素比较确定是否对应相同业务数据的情形。
同理,当针对一条业务数据,第一哈希表和第二哈希表中被选中的子表为
Figure 324247DEST_PATH_IMAGE010
Figure 188298DEST_PATH_IMAGE011
时,可以将相应散列值按照哈希函数对应转移到第四哈希表的2个子表中。
总之,第二方针对某条业务数据存储的散列值可能位于同一个基准表(如第一哈希表的2个子表或第二哈希表的2个子表)或者同一个辅助表(如第三哈希表的2个子表或第四哈希表的2个子表)中。
如此,第一方和第二方分别按照相应布谷鸟散列规则将其拥有的业务数据逐条在哈希表中存储,则对于每条相同业务数据,一方至少在其中一个存储了该条业务数据的散列值的子表中,可以与另一方的相应子表中的相同位置上存储有相同的散列值。此时,如果将第一方的8个子表与第二方的8个子表一一对应,且逐个元素对比,则可以确定两个业务方所包含的相同业数据。
根据以上原理,图7示出了根据本说明书一个实施例的基于隐私保护确定多个业务方的相同业务数据的流程示意图。基于隐私保护确定相同业务数据的流程可以用于从多个业务方的业务数据中确定相同业务数据,并至少对相同业务数据之外的其他业务数据进行隐私保护。这里的多个业务方至少包括第一方和第二方,图7示出的流程为第一方和第二方之一执行的流程。在本说明书中,第一方和第二方可以表示任意的两个业务方,名称不对业务方本身进行限定,因此,以该流程是第一方执行的流程为例进行说明。在图1示出的计算平台分布在多个数据方时,该流程的执行主体可以是计算平台分布在第一方的部分。
如图7所示,基于隐私保护确相同业务数据的流程包括:步骤701,针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;步骤702,对于4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与第一位置相对应的第二位置,是否与第一位置存储有相同的散列值,其中,第二组4个哈希表与第一组4个哈希表一一对应,且由第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对单条业务数据执行2次布谷鸟散列,从而将单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,基于秘密共享的等式比较方式包括,从第一位置上的散列值中挑选若干位数值,与第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定第一位置上的散列值与第二位置上的数值的比较结果;步骤703,根据比较结果,确定第一业务数据是否为第一方和第二方的相同业务数据。
首先,在步骤701,针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置。这里,第一业务数据可以是第一方拥有的任意一条业务数据。
根据前述的本说明书技术架构下的技术原理,第一方可以利用4个哈希函数构建4个哈希表,每个哈希表对应2个子表,每个子表对应一个哈希函数。其中4个哈希表包括2个基准表和2个辅助表。为了和第二方的哈希表进行区分,这里将第一组构建的4个哈希表称为第一组4个哈希表。2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反。具体地,例如第一哈希表的第一个子表与第三哈希表的第一个子表对应第一哈希函数,第二哈希表的第一个子表与第四哈希表的第一个子表对应第二哈希函数,第一哈希表的第二个子表与第四哈希表的第二个子表对应第三哈希函数,第二哈希表的第二个子表与第三哈希表的第二个子表对应第四哈希函数。
可以理解,在对第一业务数据执行布谷鸟散列过程中,针对一个哈希表(以第一哈希表为例),可以将第一业务数据利用第一哈希表对应的2个哈希函数分别确定其在相应2个子表中的key位置,并按照前述的布谷鸟散列规则将第一业务数据的散列值存储在其中一个子表。被选中的子表可能是2个子表中的任意一个子表。如此,每个哈希表中都有一个子表存储了第一业务数据在相应哈希函数(与子表对应的哈希函数)下的散列值。也就是说,针对第一业务数据,第一方在第一组4个哈希表各自选中一个子表,共4个子表的4个位置存储了第一业务数据的散列值。
接着,步骤702,对于上述4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与第一位置相对应的第二位置,是否存储有相同的散列值。这里,第二组4个哈希表和第一组4个哈希表可以是一一对应设置的。例如,第二组4个哈希表相对于第一组4个哈希表,各个哈希表一一对应、各个哈希表中的子表一一对应、子表对应的哈希函数一一对应。
也就是说,第二方同样利用与第一方一致的4个哈希函数构建4个哈希表,每个哈希表对应2个子表。第二组4个哈希表可以包括2个基准表和2个辅助表。2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反。例如,第一哈希表的第一个子表与第三哈希表的第一个子表对应第一哈希函数,第二哈希表的第一个子表与第四哈希表的第一个子表对应第二哈希函数,第一哈希表的第二个子表与第四哈希表的第二个子表对应第三哈希函数,第二哈希表的第二个子表与第三哈希表的第二个子表对应第四哈希函数。
与第一方不同的是,第二方存储单条业务数据的散列值时,可以首先按照基准表分别对单条业务数据执行布谷鸟散列,执行方式可以是以下一种:第一哈希表的第一子表与第二哈希表的第一子表、第一哈希表的第二子表与第二哈希表的第二子表;第一哈希表的第一子表与第二哈希表的第二子表、第一哈希表的第二子表与第二哈希表的第一子表等。也就是说,利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对单条业务数据执行2次布谷鸟散列。其执行结果可以有以下的两种情况。
一种情况如图4所示,单条业务数据的散列值的存储位置是单核哈希表对应的子表。也就是说,被选中的子表为以下中的一项:第一哈希表的第一个子表及第二个子表;第二哈希表的第一个子表及第二个子表。这种情况下,第二方可以将该单条业务数据的散列值存储在同一个基准表的2个子表中,如果第二方也拥有第一业务数据,那么,在第一哈希表和第二哈希表中,必然存在存储了第一业务数据的散列值的子表,与第一方的相应子表在对应一致的位置存储了第一业务数据的散列值。这种情况下,第二方按照布谷鸟哈希执行结果在2个基准表中存储相应业务数据的散列值即可。
另一种情况如图6所示,在针对单条业务数据的相应散列值的存储位置在基准表中存在交叉的情况时,即选中的子表为:第一哈希表的第一个子表及第二哈希表的第二个子表,或者第一哈希表的第二个子表及第二哈希表的第一个子表,或者第一哈希表的第一个子表及第二哈希表的第一个子表,或者第一哈希表的第二个子表及第二哈希表的第二个子表。这种情况下,如果第二方也拥有第一业务数据,那么不能保证,在2个基准表中,存在至少一个存储了第一业务数据的散列值的子表,与第一方的相应子表在对应一致的位置存储了第一业务数据的散列值。此时,可以将相应业务数据的散列值存储在辅助表。例如图6中,第一哈希表的第一个子表
Figure 471511DEST_PATH_IMAGE010
及第二哈希表的第二个子表
Figure 293974DEST_PATH_IMAGE011
被命中的情况下,将相应散列值按照对应的哈希函数
Figure 29849DEST_PATH_IMAGE018
Figure 697590DEST_PATH_IMAGE019
分别存储到同一辅助表(第三哈希表)的第一个子表和第二个子表中。同理,在第一哈希表的第二个子表
Figure 100890DEST_PATH_IMAGE009
及第二哈希表的第一个子表
Figure 828674DEST_PATH_IMAGE012
被命中的情况下,将相应散列值按照对应的哈希函数
Figure 51845DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE023
分别存储到另一辅助表(第四哈希表)的第二个子表和第一个子表中。这样,如果第二方也拥有第一业务数据,那么可以保证,在某个辅助表中,必然存在至少一个存储了第一业务数据的散列值的子表,与第一方的相应子表在对应一致的位置存储了第一业务数据的散列值。
根据以上处理,如果第一方和第二方都拥有第一业务数据,那么第一方的8个子表与第二方的8个子表相比,必然存在1个子表,和第二方的1个子表,在相同位置存储了第一业务数据的相同散列值。因此,在本说明书的技术构思下,可以采用基于秘密共享的等式比较方式逐一比较第一方提供的8个子表和第二方提供的8个子表中相应位置的数值。
可以理解的是,每个子表的位置数(可存储的散列值数)可以不低于当前数据方的业务数据条数,为了保持一致,第一方和第二方各个子表的位置数一致。例如,第一方拥有100条业务数据,第二方拥有1000条业务数据,各个子表的位置数应不小于1000。此时,如果将数值一一匹配比较,可能需要比较至少100×1000=100000对数据,而通过本说明书技术构思下的比较方式,假设每个子表有1000个位置数,则可以比较8×1000对数据(即8000次数据交互),比较次数大大降低。业务数据条数越多,本说明书的比较次数减少幅度的优势越明显。例如以上例子中,当第一方和第二方的业务数据条数都为1000条时,传统比较方式的数据对数由10万增加至100万,而本说明书技术构思下的数据对数仍可以少至8000次。
下面介绍秘密共享的等式比较方式的原理。
假设第一方拥有的数据X,对应第二方拥有的数据Y,将数据X和数据Y分别表示成比特串,即用2进制数表示。可以理解,如果X和Y相等,那么相应的2个比特串按位相加并对2取模,得到的结果为各位都是0的比特串,例如X对应比特串1001,Y对应比特串1001,按位相加并对2取模后为0000。而如果将一方的各个位都按位加1并对2取模后,得到的比特串与另一方的比特串按位相加并对2取模,结果为1111。如X对应的比特串1001,各个位都按位加1并对2取模后为0110,与Y对应的比特串1001按位相加并对2取模后为1111。当其中一个比特位不是1时,表明X和Y不相等。于是,基于秘密共享的等式比较,可以将这样的比特串加和结果上的每一位相乘,如果结果是0(至少一位上不为0),则两个数值不相等,如果结果是1,则两个数值相等。
在基于秘密共享的等式比较中,为了保护双方的数据隐私,第一方将X对应的比特串随机拆分为XA和XB,并将XB分享给第二方,第二方将Y对应的比特串随机拆分为YA和YB,并将YA分享给第一方。第一方计算ZA=(XA+YA)⊕1,其中,⊕表示按位加1,即每一位上都加1,第二方计算ZB=XB+YB。则有Z=ZA+ZB的各个位都为1。通过秘密共享的乘法运算,确定Z各个位的乘积,即可得到比较结果。作为示例,如果乘积为1,说明Z的每一位都是1,即X和Y相等,否则,如果乘积为0,说明Z的至少一位是0,即X和Y不相等。
基于秘密共享的相等比较中,如果数据位数比较多,则比较效率会降低。因此,在本说明书可能的设计中,假设第一方针对第一业务数据的散列值的任意一个存储位置为第一位置,第二方与该第一位置对应的位置为第二位置,为了提高比较效率,可以每次从第一位置的散列值和第二位置的数值中,取出相对应的若干位(如10位)数值进行比较,并根据比较得到的子结果,确定最终对于第一位置和第二位置上的数值比较结果。如果当前比较的子结果(如第一结果)为不相等(例如乘法结果为0),则停止比较,并确定比较结果为第二位置未和第一位置存储相同散列值。如果当前比较的子结果为相等,则继续从剩余的位中取出若干位进行比较,直至:
出现不相等的第i结果,确定比较结果为第二位置未和第一位置存储相同散列值;
出现不相等的第i结果且不存在未进行比较的数值,确定比较结果为第二位置和第一位置存储有相同散列值。
其中,这里的第i结果、第j结果可以理解为第i次比较、第j次比较的结果。
通俗地讲,如果当前比较的结果为不相等(例如乘法结果为0),则停止比较,并确定比较结果为第二位置未和第一位置存储相同散列值。否则继续取出新的若干位的数值进行比较,循环执行这样的操作。如果比较结果一直为相等,则一直到不存在未进行比较的位(全部位比较完毕)时结束比较,并最终确定第一位置和第二位置存储了相同散列值。如果有一次的比较结果为不相等,则停止继续比较。
值得说明的是,为了保护数据隐私,每次取出数值的若干位可以随机确定。可选地,为了保证第一方和第二方取出相同位的数值,第一方和第二方可以用相同种子的伪随机数生成器确定选中的位。
作为一个具体示例,假设第一方第一位置的散列值为M,该第一位置例如为第二哈希表的第一个子表的第t个位置,则第二方提供的4个哈希表中,第二哈希表的第一个子表的第t个位置为第二位置,该第二位置对应的散列值假设为P。如果M和P的位数都为100位,例如第一次分别随机取出M和P中10位数值,比较结果为1,则第二次继续从其余的90位数值中选择10位数值进行安全比较。如果比较结果为0,则停止比较,确定M和P不相同。如果比较结果为1,则第三次可以继续从其余的80位数值中选择10位数值进行安全比较,如果直至第10次的安全比较结果都是1,则确定M和P是完全相等的数值。
按照这样的方式,可以对第一组4个哈希表中的8个子表,与第二组4个哈希表中的8个子表一一对比,并在每个子表中逐一位置相应进行安全比较。
在可选的实现方式中,为了进一步保护第一方和第二方的数据隐私,对于各个子表中未存储散列值的位置,可以随机插入相应位数的字符串,以作为干扰信息。
然后,通过步骤703,根据比较结果,确定第一业务数据是否为第一方和第二方的相同业务数据。可以理解,如果针对第一业务数据,第一方在4个哈希表中分别存储的4个位置中,有任一个位置与第二方提供的第二组4个哈希表的相应位置的散列值相同,则第一业务数据为第一方和第二方共同拥有的相同业务数据,例如相同手机号码、相同身份证号码等等。否则,如果在任何一个位置中都没有第二方的相应位置存储有相同的散列值,则第一业务数据仅是第一方拥有的业务数据。
图8从第二方的角度,示出了基于隐私保护确定多个业务方的相同业务数据的流程。如图8所示,该流程包括:
步骤801,针对第二业务数据,在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值。其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反。4个哈希表的设置方式与步骤701及附图5中描述的一致,在此不再赘述。
第二方在利用第二组4个哈希表存储第二业务数据的散列值时,可以利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对单条业务数据执行2次布谷鸟散列,从而将单条业务数据的散列值存储在同一基准表或同一辅助表中。具体地,如果这2次布谷鸟散列的执行结果为选中同一个基准表的两个子表存储第二业务数据的散列值,则按照布谷鸟散列计算结果存储相应散列值。否则,如果这2次布谷鸟散列的执行结果为分别从2个基准表中各选中同一个子表的位置,则按照这两个被选中的子表对应的哈希函数将2个散列值分别存储到同一辅助表的两个子表中。详见步骤702的描述,在此不再赘述。
也就是说,第二方对第二业务数据,可以至少存储2个散列值,对应第2组4各个哈希表的至少2个位置。
步骤802,对于上述至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与第二位置相对应的第一位置,是否存储有相同的散列值。
其中,第一组4个哈希表与第二组4个哈希表一一对应,且由第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置。详见步骤701的描述。
基于秘密共享的等式比较方式包括,从第一位置上的散列值中挑选若干位数值,与第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定第一位置上的散列值与第二位置上的数值的比较结果。
进一步地:
在第一结果为不相等的情况下,确定比较结果为第一位置未与第二位置存储相同散列值;
在第一结果为相等的情况下,继续分别从第一位置的数值、第二位置的散列值中各自挑选若干位数值进行比较,直至:
出现不相等的第i结果,确定比较结果为第一位置未和第二位置存储相同散列值;
出现不相等的第j结果且不存在未进行比较的数值,确定比较结果为第一位置和第二位置存储有相同散列值。
其中,这里的比较过程与步骤702描述的过程相呼应,在此不再赘述。
步骤803,根据比较结果,确定第二业务数据是否为第一方和第二方的相同业务数据。可以理解,如果第二方在存储第二业务数据的散列值的2个位置(位于4个哈希表的同一基准表或同一辅助表)中,有任一个位置与第一方提供的第一组4个哈希表的相应位置的散列值相同,则第二业务数据为第一方和第二方共同拥有的相同业务数据,例如相同手机号码、相同身份证号码等等。否则,如果在任何一个位置中都没有第一方的相应位置存储有相同的散列值,则第二业务数据仅是第二方拥有的业务数据。
本领域技术人员可以理解,第一方和第二方的业务数据交集可以根据第一方的第一组4个哈希表与第二组4个哈希表的比较结果确定。当需要确定多个业务方的共同数据交集时,可以将第一方和第二方的共同业务数据看作一方拥有的业务数据,第三方的业务数据看作另一方拥有的业务数据,通过类似的方法确定共同业务数据,以此类推,直至确定出多个业务方的共同业务数据。
回顾以上过程,本说明书实施例提供的基于隐私保护确定多个业务方的相同业务数据的方法,通过在各个业务方按照相同规则分别设置的4个哈希表,结合布谷鸟哈希,以及相同业务数据的散列值存储位置重合原理,使得两两业务方之间的数据比较次数大大减少,例如减少至8(子表数量)与业务数据较多的业务方所拥有的业务数据条数的乘积,提高比较效率,另一方面,采用基于秘密共享的等式比较方式进行相应位置的两方数据比较,并在数据比较过程中采用随机抽取部分位比较的方法,减少安全比较过程中的计算量,提高比较效率。总之,本说明书的技术构思可以在隐私保护的基础上,提高确定多个数据方的相同业务数据的效率。
根据另一方面的实施例,还提供一种基于隐私保护确定多个业务方的相同业务数据的装置。其中,这里的业务数据可以是文字、图像、语音、视频、动画等各种类型的数据。在隐私求交场景中,可以根据各个业务方的同类业务数据确定数据交集,这里的同类业务数据往往可以是在多个业务场景中较通用的并且相对唯一的数据,例如电话号码、身份证号等等。
假设多个业务方包括第一方和第二方,该装置可以设置于第一方。图9示出根据一个实施例的基于隐私保护确定相同业务数据的装置的示意性框图。如图9所示,装置900包括:
存储单元91,配置为针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元92,配置为对于4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与第一位置相对应的第二位置,是否存储有相同的散列值,其中,第二组4个哈希表与第一组4个哈希表一一对应,且由第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对单条业务数据执行2次布谷鸟散列,从而将单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,基于秘密共享的等式比较方式包括,从第一位置上的散列值中挑选若干位数值,与第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定第一位置上的散列值与第二位置上的数值的比较结果;
确定单元93,配置为根据比较结果,确定第一业务数据是否为第一方和第二方的相同业务数据。
根据一个实施方式,比较单元91在第一结果为不相等的情况下,确定比较结果为第二位置未和第一位置存储相同散列值。
根据另一个实施方式,比较单元91在第一结果为相等的情况下,继续分别从第一位置的散列值、第二位置的数值中各自挑选若干位数值进行比较,直至:
出现不相等的第i结果,确定比较结果为第二位置未和第一位置存储相同散列值;
出现相等的第j结果且不存在未进行比较的数值,确定比较结果为第二位置和第一位置存储有相同散列值。
在一个可能的设计中,确定单元93在比较结果为第二位置和第一位置存储有相同散列值的情况下,确定第一业务数据为第一方和第二方的相同业务数据。
值得说明的是,图9所示的装置900是与图7示出的方法实施例相对应的装置实施例,图7示出的方法实施例中的相应描述同样适用于装置900,在此不再赘述。
与装置900相互配合地,图10示出了设置于第二方的,基于隐私保护确定多个业务方的相同业务数据的装置1000。装置10000包括:
存储单元1001,配置为针对第二业务数据,通过以下方式在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对单条业务数据执行2次布谷鸟散列,从而将单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元1002,配置为对于至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与第二位置相对应的第一位置,是否存储有相同的散列值,其中:第一组4个哈希表与第二组4个哈希表一一对应,且由第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置;基于秘密共享的等式比较方式包括,从第一位置上的散列值中挑选若干位数值,与第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定第一位置上的散列值与第二位置上的数值的比较结果;
确定单元1003,配置为根据比较结果,确定第二业务数据是否为第一方和第二方的相同业务数据。
由图9和图10的对比可知,分别设置于第一方和第二方的基于隐私保护确定多个业务方的相同业务数据的装置900和1000,结构一致,但存储单元的作用(存储方式)不同。
根据一个实施例,存储单元1001进一步配置为:
在利用2个无重叠交叉组合分别确定的2个存储位置对应同一个哈希表的情况下,按照2个存储位置存储相应散列值;
在利用2个无重叠交叉组合分别确定的2个存储位置对应不同哈希表的情况下,将2个相应散列值按照对应的哈希函数存储到同一个辅助表。
在一个可选的实现方式中,比较单元1002在第一结果为不相等的情况下,确定比较结果为第一位置未与第二位置存储相同散列值。
在另一个可选的实现方式中,比较单元1002在第一结果为相等的情况下,继续分别从第一位置的数值、第二位置的散列值中各自挑选若干位数值进行比较,直至:
出现不相等的第i结果,确定比较结果为第一位置未和第二位置存储相同散列值;
出现不相等的第j结果且不存在未进行比较的数值,确定比较结果为第一位置和第二位置存储有相同散列值。
根据一个可能的设计,确定单元1003进一步配置为:
在比较结果为第一位置和第二位置存储有相同散列值的情况下,确定第二业务数据为第一方和第二方的相同业务数据。
值得说明的是,图10所示的装置1000是与图8示出的方法实施例相对应的装置实施例,图8示出的方法实施例中的相应描述同样适用于装置1000,在此不再赘述。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图7或图8所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图7或图8所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本说明书的技术构思的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的技术构思的具体实施方式而已,并不用于限定本说明书的技术构思的保护范围,凡在本说明书实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的技术构思的保护范围之内。

Claims (13)

1.一种基于隐私保护确定多个业务方的相同业务数据的方法,所述多个业务方包括第一方和第二方,所述方法由所述第一方执行,包括:
针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,所述4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
对于所述4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与所述第一位置相对应的第二位置,是否存储有相同的散列值,其中,所述第二组4个哈希表与所述第一组4个哈希表一一对应,且由所述第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据。
2.根据权利要求1所述的方法,其中,在所述第一结果为不相等的情况下,确定所述比较结果为所述第二位置未和所述第一位置存储相同散列值。
3.根据权利要求1所述的方法,其中,在所述第一结果为相等的情况下,继续分别从所述第一位置的散列值、所述第二位置的数值中各自挑选若干位数值进行比较,直至:
出现不相等的第i结果,确定所述比较结果为所述第二位置未和所述第一位置存储相同散列值;或者
出现相等的第j结果且不存在未进行比较的数值,确定所述比较结果为所述第二位置和所述第一位置存储有相同散列值。
4.根据权利要求1所述的方法,其中,所述根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据包括:
在所述比较结果为所述第二位置和所述第一位置存储有相同散列值的情况下,确定所述第一业务数据为所述第一方和所述第二方的相同业务数据。
5.一种基于隐私保护确定多个业务方的相同业务数据的方法,所述多个业务方包括第一方和第二方,所述方法由所述第二方执行,包括:
针对第二业务数据,通过以下方式在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
对于所述至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与所述第二位置相对应的第一位置,是否存储有相同的散列值,其中:所述第一组4个哈希表与所述第二组4个哈希表一一对应,且由所述第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置;所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据。
6.根据权利要求5所述的方法,其中,所述利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中包括:
在利用所述2个无重叠交叉组合分别确定的2个存储位置对应同一个哈希表的情况下,按照所述2个存储位置存储相应散列值;
在利用所述2个无重叠交叉组合分别确定的2个存储位置对应不同哈希表的情况下,将2个相应散列值按照对应的哈希函数存储到同一个辅助表。
7.根据权利要求5所述的方法,其中,在所述第一结果为不相等的情况下,确定所述比较结果为所述第一位置未与所述第二位置存储相同散列值。
8.根据权利要求5所述的方法,其中,在所述第一结果为相等的情况下,继续分别从所述第一位置的数值、所述第二位置的散列值中各自挑选若干位数值进行比较,直至:
出现不相等的第i结果,确定所述比较结果为所述第一位置未和所述第二位置存储相同散列值;或者
出现不相等的第j结果且不存在未进行比较的数值,确定所述比较结果为所述第一位置和所述第二位置存储有相同散列值。
9.根据权利要求5所述的方法,其中,所述根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据包括:
在所述比较结果为所述第一位置和所述第二位置存储有相同散列值的情况下,确定所述第二业务数据为所述第一方和所述第二方的相同业务数据。
10.一种基于隐私保护确定多个业务方的相同业务数据的装置,所述多个业务方包括第一方和第二方,所述装置设于所述第一方,包括:
存储单元,配置为针对第一业务数据,在第一组的4个哈希表中分别利用布谷鸟散列方式,将其相应散列值存储在分布于4个哈希表的4个位置,其中,所述4个哈希表包括2个基准表和2个辅助表,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元,配置为对于所述4个位置中任意的第一位置,基于秘密共享的等式比较方式,确定第二方提供的第二组4个哈希表中与所述第一位置相对应的第二位置,是否存储有相同的散列值,其中,所述第二组4个哈希表与所述第一组4个哈希表一一对应,且由所述第二方通过以下方式在其中存储单条业务数据的散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉子表组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
确定单元,配置为根据比较结果,确定所述第一业务数据是否为所述第一方和所述第二方的相同业务数据。
11.一种基于隐私保护确定多个业务方的相同业务数据的装置,所述多个业务方包括第一方和第二方,所述装置设于所述第二方,包括:
存储单元,配置为针对第二业务数据,通过以下方式在包括2个基准表和2个辅助表的第二组4个哈希表中的至少2个位置,存储其散列值:利用从2个基准表中分别选择一个子表确定的2个无重叠交叉组合,对所述单条业务数据执行2次布谷鸟散列,从而将所述单条业务数据的散列值存储在同一基准表或同一辅助表中;其中,单个哈希表包括分别对应于2个哈希函数的2个子表,2个辅助表相对于2个基准表,第一个子表的哈希函数设置相同,第二个子表的哈希函数设置相反;
比较单元,配置为对于所述至少2个位置中任意的第二位置,基于秘密共享的等式比较方式,确定第一方提供的第一组4个哈希表中与所述第二位置相对应的第一位置,是否存储有相同的散列值,其中:所述第一组4个哈希表与所述第二组4个哈希表一一对应,且由所述第一方针对单条业务数据,按照第一组4个哈希表中分别执行布谷鸟散列,从而将相应散列值存储在分布于4个哈希表的4个位置;所述基于秘密共享的等式比较方式包括,从所述第一位置上的散列值中挑选若干位数值,与所述第二位置上的数值中相应若干位的数值进行基于秘密共享的当前次等式比较,根据当前次等式比较的第一结果,确定所述第一位置上的散列值与所述第二位置上的数值的比较结果;
确定单元,配置为根据比较结果,确定所述第二业务数据是否为所述第一方和所述第二方的相同业务数据。
12.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9中任一项的所述的方法。
13.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-9中任一项所述的方法。
CN202010302518.6A 2020-04-17 2020-04-17 基于隐私保护确定相同业务数据的方法及装置 Active CN111460510B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010302518.6A CN111460510B (zh) 2020-04-17 2020-04-17 基于隐私保护确定相同业务数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010302518.6A CN111460510B (zh) 2020-04-17 2020-04-17 基于隐私保护确定相同业务数据的方法及装置

Publications (2)

Publication Number Publication Date
CN111460510A true CN111460510A (zh) 2020-07-28
CN111460510B CN111460510B (zh) 2022-04-12

Family

ID=71685950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010302518.6A Active CN111460510B (zh) 2020-04-17 2020-04-17 基于隐私保护确定相同业务数据的方法及装置

Country Status (1)

Country Link
CN (1) CN111460510B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073196A (zh) * 2020-11-10 2020-12-11 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
CN114661680A (zh) * 2022-05-25 2022-06-24 蓝象智联(杭州)科技有限公司 一种私有数据隐匿共享方法
CN115065459A (zh) * 2022-06-13 2022-09-16 青岛大学 一种多方隐私集合求交方法、装置、设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604337A (zh) * 2009-07-13 2009-12-16 中兴通讯股份有限公司 一种哈希表项存储、查找装置及方法
CN102170696A (zh) * 2010-03-17 2011-08-31 微软公司 用于存储信标基准数据的cuckoo散列
US20120166448A1 (en) * 2010-12-28 2012-06-28 Microsoft Corporation Adaptive Index for Data Deduplication
WO2013094837A1 (ko) * 2011-12-19 2013-06-27 주식회사 솔박스 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치
CN105095212A (zh) * 2014-04-22 2015-11-25 华为技术有限公司 创建哈希表的方法和设备
CN106302172A (zh) * 2015-05-18 2017-01-04 深圳市中兴微电子技术有限公司 同时支持哈希查找和路由查找的存储、查找方法和装置
CN107256130A (zh) * 2017-06-06 2017-10-17 华中科技大学 基于Cuckoo哈希计算的数据存储优化方法及系统
CN108989339A (zh) * 2018-08-20 2018-12-11 安徽大学 一种具有策略隐藏功能的密文加密方法、系统及存储介质
CN109800228A (zh) * 2018-12-28 2019-05-24 深圳竹云科技有限公司 一种高效快速解决hash冲突的方法
CN110401579A (zh) * 2019-06-18 2019-11-01 平安科技(深圳)有限公司 基于hash表的全链路数据采样方法、装置、设备及存储介质
CN110719159A (zh) * 2019-09-24 2020-01-21 河南师范大学 抗恶意敌手的多方隐私集合交集方法
CN111008406A (zh) * 2019-12-20 2020-04-14 支付宝(杭州)信息技术有限公司 基于隐私数据的一致性检测进行业务处理的方法及装置

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101604337A (zh) * 2009-07-13 2009-12-16 中兴通讯股份有限公司 一种哈希表项存储、查找装置及方法
CN102170696A (zh) * 2010-03-17 2011-08-31 微软公司 用于存储信标基准数据的cuckoo散列
US20120166448A1 (en) * 2010-12-28 2012-06-28 Microsoft Corporation Adaptive Index for Data Deduplication
CN102609442A (zh) * 2010-12-28 2012-07-25 微软公司 用于数据去重复的自适应索引
WO2013094837A1 (ko) * 2011-12-19 2013-06-27 주식회사 솔박스 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치
CN105095212A (zh) * 2014-04-22 2015-11-25 华为技术有限公司 创建哈希表的方法和设备
CN106302172A (zh) * 2015-05-18 2017-01-04 深圳市中兴微电子技术有限公司 同时支持哈希查找和路由查找的存储、查找方法和装置
CN107256130A (zh) * 2017-06-06 2017-10-17 华中科技大学 基于Cuckoo哈希计算的数据存储优化方法及系统
CN108989339A (zh) * 2018-08-20 2018-12-11 安徽大学 一种具有策略隐藏功能的密文加密方法、系统及存储介质
CN109800228A (zh) * 2018-12-28 2019-05-24 深圳竹云科技有限公司 一种高效快速解决hash冲突的方法
CN110401579A (zh) * 2019-06-18 2019-11-01 平安科技(深圳)有限公司 基于hash表的全链路数据采样方法、装置、设备及存储介质
CN110719159A (zh) * 2019-09-24 2020-01-21 河南师范大学 抗恶意敌手的多方隐私集合交集方法
CN111008406A (zh) * 2019-12-20 2020-04-14 支付宝(杭州)信息技术有限公司 基于隐私数据的一致性检测进行业务处理的方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
RESEARCH IN MOTION等: "S1-030059 "* The push server shall not change the push data (contents). Any transformations that the Push Server provides shall be compliant with user privacy requirements as defined in the push subscriber profile."", 《3GPP TSG_SA\WG1_SERV》 *
廖鹏程等: "基于OT协议的外包隐私集合交集计算协议", 《信息技术与网络安全》 *
牛淑芬等: "基于同态哈希函数的隐私保护性公钥审计算法", 《计算机工程》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112073196A (zh) * 2020-11-10 2020-12-11 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
CN112073196B (zh) * 2020-11-10 2021-02-23 腾讯科技(深圳)有限公司 业务数据处理方法、装置、电子设备及存储介质
CN114661680A (zh) * 2022-05-25 2022-06-24 蓝象智联(杭州)科技有限公司 一种私有数据隐匿共享方法
CN114661680B (zh) * 2022-05-25 2022-08-12 蓝象智联(杭州)科技有限公司 一种私有数据隐匿共享方法
CN115065459A (zh) * 2022-06-13 2022-09-16 青岛大学 一种多方隐私集合求交方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111460510B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN111460510B (zh) 基于隐私保护确定相同业务数据的方法及装置
US20220303114A9 (en) Format-preserving encryption method based on stream cipher
CN111552978B (zh) 基于DH加密和Hash表的隐私保护集合求交集方法
US10749666B2 (en) Data statistics method and apparatus
US8713329B2 (en) Authenticated secret sharing
US20210344500A1 (en) Computer-implemented system and method for transferring access to digital resource
CN111984984B (zh) 基于集合运算的保密统计数据共享方法及系统
CN114329527A (zh) 交集数据获取方法、设备和系统
CN115242371B (zh) 差分隐私保护的集合交集及其基数计算方法、装置及系统
CN117118617B (zh) 一种基于模分量同态的分布式门限加解密方法
CN112651051A (zh) 一种基于不可信第三方隐私数据求交集散列校验方法
CN114239018A (zh) 保护隐私数据的共有数据数目确定方法和系统
CN117478303B (zh) 区块链隐蔽通信方法、系统和计算机设备
KR20210039190A (ko) 블록체인을 이용한 개인정보 관리 방법 및 그 방법이 적용된 블록체인 네트워크 관리자
CN115801253B (zh) 一种用于安全多方计算的多方秘密分享方法及电子设备
CN112651050A (zh) 一种基于不可信第三方隐私数据求交集扰动校验方法
CN114611152B (zh) 查询方法和查询系统
CN110807211A (zh) 安全获取用户交集的方法、系统、可读介质及电子设备
CN111046408A (zh) 判断结果处理方法、查询方法、装置、电子设备和系统
US11201737B1 (en) Systems and methods for generating tokens using secure multiparty computation engines
Qiu et al. Efficient privacy-preserving outsourced k-means clustering on distributed data
CN115225266A (zh) 基于云服务器辅助的多方门限隐私集合求交方法和系统
CN112836239A (zh) 保护隐私的双方协同确定目标对象数据的方法及装置
CN108712657B (zh) 一种弹幕验证方法、计算机设备和存储介质
CN113723957B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40034518

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant