CN113158239B - 保护数据隐私的选择问题处理方法 - Google Patents

保护数据隐私的选择问题处理方法 Download PDF

Info

Publication number
CN113158239B
CN113158239B CN202110352994.3A CN202110352994A CN113158239B CN 113158239 B CN113158239 B CN 113158239B CN 202110352994 A CN202110352994 A CN 202110352994A CN 113158239 B CN113158239 B CN 113158239B
Authority
CN
China
Prior art keywords
segment
difference
slice
random number
result
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
CN202110352994.3A
Other languages
English (en)
Other versions
CN113158239A (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 CN202110352994.3A priority Critical patent/CN113158239B/zh
Publication of CN113158239A publication Critical patent/CN113158239A/zh
Application granted granted Critical
Publication of CN113158239B publication Critical patent/CN113158239B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden

Landscapes

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

Abstract

本说明书实施例公开了保护数据隐私的选择问题处理方法,涉及多方安全计算。对于参与选择问题的任一方,所述方法包括:获得第一随机数
Figure DDA0003001171620000011
的分片、第二随机数
Figure DDA0003001171620000012
的分片、第一随机数
Figure DDA0003001171620000013
的模转换结果
Figure DDA0003001171620000014
的分片和乘积
Figure DDA0003001171620000015
的分片;计算条件元素a的分片与第一随机数
Figure DDA0003001171620000016
的分片的差值,得到a与
Figure DDA0003001171620000017
的差值Δa的分片;计算目标结果元素x的分片与第二随机数
Figure DDA0003001171620000018
的分片的差值,得到与
Figure DDA0003001171620000019
的差值Δx的分片;与另一方交换差值Δa的分片和差值Δx的分片;基于差值Δa的各分片、差值Δx的各分片、模转换结果
Figure DDA00030011716200000110
的分片、乘积
Figure DDA00030011716200000111
的分片和第二随机数
Figure DDA00030011716200000112
的分片,计算乘积I(a)x的分片,以获得选择结果的分片。

Description

保护数据隐私的选择问题处理方法
技术领域
本说明书涉及信息技术领域,特别涉及保护数据隐私的选择问题处理方法。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果以和共享形式存储于多方或公开给其中的一方或多方。因此,通过安全多方计算,能够让参与的各方在不暴露各自原始数据的情况下,计算出函数的结果。
安全选择可视为一种选择问题的等效函数在多方安全计算上的实现,在面临大量计算的场景下,安全选择步骤中若交互次数和传输数据量过多,会导致系统传输压力过大。
发明内容
本说明书实施例之一提供一种保护数据隐私的选择问题处理方法。特殊选择问题被描述为:当条件元素a=1时,选择目标结果元素x;当条件元素a=0时,选择0。参与特殊选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0和目标结果元素x的第一分片x0保存于第一方的设备,条件元素a的第二分片a1和目标结果元素x的第二分片x1保存于第二方的设备,条件元素a属于第一商群,目标结果元素x属于第二商群。特殊选择问题等效于计算条件元素a的模转换结果I(a)和目标结果元素x的乘积I(a)x,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算。所述方法由第一方的设备执行,其包括:获得第一随机数
Figure GDA0003075230020000011
的第一分片
Figure GDA0003075230020000012
第二随机数
Figure GDA0003075230020000013
的第一分片
Figure GDA0003075230020000014
第一随机数
Figure GDA0003075230020000015
的模转换结果
Figure GDA0003075230020000016
的第一分片b0和乘积
Figure GDA0003075230020000017
的第一分片c0,其中,第一随机数
Figure GDA0003075230020000018
属于所述第一商群,第二随机数
Figure GDA0003075230020000019
属于所述第二商群;计算条件元素a的第一分片a0与第一随机数
Figure GDA00030752300200000110
的第一分片
Figure GDA00030752300200000111
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200000112
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200000113
的第一分片
Figure GDA00030752300200000114
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200000115
的差值Δx的第一分片Δx0;将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1;基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA00030752300200000116
的第一分片b0、乘积
Figure GDA00030752300200000117
的第一分片c0和第二随机数
Figure GDA00030752300200000118
的第一分片
Figure GDA00030752300200000119
计算乘积I(a)x的第一分片。
本说明书实施例之一提供一种保护数据隐私的选择问题处理系统。所述系统在第一方的设备上实现,其包括:第一获得模块,用于获得第一随机数
Figure GDA00030752300200000120
的第一分片
Figure GDA00030752300200000121
第二随机数
Figure GDA00030752300200000122
的第一分片
Figure GDA0003075230020000021
第一随机数
Figure GDA0003075230020000022
的模转换结果
Figure GDA0003075230020000023
的第一分片b0和乘积
Figure GDA0003075230020000024
的第一分片c0,其中,第一随机数
Figure GDA0003075230020000025
属于所述第一商群,第二随机数
Figure GDA0003075230020000026
属于所述第二商群;第一计算模块,用于计算条件元素a的第一分片a0与第一随机数
Figure GDA0003075230020000027
的第一分片
Figure GDA0003075230020000028
的差值,得到条件元素a与第一随机数
Figure GDA0003075230020000029
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200000210
的第一分片
Figure GDA00030752300200000211
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200000234
的差值Δx的第一分片Δx0;第一交换模块,用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1;第二计算模块,用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA00030752300200000212
的第一分片b0、乘积
Figure GDA00030752300200000213
的第一分片c0和第二随机数
Figure GDA00030752300200000235
的第一分片
Figure GDA00030752300200000214
计算乘积I(a)x的第一分片。
本说明书实施例之一提供一种保护数据隐私的选择问题处理方法。一般选择问题被描述为:当条件元素a=1时,选择第一结果元素m;当条件元素a=0时,选择第二结果元素n。参与一般选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0、第一结果元素m的第一分片m0和第二结果元素n的第一分片n0保存于第一方的设备,条件元素a的第二分片a1、第一结果元素x的第二分片x1、第一结果元素m的第二分片m1和第二结果元素n的第二分片n1保存于第二方的设备,条件元素a属于第一商群,第一结果元素m和第二结果元素n属于第二商群。一般选择问题等效于计算目标多项式I(a)(m-n)+n,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算。所述方法由第一方的设备执行,其包括:计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0;获得第一随机数
Figure GDA00030752300200000215
的第一分片
Figure GDA00030752300200000216
第二随机数
Figure GDA00030752300200000217
的第一分片
Figure GDA00030752300200000218
第一随机数
Figure GDA00030752300200000219
的模转换结果
Figure GDA00030752300200000220
的第一分片b0和乘积
Figure GDA00030752300200000221
的第一分片c0,其中,第一随机数
Figure GDA00030752300200000222
属于所述第一商群,第二随机数
Figure GDA00030752300200000223
属于所述第二商群;计算条件元素a的第一分片a0与第一随机数
Figure GDA00030752300200000224
的第一分片
Figure GDA00030752300200000225
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200000226
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200000227
的第一分片
Figure GDA00030752300200000228
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200000229
的差值Δx的第一分片Δx0;将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1;基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA00030752300200000230
的第一分片b0、乘积
Figure GDA00030752300200000231
的第一分片c0和第二随机数
Figure GDA00030752300200000232
的第一分片
Figure GDA00030752300200000233
计算乘积I(a)x的第一分片;求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到所述目标多项式的第一分片。
本说明书实施例之一提供一种保护数据隐私的选择问题处理系统。所述系统在第一方的设备上实现,其包括:第三计算模块,用于计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0;第二获得模块,用于获得第一随机数
Figure GDA0003075230020000031
的第一分片
Figure GDA0003075230020000032
第二随机数
Figure GDA00030752300200000319
的第一分片
Figure GDA0003075230020000033
第一随机数
Figure GDA0003075230020000034
的模转换结果
Figure GDA0003075230020000035
的第一分片b0和乘积
Figure GDA0003075230020000036
的第一分片c0,其中,第一随机数
Figure GDA0003075230020000037
属于所述第一商群,第二随机数
Figure GDA0003075230020000038
属于所述第二商群;第四计算模块,用于计算条件元素a的第一分片a0与第一随机数
Figure GDA0003075230020000039
的第一分片
Figure GDA00030752300200000310
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200000311
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200000312
的第一分片
Figure GDA00030752300200000313
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200000314
的差值Δx的第一分片Δx0;第二交换模块,用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1;第五计算模块,用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA00030752300200000315
的第一分片b0、乘积
Figure GDA00030752300200000316
的第一分片c0和第二随机数
Figure GDA00030752300200000317
的第一分片
Figure GDA00030752300200000318
计算乘积I(a)x的第一分片;第六计算模块,用于求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到所述目标多项式的第一分片。
本说明书实施例提供一种保护数据隐私的选择问题处理装置,所述装置包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的保护数据隐私的选择问题处理方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的计算系统的应用场景示意图;
图2是根据本说明书一些实施例所示的第一方与第二方安全计算I(a)x的交互示意图;
图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和二元运算*构成。
在数学中,映射经常等同于函数。例如,假设A和B为两个非空集合,若对A中的任一元素x,依照某种规律(或法则)f,恒有B中的唯一确定的元素y与之对应,则称对应规律f为一个从A到B的映射。记作f:A→B,称y为x的像,记作y=f(x),并称x为y的原像,集合A称为映射f的定义域,集合B称为f的陪域。
进一步地,本说明书涉及一种基于(非负)整数阿贝尔群的商群,其数学表示可以是G:=Z/nZ,其中,Z为(非负)整数集合,n为任何正整数,“/”左边的Z表示群元素为1的整数倍,“/”右边的nZ表示群的模为n,商群Z/nZ为模以n的余数的n阶循环群。
值得说明的是,由于计算设备通常使用固定位数(如bit)来存储计算过程中产生的数值,多方协同计算时会频繁使用涉及取模的群加法、群乘法、群减法等等。本说明书中,在没有特别说明的情况下,涉及符号的数学表示可优先按群加法、群乘法、群减法而非四则运算来理解,相关术语(如求和、和值、差值、乘积等)也优先按群加法、群乘法、群减法而非四则运算来理解。
在一些分布式场景中,需要多方安全计算得到目标运算结果,目标运算可以是安全乘法、安全模转换或者安全选择,其中,安全可以指输出结果的正确性和输入信息、输出信息的保密性。例如,在一些机器学习场景中,一方持有私密的特征数据,另一方持有私密的标签数据。若直接计算关于私密数据(特征数据/标签数据)的目标运算结果时,一旦该目标运算结果被泄露可能导致私密数据被反推出。为此,一方可以将自身持有的私密数据x拆分成两份,保留其中一份x_L并将另一份x_R发送给对方,x_L与x_R的和值为x,即x_L与x_R为x的和共享形式。然后,两方运行安全计算协议,各自得到该目标运算结果的一个分片。两方得到的分片的和值即目标运算结果,攻击者若想获知隐私数据需要得到两方的分片。
一些安全多方计算过程涉及选择问题,选择问题一般情况下可被描述为,当条件元素a=1时,选择第一结果元素m,当条件元素a=0时,选择第二结果元素n。一般性的选择问题(简称一般选择问题)可以等效为计算a(m-n)+n。仅作为示例,在利用树模型进行多方预测的场景中,两方分别持有树模型某节点的分裂阈值、对应的左右叶节点分值以及对应特征的特征值的和共享分片。示例性的等效集中预测过程包括,当特征值大于分裂阈值时,选择左叶节点分值,当特征值不大于分裂阈值时,选择右叶节点分值。不难理解,特征值与分裂阈值的比较结果可以归结为条件元素等于1或0的二分类情况。当前述数据涉及隐私安全时,需要双方基于多方安全计算原则,在不泄露各方私密的分片的前提下,完成选择问题。
特殊选择问题是一般选择问题的一种特殊情况,特殊选择问题可被描述为,当条件元素a=1时,选择目标结果元素x,当条件元素a=0时,选择0。不难看出,一般选择问题和特殊选择问题之间可以互相规约:令x=m-n,再求和ax和n可得到一般选择问题的选择结果;将m=x和n=0代入a(m-n)+n,可得到特殊选择问题的选择结果。无论是处理一般选择问题还是特殊选择问题,都可以通过计算ax来实现。
一般来说,条件元素取值仅为两种,这意味着条件元素属于的群(以下称为第一商群)可以仅具有两个元素(即模为2),在计算设备内部,可占用较少的存储空间(如1bit)。结果元素的取值通常较为广泛,这意味着结果元素属于的群(以下称为第二商群)可能具有更多的元素(取决于群的模),在计算设备内容,占用较多的存储空间。在一些实施例中,双方可以通过安全模转换协议获得I(a)的分片。本说明书中,I()表示将第一商群中的元素保持值不变转换到第二商群中的运算(即模转换)。进而,双方可按照多方安全乘法协议计算I(a)x的分片。整个过程需要双方完成3轮交互。具体地,以二进制计算机为例,安全模转换计算环节中,一轮交互涉及的实时通信量(online)为2,固有通信量(offline)为2+2log2N,若使用伪随机函数固有通信量可降至log2N,其中,N为第二商群的模;安全乘法计算环节中,两轮交互涉及的实时通信量(online)为4log2N,固有通信量(offline)为4log2N,若使用伪随机函数固有通信量可降至log2N。因此,总的通信量为4+10log2N或2+6log2N。其中,实时通信量是指参与安全多方计算的双方之间的通信量,固有通信量是指协助双方进行安全多方计算的第三方服务器与双方之间的通信量。
本说明书中的实施例提供了另一种通信量较小的基于多方安全计算协议的选择问题处理方法。
图1是根据本说明书一些实施例所示的计算系统的应用场景示意图。
如图1所示,计算系统100可以包括计算设备110、计算设备120以及网络140,计算设备110和计算设备120可以是参与两方安全计算的两方的设备。
计算设备可以包括各类具备计算能力的设备,如服务器。在一些实施例中,服务器可以是独立的服务器或者服务器组,该服务器组可以是集中式的或者分布式的。在一些实施例中,服务器可以是区域的或者远程的。在一些实施例中,服务器可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
网络140连接系统的各组成部分,使得各部分之间可以进行通讯。在系统中各部分之间的网络可以包括有线网络和/或无线网络。例如,网络140可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
在一些实施例中,计算系统100还可以包括第三方服务器130,第三方服务器130可协助两方计算设备运行安全计算协议,例如,第三方服务器130可以生成随机数、计算分片值、分发随机数和/或分片值给计算设备110、计算设备120等。
图2是根据本说明书一些实施例所示的第一方(如计算设备110)与第二方(如计算设备120)安全计算I(a)x的交互示意图。第一方可以是参与安全多方计算的双方中的任一方,第二方为所述双方中的另一方。如图2所示,第一方的设备P0和第二方的设备P1可借助第三方服务器P2获取随机数(如第一随机数
Figure GDA0003075230020000071
和第二随机数
Figure GDA0003075230020000072
)分片以及基于随机数的运算结果(如模转换结果
Figure GDA0003075230020000073
和乘积
Figure GDA0003075230020000074
)的分片。
参考前述内容,对于特殊安全选择问题,双方可基于条件元素a的分片和目标结果元素x的分片,计算选择结果I(a)x的分片。
具体地,条件元素a的第一分片a0和目标结果元素x的第一分片x0保存于第一方的设备,条件元素a的第二分片a1和目标结果元素x的第二分片x1保存于第二方的设备,条件元素a属于第一商群,目标结果元素x属于第二商群。一般来说,为了保证第一商群中的每个群元素都可以进行模转换,第二商群的模可以大于或等于第一商群的模。第一方可基于条件元素a的第一分片a0和目标结果元素x的第一分片x0,计算选择结果I(a)x的第一分片。类似地,第二方可基于条件元素a的第二分片a1和目标结果元素x的第二分片x1,计算选择结果I(a)x的第二分片。
对于一般安全选择问题,双方可先在本地各自计算m的分片与n的分片的差值,得到目标结果元素x(即m-n)的分片。然后,双方可基于条件元素a的分片和目标结果元素x的分片,计算乘积I(a)x的分片。获得I(a)x的分片后,双方可在本地各自求和乘积I(a)x的分片和第二结果元素n的分片,得到选择结果(即目标多项式I(a)(m-n)+n的值)的第一分片。具体地,条件元素a的第一分片a0、第一结果元素m的第一分片m0和第二结果元素n的第一分片n0保存于第一方的设备,条件元素a的第二分片a1、第一结果元素m的第二分片m1和第二结果元素n的第二分片n1保存于第二方的设备,条件元素a属于第一商群,第一结果元素x属于第二商群。第一方可计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0。然后,第一方可可基于条件元素a的第一分片a0和目标结果元素x的第一分片x0,计算乘积I(a)x的第一分片。获得I(a)x的第一分片后,第一方可求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到选择结果的第一分片。类似地,第二方可计算第二结果元素m的第二分片m1与第二结果元素n的第二分片n1的差值,得到目标结果元素x的第二分片x1。然后,第二方可可基于条件元素a的第二分片a1和目标结果元素x的第二分片x1,计算乘积I(a)x的第二分片。获得I(a)x的第二分片后,第二方可求和乘积I(a)x的第二分片和第二结果元素n的第二分片n1,得到选择结果的第二分片。
对于常见的二进制计算机,第一商群可以是Z/2Z,Z/2Z包括0和1两个群元素,第二商群可以是Z/2kZ,其中,k为正整数。
下面对安全计算I(a)x的流程进行详细介绍。
如图2所示,首先,P0可以获得第一随机数
Figure GDA0003075230020000081
的第一分片
Figure GDA0003075230020000082
第二随机数
Figure GDA0003075230020000083
的第一分片
Figure GDA0003075230020000084
第一随机数
Figure GDA0003075230020000085
的模转换结果
Figure GDA0003075230020000086
的第一分片b0和乘积
Figure GDA0003075230020000087
的第一分片c0。然后,P0可以计算条件元素a的第一分片a0与第一随机数
Figure GDA0003075230020000088
的第一分片
Figure GDA0003075230020000089
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200000810
的差值Δa的第一分片Δa0,以及计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200000811
的第一分片
Figure GDA00030752300200000812
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200000835
的差值Δx的第一分片Δx0
类似地,P1可以获得第一随机数
Figure GDA00030752300200000813
的第二分片
Figure GDA00030752300200000814
第二随机数
Figure GDA00030752300200000815
的第二分片
Figure GDA00030752300200000816
第二随机数
Figure GDA00030752300200000817
的模转换结果
Figure GDA00030752300200000818
的第二分片b1和乘积
Figure GDA00030752300200000819
的第二分片c1,以及计算得到差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
如图2所示,P0和P1通过交换差值Δa的分片和差值Δx的分片,分别可获得对方计算出的差值Δa的分片和差值Δx的分片。进而,P0和P1可各自在本地对分片进行求和,得到差值Δa和差值Δx。
获得差值Δa和差值Δx后,P0可在本地计算
Figure GDA00030752300200000820
Figure GDA00030752300200000821
并将y0作为I(a)x的第一分片。相应地,P1可以在本地计算
Figure GDA00030752300200000822
Figure GDA00030752300200000823
并将y1作为I(a)x的第二分片。
应当理解,在满足y0+y1=I(a)x的前提下,可以对上述y0和y1的计算式做出任意适当的变换。例如,在P0和P1都知晓差值Δa和差值Δx的情况下,P0可在本地计算
Figure GDA00030752300200000824
Figure GDA00030752300200000825
P1可以在本地计算
Figure GDA00030752300200000826
Figure GDA00030752300200000827
又如,可以将Δa=Δa0+Δa1和Δx=Δx0+Δx1代入上述y0和y1的计算式并进行展开,相应地,P0和P1都可以在不计算差值Δa和差值Δx的情况下计算乘积I(a)x的分片,即基于差值Δa的第一分片、差值Δa的第二分片、差值Δx的第一分片、差值Δx的第二分片、模转换结果
Figure GDA00030752300200000828
的分片、乘积
Figure GDA00030752300200000829
的分片和第二随机数
Figure GDA00030752300200000830
的第一分片
Figure GDA00030752300200000831
计算乘积I(a)x的第一分片。其中,(-1)Δa可展开为(-1)Δa0(-1)Δa1,乘积项I(Δa)可根据第一等式
Figure GDA00030752300200000832
展开(具体可令g=Δa0+Δa1且令
Figure GDA00030752300200000833
或Δa1)。
值得说明的是,借助所述第一等式,可以对I(a)x进行一系列变换进而拆解出图1中的y0和y1(亦可证明y0+y1=I(a)x)。首先,有第二等式
Figure GDA00030752300200000834
成立,将
Figure GDA0003075230020000091
代入所述第二等式并进行展开,展开过程中用Δa和Δx分别代替
Figure GDA0003075230020000092
Figure GDA0003075230020000093
可以得到第三等式
Figure GDA0003075230020000094
Figure GDA0003075230020000095
鉴于
Figure GDA0003075230020000096
以及
Figure GDA0003075230020000097
从所述第三等式的右边不难拆解出图1中y0和y1的各个求和项。
作为补充,这里证明所述第一等式的成立。一般来说,第一商群为Z/2Z,第二商群不妨记为Z/NZ,g和
Figure GDA0003075230020000098
属于第一商群,故取值为0或1。当
Figure GDA0003075230020000099
时,
Figure GDA00030752300200000910
进一步地,当g=0且
Figure GDA00030752300200000911
时,左边=I(0)=0∈Z/NZ,右边=-I(1)+I(1)=0∈Z/NZ,当g g=1且
Figure GDA00030752300200000912
时,左边=I(1)=1∈Z/NZ,右边=-I(0)+I(1)=1∈Z/NZ。当
Figure GDA00030752300200000913
时,
Figure GDA00030752300200000914
左边=I(g)∈Z/NZ,右边=I(g)+I(0)=I(g)∈Z/NZ。
在一些实施例中,如图2所示,可以由第三方服务器P2生成第一随机数
Figure GDA00030752300200000915
和第二随机数
Figure GDA00030752300200000916
P2可按群加法将第一随机数
Figure GDA00030752300200000917
拆成发送给P0的第一分片
Figure GDA00030752300200000918
和发送给P1的第二分片
Figure GDA00030752300200000919
以及按群加法将第二随机数
Figure GDA00030752300200000920
拆成发送给P0的第一分片
Figure GDA00030752300200000921
和发送给P1的第二分片
Figure GDA00030752300200000922
生成第一随机数
Figure GDA00030752300200000923
后,P2可按群加法将
Figure GDA00030752300200000924
拆解成发送给P0的第一分片b0和发送给P1的第二分片b1。生成第一随机数
Figure GDA00030752300200000925
和第二随机数
Figure GDA00030752300200000926
后,P2可按群加法将
Figure GDA00030752300200000927
拆解成发送给P0的第一分片c0和发送给P1的第二分片c1
在一些实施例中,参与方可以通过伪随机数算法,基于种子生成伪随机数。在伪随机数算法中,需要预先设置伪随机数种子,各方再基于预设好的伪随机数种子,通过伪随机函数生成一组伪随机数。当输入相同的种子时,所生成的伪随机数序列也是相同的。作为示例,各方基于相同的种子各生产5个伪随机数,各方的第一伪随机数、第二伪随机数、…、以及第五伪随机数对应相同。需要说明的是,伪随机数种子可以在执行协议前提前配置于参与方。因此,在一些实施例中,为了减小通信量,第三方服务器可以使用与参与方提前约定好的种子值生成相同的伪随机数,从而第三方服务器在不与参与方的设备通信的情况下可获得第一随机数
Figure GDA00030752300200000928
的两个分片和/或第二随机数
Figure GDA00030752300200000929
的两个分片。对于基于第一随机数
Figure GDA00030752300200000930
和/或第二随机数
Figure GDA00030752300200000931
的运算结果(如
Figure GDA00030752300200000932
),可以由P0和P1中的任一者生成伪随机数作为该运算结果的一个分片,在提前约定好的种子值的情况下,第三方服务器在不与参与方的设备通信的情况下可获得该运算结果的该分片,进而可计算该运算结果与该运算结果的该分片的差值,得到发送给P0和P1中的另一者的该运算结果的另一分片。
仅作为示例,P0可在本地利用伪随机函数生成第一随机数
Figure GDA00030752300200000933
的第一分片和第二随机数
Figure GDA00030752300200000934
的第一分片,P1可在本地利用伪随机函数生成第一随机数
Figure GDA00030752300200000935
的第二分片和第二随机数
Figure GDA00030752300200000936
的第二分片,应当理解,P0并不用有生成前述随机数的第二分片的种子,P0并不用有生成前述各随机数的第一分片的种子,第三方服务器P2可以拥有P0和P1的所有种子,进而P2可以在本地生成第一随机数
Figure GDA0003075230020000101
的第一分片、第二分片以及第二随机数
Figure GDA0003075230020000102
的第一分片和第二分片,因此,在不与参与方的设备通信的情况下P2可获得第一随机数
Figure GDA0003075230020000103
的两个分片以及第二随机数
Figure GDA0003075230020000104
的两个分片,进而得到
Figure GDA0003075230020000105
Figure GDA0003075230020000106
进一步,P2可以计算得到
Figure GDA0003075230020000107
P0和P1中的任一者可在本地利用伪随机函数生成
Figure GDA0003075230020000108
的一个分片,P2也可以在本地利用伪随机函数生成
Figure GDA0003075230020000109
同样的一个分片,并基于
Figure GDA00030752300200001010
与所述一个分片(如两者的差值)得到
Figure GDA00030752300200001011
的另一个分片,将
Figure GDA00030752300200001012
的另一分片发送给P0和P1中的另一者。同理,P0和P1中的任一者可在本地利用伪随机函数生成
Figure GDA00030752300200001013
的一个分片,P2同样可以在本地利用伪随机函数生成
Figure GDA00030752300200001014
的所述一个分片,并基于
Figure GDA00030752300200001015
与所述一个分片(即两者的差值)得到
Figure GDA00030752300200001016
的另一个分片,将
Figure GDA00030752300200001017
的另一分片发送给P0和P1中的另一者。
以常见的二进制计算机为例,参考图2,计算I(a)x过程中产生的固有通信量为2+6log2N,实时通信量为2+2log2N,总的通信量为4+8log2N。若使用伪随机函数,第三方服务器P2只需向P0和/或P1发送两次第二商群中的元素,固有通信量可降至2 log2N,总的通信量降至2+4 log2N。利用模转换协议和安全多方乘法协议计算I(a)x的过程中,产生的总通信量为4+10log2N或2+6log2N(使用伪随机函数后)。可以看出,无论是否使用伪随机函数,相较于利用安全模转换协议和安全多方乘法协议计算I(a)x的分片,按如图2所示的流程计算I(a)x的分片产生的通信量较小。值得注意的是,计算I(a)x的分片所需的通信量即决定了处理(一般/特殊)安全选择问题所需的通信量,因为将特殊安全选择问题规约为一般安全选择问题不会产生额外通信量。
应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图3是根据本说明书一些实施例所示的保护数据隐私的选择问题处理系统的示例性模块图。可以理解,这里的选择问题是指特殊选择问题。
系统300可以在第一方的设备上实现。系统300可以包括第一获得模块310、第一计算模块320、第一交换模块330和第二计算模块340。
第一获得模块310可以用于获得第一随机数
Figure GDA00030752300200001018
的第一分片
Figure GDA00030752300200001019
第二随机数
Figure GDA00030752300200001020
的第一分片
Figure GDA00030752300200001021
第一随机数
Figure GDA00030752300200001022
的模转换结果
Figure GDA00030752300200001023
的第一分片b0和乘积
Figure GDA00030752300200001024
的第一分片c0
第一计算模块320可以用于计算条件元素a的第一分片a0与第一随机数
Figure GDA00030752300200001025
的第一分片
Figure GDA00030752300200001026
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200001027
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA0003075230020000111
的第一分片
Figure GDA0003075230020000112
的差值,得到目标结果元素x与第二随机数
Figure GDA0003075230020000113
的差值Δx的第一分片Δx0
第一交换模块330可以用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
第二计算模块340可以用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA0003075230020000114
的第一分片b0、乘积
Figure GDA0003075230020000115
的第一分片c0和第二随机数
Figure GDA00030752300200001123
的第一分片
Figure GDA0003075230020000116
计算乘积I(a)x的第一分片。
图4是根据本说明书另一些实施例所示的保护数据隐私的选择问题处理系统的示例性模块图。这里的选择问题是指一般选择问题。
系统400可以在第一方的设备上实现。系统400可以包括第三计算模块410、第二获得模块420、第四计算模块430、第二交换模块440、第五计算模块450和第六计算模块460。
第三计算模块410可以用于计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0
第二获得模块420可以用于获得第一随机数
Figure GDA0003075230020000117
的第一分片
Figure GDA0003075230020000118
第二随机数
Figure GDA0003075230020000119
的第一分片
Figure GDA00030752300200001110
第一随机数
Figure GDA00030752300200001111
的模转换结果
Figure GDA00030752300200001112
的第一分片b0和乘积
Figure GDA00030752300200001113
的第一分片c0
第四计算模块430可以用于计算条件元素a的第一分片a0与第一随机数
Figure GDA00030752300200001114
的第一分片
Figure GDA00030752300200001115
的差值,得到条件元素a与第一随机数
Figure GDA00030752300200001116
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure GDA00030752300200001117
的第一分片
Figure GDA00030752300200001118
的差值,得到目标结果元素x与第二随机数
Figure GDA00030752300200001119
的差值Δx的第一分片Δx0
第二交换模块440可以用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
第五计算模块450可以用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure GDA00030752300200001120
的第一分片b0、乘积
Figure GDA00030752300200001121
的第一分片c0和第二随机数
Figure GDA00030752300200001124
的第一分片
Figure GDA00030752300200001122
计算乘积I(a)x的第一分片。
第六计算模块460可以用于求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到所述目标多项式的第一分片。
关于系统300/系统400及其模块的更多细节,可以参考图2及其相关描述。
应当理解,图3和图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,第一计算模块320和第一交换模块330可以是一个系统中的不同模块,也可以是一个模块实现这两个模块的功能。又如,系统300可以包含于系统400,其中,第一获得模块310和第二获得模块420可以是同一模块,第一计算模块320和第四计算模块430可以是同一模块,第一交换模块330和第二交换模块440可以是同一模块,第二计算模块340和第五计算模块450可以是同一模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)提供了基于多方安全计算的选择问题处理方法,可以保护参与方的数据隐私;(2)提供了通信量较小的基于多方安全计算的选择问题处理方法;(3)使用伪随机函数可以进一步降低参与方与第三方服务器之间的固有通信量。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (14)

1.一种保护数据隐私的选择问题处理方法,其中,所述选择问题被描述为:当条件元素a=1时,选择目标结果元素x;当条件元素a=0时,选择0;参与所述选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0和目标结果元素x的第一分片x0保存于第一方的设备,条件元素a的第二分片a1和目标结果元素x的第二分片x1保存于第二方的设备,条件元素a属于第一商群,目标结果元素x属于第二商群;所述选择问题等效于计算条件元素a的模转换结果I(a)和目标结果元素x的乘积I(a)x,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算;所述方法由第一方的设备执行,其包括:
获得第一随机数
Figure FDA0003001171590000011
的第一分片
Figure FDA0003001171590000012
第二随机数
Figure FDA0003001171590000013
的第一分片
Figure FDA0003001171590000014
第一随机数
Figure FDA0003001171590000015
的模转换结果
Figure FDA0003001171590000016
的第一分片b0和乘积
Figure FDA0003001171590000017
的第一分片c0,其中,第一随机数
Figure FDA0003001171590000018
属于所述第一商群,第二随机数
Figure FDA0003001171590000019
属于所述第二商群;
计算条件元素a的第一分片a0与第一随机数
Figure FDA00030011715900000110
的第一分片
Figure FDA00030011715900000111
的差值,得到条件元素a与第一随机数
Figure FDA00030011715900000112
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure FDA00030011715900000113
的第一分片
Figure FDA00030011715900000114
的差值,得到目标结果元素x与第二随机数
Figure FDA00030011715900000115
的差值Δx的第一分片Δx0
将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA00030011715900000116
的第一分片b0、乘积
Figure FDA00030011715900000117
的第一分片c0和第二随机数
Figure FDA00030011715900000118
的第一分片
Figure FDA00030011715900000119
计算乘积I(a)x的第一分片。
2.如权利要求1所述的方法,其中,所述基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA00030011715900000120
的第一分片b0、乘积
Figure FDA00030011715900000121
的第一分片c0和第二随机数
Figure FDA00030011715900000122
的第一分片
Figure FDA00030011715900000123
计算乘积I(a)x的第一分片,包括:
求和差值Δa的第一分片Δa0和第二分片Δa1,得到差值Δa;求和差值Δx的第一分片Δx0、和第二分片Δx1,得到差值Δx;
计算目标系数(-1)Δa、差值Δx和模转换结果
Figure FDA00030011715900000124
的第一分片b0的乘积,得到第一乘积项;
计算目标系数(-1)Δa和乘积
Figure FDA00030011715900000125
的第一分片c0的乘积,得到第二乘积项;
计算差值Δa的模转换结果I(Δa)和第二随机数
Figure FDA00030011715900000126
的第一分片
Figure FDA00030011715900000127
的乘积,得到第三乘积项;
求和所述第一乘积项、所述第二乘积项和所述第三乘积项,得到乘积I(a)x的第一分片。
3.如权利要求1所述的方法,其中,所述基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA0003001171590000021
的第一分片b0、乘积
Figure FDA0003001171590000022
的第一分片c0和第二随机数
Figure FDA0003001171590000023
的第一分片
Figure FDA0003001171590000024
计算乘积I(a)x的第一分片,包括:
求和差值Δa的第一分片Δa0和第二分片Δa1,得到差值Δa;求和差值Δx的第一分片Δx0、和第二分片Δx1,得到差值Δx;
计算目标系数(-1)Δa、差值Δx和模转换结果
Figure FDA0003001171590000025
的第一分片b0的乘积,得到第一乘积项;
计算目标系数(-1)Δa和乘积
Figure FDA0003001171590000026
的第一分片c0的乘积,得到第二乘积项;
计算差值Δa的模转换结果I(Δa)和第二随机数
Figure FDA0003001171590000027
的第一分片
Figure FDA0003001171590000028
的乘积,得到第三乘积项;
计算差值Δa的模转换结果I(Δa)和差值Δx的乘积,得到第四乘积项;
求和所述第一乘积项、所述第二乘积项、所述第三乘积项以及第四乘积项,得到乘积I(a)x的第一分片。
4.如权利要求1所述的方法,其中,所述获得第一随机数
Figure FDA0003001171590000029
的第一分片
Figure FDA00030011715900000210
第二随机数
Figure FDA00030011715900000211
的第一分片
Figure FDA00030011715900000212
第一随机数
Figure FDA00030011715900000213
的模转换结果
Figure FDA00030011715900000214
的第一分片b0和乘积
Figure FDA00030011715900000215
的第一分片c0,包括:
利用伪随机函数生成第一随机数
Figure FDA00030011715900000216
的第一分片
Figure FDA00030011715900000217
第二随机数
Figure FDA00030011715900000218
的第一分片
Figure FDA00030011715900000219
第一随机数
Figure FDA00030011715900000220
的模转换结果
Figure FDA00030011715900000221
的第一分片b0和乘积
Figure FDA00030011715900000222
的第一分片c0
或者,利用伪随机函数生成第一随机数
Figure FDA00030011715900000223
的第一分片
Figure FDA00030011715900000224
和第二随机数
Figure FDA00030011715900000225
的第一分片
Figure FDA00030011715900000226
从第三方服务器接收模转换结果
Figure FDA00030011715900000227
的第一分片b0和/或乘积
Figure FDA00030011715900000228
的第一分片c0
5.如权利要求1所述的方法,其中,所述第一商群为Z/2Z,所述第二商群为Z/2kZ,其中,Z表示整数群,k为正整数。
6.一种保护数据隐私的选择问题处理系统,其中,所述选择问题被描述为:当条件元素a=1时,选择目标结果元素x;当条件元素a=0时,选择0;参与所述选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0和目标结果元素x的第一分片x0保存于第一方的设备,条件元素a的第二分片a1和目标结果元素x的第二分片x1保存于第二方的设备,条件元素a属于第一商群,目标结果元素x属于第二商群;所述选择问题等效于计算条件元素a的模转换结果I(a)和目标结果元素x的乘积I(a)x,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算;所述系统在第一方的设备上实现,其包括:
第一获得模块,用于获得第一随机数
Figure FDA0003001171590000031
的第一分片
Figure FDA0003001171590000032
第二随机数
Figure FDA0003001171590000033
的第一分片
Figure FDA0003001171590000034
第一随机数
Figure FDA0003001171590000035
的模转换结果
Figure FDA0003001171590000036
的第一分片b0和乘积
Figure FDA0003001171590000037
的第一分片c0,其中,第一随机数
Figure FDA0003001171590000038
属于所述第一商群,第二随机数
Figure FDA0003001171590000039
属于所述第二商群;
第一计算模块,用于计算条件元素a的第一分片a0与第一随机数
Figure FDA00030011715900000310
的第一分片
Figure FDA00030011715900000311
的差值,得到条件元素a与第一随机数
Figure FDA00030011715900000312
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure FDA00030011715900000313
的第一分片
Figure FDA00030011715900000314
的差值,得到目标结果元素x与第二随机数
Figure FDA00030011715900000315
的差值Δx的第一分片Δx0
第一交换模块,用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
第二计算模块,用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA00030011715900000316
的第一分片b0、乘积
Figure FDA00030011715900000317
的第一分片c0和第二随机数
Figure FDA00030011715900000318
的第一分片
Figure FDA00030011715900000319
计算乘积I(a)x的第一分片。
7.一种保护数据隐私的选择问题处理装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如权利要求1~5中任一项所述的方法。
8.一种保护数据隐私的选择问题处理方法,其中,所述选择问题被描述为:当条件元素a=1时,选择第一结果元素m;当条件元素a=0时,选择第二结果元素n;参与所述选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0、第一结果元素m的第一分片m0和第二结果元素n的第一分片n0保存于第一方的设备,条件元素a的第二分片a1、第一结果元素x的第二分片x1、第一结果元素m的第二分片m1和第二结果元素n的第二分片n1保存于第二方的设备,条件元素a属于第一商群,第一结果元素m和第二结果元素n属于第二商群;所述选择问题等效于计算目标多项式I(a)(m-n)+n,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算;所述方法由第一方的设备执行,其包括:
计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0
获得第一随机数
Figure FDA00030011715900000320
的第一分片
Figure FDA00030011715900000321
第二随机数
Figure FDA00030011715900000322
的第一分片
Figure FDA00030011715900000323
第一随机数
Figure FDA00030011715900000324
的模转换结果
Figure FDA00030011715900000325
的第一分片b0和乘积
Figure FDA00030011715900000326
的第一分片c0,其中,第一随机数
Figure FDA00030011715900000327
属于所述第一商群,第二随机数
Figure FDA00030011715900000328
属于所述第二商群;
计算条件元素a的第一分片a0与第一随机数
Figure FDA00030011715900000329
的第一分片
Figure FDA00030011715900000330
的差值,得到条件元素a与第一随机数
Figure FDA0003001171590000041
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure FDA0003001171590000042
的第一分片
Figure FDA0003001171590000043
的差值,得到目标结果元素x与第二随机数
Figure FDA0003001171590000044
的差值Δx的第一分片Δx0
将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA0003001171590000045
的第一分片b0、乘积
Figure FDA0003001171590000046
的第一分片c0和第二随机数
Figure FDA0003001171590000047
的第一分片
Figure FDA0003001171590000048
计算乘积I(a)x的第一分片;
求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到所述目标多项式的第一分片。
9.如权利要求8所述的方法,其中,所述基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA0003001171590000049
的第一分片b0、乘积
Figure FDA00030011715900000410
的第一分片c0和第二随机数
Figure FDA00030011715900000411
的第一分片
Figure FDA00030011715900000412
计算乘积I(a)x的第一分片,包括:
求和差值Δa的第一分片Δa0和第二分片Δa1,得到差值Δa;求和差值Δx的第一分片Δx0、和第二分片Δx1,得到差值Δx;
计算目标系数(-1)Δa、差值Δx和模转换结果
Figure FDA00030011715900000413
的第一分片b0的乘积,得到第一乘积项;
计算目标系数(-1)Δa和乘积
Figure FDA00030011715900000414
的第一分片c0的乘积,得到第二乘积项;
计算差值Δa的模转换结果I(Δa)和第二随机数
Figure FDA00030011715900000415
的第一分片
Figure FDA00030011715900000416
的乘积,得到第三乘积项;
求和所述第一乘积项、所述第二乘积项和所述第三乘积项,得到乘积I(a)x的第一分片。
10.如权利要求8所述的方法,其中,所述基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA00030011715900000417
的第一分片b0、乘积
Figure FDA00030011715900000418
的第一分片c0和第二随机数
Figure FDA00030011715900000419
的第一分片
Figure FDA00030011715900000420
计算乘积I(a)x的第一分片,包括:
求和差值Δa的第一分片Δa0和第二分片Δa1,得到差值Δa;求和差值Δx的第一分片Δx0、和第二分片Δx1,得到差值Δx;
计算目标系数(-1)Δa、差值Δx和模转换结果
Figure FDA00030011715900000421
的第一分片b0的乘积,得到第一乘积项;
计算目标系数(-1)Δa和乘积
Figure FDA00030011715900000422
的第一分片c0的乘积,得到第二乘积项;
计算差值Δa的模转换结果I(Δa)和第二随机数
Figure FDA00030011715900000423
的第一分片
Figure FDA00030011715900000424
得到第三乘积项;
计算差值Δa的模转换结果I(Δa)和差值Δx的乘积,得到第四乘积项;
求和所述第一乘积项、所述第二乘积项、所述第三乘积项以及第四乘积项,得到乘积I(a)x的第一分片。
11.如权利要求8所述的方法,其中,所述获得第一随机数
Figure FDA0003001171590000051
的第一分片
Figure FDA0003001171590000052
第二随机数
Figure FDA0003001171590000053
的第一分片
Figure FDA0003001171590000054
第一随机数
Figure FDA0003001171590000055
的模转换结果
Figure FDA0003001171590000056
的第一分片b0和乘积
Figure FDA0003001171590000057
的第一分片c0,包括:
利用伪随机函数生成第一随机数
Figure FDA0003001171590000058
的第一分片
Figure FDA0003001171590000059
第二随机数
Figure FDA00030011715900000510
的第一分片
Figure FDA00030011715900000511
第一随机数
Figure FDA00030011715900000512
的模转换结果
Figure FDA00030011715900000513
的第一分片b0和乘积
Figure FDA00030011715900000514
的第一分片c0
或者,利用伪随机函数生成第一随机数
Figure FDA00030011715900000515
的第一分片
Figure FDA00030011715900000516
和第二随机数
Figure FDA00030011715900000517
的第一分片
Figure FDA00030011715900000518
从第三方服务器接收模转换结果
Figure FDA00030011715900000519
的第一分片b0和/或乘积
Figure FDA00030011715900000520
的第一分片c0
12.如权利要求8所述的方法,其中,所述第一商群为Z/2Z,所述第二商群为Z/2NZ,其中,Z表示整数群,N为正整数。
13.一种保护数据隐私的选择问题处理系统,其中,所述选择问题被描述为:当条件元素a=1时,选择第一结果元素m;当条件元素a=0时,选择第二结果元素n;参与所述选择问题的两方中的任一方记为第一方,所述两方中的另一方记为第二方,条件元素a的第一分片a0、第一结果元素m的第一分片m0和第二结果元素n的第一分片n0保存于第一方的设备,条件元素a的第二分片a1、第一结果元素x的第二分片x1、第一结果元素m的第二分片m1和第二结果元素n的第二分片n1保存于第二方的设备,条件元素a属于第一商群,第一结果元素m和第二结果元素n属于第二商群;所述选择问题等效于计算目标多项式I(a)(m-n)+n,其中,I()表示将属于所述第一商群的输入保持值不变转换至所述第二商群的运算;所述系统在第一方的设备上实现,其包括:
第三计算模块,用于计算第一结果元素m的第一分片m0与第二结果元素n的第一分片n0的差值,得到目标结果元素x的第一分片x0
第二获得模块,用于获得第一随机数
Figure FDA00030011715900000521
的第一分片
Figure FDA00030011715900000522
第二随机数
Figure FDA00030011715900000523
的第一分片
Figure FDA00030011715900000524
第一随机数
Figure FDA00030011715900000525
的模转换结果
Figure FDA00030011715900000526
的第一分片b0和乘积
Figure FDA00030011715900000527
的第一分片c0,其中,第一随机数
Figure FDA00030011715900000528
属于所述第一商群,第二随机数
Figure FDA00030011715900000535
属于所述第二商群;
第四计算模块,用于计算条件元素a的第一分片a0与第一随机数
Figure FDA00030011715900000529
的第一分片
Figure FDA00030011715900000530
的差值,得到条件元素a与第一随机数
Figure FDA00030011715900000531
的差值Δa的第一分片Δa0;计算目标结果元素x的第一分片x0与第二随机数
Figure FDA00030011715900000532
的第一分片
Figure FDA00030011715900000533
的差值,得到目标结果元素x与第二随机数
Figure FDA00030011715900000534
的差值Δx的第一分片Δx0
第二交换模块,用于将差值Δa的第一分片Δa0和差值Δx的第一分片Δx0发送给第二方的设备,从第二方的设备接收差值Δa的第二分片Δa1和差值Δx的第二分片Δx1
第五计算模块,用于基于差值Δa的第一分片Δa0、差值Δa的第二分片Δa1、差值Δx的第一分片Δx0、差值Δx的第二分片Δx1、模转换结果
Figure FDA0003001171590000061
的第一分片b0、乘积
Figure FDA0003001171590000062
的第一分片c0和第二随机数
Figure FDA0003001171590000063
的第一分片
Figure FDA0003001171590000064
计算乘积I(a)x的第一分片;
第六计算模块,用于求和乘积I(a)x的第一分片和第二结果元素n的第一分片n0,得到所述目标多项式的第一分片。
14.一种保护数据隐私的选择问题处理装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如权利要求8~12中任一项所述的方法。
CN202110352994.3A 2021-03-31 2021-03-31 保护数据隐私的选择问题处理方法 Active CN113158239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110352994.3A CN113158239B (zh) 2021-03-31 2021-03-31 保护数据隐私的选择问题处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110352994.3A CN113158239B (zh) 2021-03-31 2021-03-31 保护数据隐私的选择问题处理方法

Publications (2)

Publication Number Publication Date
CN113158239A CN113158239A (zh) 2021-07-23
CN113158239B true CN113158239B (zh) 2022-04-26

Family

ID=76886358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110352994.3A Active CN113158239B (zh) 2021-03-31 2021-03-31 保护数据隐私的选择问题处理方法

Country Status (1)

Country Link
CN (1) CN113158239B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761469B (zh) * 2021-08-10 2024-05-17 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN113609503B (zh) * 2021-08-10 2024-06-18 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN113836596A (zh) * 2021-09-26 2021-12-24 支付宝(杭州)信息技术有限公司 两方安全选择确定选择结果分片的方法、装置和系统
CN114726580B (zh) * 2022-03-08 2024-01-30 支付宝(杭州)信息技术有限公司 数据处理方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177790A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111539041A (zh) * 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种安全选择方法和系统
CN112561085A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
CN112560107A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 针对隐私数据进行处理的方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
CN110909356B (zh) * 2018-09-18 2022-02-01 百度在线网络技术(北京)有限公司 安全多方计算方法、装置、设备及计算机可读介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111177790A (zh) * 2020-04-10 2020-05-19 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111539041A (zh) * 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 一种安全选择方法和系统
CN112561085A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 一种基于多方安全计算的多分类模型训练方法和系统
CN112560107A (zh) * 2021-02-20 2021-03-26 支付宝(杭州)信息技术有限公司 针对隐私数据进行处理的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Practical Analysis of Oblivious Sorting Algorithms for Secure Multi-Party Computation;Dan Bogdanov;《Nordic Conference on Secure IT Systems》;20141231;全文 *
基于云计算服务的安全多方计算;蒋瀚;《计算机研究与发展》;20160927;全文 *
安全多方计算的协议研究;王小妹;《中国优秀博硕士学位论文全文数据库(硕士)》;20081115;全文 *

Also Published As

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

Similar Documents

Publication Publication Date Title
CN113158239B (zh) 保护数据隐私的选择问题处理方法
CN111475854B (zh) 保护两方数据隐私的协同计算方法及系统
Li et al. Privacy-preserving machine learning with multiple data providers
CN111177790B (zh) 保护两方数据隐私的协同计算方法、系统及装置
CN112906044B (zh) 多方安全计算方法、装置、设备及存储介质
CN111539041B (zh) 一种安全选择方法和系统
US8638926B2 (en) Sharing a secret with modular inverses
JP2021515271A (ja) コンピュータにより実施される投票処理およびシステム
CN113761469B (zh) 一种保护数据隐私的最高位进位计算方法
CN111539027B (zh) 一种基于双方隐私保护的信息验证方法和系统
Carter et al. For your phone only: custom protocols for efficient secure function evaluation on mobile devices
WO2023020216A1 (zh) 多方安全确定最值的方法、装置、设备及存储介质
Fan et al. PPMCK: Privacy-preserving multi-party computing for K-means clustering
CN114817958A (zh) 一种基于联邦学习的模型训练方法、装置、设备及介质
CN111026359A (zh) 多方联合判定隐私数据的数值范围的方法和装置
Luo et al. SVFL: Efficient secure aggregation and verification for cross-silo federated learning
JP7238977B2 (ja) 匿名署名システム及び匿名署名方法
Zhao et al. A privacy preserving homomorphic computing toolkit for predictive computation
CN113094763B (zh) 一种保护数据隐私的选择问题处理方法和系统
Kasunde et al. Verification of multi-owner shared data with collusion resistant user revocation in cloud
CN114721623A (zh) 多方安全除法
CN112989421A (zh) 一种安全选择问题处理方法和系统
Cheng et al. Private inference for deep neural networks: a secure, adaptive, and efficient realization
CN113158254A (zh) 一种保护数据隐私的选择问题处理方法和系统
CN113626841A (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