CN111523145A - 针对隐私数据进行安全运算的方法和装置 - Google Patents
针对隐私数据进行安全运算的方法和装置 Download PDFInfo
- Publication number
- CN111523145A CN111523145A CN202010632214.6A CN202010632214A CN111523145A CN 111523145 A CN111523145 A CN 111523145A CN 202010632214 A CN202010632214 A CN 202010632214A CN 111523145 A CN111523145 A CN 111523145A
- Authority
- CN
- China
- Prior art keywords
- data
- random number
- private data
- fragment
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/552—Powers or roots, e.g. Pythagorean sums
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本说明书实施例提供一种针对隐私数据进行安全运算的方法和装置,多方中的任一方将本方具有的隐私数据的第一分片,利用与多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;随机数组合包括第一随机数;将掩盖数据的第一分片发送给多方之外的服务方,以使服务方根据多方分别发送的掩盖数据的多个分片,进行比较运算,得到与第一随机数和第二比较结果关联的第一运算结果;从服务方接收第一运算结果的第一分片;针对第一运算结果的第一分片,移除第一随机数的影响,得到第二比较结果的第一分片,作为针对隐私数据进行比较运算的最终结果的第一分片。能够在针对隐私数据进行安全运算时提升性能。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及针对隐私数据进行安全运算的方法和装置。
背景技术
安全多方计算又称为多方安全计算,即多方共同计算出一个函数的结果,而不泄露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
秘密共享(secret sharing)也称为秘密分割、秘密分享,这一密码学技术最初是用于秘密信息的管理。它的基本原理是将秘密(比如密钥)拆分成多个分片(share),也称为份额,分别交给不同人保管。只有超过门限数量的人将他们的分片合并,才能恢复秘密;从少于门限数量的分片无法恢复秘密的任何信息。多方安全计算中,门限数量通常与参与方数量相同。
秘密共享用于安全多方计算时,有时需要进行安全比较操作,即在不泄露隐私数据的情况下,针对隐私数据进行比较运算,现有技术的安全比较性能较差。
因此,希望能有改进的方案,能够在针对隐私数据进行安全运算时提升性能。
发明内容
本说明书一个或多个实施例描述了一种针对隐私数据进行安全运算的方法和装置,能够在针对隐私数据进行安全运算时提升性能。
第一方面,提供了一种针对隐私数据进行安全运算的方法,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方中的任一方执行,包括:
将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;
将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;
针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。
在一种可能的实施方式中,所述隐私数据的各分片属于模n空间,所述第一运算结果的第一分片属于模m空间,m不等于n。
在一种可能的实施方式中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
进一步地,所述随机数组合还包括:第二随机数和第三随机数;
所述将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片,包括:
将本方具有的所述隐私数据的第一分片,与所述第二随机数相乘,得到第一求和项;
将所述第一求和项与所述第三随机数相加,得到第一乘法项;
将负一作为底数,将所述第一随机数作为幂,进行幂运算,得到第二乘法项;
将所述第一乘法项和所述第二乘法项相乘,得到所述掩盖数据的第一分片。
进一步地,所述第一随机数为0或1。
进一步地,所述隐私数据为模n空间的有符号整数;所述隐私数据的第一分片属于模n空间,且所述掩盖数据的第一分片属于模n空间;
所述第二随机数属于第一取值区间,所述第一取值区间以0为最小取值,且以第一数值为最大取值,所述第一数值根据所述n和所述隐私数据的最大绝对值确定。
进一步地,所述第三随机数属于第二取值区间,所述第二取值区间以0为最小取值,且以第二数值为最大取值,所述第二数值根据所述第二随机数确定。
在一种可能的实施方式中,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数;
所述针对所述第一运算结果的第一分片,移除所述第一随机数的影响,包括:
若所述第一随机数为所述第一取值,则将所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;
若所述第一随机数为所述第二取值,则将1减去所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;或者,将所述第一运算结果的第一分片的加法逆元确定为所述第二比较结果的第一分片。
第二方面,提供了一种针对隐私数据进行安全运算的方法,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方之外的服务方执行,包括:
从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;
合并所述掩盖数据的多个分片,得到所述掩盖数据;
针对所述掩盖数据进行比较运算,得到第一比较结果;
根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;
将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
向所述多方分别发送所述第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。
在一种可能的实施方式中,所述隐私数据的各分片属于模n空间,所述第一运算结果的多个分片属于模m空间,m不等于n。
在一种可能的实施方式中,所述合并所述掩盖数据的多个分片,得到所述掩盖数据,包括:
针对所述掩盖数据的多个分片进行求和运算,得到所述掩盖数据。
在一种可能的实施方式中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果;
所述针对所述掩盖数据进行比较运算,得到第一比较结果,包括:
将所述掩盖数据和0进行比较,得到所述掩盖数据是否大于或等于0的第一比较结果。
第三方面,提供了一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方中的任一方,包括:
掩盖单元,用于将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;
发送单元,用于将所述掩盖单元得到的掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
接收单元,用于从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;
移除单元,用于针对所述接收单元接收的第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。
第四方面,提供了一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方之外的服务方,包括:
接收单元,用于从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;
合并单元,用于合并所述接收单元接收的掩盖数据的多个分片,得到所述掩盖数据;
比较单元,用于针对所述合并单元得到的掩盖数据进行比较运算,得到第一比较结果;
映射单元,用于根据所述比较单元得到的第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;
拆分单元,用于将所述映射单元得到的第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
发送单元,用于向所述多方分别发送所述拆分单元得到的第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。
第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面的方法。
第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面的方法。
通过本说明书实施例提供的方法和装置,隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述多方中的任一方不是直接针对隐私数据的分片进行相应的安全运算,而是首先将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;然后将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;接着从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;最后针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。由上可见,本说明书实施例,所述多方中的任一方将掩盖数据发送给服务方,由于掩盖数据利用随机数对本方的隐私数据进行了掩盖,因此不会泄露本方的隐私数据,并且,将针对隐私数据的比较运算转化为对掩盖数据的比较运算,后续只需多方分别移除随机数的影响,即可得到针对隐私数据进行比较运算的最终结果的分片,能够在针对隐私数据进行安全运算时提升性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的针对隐私数据进行安全运算的方法流程图;
图3示出根据另一个实施例的针对隐私数据进行安全运算的方法流程图;
图4示出根据一个实施例的针对隐私数据进行安全运算的装置的示意性框图;
图5示出根据另一个实施例的针对隐私数据进行安全运算的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及针对隐私数据进行安全运算。所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方。可以理解的是,上述多方可以为两方或两方以上,例如,三方、四方等。本说明书实施例,以针对隐私数据被拆分成两个分片,隐私数据的两个分片分布于两方为例进行说明。参照图1,针对隐私数据x进行比较运算,具体地可以对隐私数据x和0进行比较,也就是求解y=(x>=0)的结果,可以理解的是,若x>=0,则y=1;若x<0,则y=0。第一方11具有隐私数据x的模n的分片<x>1n,第二方12具有隐私数据x的模n的分片<x>2n。经过比较运算后,第一方11获得比较结果y的模m的分片 < y>1m, 第二方12获得比较结果y的模 m的分片<y>2m。其中,第一方和第二方仅为对两方的区分,还可以将第一方称为P1方,将第二方称为P2方,等。
需要说明的是,m和n之间的关系可以为m==n,也可以为m!=n。当m!=n时,本说明书实施例在比较运算之外,还能实现比较结果模转换的附加效果。
本说明书实施例中,对于隐私数据所代表的含义不做限定。隐私数据可以代表一项隐私信息对应的数值,例如,隐私数据为20,代表用户的年龄为20岁;或者,隐私数据为15,代表用户的收入为15万元;隐私数据也可以代表多项隐私信息分别对应的数值,例如,隐私数据为一个向量,该向量的各个位分别代表不同的隐私信息,举例来说,该向量的第一位代表用户的年龄是否属于预设年龄区间,该向量的第二位代表用户的收入是否属于预设收入区间。
可以理解的是,隐私数据可以是任何不便于公开的数据,可以但不限于代表用户的个人信息的数据,或者商业秘密等。
本说明书实施例,利用随机数掩盖的方式,在不泄露隐私数据的前提下,实现针对隐私数据进行安全运算,并且能够提升性能。
图2示出根据一个实施例的针对隐私数据进行安全运算的方法流程图,该方法可以基于图1所示的实施场景,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方中的任一方执行。如图2所示,该实施例中针对隐私数据进行安全运算的方法包括以下步骤:步骤21,将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;步骤22,将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;步骤23,从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;步骤24,针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。下面描述以上各个步骤的具体执行方式。
首先在步骤21,将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数。可以理解的是,所述隐私数据的第一分片是其他方所不知道的,但所述随机数组合是其他方所知道的。
在一个示例中,所述隐私数据的各分片属于模n空间。
在一个示例中,所述随机数组合还包括:第二随机数和第三随机数;
所述将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片,包括:
将本方具有的所述隐私数据的第一分片,与所述第二随机数相乘,得到第一求和项;
将所述第一求和项与所述第三随机数相加,得到第一乘法项;
将负一作为底数,将所述第一随机数作为幂,进行幂运算,得到第二乘法项;
将所述第一乘法项和所述第二乘法项相乘,得到所述掩盖数据的第一分片。
举例来说,P1方具有隐私数据x的模n的分片<x>1n,P2方具有隐私数据x的模n的分片<x>2n。P1方和P2方各自分别计算<z>1n=(-1)p(r<x>1n+s) %n和<z>2n=(-1)p(r<x>2n+s) %n。其中,%为取模运算符, p、r和s属于P1方和P2方共享的随机数组合,其中,p相当于前述第一随机数,r相当于前述第二随机数,s相当于前述第三随机数。随机数组合中的各随机数具体可以为秘密随机整数,每次安全运算都重新选取随机数,可通过P1方和P2方共享的随机数种子来生成随机数。<z>1n为P1方得到的掩盖数据的一个分片,<z>2n为P2方得到的掩盖数据的另一个分片。
在一个示例中,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数。例如,第一取值为0,第二取值为1,也就是说,所述第一随机数为0或1。
在一个示例中,所述隐私数据为模n空间的有符号整数;所述隐私数据的第一分片属于模n空间,且所述掩盖数据的第一分片属于模n空间;
所述第二随机数属于第一取值区间,所述第一取值区间以0为最小取值,且以第一数值为最大取值,所述第一数值根据所述n和所述隐私数据的最大绝对值确定。
进一步地,所述第三随机数属于第二取值区间,所述第二取值区间以0为最小取值,且以第二数值为最大取值,所述第二数值根据所述第二随机数确定。
本说明书实施例中,将针对掩盖数据进行比较运算的结果记为第一比较结果,将针对隐私数据进行比较运算的最终结果记为第二比较结果,将所述第二比较结果和所述第一随机数之间经过预设运算后的结果记为第一运算结果,上述第一随机数、第二随机数和第三随机数的选取条件为,使得第一比较结果和第一运算结果之间具有预设映射关系。
举例来说,若第一比较结果为z,第二比较结果为y,第一随机数为p,上述预设运算为异或运算,则第一运算结果为p⊕y,上述预设映射关系为:当(p⊕y)==1时,z>=0;否则,z<0。
为满足上述预设映射关系,在针对隐私数据x的比较运算中,第一随机数p、第二随机数r、第三随机数s的选取需要满足:p=0或1;r>s>=0;-n/2≤rx+s≤n/2-1。
推理得出,r的取值上限是(n/2-1)/(max(|x|)+1),s的取值上限是r-1。其中,max(|x|)是对P1方和P2方均能公开推测出的。
然后在步骤22,将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同。可以理解的是,掩盖数据为隐私数据经过随机数掩盖后得到的,将掩盖数据发送给服务方,并不会泄露隐私数据。
举例来说,所述多方具体为P1方和P2方共两方,<z>1n为P1方得到的掩盖数据的一个分片,<z>2n为P2方得到的掩盖数据的另一个分片,则P1方和P2方分别发送<z>1n和<z>2n给服务方S。
上述服务方具体可以为半可信服务方,半可信服务方不足以可信到让其知道隐私数据x,可信到相信其会诚实执行协议。
接着在步骤23,从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片。可以理解的是,第一运算结果为基于第一比较结果得到的,而第一比较结果是根据掩盖数据进行比较运算后得到的运算结果。
在一个示例中,所述隐私数据的各分片属于模n空间,所述第一运算结果的第一分片属于模m空间,m不等于n。
举例来说,所述多方具体为P1方和P2方共两方,掩盖数据为z,将z与0进行比较得到第一比较结果,再根据第一比较结果和预设映射关系,得到第一运算结果,第一运算结果为p⊕y,服务方将第一运算结果拆分为两个分片<p⊕y>1m和<p⊕y>2m。P1方从服务方接收第一运算结果的一个分片<p⊕y>1m,P2方从服务方接收第一运算结果的另一个分片<p⊕y>2m。
最后在步骤24,针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。可以理解的是,隐私数据以秘密共享的方式分布在多方,上述最终结果也以秘密共享的方式分布在多方。
在一个示例中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
在一个示例中,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数;
所述针对所述第一运算结果的第一分片,移除所述第一随机数的影响,包括:
若所述第一随机数为所述第一取值,则将所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;
若所述第一随机数为所述第二取值,则将1减去所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;或者,将所述第一运算结果的第一分片的加法逆元确定为所述第二比较结果的第一分片。
本说明书实施例中,若所述第一随机数为所述第二取值,则可以预先约定多方中的任一方将1减去所述第一运算结果的分片确定为所述第二比较结果的分片,其他各方将所述第一运算结果的分片的加法逆元确定为所述第二比较结果的分片。
举例来说,所述多方具体为P1方和P2方共两方, P1方从服务方接收第一运算结果的一个分片<p⊕y>1m,P2方从服务方接收第一运算结果的另一个分片<p⊕y>2m,若p==0,则P1方令<y>1m=<p⊕y>1m得到第二比较结果的一个分片,P2方令<y>2m=<p⊕y>2m得到第二比较结果的另一个分片;否则,若p==1,P1方令<y>1m =1-<p⊕y>1m得到第二比较结果的一个分片,P2方令<y>2m =-<p⊕y>2m得到第二比较结果的另一个分片;或者,P1方令<y>1m =-<p⊕y>1m得到第二比较结果的一个分片,P2方令<y>2m =1-<p⊕y>2m得到第二比较结果的另一个分片。
图3示出根据另一个实施例的针对隐私数据进行安全运算的方法流程图,该方法可以基于图1所示的实施场景,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方之外的服务方执行。如图3所示,该实施例中针对隐私数据进行安全运算的方法包括以下步骤:步骤31,从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;步骤32,合并所述掩盖数据的多个分片,得到所述掩盖数据;步骤33,针对所述掩盖数据进行比较运算,得到第一比较结果;步骤34,根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;步骤35,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;步骤36,向所述多方分别发送所述第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。下面描述以上各个步骤的具体执行方式。
首先在步骤31,从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数。可以理解的是,掩盖数据为隐私数据经过随机数掩盖后得到的,服务方接收掩盖数据后,并不会推理出隐私数据。
举例来说,所述多方具体为P1方和P2方共两方,<z>1n为P1方得到的掩盖数据的一个分片,<z>2n为P2方得到的掩盖数据的另一个分片,则服务方S从P1方和P2方分别接收<z>1n和<z>2n。
在一个示例中,所述隐私数据的各分片属于模n空间。相应地,所述掩盖数据的各分片属于模n空间。
然后在步骤32,合并所述掩盖数据的多个分片,得到所述掩盖数据。可以理解的是,服务方需要获取掩盖数据的所有分片,才能得到所述掩盖数据。
在一个示例中,所述合并所述掩盖数据的多个分片,得到所述掩盖数据,包括:
针对所述掩盖数据的多个分片进行求和运算,得到所述掩盖数据。
举例来说,服务方S从P1方和P2方分别接收掩盖数据的一个分片<z>1n和掩盖数据的另一个分片<z>2n。通过求和运算得到掩盖数据z=<z>1n+<z>2n %n。
接着在步骤33,针对所述掩盖数据进行比较运算,得到第一比较结果。可以理解的是,服务方具有掩盖数据,可以针对掩盖数据进行各种运算。
在一个示例中,所述针对所述掩盖数据进行比较运算,得到第一比较结果,包括:
将所述掩盖数据和0进行比较,得到所述掩盖数据是否大于或等于0的第一比较结果。
再在步骤34,根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果。可以理解的是,第一比较结果和第一运算结果之间满足预设映射关系,根据第一比较结果可以确定第一运算结果。
举例来说,上述预设映射关系为:当第一运算结果==1时,第一比较结果z>=0;当第一运算结果==0时,z<0。根据z与0之间的比较结果,即可推得第一运算结果。
再在步骤35,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同。
在一个示例中,所述隐私数据的各分片属于模n空间,所述第一运算结果的多个分片属于模m空间,m不等于n。
举例来说,若第一运算结果待拆分的分片数目为b,则先生成b-1个独立的模m空间内的随机数,分别记作(p⊕y)1m,(p⊕y)2m , ... (p⊕y)(b-1)m。若m=264,则随机数均为64位。然后将p⊕y -((p⊕y)1m+(p⊕y)2m+....+(p⊕y)(b-1)m) % m的值作为(p⊕y)bm,从而得到b个分片{(p⊕y)1m,(p⊕y)2m , ... (p⊕y)bm }。
最后在步骤36,向所述多方分别发送所述第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。可以理解的是,所述多方中的任一方只接收到所述第一运算结果的一个分片。
在一个示例中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
通过本说明书实施例提供的方法,隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述多方中的任一方不是直接针对隐私数据的分片进行相应的安全运算,而是首先将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;然后将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;接着从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;最后针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。由上可见,本说明书实施例,所述多方中的任一方将掩盖数据发送给服务方,由于掩盖数据利用随机数对本方的隐私数据进行了掩盖,因此不会泄露本方的隐私数据,并且,将针对隐私数据的比较运算转化为对掩盖数据的比较运算,后续只需多方分别移除随机数的影响,即可得到针对隐私数据进行比较运算的最终结果的分片,能够在针对隐私数据进行安全运算时提升性能。
根据另一方面的实施例,还提供一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方中的任一方,所述装置用于执行本说明书实施例提供的方法中所述多方中的任一方执行的动作。图4示出根据一个实施例的针对隐私数据进行安全运算的装置的示意性框图。如图4所示,该装置400包括:
掩盖单元41,用于将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;
发送单元42,用于将所述掩盖单元41得到的掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
接收单元43,用于从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;
移除单元44,用于针对所述接收单元43接收的第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。
可选地,作为一个实施例,所述隐私数据的各分片属于模n空间,所述第一运算结果的第一分片属于模m空间,m不等于n。
可选地,作为一个实施例,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
进一步地,所述随机数组合还包括:第二随机数和第三随机数;
所述掩盖单元41包括:
第一乘法子单元,用于将本方具有的所述隐私数据的第一分片,与所述第二随机数相乘,得到第一求和项;
加法子单元,用于将所述第一乘法子单元得到的第一求和项与所述第三随机数相加,得到第一乘法项;
幂子单元,用于将负一作为底数,将所述第一随机数作为幂,进行幂运算,得到第二乘法项;
第二乘法子单元,用于将所述加法子单元得到的第一乘法项和所述幂子单元得到的第二乘法项相乘,得到所述掩盖数据的第一分片。
进一步地,所述第一随机数为0或1。
进一步地,所述隐私数据为模n空间的有符号整数;所述隐私数据的第一分片属于模n空间,且所述掩盖数据的第一分片属于模n空间;
所述第二随机数属于第一取值区间,所述第一取值区间以0为最小取值,且以第一数值为最大取值,所述第一数值根据所述n和所述隐私数据的最大绝对值确定。
进一步地,所述第三随机数属于第二取值区间,所述第二取值区间以0为最小取值,且以第二数值为最大取值,所述第二数值根据所述第二随机数确定。
可选地,作为一个实施例,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数;
所述移除单元44包括:
第一移除子单元,用于若所述第一随机数为所述第一取值,则将所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;
第二移除子单元,用于若所述第一随机数为所述第二取值,则将1减去所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;或者,将所述第一运算结果的第一分片的加法逆元确定为所述第二比较结果的第一分片。
根据另一方面的实施例,还提供一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方之外的服务方,所述装置用于执行本说明书实施例提供的方法中所述服务方执行的动作。图5示出根据另一个实施例的针对隐私数据进行安全运算的装置的示意性框图。如图5所示,该装置500包括:
接收单元51,用于从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;
合并单元52,用于合并所述接收单元51接收的掩盖数据的多个分片,得到所述掩盖数据;
比较单元53,用于针对所述合并单元52得到的掩盖数据进行比较运算,得到第一比较结果;
映射单元54,用于根据所述比较单元53得到的第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;
拆分单元55,用于将所述映射单元54得到的第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
发送单元56,用于向所述多方分别发送所述拆分单元55得到的第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。
可选地,作为一个实施例,所述隐私数据的各分片属于模n空间,所述第一运算结果的多个分片属于模m空间,m不等于n。
可选地,作为一个实施例,所述合并单元52,具体用于针对所述掩盖数据的多个分片进行求和运算,得到所述掩盖数据。
可选地,作为一个实施例,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果;
所述比较单元53,具体用于将所述掩盖数据和0进行比较,得到所述掩盖数据是否大于或等于0的第一比较结果。
通过本说明书实施例提供的装置,隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述多方中的任一方不是直接针对隐私数据的分片进行相应的安全运算,而是首先由掩盖单元41将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;然后由发送单元42将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方中的比较单元53根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并由映射单元54根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,拆分单元55将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;接着接收单元43从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;最后移除单元44针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。由上可见,本说明书实施例,所述多方中的任一方将掩盖数据发送给服务方,由于掩盖数据利用随机数对本方的隐私数据进行了掩盖,因此不会泄露本方的隐私数据,并且,将针对隐私数据的比较运算转化为对掩盖数据的比较运算,后续只需多方分别移除随机数的影响,即可得到针对隐私数据进行比较运算的最终结果的分片,能够在针对隐私数据进行安全运算时提升性能。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (26)
1.一种针对隐私数据进行安全运算的方法,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方中的任一方执行,包括:
将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;
将所述掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;
针对所述第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。
2.如权利要求1所述的方法,其中,所述隐私数据的各分片属于模n空间,所述第一运算结果的第一分片属于模m空间,m不等于n。
3.如权利要求1所述的方法,其中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
4.如权利要求3所述的方法,其中,所述随机数组合还包括:第二随机数和第三随机数;
所述将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片,包括:
将本方具有的所述隐私数据的第一分片,与所述第二随机数相乘,得到第一求和项;
将所述第一求和项与所述第三随机数相加,得到第一乘法项;
将负一作为底数,将所述第一随机数作为幂,进行幂运算,得到第二乘法项;
将所述第一乘法项和所述第二乘法项相乘,得到所述掩盖数据的第一分片。
5.如权利要求4所述的方法,其中,所述第一随机数为0或1。
6.如权利要求4所述的方法,其中,所述隐私数据为模n空间的有符号整数;所述隐私数据的第一分片属于模n空间,且所述掩盖数据的第一分片属于模n空间;
所述第二随机数属于第一取值区间,所述第一取值区间以0为最小取值,且以第一数值为最大取值,所述第一数值根据所述n和所述隐私数据的最大绝对值确定。
7.如权利要求6所述的方法,其中,所述第三随机数属于第二取值区间,所述第二取值区间以0为最小取值,且以第二数值为最大取值,所述第二数值根据所述第二随机数确定。
8.如权利要求1所述的方法,其中,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数;
所述针对所述第一运算结果的第一分片,移除所述第一随机数的影响,包括:
若所述第一随机数为所述第一取值,则将所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;
若所述第一随机数为所述第二取值,则将1减去所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;或者,将所述第一运算结果的第一分片的加法逆元确定为所述第二比较结果的第一分片。
9.一种针对隐私数据进行安全运算的方法,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述方法通过所述多方之外的服务方执行,包括:
从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;
合并所述掩盖数据的多个分片,得到所述掩盖数据;
针对所述掩盖数据进行比较运算,得到第一比较结果;
根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;
将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
向所述多方分别发送所述第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。
10.如权利要求9所述的方法,其中,所述隐私数据的各分片属于模n空间,所述第一运算结果的多个分片属于模m空间,m不等于n。
11.如权利要求9所述的方法,其中,所述合并所述掩盖数据的多个分片,得到所述掩盖数据,包括:
针对所述掩盖数据的多个分片进行求和运算,得到所述掩盖数据。
12.如权利要求9所述的方法,其中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果;
所述针对所述掩盖数据进行比较运算,得到第一比较结果,包括:
将所述掩盖数据和0进行比较,得到所述掩盖数据是否大于或等于0的第一比较结果。
13.一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方中的任一方,包括:
掩盖单元,用于将本方具有的所述隐私数据的第一分片,利用与所述多方中的其他方共享的随机数组合掩盖,得到掩盖数据的第一分片;所述随机数组合包括第一随机数;
发送单元,用于将所述掩盖单元得到的掩盖数据的第一分片发送给所述多方之外的服务方,以使所述服务方根据所述多方分别发送的所述掩盖数据的多个分片,进行比较运算,得到第一比较结果,并根据所述第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果,将所述第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
接收单元,用于从所述服务方接收所述第一运算结果的第一分片,所述第一运算结果的第一分片为所述第一运算结果的多个分片中的任一分片;
移除单元,用于针对所述接收单元接收的第一运算结果的第一分片,移除所述第一随机数的影响,得到所述第二比较结果的第一分片,作为针对所述隐私数据进行比较运算的最终结果的第一分片。
14.如权利要求13所述的装置,其中,所述隐私数据的各分片属于模n空间,所述第一运算结果的第一分片属于模m空间,m不等于n。
15.如权利要求13所述的装置,其中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果。
16.如权利要求15所述的装置,其中,所述随机数组合还包括:第二随机数和第三随机数;
所述掩盖单元包括:
第一乘法子单元,用于将本方具有的所述隐私数据的第一分片,与所述第二随机数相乘,得到第一求和项;
加法子单元,用于将所述第一乘法子单元得到的第一求和项与所述第三随机数相加,得到第一乘法项;
幂子单元,用于将负一作为底数,将所述第一随机数作为幂,进行幂运算,得到第二乘法项;
第二乘法子单元,用于将所述加法子单元得到的第一乘法项和所述幂子单元得到的第二乘法项相乘,得到所述掩盖数据的第一分片。
17.如权利要求16所述的装置,其中,所述第一随机数为0或1。
18.如权利要求16所述的装置,其中,所述隐私数据为模n空间的有符号整数;所述隐私数据的第一分片属于模n空间,且所述掩盖数据的第一分片属于模n空间;
所述第二随机数属于第一取值区间,所述第一取值区间以0为最小取值,且以第一数值为最大取值,所述第一数值根据所述n和所述隐私数据的最大绝对值确定。
19.如权利要求18所述的装置,其中,所述第三随机数属于第二取值区间,所述第二取值区间以0为最小取值,且以第二数值为最大取值,所述第二数值根据所述第二随机数确定。
20.如权利要求13所述的装置,其中,所述第一随机数为第一取值或第二取值;所述第一取值为偶数,所述第二取值为奇数;
所述移除单元包括:
第一移除子单元,用于若所述第一随机数为所述第一取值,则将所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;
第二移除子单元,用于若所述第一随机数为所述第二取值,则将1减去所述第一运算结果的第一分片确定为所述第二比较结果的第一分片;或者,将所述第一运算结果的第一分片的加法逆元确定为所述第二比较结果的第一分片。
21.一种针对隐私数据进行安全运算的装置,所述隐私数据基于秘密共享的方式被拆分成多个分片,所述隐私数据的各分片分布于多方,所述装置设置于所述多方之外的服务方,包括:
接收单元,用于从所述多方分别接收掩盖数据的多个分片,其中,所述掩盖数据的任一分片为所述多方中的任一方将本方具有的所述隐私数据的分片,利用与所述多方中的其他方共享的随机数组合掩盖后得到的;所述随机数组合包括第一随机数;
合并单元,用于合并所述接收单元接收的掩盖数据的多个分片,得到所述掩盖数据;
比较单元,用于针对所述合并单元得到的掩盖数据进行比较运算,得到第一比较结果;
映射单元,用于根据所述比较单元得到的第一比较结果和预设映射关系,得到与所述第一随机数和第二比较结果关联的第一运算结果;
拆分单元,用于将所述映射单元得到的第一运算结果基于秘密共享的方式拆分成多个分片,所述第一运算结果包括的分片数目与所述掩盖数据包括的分片数目相同;
发送单元,用于向所述多方分别发送所述拆分单元得到的第一运算结果的多个分片,以使所述多方中的任一方根据所接收的分片,得到针对所述隐私数据进行比较运算的最终结果的分片。
22.如权利要求21所述的装置,其中,所述隐私数据的各分片属于模n空间,所述第一运算结果的多个分片属于模m空间,m不等于n。
23.如权利要求21所述的装置,其中,所述合并单元,具体用于针对所述掩盖数据的多个分片进行求和运算,得到所述掩盖数据。
24.如权利要求21所述的装置,其中,所述针对所述隐私数据进行比较运算的最终结果,具体为:将所述隐私数据和0进行比较,得到所述隐私数据是否大于或等于0的比较结果;
所述比较单元,具体用于将所述掩盖数据和0进行比较,得到所述掩盖数据是否大于或等于0的第一比较结果。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
26.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632214.6A CN111523145B (zh) | 2020-07-03 | 2020-07-03 | 针对隐私数据进行安全运算的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010632214.6A CN111523145B (zh) | 2020-07-03 | 2020-07-03 | 针对隐私数据进行安全运算的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111523145A true CN111523145A (zh) | 2020-08-11 |
CN111523145B CN111523145B (zh) | 2020-09-29 |
Family
ID=71911646
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010632214.6A Active CN111523145B (zh) | 2020-07-03 | 2020-07-03 | 针对隐私数据进行安全运算的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111523145B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN112000991A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 多方数据联合处理方法、装置及系统 |
CN112084384A (zh) * | 2020-09-11 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112084530A (zh) * | 2020-09-10 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112560106A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 针对隐私矩阵进行处理的方法、装置和系统 |
CN112685788A (zh) * | 2021-03-08 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN112836211A (zh) * | 2021-01-22 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种程序运行方法及系统 |
CN112953700A (zh) * | 2021-01-26 | 2021-06-11 | 西安电子科技大学 | 一种提升安全多方计算效率的方法、系统及存储介质 |
CN113065162A (zh) * | 2021-04-25 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 和共享形式的隐私数据的处理方法和装置 |
CN113098840A (zh) * | 2021-02-25 | 2021-07-09 | 鹏城实验室 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
CN113094739A (zh) * | 2021-03-05 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361510A (zh) * | 2018-11-07 | 2019-02-19 | 西安电子科技大学 | 一种支持溢出检测和大整数运算的信息处理方法及应用 |
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN110138802A (zh) * | 2019-06-02 | 2019-08-16 | 四川虹微技术有限公司 | 用户特征信息获取方法、装置、区块链节点及存储介质 |
CN111049825A (zh) * | 2019-12-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的安全多方计算方法和系统 |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
-
2020
- 2020-07-03 CN CN202010632214.6A patent/CN111523145B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109359470A (zh) * | 2018-08-14 | 2019-02-19 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109361510A (zh) * | 2018-11-07 | 2019-02-19 | 西安电子科技大学 | 一种支持溢出检测和大整数运算的信息处理方法及应用 |
CN110138802A (zh) * | 2019-06-02 | 2019-08-16 | 四川虹微技术有限公司 | 用户特征信息获取方法、装置、区块链节点及存储介质 |
CN111064579A (zh) * | 2019-12-11 | 2020-04-24 | 北京金汤科技有限公司 | 基于区块链的安全多方计算方法、系统、及存储介质 |
CN111049825A (zh) * | 2019-12-12 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 一种基于可信执行环境的安全多方计算方法和系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783130A (zh) * | 2020-09-04 | 2020-10-16 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置及服务器 |
CN112084530A (zh) * | 2020-09-10 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112084530B (zh) * | 2020-09-10 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112084384A (zh) * | 2020-09-11 | 2020-12-15 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112084384B (zh) * | 2020-09-11 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN112000991A (zh) * | 2020-10-27 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 多方数据联合处理方法、装置及系统 |
CN112836211A (zh) * | 2021-01-22 | 2021-05-25 | 支付宝(杭州)信息技术有限公司 | 一种程序运行方法及系统 |
CN112953700A (zh) * | 2021-01-26 | 2021-06-11 | 西安电子科技大学 | 一种提升安全多方计算效率的方法、系统及存储介质 |
CN112953700B (zh) * | 2021-01-26 | 2022-03-22 | 西安电子科技大学 | 一种提升安全多方计算效率的方法、系统及存储介质 |
CN112560106A (zh) * | 2021-02-20 | 2021-03-26 | 支付宝(杭州)信息技术有限公司 | 针对隐私矩阵进行处理的方法、装置和系统 |
CN113098840A (zh) * | 2021-02-25 | 2021-07-09 | 鹏城实验室 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
CN113094739A (zh) * | 2021-03-05 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN113094739B (zh) * | 2021-03-05 | 2022-04-22 | 支付宝(杭州)信息技术有限公司 | 基于隐私保护的数据处理方法、装置和服务器 |
CN112685788A (zh) * | 2021-03-08 | 2021-04-20 | 支付宝(杭州)信息技术有限公司 | 数据处理方法和装置 |
CN113065162A (zh) * | 2021-04-25 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 和共享形式的隐私数据的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111523145B (zh) | 2020-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111523145B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN111539026B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN114586313B (zh) | 用于签署一信息的系统及方法 | |
Wang et al. | Cryptanalysis of a symmetric fully homomorphic encryption scheme | |
CN111552978B (zh) | 基于DH加密和Hash表的隐私保护集合求交集方法 | |
US7908641B2 (en) | Modular exponentiation with randomized exponent | |
US20230327856A1 (en) | Secure multi-party computation methods, apparatuses, and systems | |
CN111737757B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
CN111737767B (zh) | 针对隐私数据进行安全运算的方法和装置 | |
US9300469B2 (en) | Secure computing system, secure computing method, secure computing apparatus, and program therefor | |
CN114239019A (zh) | 保护隐私数据的共有数据数目确定方法、装置和系统 | |
CN112953700B (zh) | 一种提升安全多方计算效率的方法、系统及存储介质 | |
CN113722734A (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN111586142A (zh) | 一种安全多方计算方法及系统 | |
CN114239018A (zh) | 保护隐私数据的共有数据数目确定方法和系统 | |
Levi et al. | Garbled Circuits from an SCA Perspective: Free XOR can be Quite Expensive... | |
CN113836595B (zh) | 两方安全比较的方法、装置和系统 | |
CN116821961A (zh) | 保护隐私数据的布尔算术分享转换方法和装置 | |
WO2019111319A1 (ja) | 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 | |
CN114221753B (zh) | 密钥数据处理方法和电子设备 | |
CN114297726A (zh) | 基于安全多方计算的乘法执行方法及装置 | |
CN113836596A (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
CN114499845B (zh) | 多方安全计算的方法、系统、装置、存储介质及设备 | |
CN114244497B (zh) | 两方协同生成分片的方法及装置 | |
EP4024755B1 (en) | Secured performance of an elliptic curve cryptographic process |
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: 40035749 Country of ref document: HK |