CN118643537B - 安全多方计算中截断和升环的融合处理方法及装置 - Google Patents
安全多方计算中截断和升环的融合处理方法及装置 Download PDFInfo
- Publication number
- CN118643537B CN118643537B CN202411092249.XA CN202411092249A CN118643537B CN 118643537 B CN118643537 B CN 118643537B CN 202411092249 A CN202411092249 A CN 202411092249A CN 118643537 B CN118643537 B CN 118643537B
- Authority
- CN
- China
- Prior art keywords
- ring
- party
- arithmetic
- slice
- bits
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004364 calculation method Methods 0.000 title claims abstract description 45
- 238000007499 fusion processing Methods 0.000 title claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 claims description 14
- 238000003062 neural network model Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 32
- 239000012634 fragment Substances 0.000 description 60
- 230000008569 process Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 3
- 238000006062 fragmentation reaction Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/251—Fusion techniques of input or preprocessed data
-
- 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Signal Processing (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书实施例提供一种安全多方计算中截断和升环的融合处理方法及装置。方法包括:第一方利用本方的第一环算术分片,与第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;溢出指示位用于指示目标隐私数据的两个第一环算术分片之和是否溢出第一环;利用溢出指示位的本方布尔分片,与第二方进行第二多方联合计算,得到溢出指示位在第二环上秘密分享的溢出位算术分片;第二环的位数根据第一环的位数、升环的目标环的位数和截断的位数而确定;基于本方的第一环算术分片和溢出位算术分片,执行本地运算,得到目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。能够明显降低通信轮次和通信量。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及安全多方计算中截断和升环的融合处理方法及装置。
背景技术
当前,不同的数据持有方所持有的数据可能包含用户的隐私信息,数据持有方之间的数据共享可能会侵犯用户的隐私。为了能够打通多方之间的数据流通,利用安全多方计算支持多方之间的联合计算,挖掘出数据的价值,同时确保多方交互时不会泄露出各方隐私数据的明文信息。
安全多方计算能够使得多个互不信任的参与方安全地计算一个给定的函数,并且不会泄露除结果以外的输入、中间计算结果。秘密共享,是将一个秘密分散到不同参与方的方法,每方得到秘密的一部分,称为分片。只有当持有足够多的分片时,才能还原出秘密;单个分片无法还原出秘密。
秘密共享由于其对于算术计算以及线性代数运算具有较高的效率,被广泛用于各个场景的安全计算。基于秘密共享的计算常常会涉及针对隐私数据的截断和升环,其中,截断,需要截断隐私数据的分片的最低位并补全高位,以改变隐私数据的精度;升环,需要将隐私数据的分片从小环转换到大环。现有技术中,在实现针对隐私数据的截断和升环时,为了保护隐私数据,需要较多的通信轮次和通信量。
发明内容
本说明书一个或多个实施例描述了一种安全多方计算中截断和升环的融合处理方法及装置,能够明显降低通信轮次和通信量。
第一方面,提供了一种安全多方计算中截断和升环的融合处理方法,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,该方法由所述第一方执行,包括:
利用本方的第一环算术分片,与所述第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;
利用所述溢出指示位的本方布尔分片,与所述第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;
基于所述本方的第一环算术分片和所述溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。
在一种可能的实施方式中,所述第二环的位数等于所述目标环的位数减去所述第一环的位数加上所述截断的位数。
在一种可能的实施方式中,所述第一环算术分片为神经网络模型的第一网络层的输出,所述目标环算术分片为所述神经网络模型的第二网络层的输入,所述第二网络层是第一网络层的下一网络层。
进一步地,所述截断的位数为,所述第一网络层进行定点数运算中小数部分的长度。
在一种可能的实施方式中,所述执行本地运算,包括:
将所述溢出位算术分片乘以预设常数,得到中间结果;所述预设常数根据第一环的位数和所述截断的位数确定;
将所述本方的第一环算术分片减去所述中间结果,再对所述目标环的最大数值取模,得到所述目标环算术分片。
在一种可能的实施方式中,所述第一多方联合计算包括,调用布尔形式的溢出位计算协议。
在一种可能的实施方式中,所述第二多方联合计算包括,调用布尔分片到算术分片的转换协议。
第二方面,提供了一种安全多方计算中截断和升环的融合处理装置,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,该装置设置于所述第一方,包括:
第一联合计算单元,用于利用本方的第一环算术分片,与所述第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;
第二联合计算单元,用于利用所述第一联合计算单元得到的溢出指示位的本方布尔分片,与所述第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;
本地运算单元,用于基于所述本方的第一环算术分片和所述第二联合计算单元得到的溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,与通常的处理方式不同,当需要先后进行截断和升环处理时,不是先进行单独的截断处理,再进行单独的融合处理,而是将截断和升环进行融合处理。其中,在单独的截断处理中,需要截断隐私数据的分片的最低位并补全高位,以改变隐私数据的精度,为了避免补全高位时出现错误,需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环;在单独的升环处理中,需要将隐私数据的分片从小环转换到大环,转换过程中,也需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环。在对截断和升环的融合处理中,只需要计算一次是否溢出和秘密共享的布尔分片到算术分片的转化,通信开销与单独的截断处理保持一致,节省了升环所需要的通信开销,能够明显降低通信轮次和通信量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为本说明书披露的另一个实施例的实施场景示意图;
图3示出根据一个实施例的安全多方计算中截断和升环的融合处理方法流程图;
图4示出根据一个实施例的安全多方计算中截断和升环的融合处理装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及安全多方计算中截断和升环的融合处理。其中,安全多方计算可以在不泄露参与方数据的前提下安全地计算一个约定函数,参与方数据属于隐私数据。本说明书实施例中,隐私数据以秘密共享的方式分布于两方。可以理解的是,上述融合处理,用于针对隐私数据实现先截断后升环的处理效果。如图1所示,安全多方计算中截断和升环的融合处理的场景涉及参与方A、参与方B,或称为第一方、第二方,或称为A方、B方,或称为P0、P1。各个参与方可以实现为任何具有计算、处理能力的设备、平台、服务器或设备集群。各方要在保护数据隐私的情况下,联合实现截断和升环的融合处理,并且希望相对于通常的处理方式降低通信轮次和通信量。
本说明书实施例中,涉及如下的一些基本概念,下面做一个简要的介绍。
环:我们用表示一个所有元素都模的环。
秘密共享:对于一个数值,通过均匀采样得到两个随机分片和,使得,被第一方持有,被第二方持有,例如,第一方为客户端,第二方为服务器。
截断:在环上的元素均为定点数,在乘法运算后,定点数的精度会成为双倍。所以需要截断最低位恢复原始的定点数精度。由于截断最低位需要补全高位,而秘密共享如果溢出了环,对高位的补全会导致最高位的错误,带来严重的误差。所以需要参与方通信来计算秘密共享是否溢出了环。
升降环:升降环指对于两个大小不同的环,将其中一个环上的秘密共享的分片通过升环或者降环处理转化为另一个环上的秘密共享的分片。在通常的处理方式中,降环可以由参与方在本地完成,相对来说认为是不需要通信的操作。而升环需要计算秘密共享的分片是否溢出了原本的环,导致了参与方间的通信。
实际的计算场景,如机器学习通常基于浮点数运算,然而使用秘密共享实现安全浮点数运算会导致较高的开销,效率难以满足实际的计算需求,因此通常的做法是使用定点数来近似浮点数,在一定精度损失的前提下,取得较大的效率优化。秘密共享协议通常定义在环或者域上,各有优劣。环上的计算由于其取模操作能够隐式地由硬件负责,相较于域上计算需要手动取模,计算效率更高。
本说明书实施例中,神经网络的浮点数转定点数过程中,由于MPC通常在环上操作,深度神经网络中使用的浮点数需要在环中转换成定点数。给定一个尺度(即小数部分的长度)和一个环,浮点数可以通过计算转换为近似的定点数,并且可以通过转换回近似的x。其中,可以通过截断处理实现。
本说明书实施例中,涉及两个计算方A方和B方,秘密输入x拆分为两个分片,两方各自持有一个分片,分片所在的环为,通过安全多方计算中截断和升环的融合处理,两方各自得到输出结果的一个分片,分片所在的环为;其中,s为截断的位数,。
本说明书实施例,针对在安全多方计算中截断和升环的融合处理中降低通信轮次和通信量,提出相应的解决方案。
本说明书实施例,可以用于各个场景的安全计算,例如机器学习模型的安全训练与安全预测。通过安全多方计算中截断和升环的融合处理,可以降低通信轮次和通信量,从而便于灵活地针对不同子计算使用不同的精度、不同大小的环,进而减小通信开销,提高整体计算效率。
图2为本说明书披露的另一个实施例的实施场景示意图。该实施场景涉及安全多方计算中截断和升环的融合处理,其具体应用于神经网络的密态推理中,两个相邻的不同网络层之间。参照图2,在图2的(a)中示出了通常的处理方式,在神经网络的密态推理中,不同层的计算对于定点数精度敏感性不同,导致需要使用的环大小不同,使用较小的环可以减少通信的数据量。比较典型地,在神经网络的k层使用小环,k+1层使用大环,由于在神经网络中,每一层的运算之后都需要通过截断恢复原始定点数精度,因此k层之后需要先进行截断,然后执行升环操作,再继续下一层的计算。其中,截断和升环分别进行,二者都需要计算秘密共享是否溢出,需要较多的通信轮次和通信量。在图2的(b)中示出了融合的处理方式,截断处理会计算出秘密共享是否溢出,这一信息可以复用在升环的操作中,使升环的操作不再需要通信开销。通过截断和升环的融合,实现无需通信的升环效果,能够明显降低通信轮次和通信量。
需要说明的是,神经网络的密态推理只是一种典型的应用场景,本说明书实施例并不限定于此,只要是安全多方计算中需要顺序进行截断和升环处理的场景,均可以采用本说明书实施例提供的融合处理的方案。
图3示出根据一个实施例的安全多方计算中截断和升环的融合处理方法流程图,该方法可以基于图1或图2所示的实施场景,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,所述方法由所述第一方执行。如图3所示,该实施例中安全多方计算中截断和升环的融合处理方法包括以下步骤:步骤31,利用本方的第一环算术分片,与第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;步骤32,利用所述溢出指示位的本方布尔分片,与第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;步骤33,基于本方的第一环算术分片和所述溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。下面描述以上各个步骤的具体执行方式。
首先在步骤31,利用本方的第一环算术分片,与第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环。可以理解的是,第一环具有一定的数值上限,如果两个第一环算术分片之和大于该数值上限,则秘密共享溢出,也就是两个第一环算术分片之和溢出所述第一环。
在一个示例中,所述第一环算术分片为神经网络模型的第一网络层的输出。
该示例中,可以对应于神经网络的密态推理应用场景,第一网络层的下一网络层为第二网络层,在两个网络层之间需要进行截断和升环处理。
在一个示例中,所述第一多方联合计算包括,调用布尔形式的溢出位计算协议。
其中,布尔形式的溢出位计算协议为已有的协议,我们用表示环上的算术分片,用表示二元域上的布尔分片。该协议的功能可以表示为: ,通过两方联合执行该协议,可以使得两方分别得到溢出指示位的一个布尔分片,溢出指示位用于指示秘密共享是否溢出环。
举例来说,第一方记为S,第二方记为C,S和C调用,得到,其中,为S持有的x在环上的算术分片,为C持有的x在环上的算术分片,,w为0或1,其用于指示是否成立。
然后在步骤32,利用所述溢出指示位的本方布尔分片,与第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定。可以理解的是,第二多方联合计算用于将布尔分片转换为算术分片。
在一个示例中,所述第二环的位数等于所述目标环的位数减去所述第一环的位数加上所述截断的位数。
举例来说,目标环的位数为,第一环的位数为,截断的位数为s,第二环的位数为。
在一个示例中,所述第一环算术分片为神经网络模型的第一网络层的输出,所述截断的位数为,所述第一网络层进行定点数运算中小数部分的长度。
在一个示例中,所述第二多方联合计算包括,调用布尔分片到算术分片的转换协议。
其中,布尔分片到算术分片的转换协议为已有的协议,我们用表示环上的算术分片,用表示二元域上的布尔分片。该协议的功能可以表示为:,通过两方联合执行该协议,可以使得两方分别得到溢出指示位的一个算术分片。
举例来说,第一方记为S,第二方记为C,S和C调用,得到,其中,为S和C分别持有的溢出指示位w的布尔分片,为S和C分别持有的溢出指示位w的算术分片,该算术分片在上。
最后在步骤33,基于本方的第一环算术分片和所述溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。可以理解的是,第一方和第二方各自持有一个目标环算术分片,其作为融合处理的输出结果。
在一个示例中,所述第一环算术分片为神经网络模型的第一网络层的输出,所述目标环算术分片为所述神经网络模型的第二网络层的输入,所述第二网络层是第一网络层的下一网络层。
该示例中,可以对应于神经网络的密态推理应用场景,第一网络层的下一网络层为第二网络层,在两个网络层之间需要进行截断和升环处理。
在一个示例中,所述执行本地运算,包括:
将所述溢出位算术分片乘以预设常数,得到中间结果;所述预设常数根据第一环的位数和所述截断的位数确定;
将所述本方的第一环算术分片减去所述中间结果,再对所述目标环的最大数值取模,得到所述目标环算术分片。
本说明书实施例,第二方可以执行同样的本地运算。举例来说,b∈{S,C},Pb执行,其中,y=x/2s,代表b方持有的第一环算术分片,代表b方持有的溢出位算术分片。
可以理解的是,上述融合处理需要第一方和第二方共同执行,由于第一方和第二方执行的处理过程类似,在此仅以第一方为例进行说明。
下面给出本说明书实施例提供方案的正确性证明:
参照上面的等式,设 (i∈0,1)表示客户端和服务器在环上的秘密分片。第二行为在环上截断后的秘密分片。w是一个布尔值,用于指示在环上是否溢出,是较低s位的进位。进位要么是0,要么是1,在推理中可以安全的忽略,而是一个需要小心处理的重大错误。第三行实现使得落在一个较大的环内。第四行是在k位的环上的溢出指示位w进行模扩展,v是一个布尔值,用于表示溢出指示位w在k位的环上是否溢出。通过适当选择,来促进布尔分片,使得它的溢出能够通过模消除。最后一行表示截断和升环的开销与单独截断的开销相同,只需要计算。
通过本说明书实施例提供的方法,与通常的处理方式不同,当需要先后进行截断和升环处理时,不是先进行单独的截断处理,再进行单独的融合处理,而是将截断和升环进行融合处理。其中,在单独的截断处理中,需要截断隐私数据的分片的最低位并补全高位,以改变隐私数据的精度,为了避免补全高位时出现错误,需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环;在单独的升环处理中,需要将隐私数据的分片从小环转换到大环,转换过程中,也需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环。在对截断和升环的融合处理中,只需要计算一次是否溢出和秘密共享的布尔分片到算术分片的转化,通信开销与单独的截断处理保持一致,节省了升环所需要的通信开销,能够明显降低通信轮次和通信量。
此外,由于上述融合处理,完成截断和升环只需要计算一次溢出(wrap)和秘密共享的布尔分片到算术分片(B2A)的转化,开销与单独的截断处理保持一致。这样,我们消去了升环所需要的开销,允许神经网络中自由的根据不同层的精度敏感性选择合适的环。
根据另一方面的实施例,还提供一种安全多方计算中截断和升环的融合处理装置,该装置用于执行本说明书图3所示实施例提供的方法,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,所述装置设置于所述第一方。图4示出根据一个实施例的安全多方计算中截断和升环的融合处理装置的示意性框图。如图4所示,该装置400包括:
第一联合计算单元41,用于利用本方的第一环算术分片,与所述第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;
第二联合计算单元42,用于利用所述第一联合计算单元41得到的溢出指示位的本方布尔分片,与所述第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;
本地运算单元43,用于基于所述本方的第一环算术分片和所述第二联合计算单元42得到的溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片。
可选地,作为一个实施例,所述第二环的位数等于所述目标环的位数减去所述第一环的位数加上所述截断的位数。
可选地,作为一个实施例,所述第一环算术分片为神经网络模型的第一网络层的输出,所述目标环算术分片为所述神经网络模型的第二网络层的输入,所述第二网络层是第一网络层的下一网络层。
进一步地,所述截断的位数为,所述第一网络层进行定点数运算中小数部分的长度。
可选地,作为一个实施例,所述本地运算单元43包括:
第一计算子单元,用于将所述溢出位算术分片乘以预设常数,得到中间结果;所述预设常数根据第一环的位数和所述截断的位数确定;
第二计算子单元,用于将所述本方的第一环算术分片减去所述第一计算子单元得到的中间结果,再对所述目标环的最大数值取模,得到所述目标环算术分片。
可选地,作为一个实施例,所述第一多方联合计算包括,调用布尔形式的溢出位计算协议。
可选地,作为一个实施例,所述第二多方联合计算包括,调用布尔分片到算术分片的转换协议。
通过本说明书实施例提供的装置,与通常的处理方式不同,当需要先后进行截断和升环处理时,不是先进行单独的截断处理,再进行单独的融合处理,而是将截断和升环进行融合处理。其中,在单独的截断处理中,需要截断隐私数据的分片的最低位并补全高位,以改变隐私数据的精度,为了避免补全高位时出现错误,需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环;在单独的升环处理中,需要将隐私数据的分片从小环转换到大环,转换过程中,也需要参与方通信来计算隐私数据的分片之和是否溢出分片所在的环。在对截断和升环的融合处理中,只需要第一联合计算单元41计算一次是否溢出和第二联合计算单元42计算一次秘密共享的布尔分片到算术分片的转化,通信开销与单独的截断处理保持一致,节省了升环所需要的通信开销,能够明显降低通信轮次和通信量。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (9)
1.一种安全多方计算中截断和升环的融合处理方法,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,所述方法由所述第一方执行,包括:
利用本方的第一环算术分片,与所述第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;
利用所述溢出指示位的本方布尔分片,与所述第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;
基于所述本方的第一环算术分片和所述溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片;
其中,所述第一环算术分片为神经网络模型的第一网络层的输出,所述目标环算术分片为所述神经网络模型的第二网络层的输入,所述第二网络层是第一网络层的下一网络层。
2.如权利要求1所述的方法,其中,所述第二环的位数等于所述目标环的位数减去所述第一环的位数加上所述截断的位数。
3.如权利要求1所述的方法,其中,所述截断的位数为,所述第一网络层进行定点数运算中小数部分的长度。
4.如权利要求1所述的方法,其中,所述执行本地运算,包括:
将所述溢出位算术分片乘以预设常数,得到中间结果;所述预设常数根据第一环的位数和所述截断的位数确定;
将所述本方的第一环算术分片减去所述中间结果,再对所述目标环的最大数值取模,得到所述目标环算术分片。
5.如权利要求1所述的方法,其中,所述第一多方联合计算包括,调用布尔形式的溢出位计算协议。
6.如权利要求1所述的方法,其中,所述第二多方联合计算包括,调用布尔分片到算术分片的转换协议。
7.一种安全多方计算中截断和升环的融合处理装置,第一方和第二方分别持有目标隐私数据在第一环上秘密分享的一个第一环算术分片,所述装置设置于所述第一方,包括:
第一联合计算单元,用于利用本方的第一环算术分片,与所述第二方进行第一多方联合计算,得到溢出指示位的本方布尔分片;所述溢出指示位用于指示所述目标隐私数据的两个第一环算术分片之和是否溢出所述第一环;
第二联合计算单元,用于利用所述第一联合计算单元得到的溢出指示位的本方布尔分片,与所述第二方进行第二多方联合计算,得到所述溢出指示位在第二环上秘密分享的溢出位算术分片;所述第二环的位数根据所述第一环的位数、升环的目标环的位数和截断的位数而确定;
本地运算单元,用于基于所述本方的第一环算术分片和所述第二联合计算单元得到的溢出位算术分片,执行本地运算,得到所述目标隐私数据截断处理后在所述目标环上秘密分享的目标环算术分片;
其中,所述第一环算术分片为神经网络模型的第一网络层的输出,所述目标环算术分片为所述神经网络模型的第二网络层的输入,所述第二网络层是第一网络层的下一网络层。
8.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项的所述的方法。
9.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-6中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411092249.XA CN118643537B (zh) | 2024-08-09 | 2024-08-09 | 安全多方计算中截断和升环的融合处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202411092249.XA CN118643537B (zh) | 2024-08-09 | 2024-08-09 | 安全多方计算中截断和升环的融合处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118643537A CN118643537A (zh) | 2024-09-13 |
CN118643537B true CN118643537B (zh) | 2024-12-27 |
Family
ID=92669760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202411092249.XA Active CN118643537B (zh) | 2024-08-09 | 2024-08-09 | 安全多方计算中截断和升环的融合处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118643537B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904726A (zh) * | 2022-12-26 | 2023-04-04 | 支付宝(杭州)信息技术有限公司 | 安全多方计算方法及装置 |
CN115859365A (zh) * | 2022-12-30 | 2023-03-28 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的安全分片转换方法和装置 |
CN115965072A (zh) * | 2022-12-30 | 2023-04-14 | 支付宝(杭州)信息技术有限公司 | 多方联合训练神经网络模型的方法和装置 |
CN118276818A (zh) * | 2024-04-09 | 2024-07-02 | 支付宝(杭州)信息技术有限公司 | 保护隐私数据的安全加法方法和装置 |
-
2024
- 2024-08-09 CN CN202411092249.XA patent/CN118643537B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN118643537A (zh) | 2024-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9215219B1 (en) | Method for protecting data used in cloud computing with homomorphic encryption | |
US10153894B2 (en) | Homomorphic encryption with optimized encoding | |
US20180375640A1 (en) | Variable Relinearization in Homomorphic Encryption | |
US20170180115A1 (en) | Homomorphic Encryption with Optimized Homomorphic Operations | |
US20170134156A1 (en) | Homomorphic Encryption with Optimized Parameter Selection | |
CN113259106B (zh) | 一种数据处理方法和系统 | |
CN113158239A (zh) | 保护数据隐私的选择问题处理方法 | |
CN113722734B (zh) | 两方安全选择确定选择结果分片的方法、装置和系统 | |
WO2023240934A1 (zh) | 针对隐私向量的安全处理方法和装置 | |
WO2023020216A1 (zh) | 多方安全确定最值的方法、装置、设备及存储介质 | |
CN113626871A (zh) | 保护隐私数据的两方多分支条件实现方法和系统 | |
CN115859365A (zh) | 保护隐私数据的安全分片转换方法和装置 | |
CN118643537B (zh) | 安全多方计算中截断和升环的融合处理方法及装置 | |
CN113535121B (zh) | 基于秘密分享协议的安全高效数学除法计算的优化方法 | |
CN114297726A (zh) | 基于安全多方计算的乘法执行方法及装置 | |
CN116821962A (zh) | 保护隐私数据的概率截断方法和装置 | |
CN118276818A (zh) | 保护隐私数据的安全加法方法和装置 | |
CN116821184A (zh) | 保护隐私数据的安全索引查询方法和装置 | |
CN116738465A (zh) | 保护隐私数据的最大池化处理方法和装置 | |
CN113626841B (zh) | 基于多方安全计算的选择问题处理方法 | |
CN115965072A (zh) | 多方联合训练神经网络模型的方法和装置 | |
CN113836595A (zh) | 两方安全比较的方法、装置和系统 | |
CN113821824A (zh) | 一种基于不经意线性评估ole的三元组生成方法及系统 | |
CN112989421A (zh) | 一种安全选择问题处理方法和系统 | |
CN117009723B (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 |