CN111523144A - 针对多方的隐私数据进行安全运算的方法和装置 - Google Patents

针对多方的隐私数据进行安全运算的方法和装置 Download PDF

Info

Publication number
CN111523144A
CN111523144A CN202010632211.2A CN202010632211A CN111523144A CN 111523144 A CN111523144 A CN 111523144A CN 202010632211 A CN202010632211 A CN 202010632211A CN 111523144 A CN111523144 A CN 111523144A
Authority
CN
China
Prior art keywords
data
bit
party
privacy
fragment
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
CN202010632211.2A
Other languages
English (en)
Other versions
CN111523144B (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 CN202010632211.2A priority Critical patent/CN111523144B/zh
Publication of CN111523144A publication Critical patent/CN111523144A/zh
Application granted granted Critical
Publication of CN111523144B publication Critical patent/CN111523144B/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

Landscapes

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

Abstract

本说明书实施例提供一种针对多方的隐私数据进行安全运算的方法和装置,方法包括:第一方利用本地的第一隐私数据,与第二方的第二隐私数据,得到各个位分别对应的标识数据的第一分片;标识数据标识出第一隐私数据的该位与第二隐私数据的该位是否不相等;查找各标识数据中第一个非0的标识数据,得到该标识数据对应的第一隐私数据和第二隐私数据的各位中不相等的最高位的第一分片;利用本方的最高位的第一分片,与第二方的第二隐私数据和最高位的第二分片,得到第二隐私数据中对应于最高位的数值大小的第一分片;基于最高位的数值大小,确定比较结果。能够在针对多方的隐私数据进行安全运算时提升性能。

Description

针对多方的隐私数据进行安全运算的方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对多方的隐私数据进行安全运算的方法和装置。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
现有技术的安全多方计算中,经常需要对分别存储于A、B两方的两个数字x、y进行安全比较,例如计算逻辑表达式(x>y),或计算逻辑表达式(x<y), 结果以和共享形式存储于A、B两方。现有技术的交互次数过多,安全比较性能较差。
因此,希望能有改进的方案,能够在针对多方的隐私数据进行安全运算时提升性能。
发明内容
本说明书一个或多个实施例描述了一种针对多方的隐私数据进行安全运算的方法和装置,能够在针对多方的隐私数据进行安全运算时提升性能。
第一方面,提供了一种针对多方的隐私数据进行安全运算的方法,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述方法通过所述第一方执行,包括:
利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;
利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;
利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;
基于所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。
在一种可能的实施方式中,所述第一大小比较结果为,所述第一隐私数据是否小于所述第二隐私数据的比较结果;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第一最低位,得到第一增位隐私数据,所述第一最低位的数值大小为1;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第一增位隐私数据,与所述第二方具有的第二增位隐私数据,进行逐位安全计算,所述第二增位隐私数据为所述第二方对所述第二隐私数据添加第二最低位后得到的,所述第二最低位的数值大小为0。
在一种可能的实施方式中,所述标识数据属于模p的群,p为不小于n加2的最小素数。
进一步地,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
以-1为底,以所述第一隐私数据的各位为幂,进行幂运算得到第一运算值,所述第一运算值视作第一群中的元素,所述第一群属于整数群;
利用本地的所述第一运算值,与所述第二方具有的第二运算值,进行安全乘法运算,得到各个位分别对应的中间数据的第一分片;所述第二方具有所述中间数据的第二分片;所述第二运算值为所述第二方以-1为底,以所述第二隐私数据的各位为幂,进行幂运算得到的,所述第二运算值视作第二群中的元素,所述第二群属于模p的群;
利用本地的所述中间数据的第一分片,与所述第二方具有的所述中间数据的第二分片,进行安全运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
进一步地,所述安全乘法运算利用了所述第一群在所述第二群的加群上的作用,所述第二群为阿贝尔群,所述第二群为所述第一群的G模。
进一步地,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
将本地的所述第一隐私数据的各位分别作为初始标识数据的第一分片,将所述第二方具有的所述第二隐私数据的各位分别作为所述初始标识数据的第二分片;所述初始标识数据属于模2的群;利用本地的所述初始标识数据的第一分片,与所述第二方具有的所述初始标识数据的第二分片,进行安全模转换运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
进一步地,所述安全模转换运算,包括:
从第三方接收第一随机数和第二随机数,所述第一随机数属于模2的群,所述第二随机数属于模p的群;
将所述初始标识数据的第一分片,减去所述第一随机数,得到第一信息值,所述第一信息值属于模2的群;
从所述第二方接收第二信息值,所述第二信息值为所述第二方将所述初始标识数据的第二分片,减去第三随机数得到的,所述第二信息值属于模2的群;
将所述第一信息值和所述第二信息值,进行求和,得到公共信息值;
以-1为底,以所述公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第二随机数相乘,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
在一种可能的实施方式中,所述基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片,包括:
利用本方具有的所述最高位的第一分片,与所述第二方具有的第一移位数据,基于不经意传输,得到所述第一移位数据的第一目标位的数值大小的第一分片,所述第一目标位对应于所述最高位的第一分片;其中,所述第一移位数据为所述第二方将所述第二隐私数据左移所述最高位的第二分片个位之后得到的;
基于所述第一移位数据的第一目标位的数值大小的第一分片,确定所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片。
在一种可能的实施方式中,所述方法还包括:
利用本方具有的所述第一隐私数据和所述最高位的第一分片,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片;所述第二方具有所述最高位的第二数值大小的第二分片;
基于所述第一隐私数据中对应于所述最高位的第二数值大小,确定所述第一隐私数据与所述第二隐私数据的第二大小比较结果。
进一步地,所述第二大小比较结果为,所述第一隐私数据是否大于所述第二隐私数据的比较结果;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第二最低位,得到第二增位隐私数据,所述第二最低位的数值大小为0;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第二增位隐私数据,与所述第二方具有的第一增位隐私数据,进行逐位安全计算,所述第一增位隐私数据为所述第二方对所述第二隐私数据添加第一最低位后得到的,所述第一最低位的数值大小为1。
进一步地,所述基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片,包括:
将所述第一隐私数据左移所述最高位的第一分片个位之后,得到第一移位数据;
利用本方具有的所述第一移位数据,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一移位数据的第二目标位的数值大小的第一分片,所述第二目标位对应于所述最高位的第二分片;
基于所述第一移位数据的第二目标位的数值大小的第一分片,确定所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片。
第二方面,提供了一种针对多方的隐私数据进行安全运算的装置,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述装置设置于所述第一方,包括:
逐位计算单元,用于利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;
位查找单元,用于利用本方具有的所述逐位计算单元得到的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;
第一数值确定单元,用于利用本方具有的所述位查找单元得到的最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;
第一结果确定单元,用于基于所述第一数值确定单元确定的所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,第一方首先利用本地的所述第一隐私数据,与第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;然后利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;接着利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;最后基于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。由上可见,本说明书实施例,针对每位的计算不需要依赖其他位的计算结果,其中,在计算标识数据的过程中仅需要一轮交互,在查找各标识数据中第一个非0的标识数据的过程中仅需要一轮交互,在确定最高位的第一数值大小的过程中仅需要一轮交互,整个计算过程中仅需要三轮交互,能够在针对多方的隐私数据进行安全运算时提升性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对多方的隐私数据进行安全运算的方法流程图;
图3示出根据一个实施例的针对多方的隐私数据进行安全运算的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对多方的隐私数据进行安全运算。所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,本说明书实施例,具体用于得到第一隐私数据是否小于第二隐私数据的第一大小比较结果,和/或,得到第一隐私数据是否大于第二隐私数据的第二大小比较结果。
参照图1,针对第一隐私数据x和第二隐私数据y进行比较运算,也就是求解u=(x<y)的结果,可以理解的是,若x<y,则u=1;若x>=y,则u=0。第一方11具有第一隐私数据x,第二方12具有第二隐私数据y,经过比较运算后,结果u(即0或1)以整数集Z/nZ中的和共享形式存储于第一方11和第二方12,第一方11获得比较结果u的一个分片 <u>1, 第二方12获得比较结果u的另一个分片<u>2。其中,第一方和第二方仅为对两方的区分,还可以将第一方称为P1方,将第二方称为P2方,或者,将第一方称为A方,将第二方称为B方等。
和共享形式: 在双方安全计算中,经常需要把一个0~N-1的整数x以 x=x_L+x_Rmod N的分片(share)形式分布式储存在A、B两方。使得A不知道x_R, B不知道x_L。和共享形式的安全计算: 保持和共享形式进行计算,计算过程中A方始终无法推断出x_R, B方始终无法推断出x_L。
本说明书实施例中,对于隐私数据所代表的含义不做限定。隐私数据可以代表一项隐私信息对应的数值,例如,隐私数据为20,代表用户的年龄为20岁;或者,隐私数据为15,代表用户的收入为15万元;隐私数据也可以代表多项隐私信息分别对应的数值,例如,隐私数据为一个向量,该向量的各个位分别代表不同的隐私信息,举例来说,该向量的第一位代表用户的年龄是否属于预设年龄区间,该向量的第二位代表用户的收入是否属于预设收入区间。
可以理解的是,隐私数据可以是任何不便于公开的数据,可以但不限于代表用户的个人信息的数据,或者商业秘密等。
本说明书实施例,通过确定双方数据不相等的最高位的数值大小,在不泄露隐私数据的前提下,实现针对多方的隐私数据进行安全运算,并且能够提升性能。
图2示出根据一个实施例的针对多方的隐私数据进行安全运算的方法流程图,该方法可以基于图1所示的实施场景,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述方法通过所述第一方执行。如图2所示,该实施例中针对多方的隐私数据进行安全运算的方法包括以下步骤:步骤21,利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;步骤22,利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;步骤23,利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;步骤24,基于所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。下面描述以上各个步骤的具体执行方式。
首先在步骤21,利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等。可以理解的是,第一方不能获知第二隐私数据,第二方不能获知第一隐私数据。
本说明书实施例中,所述第一大小比较结果可以为,所述第一隐私数据是否小于所述第二隐私数据的比较结果。举例来说,第一隐私数据x和第二隐私数据y进行比较运算,也就是求解u=(x<y)的结果。
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第一最低位,得到第一增位隐私数据,所述第一最低位的数值大小为1;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第一增位隐私数据,与所述第二方具有的第二增位隐私数据,进行逐位安全计算,所述第二增位隐私数据为所述第二方对所述第二隐私数据添加第二最低位后得到的,所述第二最低位的数值大小为0。
举例来说,第一方具有的第一隐私数据x的二进制表示从高位到低位为x_0,x_1,…,x_{n-1},添加第一最低位x_n=1,得到n+1位的第一增位隐私数据x_0,x_1,…,x_{n-1},x_n;第二方具有的第二隐私数据y的二进制表示从高位到低位为y_0,y_1,…,y_{n-1},添加第二最低位y_n=0,得到n+1位的第二增位隐私数据y_0,y_1,…,y_{n-1},y_n。
可以理解的是,第一增位隐私数据和第二增位隐私数据的最低位分别是1和0,二者不相等,也就是说,即便第一隐私数据和第二隐私数据完全相同,第一增位隐私数据和第二增位隐私数据也存在不相等的位,即最低位。
在一个示例中,所述标识数据属于模p的群,p为不小于n加2的最小素数。该示例中实现了对标识数据的模转换,将其由模2的群转换为模p的群。
在一个示例中,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
以-1为底,以所述第一隐私数据的各位为幂,进行幂运算得到第一运算值,所述第一运算值视作第一群中的元素,所述第一群属于整数群;
利用本地的所述第一运算值,与所述第二方具有的第二运算值,进行安全乘法运算,得到各个位分别对应的中间数据的第一分片;所述第二方具有所述中间数据的第二分片;所述第二运算值为所述第二方以-1为底,以所述第二隐私数据的各位为幂,进行幂运算得到的,所述第二运算值视作第二群中的元素,所述第二群属于模p的群;
利用本地的所述中间数据的第一分片,与所述第二方具有的所述中间数据的第二分片,进行安全运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
进一步地,所述安全乘法运算利用了所述第一群在所述第二群的加群上的作用,所述第二群为阿贝尔群,所述第二群为所述第一群的G模。
可以理解的是,该示例中利用G模作用进行模转换。G模:对于群G,一个阿贝尔群M称为G模是指存在着G在M上的群作用,并且满足分配率。具体地讲,存在一个(g,m)→gm:G×M→M,s.t
1.对任意的g、h in G,m in M,有gh(m)= g(h(m))
2.对于G中的恒元1,以及任意m in M,有1(m)= m
3.对于任意的g in G,m、n in M,有g(m+n)= g(m)+ g(n)
举例来说,令p为不小于n+2的最小素数,将(-1)^x_i视作{1,-1}中的元素,将(-1)^y_i视作F_p中的元素,第一方和第二方利用群Z/2Z在F_p上的作用逐位安全计算z_i=(x_i!=y_i)in F_p for i=0,1,…,n-1,并另z_n=1。具体地,群{1,-1}中的元素t在F_p中元素s上的作用定义为ts;利用群{1,-1}在F_p的加群上的作用,可以安全计算z’_i=(-1)^ x_i×(-1)^ y_i in F_p,如果x_i= y_i,则z’_i=1,否则z’_i=-1;令z_i=(1-z’_i)/2 in F_p,易验证,z_i=(x_i!= y_i)。可以理解的是,x_i对应于前述第一隐私数据的第i位,y_i对应于前述第二隐私数据的第i位,z_i对应于前述标识数据。
在另一个示例中,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
将本地的所述第一隐私数据的各位分别作为初始标识数据的第一分片,将所述第二方具有的所述第二隐私数据的各位分别作为所述初始标识数据的第二分片;所述初始标识数据属于模2的群;利用本地的所述初始标识数据的第一分片,与所述第二方具有的所述初始标识数据的第二分片,进行安全模转换运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
可以理解的是,该示例中基于模转换协议进行模转换。
举例来说,令p为不小于n+2的最小素数,第一方和第二方逐位运行模转换协议z_i=l(x_i+y_i mod 2)in F_p for i=0,1,…,n-1,其中l:F_2→ F_p为模转换映射,即l(0)=0in F_p,l(1)=1 in F_p。并令z_n=1。
进一步地,所述安全模转换运算,包括:
从第三方接收第一随机数和第二随机数,所述第一随机数属于模2的群,所述第二随机数属于模p的群;
将所述初始标识数据的第一分片,减去所述第一随机数,得到第一信息值,所述第一信息值属于模2的群;
从所述第二方接收第二信息值,所述第二信息值为所述第二方将所述初始标识数据的第二分片,减去第三随机数得到的,所述第二信息值属于模2的群;
将所述第一信息值和所述第二信息值,进行求和,得到公共信息值;
以-1为底,以所述公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第二随机数相乘,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
可以理解的是,上述仅从第一方的角度描述了安全模转换运算,实际上需要第一方、第二方和第三方的配合,共同实现上述安全模转换运算。
从第二方的角度来说,第二方从第三方接收第三随机数和第四生成数,所述第三随机数属于模2的群,所述第四生成数属于模p的群;所述第四生成数为所述第三方对所述第一随机数和第三随机数求和并模转换后,再减去所述第二随机数后得到的;
将所述初始标识数据的第二分片,减去所述第三随机数,得到第二信息值,所述第二信息值属于模2的群;
从所述第一方接收第一信息值,所述第一信息值为所述第一方将所述初始标识数据的第一分片,减去第一随机数得到的,所述第一信息值属于模2的群;
将所述第一信息值和所述第二信息值,进行求和,得到公共信息值;
以-1为底,以所述公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第四生成数相乘,再加上所述公共信息值,得到各个位分别对应的标识数据的第二分片;所述第一方具有所述标识数据的第一分片。
举例来说,前述模转换协议或者所述安全模转换运算的一种可能的实施方式如下:
第一方拥有x_i in F_2,第二方拥有y_i in F_2;第三方,具体可以为半可信第三方,生成随机的u_0、u_1 in F_2,以及随机的b_0 in F_p,并计算b_1=l(u_0+u_1)- b_0 in F_p,其中l:F_2→ F_p为模转换映射,将u_0、b_0发送给第一方,将u_1、b_1发送给第二方;第一方计算t_0:= x_i- u_0 in F_2,第二方计算t_1:= y_i- u_1 in F_2;第一方、第二方交换t_0 和t_1,从而得到公共信息值t:= t_0+ t_1 in F_2;第一方计算z_0:=(-1)t b_0 inF_p,第二方计算z_1:=(-1)t b_1+t in F_p;(z_0, z_1)即为l(x_i+y_i mod 2)在F_p中的和共享形式,对应于前述标识数据。
然后在步骤22,利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片。可以理解的是,第一隐私数据和第二隐私数据的每一位分别对应一个标识数据,标识数据非0代表第一隐私数据和第二隐私数据在对应位不相等。
举例来说,第一隐私数据的各位由高位到低位分别是1000101,也就是说,x_0为1,x_1为0,x_2为0,x_3为0,x_4为1,x_5为0,x_6为1;第二隐私数据的各位由高到低分别是1001100,也就是说,y_0为1,y_1为0,y_2为0,y_3为1,y_4为1,y_5为0,y_6为0;对应于各位的标识数据由高位到低位分别是z_0为0,代表x_0和y_0相等,z_1为0,代表x_1和y_1相等,z_2为0,代表x_2和y_2相等,z_3为1,代表x_3和y_3不相等,z_4为0,代表x_4和y_4相等,z_5为0,代表x_5和y_5相等,z_6为1,代表x_6和y_6不相等。其中,第一个非0的标识数据为z_3。
在一个示例中,第一方和第二方对各标识数据运行首1位数安全计算协议,得到j=j_L+ j_R mod(n+1),于是j=min{i: z_i==1},可以理解的是,z_i为第一隐私数据x和第二隐私数据y的第i位对应的标识数据,各标识数据中第一个非0的标识数据对应于x和y的各位中不相等的最高位j。例如,第一个非0的标识数据为z_3,则对应的x、y不相等的最高位为3,第一方具有该最高位j的第一分片j_L,该第一分片为1,第二方具有该最高位j的第二分片j_R,该第二分片为2,二者之和为最高位3。
接着在步骤23,利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片。可以理解的是,第一隐私数据和第二隐私数据中对应于最高位的数值大小,数值大小为1对应的隐私数据比较大,例如,第二隐私数据中对应于所述最高位的数值大小为1,相应地,第一隐私数据中对应于所述最高位的数值大小为0,则第一隐私数据小于第二隐私数据。
在一个示例中,所述基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片,包括:
利用本方具有的所述最高位的第一分片,与所述第二方具有的第一移位数据,基于不经意传输,得到所述第一移位数据的第一目标位的数值大小的第一分片,所述第一目标位对应于所述最高位的第一分片;其中,所述第一移位数据为所述第二方将所述第二隐私数据左移所述最高位的第二分片个位之后得到的;
基于所述第一移位数据的第一目标位的数值大小的第一分片,确定所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片。
举例来说,第二方具有第二隐私数据y和所述最高位的第二分片j_R,第二方令w:=L_{j_R}y,即y左移j_R位;第一方具有所述最高位的第一分片j_L,第一方和第二方运行不经意传输协议,得到u:=[ w的第j_L位], u即为y_j的和共享表示inZ/2Z。
最后在步骤24,基于所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。可以理解的是,若所述最高位的第一数值大小为1,则可以确定第一隐私数据小于第二隐私数据;若所述最高位的第一数值大小为0,则可以确定第一隐私数据大于第二隐私数据。
在一个示例中,所述第一大小比较结果可以为,所述第一隐私数据是否小于所述第二隐私数据的比较结果。若所述最高位的第一数值大小为1,则第一大小比较结果为1;若所述最高位的第一数值大小为0,则第一大小比较结果为0,也就是说,所述最高位的第一数值大小即为所述第一大小比较结果。
本说明书实施例,还可以包括如下确定第二大小比较结果的过程:
利用本方具有的所述第一隐私数据和所述最高位的第一分片,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片;所述第二方具有所述最高位的第二数值大小的第二分片;
基于所述第一隐私数据中对应于所述最高位的第二数值大小,确定所述第一隐私数据与所述第二隐私数据的第二大小比较结果。
进一步地,所述第二大小比较结果为,所述第一隐私数据是否大于所述第二隐私数据的比较结果;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第二最低位,得到第二增位隐私数据,所述第二最低位的数值大小为0;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第二增位隐私数据,与所述第二方具有的第一增位隐私数据,进行逐位安全计算,所述第一增位隐私数据为所述第二方对所述第二隐私数据添加第一最低位后得到的,所述第一最低位的数值大小为1。
进一步地,所述基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片,包括:
将所述第一隐私数据左移所述最高位的第一分片个位之后,得到第一移位数据;
利用本方具有的所述第一移位数据,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一移位数据的第二目标位的数值大小的第一分片,所述第二目标位对应于所述最高位的第二分片;
基于所述第一移位数据的第二目标位的数值大小的第一分片,确定所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片。
可以理解的是,本说明书实施例需要第一方和第二方联合完成。在一个示例中,若第一方用于确定前述第一大小比较结果,相应地,第二方用于确定前述第二大小比较结果;若第一方用于确定前述第二大小比较结果,相应地,第二方用于确定前述第一大小比较结果。
可以理解的是,在针对多方的隐私数据进行安全运算的方法中,第一方和第二方的地位平等,第一方和第二方的处理过程无实质的不同,本说明书实施例中,主要以第一方为执行主体描述相应的处理过程。
可选地,在得到前述第一增位隐私数据和第二增位隐私数据后,对前述第一隐私数据的处理过程,均是针对第一增位隐私数据进行处理,对前述第二隐私数据的处理过程,均是针对第二增位隐私数据进行处理。第一方具有的第一隐私数据x的二进制表示从高位到低位为x_0,x_1,…,x_{n-1},添加第一最低位x_n=1,得到n+1位的第一增位隐私数据x_0,x_1,…,x_{n-1},x_n;第二方具有的第二隐私数据y的二进制表示从高位到低位为y_0,y_1,…,y_{n-1},添加第二最低位y_n=0,得到n+1位的第二增位隐私数据y_0,y_1,…,y_{n-1},y_n。
若步骤22得到的最高位j<n,那么第j位是第一隐私数据x与第二隐私数据y的第一个不相等的位,那么y_j=1等价于x<y;若步骤22得到的最高位j=n,那么第j位是第一隐私数据x与第二隐私数据y没有不相等的位,x<y不成立,所以x_j=0等价于x<y。
本说明书实施例,步骤21需要1轮交互,当利用G模作用进行模转换时,通信量为离线nlogp,在线n(logp+1),当基于模转换协议进行模转换时,通信量为离线nlogp,在线2n;步骤22需要1轮交互,通信量为离线(n+1)logp,在线2(n+1)logp;步骤23需要1轮交互,通信量为离线log2=1,在线(n+1)log2+log(n+1)=n+log(n+1)+1。交互次数少,通信量低,因此性能佳。
通过本说明书实施例提供的方法,第一方首先利用本地的所述第一隐私数据,与第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;然后利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;接着利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;最后基于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。由上可见,本说明书实施例,针对每位的计算不需要依赖其他位的计算结果,其中,在计算标识数据的过程中仅需要一轮交互,在查找各标识数据中第一个非0的标识数据的过程中仅需要一轮交互,在确定最高位的第一数值大小的过程中仅需要一轮交互,整个计算过程中仅需要三轮交互,能够在针对多方的隐私数据进行安全运算时提升性能。
根据另一方面的实施例,还提供一种针对多方的隐私数据进行安全运算的装置,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述装置设置于所述第一方,用于执行本说明书实施例提供的针对多方的隐私数据进行安全运算的方法。图3示出根据一个实施例的针对多方的隐私数据进行安全运算的装置的示意性框图。如图3所示,该装置300包括:
逐位计算单元31,用于利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;
位查找单元32,用于利用本方具有的所述逐位计算单元31得到的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;
第一数值确定单元33,用于利用本方具有的所述位查找单元32得到的最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;
第一结果确定单元34,用于基于所述第一数值确定单元33确定的所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。
可选地,作为一个实施例,所述第一大小比较结果为,所述第一隐私数据是否小于所述第二隐私数据的比较结果;
所述装置还包括:
第一增位单元,用于在所述逐位计算单元31利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,对所述第一隐私数据添加第一最低位,得到第一增位隐私数据,所述第一最低位的数值大小为1;
所述逐位计算单元31,具体用于利用本地的所述第一增位单元得到的第一增位隐私数据,与所述第二方具有的第二增位隐私数据,进行逐位安全计算,所述第二增位隐私数据为所述第二方对所述第二隐私数据添加第二最低位后得到的,所述第二最低位的数值大小为0。
可选地,作为一个实施例,所述标识数据属于模p的群,p为不小于n加2的最小素数。
进一步地,所述逐位计算单元31包括:
第一运算子单元,用于以-1为底,以所述第一隐私数据的各位为幂,进行幂运算得到第一运算值,所述第一运算值视作第一群中的元素,所述第一群属于整数群;
第二运算子单元,用于利用本地的所述第一运算子单元得到的第一运算值,与所述第二方具有的第二运算值,进行安全乘法运算,得到各个位分别对应的中间数据的第一分片;所述第二方具有所述中间数据的第二分片;所述第二运算值为所述第二方以-1为底,以所述第二隐私数据的各位为幂,进行幂运算得到的,所述第二运算值视作第二群中的元素,所述第二群属于模p的群;
第三运算子单元,用于利用本地的所述第二运算子单元得到的中间数据的第一分片,与所述第二方具有的所述中间数据的第二分片,进行安全运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
进一步地,所述安全乘法运算利用了所述第一群在所述第二群的加群上的作用,所述第二群为阿贝尔群,所述第二群为所述第一群的G模。
进一步地,所述逐位计算单元31,具体用于将本地的所述第一隐私数据的各位分别作为初始标识数据的第一分片,将所述第二方具有的所述第二隐私数据的各位分别作为所述初始标识数据的第二分片;所述初始标识数据属于模2的群;利用本地的所述初始标识数据的第一分片,与所述第二方具有的所述初始标识数据的第二分片,进行安全模转换运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
进一步地,所述逐位计算单元31包括:
接收子单元,用于从第三方接收第一随机数和第二随机数,所述第一随机数属于模2的群,所述第二随机数属于模p的群;
减法子单元,用于将所述初始标识数据的第一分片,减去所述接收子单元接收的第一随机数,得到第一信息值,所述第一信息值属于模2的群;
所述接收子单元,还用于从所述第二方接收第二信息值,所述第二信息值为所述第二方将所述初始标识数据的第二分片,减去第三随机数得到的,所述第二信息值属于模2的群;
求和子单元,用于将所述减法子单元得到的第一信息值和所述接收子单元接收的第二信息值,进行求和,得到公共信息值;
结果运算子单元,用于以-1为底,以所述求和子单元得到的公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第二随机数相乘,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
可选地,作为一个实施例,所述第一数值确定单元33,具体用于:
利用本方具有的所述最高位的第一分片,与所述第二方具有的第一移位数据,基于不经意传输,得到所述第一移位数据的第一目标位的数值大小的第一分片,所述第一目标位对应于所述最高位的第一分片;其中,所述第一移位数据为所述第二方将所述第二隐私数据左移所述最高位的第二分片个位之后得到的;
基于所述第一移位数据的第一目标位的数值大小的第一分片,确定所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片。
可选地,作为一个实施例,所述装置还包括:
第二数值确定单元,用于利用本方具有的所述第一隐私数据和所述最高位的第一分片,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片;所述第二方具有所述最高位的第二数值大小的第二分片;
第二结果确定单元,用于基于所述第二数值确定单元确定的所述第一隐私数据中对应于所述最高位的第二数值大小,确定所述第一隐私数据与所述第二隐私数据的第二大小比较结果。
进一步地,所述第二大小比较结果为,所述第一隐私数据是否大于所述第二隐私数据的比较结果;
所述装置还包括:
第二增位单元,用于在所述逐位计算单元31利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,对所述第一隐私数据添加第二最低位,得到第二增位隐私数据,所述第二最低位的数值大小为0;
所述逐位计算单元31,具体用于利用本地的所述第二增位单元得到的第二增位隐私数据,与所述第二方具有的第一增位隐私数据,进行逐位安全计算,所述第一增位隐私数据为所述第二方对所述第二隐私数据添加第一最低位后得到的,所述第一最低位的数值大小为1。
进一步地,所述第二数值确定单元包括:
移位子单元,用于将所述第一隐私数据左移所述最高位的第一分片个位之后,得到第一移位数据;
第一数值确定子单元,用于利用本方具有的所述第一移位数据,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一移位数据的第二目标位的数值大小的第一分片,所述第二目标位对应于所述最高位的第二分片;
第二数值确定子单元,用于基于所述第一数值确定子单元得到的第一移位数据的第二目标位的数值大小的第一分片,确定所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片。
通过本说明书实施例提供的装置,第一方的逐位计算单元31首先利用本地的所述第一隐私数据,与第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;然后位查找单元32利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;接着第一数值确定单元33利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;最后第一结果确定单元34基于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。由上可见,本说明书实施例,针对每位的计算不需要依赖其他位的计算结果,其中,在计算标识数据的过程中仅需要一轮交互,在查找各标识数据中第一个非0的标识数据的过程中仅需要一轮交互,在确定最高位的第一数值大小的过程中仅需要一轮交互,整个计算过程中仅需要三轮交互,能够在针对多方的隐私数据进行安全运算时提升性能。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (24)

1.一种针对多方的隐私数据进行安全运算的方法,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述方法通过所述第一方执行,包括:
利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;
利用本方具有的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;
利用本方具有的所述最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;
基于所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。
2.如权利要求1所述的方法,其中,所述第一大小比较结果为,所述第一隐私数据是否小于所述第二隐私数据的比较结果;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第一最低位,得到第一增位隐私数据,所述第一最低位的数值大小为1;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第一增位隐私数据,与所述第二方具有的第二增位隐私数据,进行逐位安全计算,所述第二增位隐私数据为所述第二方对所述第二隐私数据添加第二最低位后得到的,所述第二最低位的数值大小为0。
3.如权利要求1所述的方法,其中,所述标识数据属于模p的群,p为不小于n加2的最小素数。
4.如权利要求3所述的方法,其中,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
以-1为底,以所述第一隐私数据的各位为幂,进行幂运算得到第一运算值,所述第一运算值视作第一群中的元素,所述第一群属于整数群;
利用本地的所述第一运算值,与所述第二方具有的第二运算值,进行安全乘法运算,得到各个位分别对应的中间数据的第一分片;所述第二方具有所述中间数据的第二分片;所述第二运算值为所述第二方以-1为底,以所述第二隐私数据的各位为幂,进行幂运算得到的,所述第二运算值视作第二群中的元素,所述第二群属于模p的群;
利用本地的所述中间数据的第一分片,与所述第二方具有的所述中间数据的第二分片,进行安全运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
5.如权利要求4所述的方法,其中,所述安全乘法运算利用了所述第一群在所述第二群的加群上的作用,所述第二群为阿贝尔群,所述第二群为所述第一群的G模。
6.如权利要求3所述的方法,其中,所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
将本地的所述第一隐私数据的各位分别作为初始标识数据的第一分片,将所述第二方具有的所述第二隐私数据的各位分别作为所述初始标识数据的第二分片;所述初始标识数据属于模2的群;利用本地的所述初始标识数据的第一分片,与所述第二方具有的所述初始标识数据的第二分片,进行安全模转换运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
7.如权利要求6所述的方法,其中,所述安全模转换运算,包括:
从第三方接收第一随机数和第二随机数,所述第一随机数属于模2的群,所述第二随机数属于模p的群;
将所述初始标识数据的第一分片,减去所述第一随机数,得到第一信息值,所述第一信息值属于模2的群;
从所述第二方接收第二信息值,所述第二信息值为所述第二方将所述初始标识数据的第二分片,减去第三随机数得到的,所述第二信息值属于模2的群;
将所述第一信息值和所述第二信息值,进行求和,得到公共信息值;
以-1为底,以所述公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第二随机数相乘,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
8.如权利要求1所述的方法,其中,所述基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片,包括:
利用本方具有的所述最高位的第一分片,与所述第二方具有的第一移位数据,基于不经意传输,得到所述第一移位数据的第一目标位的数值大小的第一分片,所述第一目标位对应于所述最高位的第一分片;其中,所述第一移位数据为所述第二方将所述第二隐私数据左移所述最高位的第二分片个位之后得到的;
基于所述第一移位数据的第一目标位的数值大小的第一分片,确定所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片。
9.如权利要求1所述的方法,其中,所述方法还包括:
利用本方具有的所述第一隐私数据和所述最高位的第一分片,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片;所述第二方具有所述最高位的第二数值大小的第二分片;
基于所述第一隐私数据中对应于所述最高位的第二数值大小,确定所述第一隐私数据与所述第二隐私数据的第二大小比较结果。
10.如权利要求9所述的方法,其中,所述第二大小比较结果为,所述第一隐私数据是否大于所述第二隐私数据的比较结果;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,所述方法还包括:
对所述第一隐私数据添加第二最低位,得到第二增位隐私数据,所述第二最低位的数值大小为0;
所述利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,包括:
利用本地的所述第二增位隐私数据,与所述第二方具有的第一增位隐私数据,进行逐位安全计算,所述第一增位隐私数据为所述第二方对所述第二隐私数据添加第一最低位后得到的,所述第一最低位的数值大小为1。
11.如权利要求9所述的方法,其中,所述基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片,包括:
将所述第一隐私数据左移所述最高位的第一分片个位之后,得到第一移位数据;
利用本方具有的所述第一移位数据,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一移位数据的第二目标位的数值大小的第一分片,所述第二目标位对应于所述最高位的第二分片;
基于所述第一移位数据的第二目标位的数值大小的第一分片,确定所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片。
12.一种针对多方的隐私数据进行安全运算的装置,所述多方包括第一方和第二方,所述第一方具有第一隐私数据,所述第二方具有第二隐私数据,所述第一隐私数据和所述第二隐私数据均为n位二进制数,所述装置设置于所述第一方,包括:
逐位计算单元,用于利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片;所述标识数据用于标识出所述第一隐私数据的该位与所述第二隐私数据的该位是否不相等;
位查找单元,用于利用本方具有的所述逐位计算单元得到的各个位分别对应的标识数据的第一分片,与所述第二方具有的各个位分别对应的标识数据的第二分片,进行联合安全查找运算,通过查找各标识数据中第一个非0的标识数据,得到该标识数据对应的所述第一隐私数据和所述第二隐私数据的各位中不相等的最高位的第一分片;所述第二方具有所述最高位的第二分片;
第一数值确定单元,用于利用本方具有的所述位查找单元得到的最高位的第一分片,与所述第二方具有的所述第二隐私数据和所述最高位的第二分片,基于不经意传输,得到所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片;所述第二方具有所述最高位的第一数值大小的第二分片;
第一结果确定单元,用于基于所述第一数值确定单元确定的所述第二隐私数据中对应于所述最高位的第一数值大小,确定所述第一隐私数据与所述第二隐私数据的第一大小比较结果。
13.如权利要求12所述的装置,其中,所述第一大小比较结果为,所述第一隐私数据是否小于所述第二隐私数据的比较结果;
所述装置还包括:
第一增位单元,用于在所述逐位计算单元利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,对所述第一隐私数据添加第一最低位,得到第一增位隐私数据,所述第一最低位的数值大小为1;
所述逐位计算单元,具体用于利用本地的所述第一增位单元得到的第一增位隐私数据,与所述第二方具有的第二增位隐私数据,进行逐位安全计算,所述第二增位隐私数据为所述第二方对所述第二隐私数据添加第二最低位后得到的,所述第二最低位的数值大小为0。
14.如权利要求12所述的装置,其中,所述标识数据属于模p的群,p为不小于n加2的最小素数。
15.如权利要求14所述的装置,其中,所述逐位计算单元包括:
第一运算子单元,用于以-1为底,以所述第一隐私数据的各位为幂,进行幂运算得到第一运算值,所述第一运算值视作第一群中的元素,所述第一群属于整数群;
第二运算子单元,用于利用本地的所述第一运算子单元得到的第一运算值,与所述第二方具有的第二运算值,进行安全乘法运算,得到各个位分别对应的中间数据的第一分片;所述第二方具有所述中间数据的第二分片;所述第二运算值为所述第二方以-1为底,以所述第二隐私数据的各位为幂,进行幂运算得到的,所述第二运算值视作第二群中的元素,所述第二群属于模p的群;
第三运算子单元,用于利用本地的所述第二运算子单元得到的中间数据的第一分片,与所述第二方具有的所述中间数据的第二分片,进行安全运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
16.如权利要求15所述的装置,其中,所述安全乘法运算利用了所述第一群在所述第二群的加群上的作用,所述第二群为阿贝尔群,所述第二群为所述第一群的G模。
17.如权利要求14所述的装置,其中,所述逐位计算单元,具体用于将本地的所述第一隐私数据的各位分别作为初始标识数据的第一分片,将所述第二方具有的所述第二隐私数据的各位分别作为所述初始标识数据的第二分片;所述初始标识数据属于模2的群;利用本地的所述初始标识数据的第一分片,与所述第二方具有的所述初始标识数据的第二分片,进行安全模转换运算,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
18.如权利要求17所述的装置,其中,所述逐位计算单元包括:
接收子单元,用于从第三方接收第一随机数和第二随机数,所述第一随机数属于模2的群,所述第二随机数属于模p的群;
减法子单元,用于将所述初始标识数据的第一分片,减去所述接收子单元接收的第一随机数,得到第一信息值,所述第一信息值属于模2的群;
所述接收子单元,还用于从所述第二方接收第二信息值,所述第二信息值为所述第二方将所述初始标识数据的第二分片,减去第三随机数得到的,所述第二信息值属于模2的群;
求和子单元,用于将所述减法子单元得到的第一信息值和所述接收子单元接收的第二信息值,进行求和,得到公共信息值;
结果运算子单元,用于以-1为底,以所述求和子单元得到的公共信息值为幂,进行幂运算得到第三运算值,将所述第三运算值与第二随机数相乘,得到各个位分别对应的标识数据的第一分片;所述第二方具有所述标识数据的第二分片。
19.如权利要求12所述的装置,其中,所述第一数值确定单元,具体用于:
利用本方具有的所述最高位的第一分片,与所述第二方具有的第一移位数据,基于不经意传输,得到所述第一移位数据的第一目标位的数值大小的第一分片,所述第一目标位对应于所述最高位的第一分片;其中,所述第一移位数据为所述第二方将所述第二隐私数据左移所述最高位的第二分片个位之后得到的;
基于所述第一移位数据的第一目标位的数值大小的第一分片,确定所述第二隐私数据中对应于所述最高位的第一数值大小的第一分片。
20.如权利要求12所述的装置,其中,所述装置还包括:
第二数值确定单元,用于利用本方具有的所述第一隐私数据和所述最高位的第一分片,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片;所述第二方具有所述最高位的第二数值大小的第二分片;
第二结果确定单元,用于基于所述第二数值确定单元确定的所述第一隐私数据中对应于所述最高位的第二数值大小,确定所述第一隐私数据与所述第二隐私数据的第二大小比较结果。
21.如权利要求20所述的装置,其中,所述第二大小比较结果为,所述第一隐私数据是否大于所述第二隐私数据的比较结果;
所述装置还包括:
第二增位单元,用于在所述逐位计算单元利用本地的所述第一隐私数据,与所述第二方具有的所述第二隐私数据,进行联合逐位安全计算之前,对所述第一隐私数据添加第二最低位,得到第二增位隐私数据,所述第二最低位的数值大小为0;
所述逐位计算单元,具体用于利用本地的所述第二增位单元得到的第二增位隐私数据,与所述第二方具有的第一增位隐私数据,进行逐位安全计算,所述第一增位隐私数据为所述第二方对所述第二隐私数据添加第一最低位后得到的,所述第一最低位的数值大小为1。
22.如权利要求20所述的装置,其中,所述第二数值确定单元包括:
移位子单元,用于将所述第一隐私数据左移所述最高位的第一分片个位之后,得到第一移位数据;
第一数值确定子单元,用于利用本方具有的所述第一移位数据,与所述第二方具有的所述最高位的第二分片,基于不经意传输,得到所述第一移位数据的第二目标位的数值大小的第一分片,所述第二目标位对应于所述最高位的第二分片;
第二数值确定子单元,用于基于所述第一数值确定子单元得到的第一移位数据的第二目标位的数值大小的第一分片,确定所述第一隐私数据中对应于所述最高位的第二数值大小的第一分片。
23.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-11中任一项的所述的方法。
24.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-11中任一项的所述的方法。
CN202010632211.2A 2020-07-03 2020-07-03 针对多方的隐私数据进行安全运算的方法和装置 Active CN111523144B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010632211.2A CN111523144B (zh) 2020-07-03 2020-07-03 针对多方的隐私数据进行安全运算的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010632211.2A CN111523144B (zh) 2020-07-03 2020-07-03 针对多方的隐私数据进行安全运算的方法和装置

Publications (2)

Publication Number Publication Date
CN111523144A true CN111523144A (zh) 2020-08-11
CN111523144B CN111523144B (zh) 2020-10-16

Family

ID=71911609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010632211.2A Active CN111523144B (zh) 2020-07-03 2020-07-03 针对多方的隐私数据进行安全运算的方法和装置

Country Status (1)

Country Link
CN (1) CN111523144B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686741A (zh) * 2020-12-25 2021-04-20 联想(北京)有限公司 一种基于区块链的数据处理方法、装置、系统及电子设备
CN113065162A (zh) * 2021-04-25 2021-07-02 支付宝(杭州)信息技术有限公司 和共享形式的隐私数据的处理方法和装置
CN113158254A (zh) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 一种保护数据隐私的选择问题处理方法和系统
CN113179158A (zh) * 2021-04-08 2021-07-27 支付宝(杭州)信息技术有限公司 一种控制带宽的多方联合数据处理方法及装置
CN113708930A (zh) * 2021-10-20 2021-11-26 杭州趣链科技有限公司 隐私数据的数据比较方法、装置、设备及介质
CN113761469A (zh) * 2021-08-10 2021-12-07 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN114595483A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种安全多方计算方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815081A (zh) * 2008-11-27 2010-08-25 北京大学 一种分布式计算的逻辑比较方法
US20150347781A1 (en) * 2014-06-03 2015-12-03 Alain Patey Methods, systems, and devices for securing distributed storage
CN110445797A (zh) * 2019-08-15 2019-11-12 湖北工业大学 一种具有隐私保护的两方多维数据比较方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815081A (zh) * 2008-11-27 2010-08-25 北京大学 一种分布式计算的逻辑比较方法
US20150347781A1 (en) * 2014-06-03 2015-12-03 Alain Patey Methods, systems, and devices for securing distributed storage
CN110445797A (zh) * 2019-08-15 2019-11-12 湖北工业大学 一种具有隐私保护的两方多维数据比较方法和系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686741A (zh) * 2020-12-25 2021-04-20 联想(北京)有限公司 一种基于区块链的数据处理方法、装置、系统及电子设备
CN112686741B (zh) * 2020-12-25 2024-04-23 联想(北京)有限公司 一种基于区块链的数据处理方法、装置、系统及电子设备
CN113179158A (zh) * 2021-04-08 2021-07-27 支付宝(杭州)信息技术有限公司 一种控制带宽的多方联合数据处理方法及装置
CN113065162A (zh) * 2021-04-25 2021-07-02 支付宝(杭州)信息技术有限公司 和共享形式的隐私数据的处理方法和装置
CN113065162B (zh) * 2021-04-25 2022-05-17 支付宝(杭州)信息技术有限公司 和共享形式的隐私数据的处理方法和装置
CN113158254A (zh) * 2021-05-18 2021-07-23 支付宝(杭州)信息技术有限公司 一种保护数据隐私的选择问题处理方法和系统
CN113761469A (zh) * 2021-08-10 2021-12-07 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN113761469B (zh) * 2021-08-10 2024-05-17 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN113708930A (zh) * 2021-10-20 2021-11-26 杭州趣链科技有限公司 隐私数据的数据比较方法、装置、设备及介质
CN114595483A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种安全多方计算方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111523144B (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111523144B (zh) 针对多方的隐私数据进行安全运算的方法和装置
CN112906044B (zh) 多方安全计算方法、装置、设备及存储介质
JP5301989B2 (ja) 楕円曲線点乗算
CN111552978B (zh) 基于DH加密和Hash表的隐私保护集合求交集方法
CN112506469B (zh) 针对隐私数据进行处理的方法和装置
CN112800478B (zh) 保护隐私数据的共有数据确定方法、装置和系统
EP1683298A1 (en) Method and device for efficient multiparty multiplication
CN112769542B (zh) 基于椭圆曲线的乘法三元组生成方法、装置、设备及介质
CN111737757B (zh) 针对隐私数据进行安全运算的方法和装置
CN116204912B (zh) 基于全同态加密的数据处理方法和装置
CN108173654B (zh) 一种基于半量子技术的两方密钥协商方法及系统
CN111737767B (zh) 针对隐私数据进行安全运算的方法和装置
CN112953700B (zh) 一种提升安全多方计算效率的方法、系统及存储介质
US20230283461A1 (en) Method, device, and storage medium for determining extremum based on secure multi-party computation
CN111008406A (zh) 基于隐私数据的一致性检测进行业务处理的方法及装置
WO2023240934A1 (zh) 针对隐私向量的安全处理方法和装置
WO2023231340A1 (zh) 分享ot协议的执行方法、安全多方计算方法及装置
CN111460510B (zh) 基于隐私保护确定相同业务数据的方法及装置
CN113407991B (zh) 一种基于可信第三方的隐私数据两方安全比较方法
CN113688426A (zh) 针对隐私数据分片进行形式转换的方法、装置和系统
Liu et al. Universally composable oblivious transfer from ideal lattice
CN110807211A (zh) 安全获取用户交集的方法、系统、可读介质及电子设备
CN114297726A (zh) 基于安全多方计算的乘法执行方法及装置
CN115801253A (zh) 一种用于安全多方计算的多方秘密分享方法及电子设备
CN114611150A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035747

Country of ref document: HK