CN113158254B - 一种保护数据隐私的选择问题处理方法和系统 - Google Patents

一种保护数据隐私的选择问题处理方法和系统 Download PDF

Info

Publication number
CN113158254B
CN113158254B CN202110543113.6A CN202110543113A CN113158254B CN 113158254 B CN113158254 B CN 113158254B CN 202110543113 A CN202110543113 A CN 202110543113A CN 113158254 B CN113158254 B CN 113158254B
Authority
CN
China
Prior art keywords
array
party
target
group
obtaining
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.)
Active
Application number
CN202110543113.6A
Other languages
English (en)
Other versions
CN113158254A (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.)
Sasi Digital Technology Beijing 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 CN202110543113.6A priority Critical patent/CN113158254B/zh
Publication of CN113158254A publication Critical patent/CN113158254A/zh
Application granted granted Critical
Publication of CN113158254B publication Critical patent/CN113158254B/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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本说明书实施例公开了一种保护数据隐私的选择问题处理方法和系统,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该方法由任一方执行,其包括:基于安全多方协议获取目标数组Rix的分片;其中,x表示第二方持有的第一数组,其包括所述n个待选择元素;i表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组Rix为第一数组x沿预设方向循环移动i位;基于所述预设方向,将所述目标数组Rix的分片的最左位或最右位的元素确定为所述目标元素的分片。

Description

一种保护数据隐私的选择问题处理方法和系统
技术领域
本说明书涉及信息安全领域,特别涉及一种保护数据隐私的选择问题处理方法和系统。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果以和共享形式存储于多方或公开给其中的一方或多方。因此,通过安全多方计算,能够让参与的各方在不暴露各自原始数据的情况下,计算出函数的结果。
出于保护数据隐私考虑,本说明书提供了基于安全多方计算处理选择问题的方法。
发明内容
本说明书实施例之一提供了一种保护数据隐私的选择问题处理方法,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该方法由任一方执行,其包括:基于安全多方协议获取目标数组Rix的分片;其中,x表示第二方持有的第一数组,其包括所述n个待选择元素;i表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组Rix为第一数组x沿预设方向循环移动i位;基于所述预设方向,将所述目标数组Rix的分片的最左位或最右位的元素确定为所述目标元素的分片。
本说明书实施例之一还提供了一种保护数据隐私的选择问题处理系统,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该系统部署于任一方,其包括:循环移动模块,用于基于安全多方协议获取目标数组Rix的分片;其中,x表示第二方持有的第一数组,其包括所述n个待选择元素;i表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组Rix为第一数组x沿预设方向循环移动i位;目标元素分片确定模块,用于基于所述预设方向,将所述目标数组Rix的分片的最左位或最右位的元素确定为所述目标元素的分片。
本说明书实施例之一还提供了一种安全选择问题处理装置,包括处理器以及存储质,所述存储介质用于存储计算机指令,所述处理器用于执行所述计算机指令中的至少一部分以实现上述的方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的选择问题的应用场景示意图;
图2是根据本说明书一些实施例所示保护数据隐私的选择问题的交互流程的示意图;
图3是根据本说明书一些实施例所示安全多方协议的交互流程的示意图;
图4是根据本说明书一些实施例所示的保护数据隐私的选择问题处理系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
为了便于阐述本说明书中的实施例,首先对其中涉及的数学知识进行介绍。
在数学中,在数学中,“群”表示一个拥有满足封闭性、满足结合律、有单位元、有逆元的二元运算的代数结构,包括阿贝尔群、同态和共轭类。其中,通常可以使用乘法符号“*”(在无歧义时可省略)或加法符号“+”作为该二元运算的符号,但需要注意的是,该二元运算不一定等同于四则运算中的乘法或加法。若干元素通过一次或多次二元运算产生的结果可称为合值。
群的二元运算满足:1.封闭律,对于G中的任意元素a、b,a*b仍在G中;2.结合律,对于G中的任意元素a、b和c,有(a*b)*c=a*(b*c);3.有单位元,G中存在元素e,使得a*e=e*a;4.有逆元,对于G中的任一元素a,G中存在b,使得a*b=b*a=e,a、b互为逆元,此处e为单位元。值得说明的是,对于“+”表示的二元运算,e也可称为零元,逆元也可称为负元,对单射双射和满射的区别于G中的任意元素a、b,a-b可以表示a+(b的逆元)。群运算的次序很重要,把元素a与元素b结合,所得到的结果不一定与把元素b与元素a结合相同;亦即交换律a*b=b*a不一定恒成立,满足交换律的群称为阿贝尔群(交换群),不满足交换律的群称为非阿贝尔群(非交换群),阿贝尔群由自身的集合G和二元运算*构成。
在数学中,映射(mapping)经常等同于函数。例如,假设A和B为两个非空集合,若对A中的任一元素x,依照某种规律(或法则)f,恒有B中的唯一确定的元素y与之对应,则称对应规律f为一个从A到B的映射。记作f:A→B,称y为x的像,记作y=f(x),并称x为y的原像,集合A称为映射f的定义域,集合B称为f的陪域。
在数学中,两个集合A和B的笛卡尔积(Cartesian product),又称直积,表示为A×B,第一个对象是A的成员而第二个对象是B的所有可能有序对的其中一个成员。
在数学中,给定一个群G,其中,G模是指群G与M中的阿贝尔群结构兼容后生成的阿贝尔群M。其中,对于每个g∈G,a∈M,都有唯一确定积g·a∈M,并且对于任何g,m∈G和a,n∈M,都满足:(1)、g·(a+n)=ga+gn;(2)、g·(ma)=(gm)·a;(3)、ka=a,k为群G中的单位元素,则称M为左G模;若ga=a,则称M为平凡左G模。
进一步地,本说明书涉及一种基于整数阿贝尔群的商群,其数学表示可以是G:=Z/nZ,其中,Z为整数集合,n为任何正整数,nZ为n的所有倍数构成的Z的子群,商Z/nZ为模以n的余数的n阶循环群,等同于mod n。
值得说明的是,由于计算设备通常使用固定位数(如bit)来存储计算过程中产生的数值,多方协同计算时会频繁使用涉及取模的群加法、群乘法、群减法等等。本说明书中,在没有特别说明额情况下,涉及符号的数学表示可优先按群加法、群乘法、群减法而非四则运算来理解。计算设备存储群元素的存储单元位数可以由群的规模确定,对于给定群,群元素越多,用于存储该群元素的存储单元位数越多,不难理解,传输该群元素时的通信量也越大。不同群之间的元素不能直接进行运算,需要对其中一个群元素进行转换,得到该群元素在另一群中的等效值,在所述另一群中完成与其元素的运算。本说明书中,为使表述简洁,在描述两个群元素进行运算时默认已经完成了前述转换。
在一些分布式场景中,需要多方安全计算得到目标运算结果,目标运算可以是安全乘法、安全模转换或者安全选择,安全可以指输出结果的正确性和输入信息、输出信息的保密性。例如,在一些机器学习场景中,一方持有私密的特征数据,另一方持有私密的标签数据。若直接计算关于私密数据(特征数据/标签数据)的目标运算结果时,一旦该目标运算结果被泄露可能导致私密数据被反推出。为此,一方可以将自身持有的私密数据x拆分成两份,保留其中一份xL并将另一份xR发送给对方,xL与xR的合值为x,即xL与xR为x的和共享形式。然后,两方运行安全计算协议,各自得到该目标运算结果的一个分片。两方得到的分片的合值即目标运算结果,攻击者若想获知隐私数据需要得到两方的分片。
一些选择问题可以被描述为,参与方需要从包含n个元素的集合中选出1个元素。仅作为示例,在进行多方联合训练时,某一参与方(如样本的特征方)拥有n个训练元素(即样本的特征数据)的集合的形式,其他参与方(如样本的标签方)可以基于ID或训练元素的序号(特征方的特征数据与标签方的标签数据可以通过样本ID或序号对齐)从所述某一参与方的n个训练元素的集合中选出1个训练元素进行后续训练,为了保护各参与方的隐私数据,被选出的1个训练元素以和共享分片分别存储与各参与方,所述其他参与方并不知晓选出的训练元素的具体取值,所述某一参与方也不知晓其训练集合中的哪个训练元素被选中。
在本说明书的实施例提供了一种保护数据隐私的选择问题处理方法,通过安全多方协议实现从包含n个元素的集合中选出1个元素的选择问题。
图1是根据本说明书一些实施例所示的选择问题的应用场景示意图。
如图1所示,计算系统100可以包括计算设备110、计算设备120以及网络140,计算设备110和计算设备120可以是参与两方安全计算的两方的设备。
计算设备可以包括各类具备计算能力的设备,如服务器。在一些实施例中,服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,服务器可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
网络140连接系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以包括有线网络和/或无线网络。例如,网络140可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
在一些实施例中,计算系统100还可以包括半可信第三方设备130,半可信第三方设备130可协助两方计算设备运行安全计算协议,例如,半可信第三方设备130可以生成随机数、计算分片值、分发随机数和/或分片值给计算设备110、计算设备120等。
在一些实施例中,从包含n个元素的集合中选出1个元素的选择问题可以等效为:存在第一数组x,以及属于所述第一群的位置元素i,确定第一数组x中的序号为i的目标元素x(i);其中,第一群具有n个元素;所述第一数组x包括n个元素,每个元素属于第二群,元素的序号属于第一群。
示例性的,当选择问题为从5个元素的集合中选出1个元素时,第一数组x可以表示为{a0,a1,a2,a3,a4}共5个元素的集合,其中元素a0~a4来自第二群,其中元素的序号来自第一群,位置元素i的序号可以表示为3,位置元素的需要属于第一群。可以将位置元素i代入目标元素x(i)中,得到x(3);选择问题等价为从第一数组x中的五个元素中选择序号为3的元素作为目标元素,由于第一数组x中元素的序号可以从右向左数也可以由左向右数,因此在执行该方法前参与方可以预先定义方向,为了便于描述,此处选择由左向右数为例进行说明,并定义数组中最左位元素的序号为0,由左向右,其余元素的序号为1、2、3...。需要说明的是,在其他实施例中,数组中最左端元素的序数还可以是任何其他数值(如1、5、10等),此外,还可以定义数组中最右位元素的序数为0、1或其他数值,在本说明书中不做限制。继续前例,目标元素此时可以为第一数组x中由左向右数序号为3的元素,即位置元素i=3时,目标元素x(3)=a3。
为实现多方安全计算下的选择问题处理,本说明书提出了以下等式:(Rix)j=xi+j;即将任意数组,如第一数组x,中元素沿预设方向循环移动i位得到的目标数组Rix的第j位(基于预设方向确定的第j位),恒等于原数组,如第一数组x,基于预设方向取第i+j位。当j取0时,则进一步有:对任意数组,如第一数组x,中基于预设方向取第i位等于将该数组沿所述预设方向循环移动i位后得到的目标数组Rix的基于预设方向取第0位。其中,预设方向为向左时,基于预设方向即为由左向右;预设方向为向右时,基于预设方向为由右向左。具体的,当所述预设方向为向左时(同时序号由左向右递增),xi等于将第一数据x向左循环移动i位后的最左位,当所述预设方向为向右时(同时序号由右向左递增),xi等于将第一数据x向右循环移动i位后的最右位。
图2是根据本说明书一些实施例所示保护数据隐私的选择问题的交互流程的示意图。本部分将基于上述原理阐述如何在多方安全计算中处理所述选择问题。
在一些实施例中,选择问题的参与方包括第一方(如计算设备110)和第二方(如计算设备120),第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数。目标元素的位置信息可以标识目标元素在n个待选择元素中的位置。例如,n个待选择元素具有各自的ID或者序号,目标元素的位置信息可以为相应待选择元素的ID或者序号。进一步,第一方持有位置元素i,其基于目标元素的位置信息确定;第二方持有第一数组x,第一数组x包括所述n个待选择元素。所述位置元素i与目标元素的位置信息相关,具体可以等于位置信息或者与位置信息具有一定的对应关系。例如,第二方可以设定n个待选择元素在数组中的位置,如设定n个待选择元素分别为数组中的第1、2、...、n个元素;第一方可以决定从第一数组中获取第i个元素作为目标元素,i为1~n中的某一个整数。通过安全选择问题,双方可以获得目标元素的分片,但是第一方不会知晓第一数组中有哪些元素,第二方也不会知晓第一方选出的目标元素在第一数组中的位置。在保护数据隐私的选择问题的交互流程中,第一方和第二方所执行的步骤相互对称,因此在一些实施例中,流程200可以由任一方执行,包括:
步骤210,基于安全多方协议获取目标数组Rix的分片;其中,所述目标数组Rix为第一数组x中沿预设方向循环移动i位。在一些实施例中,步骤210可以由循环移动模块410执行。
由于第一方持有的位置元素i和第二方持有的第一数组x需要相互保密,因此在一些实施例中,参与方首先将第一数组x数组转化为目标数组Rix,目标数组Rix为第一数组x沿预设方向循环移动i位得到。具体的,第一方基于安全多方协议获取目标数组Rix的第一分片,第二方基于安全多方协议获取目标数组Rix的第二分片。
目标数组Rix以和分片的形式存储于第一方和第二方,因此第一方和第二方无法由分片获知其他任何信息。
为了示例的一致性表述,此处沿用前述示例,选择序号从左向右数(序号由左向右递增),与之对应的预设方向即向左,即沿预设方向循环移位的操作为循环左移(通过L表示循环左移),即将第一数组x中元素向左循环移动i位得到目标数组Lix。示例性的,继续取位置元素i=3,第一数组x表示为{a0,a1,a2,a3,a4},可以得到,第一数组x向左循环移动3位得到的目标数组Lix为{a3,a4,a0,a1,a2}。
步骤220,基于所述预设方向,将所述目标数组Rix的分片的最左位或最右位的元素确定为所述目标元素x(i)的分片。在一些实施例中,步骤220可以由目标元素分片确定模块420执行。
在步骤210中,选择预设方向为左移,因此,在一些实施例中,可以将所述目标数组Rix中最左位的元素确定为所述目标元素x(i)的分片。在一些其他实施例中,当预设方向为右移时(即第一数组x中元素向右循环移动),将所述目标数组Rix中最右位的元素确定为所述目标元素x(i)的分片。
继续采用先前示例,第一数组x向左循环移动3位得到的目标数组Rix为{a3,a4,a0,a1,a2},此时目标数组Lix中最左位的元素为目标元素x(i),即x(3)=a3,第一方和第二方分别得到目标元素x(i)的第一分片和第二分片。
由此可以看出,从包含n个元素的集合中选出1个元素的选择问题可以转化为流程200的等效处理方式。在流程200中,参与方基于安全多方协议协同运算,实现了将第一数组x沿预设方向循环移动i位,这一过程任一参与方并不会获知对方的隐私数据。在一些实施例中,第一方和第二方可以进一步按照图3所示的流程实现安全多方协议下的数组移位。
图3是根据本说明书一些实施例所示安全多方协议的交互流程的示意图。
在一些实施例中,第一群为商群Z/nZ,第二群为阿贝尔群A。基于此,为了便于描述集合之间的数学关系,在本实施例中,可以将第一数组x表示为x∈Map(Z/nZ,A),其中,Map(Z/nZ,A)表示从第一群到第二群的映射集合,i∈Z/nZ。不难理解,第一数组x本身就等同于从第一群到第二群的映射。
在一些实施例中,所述安全多方协议参与方包括流程200中的两方,其中第一方拥有属于第一群的位置元素i,第二方拥有第一数组x,数组中每个元素属于第二群。该安全多方协议为两方协同计算目标数组Rix,并将计算结果以和共享分片存储于所述两方。
令B:=Map(Z/nZ,A),由前述数学知识G:=Z/nZ可知,映射群B为G模群,存在有限群G在映射群B上的作用到映射群B的映射(即G×B→B),满足分配率,有限群G中包括元素i、映射群B中包括数组x,那么在该映射下的像可以表示为Rix。在一些实施例中,元素i可以是位置元素i、数组x可以是第一数组x,该映射下的像可以是目标数组Rix,由此,可以通过执行该协议300计算得到目标数组Rix。
在一些实施例中,当流程200中任一方为第一方时,协议300的步骤具体包括:
步骤311,获取第一中间数组的第一分片u0以及属于第一群的第一随机数h;第一中间数组为将随机数组b沿所述预设方向循环移动h位;所述随机数组b的元素个数为n,每个元素属于第二群,元素的序号属于第一群。
在一些实施例中,所述第一随机数h、随机数组b、第一中间数组的第一分片u0和第一中间数组的第二分片u1可以由第三方生成。在一些实施例中,第三方具体的可以是半可信第三方设备130。
在一些实施例中,第三方可以通过随机数生成装置或随机数生成算法,得到第一随机数h和随机数组b,再将随机数组b沿所述预设方向循环移动h位得到第一中间数组。在一些实施例中,预设方向为左移时,即第一中间数组的第一分片u0和第一中间数组的第二分片u1可以表示为:u0+u1=Lhb。然后,第三方将第一随机数h和第一中间数组的第一分片u0发送至第一方;将随机数组b和第一中间数组的第二分片u1发送至第二方。
为了减小步骤311中数据传输量,在一些实施例中,参与方可以通过伪随机数算法,基于随机数种子生成随机数。在伪随机数算法中,需要预先设置一组伪随机数据种子,各方再基于预设好的随机数种子,生成一组随机数。当输入相同的随机数种子时,所生成的随机数序列也是相同的。需要说明的是,随机数种子可以在执行协议前提前配置于参与方。
具体的,所述第一随机数h为第一方通过预设的第一随机数种子生成;所述随机数组b为第二方通过预设的第二随机数种子生成;所述第一中间数组的第一分片u0为所述第一方通过预设的第三随机数种子生成。此时第一方已经持有第一随机数h和第一中间数组的第一分片u0。第三方通过第一随机数种子、第二随机数种子和第三随机数种子对应生成h、b以及u0,并基于u1=Lhb-u0得到第一中间数组的第二分片u1,因此第二方可以从第三方获取第一中间数组的第二分片u1,此时第二方持有随机数组b和第一中间数组的第二分片u1,完成随机数及分片的分发。在一些替代性的实施例中,还可以是第一中间数组的第一分片u0为所述第一方从第三方获取,第一中间数组的第二分片u1为所述另一方通过所述预设的第二随机数种子生成。
在利用伪随机数算法实现随机数及分片的分发过程中,仅有一方从第三方处获取第一中间数组的第一分片u0或第一中间数组的第二分片u1,因此该步骤中第三方的传输量仅为n log2|A|,进一步减轻了系统传输负荷。
步骤312,发送第一传输数据f至第二方;所述第一传输数据f基于i-h得到。
在一些实施例中,由步骤211可知,i可以表示为沿预设方向循环移动i位,因此,步骤312中i-h可以表示为,与i的预设方向相反的方向移动h位。在一些实施例中,第一传输数据f还可以表示为ih-1,其中h-1为h的逆,在本实施例中可以看成是与h相反的方向。示例性的,继续采用先前示例,即i=3。若所生成的第一随机数h为1,则第一传输数据f为i-1=2,即第一传输数据f可以等效为向预设方向循环移动2位,第一传输数据f属于第一群。
步骤313,获取所述第二方的第二传输数据c;所述第二传输数据c基于第一数组x与随机数组b按位求差得到。
在一些实施例中,随机数组b中元素的数量与第一数组x相同,第二传输数据c可以表示为c=x-b。示例性的,设第一数组x为{5,4,3,2,1},随机数组b为{1,3,4,3,6},第一数组x与随机数组b按位求差即为{5-1,4-3,3-4,2-3,1-6},第二方可以计算得到第二传输数据c为{4,1,-1,-1,-5},第二传输数据c中每个元素属于第二群。
步骤314,将所述第二传输数据c沿所述预设方向循环移动i位,得到第二中间数组;将所述第一中间数组的第一分片u0沿所述预设方向循环移动f位,得到第三中间数组;
在一些实施例中,预设方向为左移时,第二中间数组可以表示为Lic或Li(x-b)。继续采用先前示例,当i=3、第二传输数据c为{4,1,-1,-1,-5}时,第二中间数组Li(x-b)为{-1,-5,4,1,-1}。
同理,由于第一中间数组的第一分片u0沿所述预设方向循环移动f位得到第三中间数组,在一些实施例中,可以将第三中间数组表示为Lf(u0)或采用步骤312中第一传输数据f表示为ih-1的方式,可以进一步将第三中间数组表示为
Figure BDA0003071990160000082
步骤315,将第二中间数组与第三中间数组按位求和,得到所述目标数组Rix的第一分片p0
在一些实施例中,第一中间数组的第一分片中元素个数与第一数组x相等,第二中间数组中元素个数也与第一数组x相等,因此可以将第二中间数组与第三中间数组按位求和,可以表示为
Figure BDA0003071990160000083
按位求和与按位求差类似,可以参见步骤313中示例,在此不再赘述。
由步骤311~315可以看出,第一方在执行协议的过程中,只需要与第二方进行一轮交互,且第一方生成第一传输数据时无需第二方的数据参与。因此,可以实现全双工,即两方可以同时向对方发送数据,减少了交互次数,降低了系统延迟产生的影响。
在一些实施例中,当流程200中任一方为第二方时,协议300的步骤具体包括:
步骤321,获取第一中间数组的第二分片u1以及随机数组b;所述随机数组b的元素个数为n,每个元素属于第二群,元素的序号属于第一群;第一中间数组为将随机数组b沿所述预设方向循环移动h位;所述h为第一随机数,且属于第一群。
在一些示例中,与步骤311类似,获取随机数组b和第一中间数组的第二分片u1可以通过第三方生成具体可以参见步骤311相关描述,此处不再赘述。
在一些实施例中,步骤321也可以通过伪随机数算法,基于随机数种子生成随机数,伪随机数算法的具体方案可以参见步骤311相关描述,在此不再赘述。
步骤322,发送第二传输数据c至第一方;所述第二传输数据c基于第一数组x与随机数组b按位求差得到。
关于第二传输数据c的更多信息可以参见步骤313相关描述,在此不再赘述。
步骤323,获取第一方的第一传输数据f;所述第一传输数据f基于i-h得到。
关于第一传输数据f的更多信息可以参见步骤312相关描述,在此不再赘述。
步骤324,将第一中间数组的第二分片u1沿所述预设方向移动f位,得到所述目标数组Rix的第二分片p1
在一些实施例中,将第一中间数组的第二分片u1沿所述预设方向移动f位,当预设方向为左移时,可以表示为:
Figure BDA0003071990160000081
在一些实施例中,第一方得到目标数组Rix的第一分片p0,第二方得到目标数组Rix的第二分片p1,(p0,p1)即为目标数组Rix(当预设方向为左移时可以表示为Lix)。由群的性质,该协议300的原理可以表示为:
Figure BDA0003071990160000091
Figure BDA0003071990160000092
Figure BDA0003071990160000093
由于一方生成内容不依赖于另一方的数据,在一些实施例中,步骤312和步骤322可以同时执行,即第一方和第二方可以同时向对方发送数据。
应当注意的是,上述有关流程200和协议300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200或300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,例如在步骤312和步骤313可以同时进行,或者顺序对调,步骤322和步骤323也可以同时进行,或者顺序对调。
图4是根据本说明书一些实施例所示的保护数据隐私的选择问题处理系统的模块图。
如图4所示,保护数据隐私的选择问题处理系统400包括循环移动模块410和目标元素分片确定模块420。
选择问题被描述为,从包含n个元素的集合中选出1个元素;所述选择问题等效为存在第一数组x,以及属于所述第一群的位置元素i,确定第一数组x中的序号为i的目标元素x(i);其中,第一群具有n个元素;所述第一数组x包括n个元素,每个元素属于第二群,元素的序号属于第一群;所述选择问题的参与方包括第一方和第二方,第一方持有位置元素i,第二方持有第一数组x;系统400部署于任一方。
循环移动模块410,可以用于基于安全多方协议获取目标数组Rix的分片;其中,所述目标数组Rix为第一数组x沿预设方向循环移动i位。
在一些实施例中,关于目标数组Rix的分片可以参见步骤210及其相关描述,在此不再赘述。
目标元素分片确定模块420可以用于基于所述预设方向,将所述目标数组Rix的分片的最左位或最右位的元素确定为所述目标元素x(i)的分片。
在一些实施例中,关于目标元素x(i)的分片可以参见步骤220及其相关描述,在此不再赘述。
在一些实施例中,所述第一群为商群Z/nZ;所述第二群为阿贝尔群。
在一些实施例中,所述目标元素分片确定模块还用于:所述预设方向为左移时,将所述目标数组Rix的分片中最左位的元素确定为所述目标元素x(i)的分片;所述预设方向为右移时,将所述目标数组Rix的分片中最右位的元素确定为所述目标元素x(i)的分片。
在一些实施例中,当部署于第一方时,所述循环移动模块用于:获取第一中间数组的第一分片u0以及属于第一群的第一随机数h;第一中间数组为将随机数组b沿所述预设方向循环移动h位;所述随机数组b的元素个数为n,每个元素属于第二群,元素的序号属于第一群;发送第一传输数据f至第二方;所述第一传输数据f基于i-h得到;获取所述第二方的第二传输数据c;所述第二传输数据c基于第一数组x与随机数组b按位求差得到;将所述第二传输数据c沿所述预设方向循环移动i位,得到第二中间数组;将所述第一中间数组的第一分片u0沿所述预设方向循环移动f位,得到第三中间数组;将第二中间数组与第三中间数组按位求和,得到所述目标数组Rix的第一分片p0
在一些实施例中,所述第一随机数h以及第一中间数组的第一分片u0从第三方获取。
在一些实施例中,所述第一随机数h为所述第一方通过预设的第一随机数种子生成;所述第一中间数组的第一分片u0为所述第一方通过预设的第三随机数种子生成,或者,所述第一中间数组的第一分片u0为所述第一方从第三方获取。
在一些实施例中,当部署于第二方时,所述循环移动模块用于:获取第一中间数组的第二分片u1以及随机数组b;所述随机数组b的元素个数为n,每个元素属于第二群,元素的序号属于第一群;第一中间数组为将随机数组b沿所述预设方向循环移动h位;所述h为第一随机数,且属于第一群;发送第二传输数据c至第一方;所述第二传输数据c基于第一数组x与随机数组b按位求差得到;获取第一方的第一传输数据f;所述第一传输数据f基于i-h得到;将第一中间数组的第二分片u1沿所述预设方向移动f位,得到所述目标数组Rix的第二分片p1
在一些实施例中,所述随机数组b以及第一中间数组的第二分片u1从第三方获取。
在一些实施例中,所述随机数组b为所述第二方通过预设的第二随机数种子生成;所述第一中间数组的第二分片u1为所述第二方从第三方获取,或者,所述第一中间数组的第二分片u1为所述第二方通过所述预设的第四随机数种子生成。
应当理解,图4所示的装置及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于装置及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该装置的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子装置与其他模块连接例如,上述系统400中的各个模块可以位于同一服务器上,也可以分属不同的服务器。诸如此类的变形,均在本说明书的保护范围之内。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书实施例可能带来的有益效果包括但不限于:(1)通过安全多方协议,两参与方仅需发送一轮数据即可实现n选1的选择问题;(2)安全多方协议为全双工协议,执行时响应更快且传输延迟更低;(3)两参与方在进行处理过程中,不会泄露各方的隐私数据,保护各方的数据安全。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (22)

1.一种保护数据隐私的选择问题处理方法,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该方法由第一方执行,其包括:
基于安全多方协议获取目标数组
Figure 521237DEST_PATH_IMAGE001
的第一分片;其中,
Figure 330055DEST_PATH_IMAGE002
表示第二方持有的第一数组,其包括所述n个待选择元素;
Figure 703267DEST_PATH_IMAGE003
表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组
Figure 288357DEST_PATH_IMAGE004
为第一数组
Figure 56724DEST_PATH_IMAGE005
沿预设方向循环移动
Figure 426657DEST_PATH_IMAGE006
位;所述位置元素
Figure 573649DEST_PATH_IMAGE003
属于第一群;所述第一数组
Figure 225079DEST_PATH_IMAGE002
包括n个元素,每个元素属于第二群,元素的序号属于第一群;
基于所述预设方向,将所述目标数组
Figure 146155DEST_PATH_IMAGE004
的第一分片的最左位或最右位的元素确定为所述目标元素的第一分片;
所述基于安全多方协议获取目标数组
Figure 968880DEST_PATH_IMAGE004
的第一分片,包括:
获取第一中间数组的第一分片
Figure 113422DEST_PATH_IMAGE007
以及属于第一群的第一随机数
Figure 102631DEST_PATH_IMAGE008
;第一中间数组为将随机数组
Figure 794992DEST_PATH_IMAGE009
沿所述预设方向循环移动
Figure 411787DEST_PATH_IMAGE008
位;所述随机数组
Figure 686036DEST_PATH_IMAGE009
的元素个数为n,每个元素属于第二群,元素的序号属于第一群;
发送第一传输数据
Figure 354302DEST_PATH_IMAGE010
至第二方;所述第一传输数据
Figure 512620DEST_PATH_IMAGE010
基于
Figure 772088DEST_PATH_IMAGE011
得到;
获取所述第二方的第二传输数据
Figure 750277DEST_PATH_IMAGE012
;所述第二传输数据
Figure 803991DEST_PATH_IMAGE012
基于第一数组
Figure 551236DEST_PATH_IMAGE002
与随机数组
Figure 11298DEST_PATH_IMAGE009
按位求差得到;
将所述第二传输数据
Figure 214134DEST_PATH_IMAGE012
沿所述预设方向循环移动
Figure 549169DEST_PATH_IMAGE003
位,得到第二中间数组;
将所述第一中间数组的第一分片
Figure 91533DEST_PATH_IMAGE007
沿所述预设方向循环移动
Figure 283349DEST_PATH_IMAGE010
位,得到第三中间数组;
将第二中间数组与第三中间数组按位求和,得到所述目标数组
Figure 922883DEST_PATH_IMAGE004
的第一分片
Figure 327188DEST_PATH_IMAGE013
2.如权利要求1所述的方法,所述基于所述预设方向,将所述目标数组
Figure 51955DEST_PATH_IMAGE004
的分片的最左位或最右位确定所述目标元素的分片,包括:
所述预设方向为左移时,将所述目标数组
Figure 322662DEST_PATH_IMAGE004
的分片中最左位的元素确定为所述目标元素的分片;
所述预设方向为右移时,将所述目标数组
Figure 434843DEST_PATH_IMAGE004
的分片中最右位的元素确定为所述目标元素的分片。
3.如权利要求1所述的方法,其中:
所述第一群为商群Z/nZ;所述第二群为阿贝尔群。
4.如权利要求1所述的方法,其中:
所述第一随机数
Figure 911348DEST_PATH_IMAGE008
以及第一中间数组的第一分片
Figure 894217DEST_PATH_IMAGE007
从第三方获取。
5.如权利要求1所述的方法,其中:
所述第一随机数
Figure 386423DEST_PATH_IMAGE008
为所述第一方通过预设的第一随机数种子生成;
所述第一中间数组的第一分片
Figure 988830DEST_PATH_IMAGE007
为所述第一方通过预设的第三随机数种子生成,或者,所述第一中间数组的第一分片
Figure 344725DEST_PATH_IMAGE007
为所述第一方从第三方获取。
6.一种保护数据隐私的选择问题处理方法,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该方法由第二方执行,其包括:
基于安全多方协议获取目标数组
Figure 480302DEST_PATH_IMAGE001
的第二分片;其中,
Figure 125435DEST_PATH_IMAGE002
表示第二方持有的第一数组,其包括所述n个待选择元素;
Figure 946629DEST_PATH_IMAGE003
表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组
Figure 884978DEST_PATH_IMAGE004
为第一数组
Figure 376527DEST_PATH_IMAGE005
沿预设方向循环移动
Figure 832041DEST_PATH_IMAGE006
位;所述位置元素
Figure 609373DEST_PATH_IMAGE003
属于第一群;所述第一数组
Figure 808535DEST_PATH_IMAGE002
包括n个元素,每个元素属于第二群,元素的序号属于第一群;
基于所述预设方向,将所述目标数组
Figure 80555DEST_PATH_IMAGE004
的第二分片的最左位或最右位的元素确定为所述目标元素的第二分片;
所述基于安全多方协议获取目标数组
Figure 923615DEST_PATH_IMAGE004
的第二分片,包括:
获取第一中间数组的第二分片
Figure 784648DEST_PATH_IMAGE014
以及随机数组
Figure 207408DEST_PATH_IMAGE009
;所述随机数组
Figure 611232DEST_PATH_IMAGE009
的元素个数为n,每个元素属于第二群,元素的序号属于第一群;第一中间数组为将随机数组
Figure 593287DEST_PATH_IMAGE009
沿所述预设方向循环移动
Figure 128567DEST_PATH_IMAGE008
位;所述
Figure 154685DEST_PATH_IMAGE008
为第一随机数,且属于第一群;
发送第二传输数据
Figure 181723DEST_PATH_IMAGE012
至第一方;所述第二传输数据
Figure 353204DEST_PATH_IMAGE012
基于第一数组
Figure 906938DEST_PATH_IMAGE002
与随机数组
Figure 533485DEST_PATH_IMAGE009
按位求差得到;
获取第一方的第一传输数据
Figure 939932DEST_PATH_IMAGE010
;所述第一传输数据
Figure 639903DEST_PATH_IMAGE010
基于
Figure 900508DEST_PATH_IMAGE011
得到;
将第一中间数组的第二分片
Figure 273021DEST_PATH_IMAGE014
沿所述预设方向移动
Figure 551949DEST_PATH_IMAGE010
位,得到所述目标数组
Figure 534074DEST_PATH_IMAGE004
的第二分片
Figure 124718DEST_PATH_IMAGE015
7.如权利要求6所述的方法,所述基于所述预设方向,将所述目标数组
Figure 931217DEST_PATH_IMAGE004
的分片的最左位或最右位确定所述目标元素的分片,包括:
所述预设方向为左移时,将所述目标数组
Figure 172974DEST_PATH_IMAGE004
的分片中最左位的元素确定为所述目标元素的分片;
所述预设方向为右移时,将所述目标数组
Figure 76732DEST_PATH_IMAGE004
的分片中最右位的元素确定为所述目标元素的分片。
8.如权利要求6所述的方法,其中:
所述第一群为商群Z/nZ;所述第二群为阿贝尔群。
9.如权利要求6所述的方法,其中:
所述随机数组
Figure 544885DEST_PATH_IMAGE009
以及第一中间数组的第二分片
Figure 392624DEST_PATH_IMAGE014
从第三方获取。
10.如权利要求6所述的方法,其中:
所述随机数组
Figure 193614DEST_PATH_IMAGE009
为所述第二方通过预设的第二随机数种子生成;
所述第一中间数组的第二分片
Figure 671869DEST_PATH_IMAGE014
为所述第二方从第三方获取,或者,所述第一中间数组的第二分片
Figure 756545DEST_PATH_IMAGE014
为所述第二方通过所述预设的第四随机数种子生成。
11.一种保护数据隐私的选择问题处理系统,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该系统部署于第一方,其包括:
循环移动模块,用于基于安全多方协议获取目标数组
Figure 315964DEST_PATH_IMAGE004
的第一分片;其中,
Figure 253352DEST_PATH_IMAGE002
表示第二方持有的第一数组,其包括所述n个待选择元素;
Figure 495983DEST_PATH_IMAGE003
表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组
Figure 141990DEST_PATH_IMAGE001
为第一数组
Figure 939656DEST_PATH_IMAGE002
沿预设方向循环移动
Figure 181150DEST_PATH_IMAGE003
位;所述位置元素
Figure 800875DEST_PATH_IMAGE003
属于第一群;所述第一数组
Figure 698293DEST_PATH_IMAGE002
包括n个元素,每个元素属于第二群,元素的序号属于第一群;
目标元素分片确定模块,用于基于所述预设方向,将所述目标数组
Figure 458570DEST_PATH_IMAGE004
的第一分片的最左位或最右位的元素确定为所述目标元素的第一分片;
所述循环移动模块还用于:
获取第一中间数组的第一分片
Figure 354238DEST_PATH_IMAGE007
以及属于第一群的第一随机数
Figure 673092DEST_PATH_IMAGE008
;第一中间数组为将随机数组
Figure 376913DEST_PATH_IMAGE009
沿所述预设方向循环移动
Figure 908258DEST_PATH_IMAGE008
位;所述随机数组
Figure 330536DEST_PATH_IMAGE009
的元素个数为n,每个元素属于第二群,元素的序号属于第一群;
发送第一传输数据
Figure 554713DEST_PATH_IMAGE010
至第二方;所述第一传输数据
Figure 662609DEST_PATH_IMAGE010
基于
Figure 594049DEST_PATH_IMAGE011
得到;
获取所述第二方的第二传输数据
Figure 195800DEST_PATH_IMAGE012
;所述第二传输数据
Figure 339948DEST_PATH_IMAGE012
基于第一数组
Figure 105779DEST_PATH_IMAGE002
与随机数组
Figure 949232DEST_PATH_IMAGE009
按位求差得到;
将所述第二传输数据
Figure 18207DEST_PATH_IMAGE012
沿所述预设方向循环移动
Figure 226596DEST_PATH_IMAGE003
位,得到第二中间数组;
将所述第一中间数组的第一分片
Figure 869936DEST_PATH_IMAGE007
沿所述预设方向循环移动
Figure 508291DEST_PATH_IMAGE010
位,得到第三中间数组;
将第二中间数组与第三中间数组按位求和,得到所述目标数组
Figure 350214DEST_PATH_IMAGE004
的第一分片
Figure 729505DEST_PATH_IMAGE013
12.如权利要求11所述的系统,所述目标元素分片确定模块还用于:
所述预设方向为左移时,将所述目标数组
Figure 925388DEST_PATH_IMAGE004
的分片中最左位的元素确定为所述目标元素的分片;
所述预设方向为右移时,将所述目标数组
Figure 997729DEST_PATH_IMAGE004
的分片中最右位的元素确定为所述目标元素的分片。
13.如权利要求11所述的系统,其中:
所述第一群为商群Z/nZ;所述第二群为阿贝尔群。
14.如权利要求11所述的系统,其中:
所述第一随机数
Figure 897420DEST_PATH_IMAGE008
以及第一中间数组的第一分片
Figure 276974DEST_PATH_IMAGE007
从第三方获取。
15.如权利要求11所述的系统,其中:
所述第一随机数
Figure 474999DEST_PATH_IMAGE008
为所述第一方通过预设的第一随机数种子生成;
所述第一中间数组的第一分片
Figure 759219DEST_PATH_IMAGE007
为所述第一方通过预设的第三随机数种子生成,或者,所述第一中间数组的第一分片
Figure 188451DEST_PATH_IMAGE007
为所述第一方从第三方获取。
16.一种保护数据隐私的选择问题处理系统,所述选择问题的参与方包括第一方和第二方,其中,第一方持有目标元素的位置信息,第二方持有包含目标元素在内的n个待选择元素,n为大于1的整数;该系统部署于第二方,其包括:
循环移动模块,用于基于安全多方协议获取目标数组
Figure 288038DEST_PATH_IMAGE004
的第二分片;其中,
Figure 596529DEST_PATH_IMAGE002
表示第二方持有的第一数组,其包括所述n个待选择元素;
Figure 998954DEST_PATH_IMAGE003
表示第一方持有的位置元素,其基于目标元素的位置信息确定;所述目标数组
Figure 876167DEST_PATH_IMAGE001
为第一数组
Figure 594593DEST_PATH_IMAGE002
沿预设方向循环移动
Figure 862151DEST_PATH_IMAGE003
位;所述位置元素
Figure 550490DEST_PATH_IMAGE003
属于第一群;所述第一数组
Figure 933410DEST_PATH_IMAGE002
包括n个元素,每个元素属于第二群,元素的序号属于第一群;
目标元素分片确定模块,用于基于所述预设方向,将所述目标数组
Figure 825667DEST_PATH_IMAGE004
的第二分片的最左位或最右位的元素确定为所述目标元素的第二分片;
所述循环移动模块还用于:
获取第一中间数组的第二分片
Figure 79056DEST_PATH_IMAGE014
以及随机数组
Figure 305507DEST_PATH_IMAGE009
;所述随机数组
Figure 298258DEST_PATH_IMAGE009
的元素个数为n,每个元素属于第二群,元素的序号属于第一群;第一中间数组为将随机数组
Figure 661282DEST_PATH_IMAGE009
沿所述预设方向循环移动
Figure 25137DEST_PATH_IMAGE008
位;所述
Figure 199153DEST_PATH_IMAGE008
为第一随机数,且属于第一群;
发送第二传输数据
Figure 217050DEST_PATH_IMAGE012
至第一方;所述第二传输数据
Figure 356170DEST_PATH_IMAGE012
基于第一数组
Figure 676162DEST_PATH_IMAGE002
与随机数组
Figure 665588DEST_PATH_IMAGE009
按位求差得到;
获取第一方的第一传输数据
Figure 223477DEST_PATH_IMAGE010
;所述第一传输数据
Figure 64657DEST_PATH_IMAGE010
基于
Figure 15820DEST_PATH_IMAGE011
得到;
将第一中间数组的第二分片
Figure 856606DEST_PATH_IMAGE014
沿所述预设方向移动
Figure 645832DEST_PATH_IMAGE010
位,得到所述目标数组
Figure 6714DEST_PATH_IMAGE004
的第二分片
Figure 412549DEST_PATH_IMAGE015
17.如权利要求16所述的系统,所述目标元素分片确定模块还用于:
所述预设方向为左移时,将所述目标数组
Figure 886387DEST_PATH_IMAGE004
的分片中最左位的元素确定为所述目标元素的分片;
所述预设方向为右移时,将所述目标数组
Figure 671066DEST_PATH_IMAGE004
的分片中最右位的元素确定为所述目标元素的分片。
18.如权利要求16所述的系统,其中:
所述第一群为商群Z/nZ;所述第二群为阿贝尔群。
19.如权利要求16所述的系统,其中:
所述随机数组
Figure 978681DEST_PATH_IMAGE009
以及第一中间数组的第二分片
Figure 167086DEST_PATH_IMAGE014
从第三方获取。
20.如权利要求16所述的系统,其中:
所述随机数组
Figure 786610DEST_PATH_IMAGE009
为所述第二方通过预设的第二随机数种子生成;
所述第一中间数组的第二分片
Figure 816008DEST_PATH_IMAGE014
为所述第二方从第三方获取,或者,所述第一中间数组的第二分片
Figure 855377DEST_PATH_IMAGE014
为所述第二方通过所述预设的第四随机数种子生成。
21.一种安全选择问题处理装置,包括处理器以及存储质,所述存储介质用于存储计算机指令,所述处理器用于执行所述计算机指令中的至少一部分以实现权利要求1-5中任一项所述的方法。
22.一种安全选择问题处理装置,包括处理器以及存储质,所述存储介质用于存储计算机指令,所述处理器用于执行所述计算机指令中的至少一部分以实现权利要求6-10中任一项所述的方法。
CN202110543113.6A 2021-05-18 2021-05-18 一种保护数据隐私的选择问题处理方法和系统 Active CN113158254B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110543113.6A CN113158254B (zh) 2021-05-18 2021-05-18 一种保护数据隐私的选择问题处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110543113.6A CN113158254B (zh) 2021-05-18 2021-05-18 一种保护数据隐私的选择问题处理方法和系统

Publications (2)

Publication Number Publication Date
CN113158254A CN113158254A (zh) 2021-07-23
CN113158254B true CN113158254B (zh) 2022-06-24

Family

ID=76876454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110543113.6A Active CN113158254B (zh) 2021-05-18 2021-05-18 一种保护数据隐私的选择问题处理方法和系统

Country Status (1)

Country Link
CN (1) CN113158254B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761469B (zh) * 2021-08-10 2024-05-17 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657489A (zh) * 2018-08-03 2019-04-19 湖北工业大学 一种隐私保护的集合交集两方安全计算方法及系统
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统
CN111857649A (zh) * 2020-06-22 2020-10-30 复旦大学 一种用于隐私保护机器学习的定点数编码及运算系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020188572A1 (en) * 2001-06-08 2002-12-12 International Business Machines Corporation Interface for creating privacy policies for the P3P specification
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
US10528760B2 (en) * 2017-08-03 2020-01-07 Hrl Laboratories, Llc Privacy-preserving multi-client and cloud computation with application to secure navigation
WO2019183598A1 (en) * 2018-03-23 2019-09-26 Opanga Networks, Inc. Coordinated data sharing in virtualized networking environments
CN111177790B (zh) * 2020-04-10 2020-07-10 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111475854B (zh) * 2020-06-24 2020-10-20 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法及系统
CN111523144B (zh) * 2020-07-03 2020-10-16 支付宝(杭州)信息技术有限公司 针对多方的隐私数据进行安全运算的方法和装置
CN111539041B (zh) * 2020-07-08 2020-11-13 支付宝(杭州)信息技术有限公司 一种安全选择方法和系统
CN111539027B (zh) * 2020-07-08 2020-11-06 支付宝(杭州)信息技术有限公司 一种基于双方隐私保护的信息验证方法和系统
CN112765616B (zh) * 2020-12-18 2024-02-02 百度在线网络技术(北京)有限公司 多方安全计算方法、装置、电子设备和存储介质
CN112560107B (zh) * 2021-02-20 2021-05-14 支付宝(杭州)信息技术有限公司 针对隐私数据进行处理的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109657489A (zh) * 2018-08-03 2019-04-19 湖北工业大学 一种隐私保护的集合交集两方安全计算方法及系统
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统
CN111857649A (zh) * 2020-06-22 2020-10-30 复旦大学 一种用于隐私保护机器学习的定点数编码及运算系统

Also Published As

Publication number Publication date
CN113158254A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
CN111539041B (zh) 一种安全选择方法和系统
CN111475854B (zh) 保护两方数据隐私的协同计算方法及系统
CN112906044B (zh) 多方安全计算方法、装置、设备及存储介质
CN113158239B (zh) 保护数据隐私的选择问题处理方法
CN113094763B (zh) 一种保护数据隐私的选择问题处理方法和系统
CN110348231A (zh) 实现隐私保护的数据同态加解密方法及装置
CN111539027B (zh) 一种基于双方隐私保护的信息验证方法和系统
CN111177790A (zh) 保护两方数据隐私的协同计算方法、系统及装置
CN113761469B (zh) 一种保护数据隐私的最高位进位计算方法
Goswani et al. Enhancing security in cloud computing using public key cryptography with matrices
CN114817958A (zh) 一种基于联邦学习的模型训练方法、装置、设备及介质
CN113158254B (zh) 一种保护数据隐私的选择问题处理方法和系统
Kikuchi et al. Efficient bit-decomposition and modulus-conversion protocols with an honest majority
US20240178989A1 (en) Polynomial representation of nn for communication-less smpc and method of performing statistical information-theoretical secure (sits) distributed communication-less smpc (dclsmpc) of a distributed unknown finite state machine (dufsm)
CN116248266A (zh) 基于秘密分享的安全多方计算方法及系统
Carlton et al. Threshold properties of prime power subgroups with application to secure integer comparisons
US20230269092A1 (en) Distributed network having a plurality of subnets
CN112989421A (zh) 一种安全选择问题处理方法和系统
CN116821184A (zh) 保护隐私数据的安全索引查询方法和装置
CN115473633A (zh) 一种多方协同产生sm2数字签名的方法及装置
Jahan et al. Design of a secure sum protocol using trusted third party system for secure multi-party computations
CN114726524A (zh) 目标数据的排序方法、装置、电子设备及存储介质
Shah et al. Secure featurization and applications to secure phishing detection
Zhang et al. Joint Linear and Nonlinear Computation across Functions for Efficient Privacy-Preserving Neural Network Inference
Lu et al. Efficient Two-Party Exponentiation from Quotient Transfer

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
TR01 Transfer of patent right

Effective date of registration: 20240926

Address after: Room 302, 3rd Floor, Building 1, Yard 1, Danling Street, Haidian District, Beijing, 100080

Patentee after: Sasi Digital Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China