CN113098840B - 基于加法秘密分享技术的高效安全线性整流函数运算方法 - Google Patents
基于加法秘密分享技术的高效安全线性整流函数运算方法 Download PDFInfo
- Publication number
- CN113098840B CN113098840B CN202110212165.5A CN202110212165A CN113098840B CN 113098840 B CN113098840 B CN 113098840B CN 202110212165 A CN202110212165 A CN 202110212165A CN 113098840 B CN113098840 B CN 113098840B
- Authority
- CN
- China
- Prior art keywords
- data
- server
- comparison
- random number
- target binary
- 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
Images
Classifications
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computer Security & Cryptography (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种基于加法秘密分享技术的高效安全线性整流函数运算方法,所述方法包括:获取来自第一服务器的第一数据以及来自第二服务器的第二数据;根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。解决了现有技术中实现一次安全线性整流函数运算需要产生大量通信开销,导致安全协议效率低下的问题。
Description
技术领域
本发明涉及多方安全计算领域,尤其涉及的是一种基于加法秘密分享技术的高效安全线性整流函数运算方法。
背景技术
效率低下是现阶段阻碍隐私保护机器学习落地的最大问题,而在SNN中极高的通信复杂度是导致其效率低下的主要原因。造成其通信复杂度较高的原因是因为在执行安全协议过程中需要参与协议各方之间进行多轮通信,例如执行线性整流函数时参与者之间需要花费11轮通信。
因此,现有技术还有待改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于加法秘密分享技术的高效安全线性整流函数运算方法,旨在解决现有技术中的实现一次安全线性整流函数运算需要产生大量通信开销,导致安全协议效率低下的问题。
本发明解决问题所采用的技术方案如下:
第一方面,本发明实施例提供一种基于加法秘密分享技术的高效安全线性整流函数运算方法,其中,所述方法包括:
获取来自第一服务器的第一数据以及来自第二服务器的第二数据;
根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;
将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
在一种实施方式中,所述第一数据为由随机数掩盖的第一数据分片;所述第二数据为第二数据分片;所述第一数据分片与所述第二数据分片通过对原数据在偶数环上进行拆分得到。
在一种实施方式中,用于掩盖所述第一数据的随机数与所述第一服务器、所述第二服务器之间的公共随机数相同。
在一种实施方式中,所述根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作包括:
根据所述第一数据以及所述第二数据得到原数据与所述随机数之和对应的数据;
将所述原数据与所述随机数之和对应的数据作为待转化数据;
对所述待转化数据执行二进制转化操作,将转化后得到的数据作为目标二进制字符串;
对所述目标二进制字符串执行拆分操作。
在一种实施方式中,所述根据所述第一数据以及所述第二数据得到原数据与所述随机数之和对应的数据包括:
对所述第一数据以及所述第二数据进行数据重构操作;
将基于所述数据重构操作得到的数据作为原数据与所述随机数之和对应的数据。
在一种实施方式中,所述对所述目标二进制字符串执行拆分操作包括:
将所述目标二进制字符串在有限域上执行按位拆分操作。
在一种实施方式中,所述将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果包括:
将拆分后得到的数据作为第一比较数据以及第二比较数据;
将所述第一比较数据发送给所述第一服务器,将所述第二比较数据发送给所述第二服务器;
使所述第一服务器和所述第二服务器基于所述第一比较数据、所述第二比较数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
第二方面,本发明实施例还提供一种基于加法秘密分享技术的高效安全线性整流函数运算装置,其特征在于,所述装置包括:
获取模块,用于获取来自第一服务器的第一数据以及来自第二服务器的第二数据;
拆分模块,用于根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;
发送模块,用于将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
第三方面,本发明实施例还提供一种终端,其特征在于,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,一致性实现上述任一项所述的基于加法秘密分享技术的高效安全线性整流函数运算方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适用于由处理器加载并执行,以实现上述任一项所述的基于加法秘密分享技术的高效安全线性整流函数运算方法的步骤。
本发明的有益效果:本发明实施例实现输出安全线性整流函数运算的结果只调用了一次安全比较算法,且安全比较算法的输出可以直接作为安全线性整流函数的导数的运算结果,后续需要再调用一次安全乘法运算即可实现输出安全线性整流函数的运算结果,解决了现有技术中实现一次安全线性整流函数运算需要产生大量通信开销,导致安全协议效率低下的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于加法秘密分享技术的高效安全线性整流函数运算方法的流程示意图。
图2是本发明实施例提供的SNN中服务器之间的交互示意图。
图3是本发明实施例提供的现有的SNN的框架示意图。
图4是本发明实施例提供的一种基于加法秘密分享技术的高效安全线性整流函数运算装置的内部模块连接图。
图5是本发明实施例提供的终端的原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
进入信息社会以来,随着以机器学习为代表的人工智能技术快速发展并在金融、医疗、交通等领域的落地极大的改变了人们的生活和行为方式。当前人工智能技术已步入全方位商业化阶段,并对传统行业各参与方产生不同程度的影响,改变了各行业的生态。但这些机器学习尤其是深度学习技术的成功,毫无例外都是建立在数据量足够大的基础之上,数据作为人工智能的燃料,成为影响人工智能发展的核心要素。
当前人工智能在数据使用方面正遇到了前所未有的障碍,一方面人工智能要训练出高性能的模型必须要获得大规模的数据,另一方面,隐私数据泄露问题层出不穷,如2014年7月,美国最大的银行摩根大通(JP Morgan Chase)遭到黑客攻击,造成7600万账户信息泄露,损害了美国近一半以上的家庭和700万企业的切身利益,使得个人和企业都对人工智对数据的滥用充满担忧。近年来国内和国际开始加强对个人隐私数据的监管力度,相应的法律法规不断出台,2018年5月生效的GDPR,被称为欧盟“史上最严”条例,对人工智能领域产生了巨大的影响。Google、Facebook等人工智能领域的巨头,因违涉及侵犯用户数据隐私分别遭受到39亿欧元、37亿欧元的罚款诉讼。中国于2017年施行的《中华人民共和国网络安全法》,强调了对基础设施及个人信息的保护。2018年实施的《信息安全技术个人信息安全规范》,从国家标准层面,明确了企业收集、使用、分享个人信息的合规要求。2019年发布的《数据安全管理办法》,号称中国版的“GDPR”。因此设计对用户数据和模型参数隐私进行有效保护机器学习框架,解决数据孤岛问题,在隐私保护的前提下实现多个数据提供者利用公共数据进行协同建模,是目前人工智能领域面临的重大挑战。
当前隐私保护机器学习所采用的技术主要有多方安全计算、同态加密和差分隐私,其中多方计算因为具有极高计算效率并且不会影响模型训练的性能得到广泛的应用。现有的隐私保护机器学习框架,如由OpenMind社区开源的隐私计算框架“Pysyft”和由矩阵元公司开发的隐私计算框架“Rosetta”中所使用的核心安全协议“SecureNN”(简称为:SNN)就是通过多方安全计算技术所设计的。
然而,效率低下是现阶段阻碍隐私保护机器学习落地的最大问题,而在SNN中极高的通信复杂度是导致其效率低下的主要原因。造成其通信复杂度较高的原因是因为在执行安全协议过程中需要参与协议各方之间进行多轮通信,例如执行ReLU算法时参与者之间需要花费11轮通信。
为了便于了解SNN效率低下的具体原因,首先需要对SNN的结构有一定了解。如图2所示,SNN采用服务器援助的方式,即引入三个服务器,其中包括两个计算服务器和一个协助服务器来进行模型的训练,并由两个计算服务器存储训练后的模型。与模型相关的阶段主要有以下两个:第一个为训练阶段,数据提供者使用加法秘密分享技术在本地将自己的训练数据可加地拆分为两个数据分片后发送给相应的服务器。两个计算服务器分别拥有数据提供者数据的一个数据分片,在分片数据上进行训练得到模型并存储。第二个为预测阶段,用户将自己的预测数据在本地随机拆分为两个数据分片并发送给相应地存储模型的服务器,服务器利用预测数据的分片和模型分片计算出预测结果分片并反馈给用户,用户收到反馈结果的分片后,通过本地计算得到所需要的预测结果。
具体地,神经网络中的复杂运算主要可以分为线性运算和非线性运算。线性运算是矩阵乘法运算或卷积运算(可以转换为矩阵乘法运算),常见的非线性运算包括激活函数:线性整流函数(ReLU),以及线性整流函数的导数(DReLU),池化函数及其衍生函数,标准化等。通过上述函数的组合便可以完成对神经网络模型的训练和预测过程。为了实现训练阶段对训练数据和训练模型以及预测阶段对预测数据和预测结果的隐私保护。SNN基于加法算术电路和布尔电路分别设计了关于矩阵乘法,ReLU,DReLU,池化函数及其衍生函数,正则化的三方安全算法,并通过安全算法的相互组合完成具有隐私保护的训练和预测。
需要说明的是,SNN中的所有安全算法并非独立,而是有一定的依赖关系。换言之,SNN中的所有安全算法并不是都可以独立使用,部分安全算法是要通过调用其他安全算法才能实现。如图3所示,图3展示SNN中所有安全算法之间的依赖关系,其中安全矩阵乘法、安全线性整流函数(Relu)、安全线性整流函数的导数(DRelu)、安全除法、安全最大池化算法以及安全最大池化的延伸算法是在神经网络训练和预测阶段可以直接使用的运算。而安全秘密份额选择算法、安全环转换算法、安全最高位析出算法以及安全比较算法为支持算法,代表的是实现上述可以直接使用的算法时需要调用的算法。根据图3可以清楚地看出,不同的安全算法有可能需要三个服务器之间多轮相互通信,调用多种支持算法,才能最终实现。例如,实现安全线性整流函数需要调用安全环转换算法和安全的最高位析出算法,而安全环转换算法和安全的最高位析出算法又都需要调用一次安全比较算法。因此,实现一次安全线性整流函数,会产生大量的通信开销。
针对现有技术的上述缺陷,本发明提供了一种基于加法秘密分享的高效安全激活函数的运算方法,通过减少安全比较算法的调用次数,从而实现有效降低安全线性整流函数的通信开销。
如图1所示,所述方法包括如下步骤:
步骤S100、获取来自第一服务器的第一数据以及来自第二服务器的第二数据。
多方安全计算(secure multi-party computation MPC)是一个密码学的定义,它是可证明安全的,换言之它有一个严格的安全定义。具体地,多个参与方想要利用自己的数据作为输入执行多方安全计算协议计算某个结果,除了计算结果以及可以从计算结果中推理出的信息外,中间的计算步骤不会泄露各个参与方输入数据的信息。举例说明,参与方Alice,Bob分别拥有数据a,b,他们想一起计算f(a,b),通过执行两方的安全计算协议,将a,b作为输入,最终Alice,Bob除计算结果f(a,b)和可以从f(a,b)中推理出的信息外,中间的计算步骤不会泄露关于a,b的信息。
在本实施例,总共涉及三个服务器,其中两个服务器是参与多方安全计算的第一服务器、第二服务器,还有一个服务器是协助服务器,在必要时刻协助服务器可以协助第一服务器和第二服务器取得各自需要的计算数据,以便所述第一服务器和所述第二服务器可以继续进行各自的运算。以安全线性整流函数运算为例,当所述第一服务器和所述第二服务器需要协助服务器接入进行协助计算的时候,第一服务器向协助服务器发送第一数据,第二服务器向协助服务器发送第二数据。具体地,所述第一数据为由随机数掩盖的第一数据分片,所述第二数据为第二数据分片,且所述第一数据分片与所述第二数据分片通过对原数据在偶数环上进行拆分得到。
举例说明,假设在安全协议执行过程中服务器S1、S2、S3之间时相互独立的,然后分别向第一服务器S1和第二服务器S2输入原数据x在偶数环ZL上的拆分数据以及随机数r,r∈ZL。第一服务器S1计算第二服务器S2令然后第一服务器S1、第二服务器S2分别将发送给服务器S3,通过S3来对进行计算和处理。本实施例是在秘密共享状态下进行数据分享的,因为随机数掩盖了第一数据分片。因此可以理解的是,在上述过程中,第一服务器S1、第二服务器S2分别只能拥有原数据的分片数据,而协助服务器S3虽然获取到了两个数据分片,但是由于随机数掩盖了第一数据分片,因此协助服务器S3无法得知随机数的具体数值,所以协助服务器S3同样也无法得知原数据,即所有可以直接得出或者拼凑出原数据的中间数据对于单独一个服务器来说都是随机状态。
如图1所示,为了得到安全线性整流函数运算的结果,所述方法还包括如下步骤:
步骤S200、根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作。
目前,SNN中为了让所有安全算子可以头尾拼接实现整个隐私保护训练和预测过程,因此要求所有安全算法均在偶数环ZL(L=2l)上进行运算,即安全算法的输入和输出均要偶数环ZL(L=2l)上的元素。但因为构造方法的原因,需要在进行安全比较前将需要进行比较的元素先转化为二进制比特串然后在素数域ZP上进行按位拆分。因此协助服务器获取到所述第一数据以及所述第二数据以后,为了使得第一服务器和第二服务器后续可以完成各自的安全运算任务,需要首先对所述第一数据以及所述第二数据进行处理,使得处理后的数据可以直接参与SNN中的安全运算,然后将处理后的数据再发送回第一服务器、第二服务器。具体地,协助服务器首先通过接收到的述第一数据以及所述第二数据确定目标二进制字符串,然后再对所述目标二进制字符串执行拆分操作。
在一种实现方式中,协助服务器根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作的过程如下:协助服务器首先根据所述第一数据以及所述第二数据得到原数据与所述随机数之和对应的数据。具体地,协助服务器获取到所述第一数据以及所述第二数据以后,先对所述第一数据以及所述第二数据进行数据重构操作,然后将基于所述数据重构操作得到的数据作为原数据与所述随机数之和对应的数据。举例说明,协助服务器S3收到后,首先需要在本地对执行数据重构操作,得到则y就是原数据与所述随机数之和对应的数据。
然后将所述原数据与所述随机数之和对应的数据作为待转化数据,对所述待转化数据执行二进制转化操作,将转化后得到的数据作为目标二进制字符串。举例说明,协助服务器S3收到后,首先会在本地重构然后对y执行二进制转化操作,得到二进制字符串(y1,y2,...,yl),yi∈{0,1},i=1,...,l,该二进制字符串即为目标二进制字符串。然后对所述目标二进制字符串执行拆分操作。在一种实现方式中,可以将所述目标二进制字符串在有限域上执行按位拆分操作。举例说明,协助服务器S3将(y1,y2,...,yl)在有限域Fp(p=67)上按位拆分,具体做法是协助服务器S3通过对yi,i=1,...,l进行拆分得到使得进而得到
然后,为了实现安全线性整流函数运算,协助服务器还需要将处理后的数据回传给第一服务器以及第二服务器,至此本实施例提出一个ATB算法,所述ATB算法包括上述提及的若干个步骤:
为了获得安全线性整流函数运算的结果,如图1所示,所述方法还包括如下步骤:
步骤S300、将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
简单来说,线性整流函数是人工神经网络中常用的激活函数。若不运用线性整流函数,则神经网络的输出信号将仅仅是一个简单的线性函数。而如今,线性方程是很容易解决的,因此不运用线性整流函数的神经网络的复杂性有限,从而导致它们从数据中学习复杂函数映射的能力更小。然而我们希望神经网络不仅仅可以学习和计算线性函数,而且可以学习和模拟其他复杂类型的数据,例如图像、视频、音频、语音等。因此,线性整流函数对于提高神经网络的复杂性具有重要作用。在神经网络中,线性整流函数定义了该神经元在线性变换之后的非线性输出结果。换言之,对于进入神经元的来自上一层神经网络的输入向量,使用线性整流函数的神经元会输出至下一层神经元或作为整个神经网络的输出。因此为了实现获得线性整流函数的输出结果,以使得继续推进SNN中的其他安全运算,本实施例将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
具体地,本实施例将拆分后得到的数据作为第一比较数据以及第二比较数据,然后将所述第一比较数据发送给所述第一服务器,将所述第二比较数据发送给所述第二服务器,使所述第一服务器和所述第二服务器基于所述第一比较数据、所述第二比较数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。在一种实现方式中,为了实现在秘密共享状态下直接将原数据与0进行比较,可以将所述公共随机数(即所述第一服务器、所述第二服务器之间的公共随机数)的数值与所述随机数(即用于掩盖所述第一数据的随机数)的数值设置为相同数值。
具体地,所述第一服务器接收到第一比较数据,所述第二服务器接收到第二比较数据以后,会调用安全比较算法,然后将所述第一比较数据与所述第二比较数据一起作为所述安全比较算法的输入数据,安全比较算法接收到输入数据以后,会将所述输入数据与预设的公共随机数进行比较,从而判断所述输入数据与所述公共随机数之间的大小关系,并基于得到的大小关系确定安全线性整流函数运算的结果。举例说明,第一服务器和第二服务器S1,S2分别得到数据y=x+r(modL)=(y1,y2,...,yl)在有限域Fp上按位拆分出来的数据此时服务器S1,S2需要调用一次安全比较算法完成数据y=x+r(modL)=(y1,y2,...,yl)与服务器S1,S2之间的公共随机数r的安全比较。服务器S1,S2输入公共随机数r以及随机值β∈{0,1},在服务器S3的协助下计算得到比较结果(y>r)的两个数据分片因为y=x+r,故y和r的比较结果等价于x与0的比较结果,即(y>r)=(x>0),而安全线性整流函数因此可以得到
由于本实施例完成ATB算法和安全比较算法各需要花费两轮通信,因此本实施例完成输入和输出均为偶数环ZL上的安全线性整流函数调用了1次ATB算法和1次安全比较算法,共需要花费4轮通信。
然而现有技术中实现一次安全线性整流函数却需要花费9轮通信轮数,具体通信情况如下:
在安全环转换算法中,服务器S1,S2输入数据x∈ZL在偶数环ZL上的两个数据分片在服务器S3的协助下经过计算输出数据x∈ZL在奇数环ZL-1上的两个数据分片为了实现这一过程,需要调用一次安全比较算法,进行与S1,S2之间的公共随机数r-1的安全比较,服务器S1,S2输入S1,S2之间的公共随机数r-1以及随机值β∈{0,1},在服务器S3的协助下,经过计算输出x~与公共随机数r-1比较结果在奇数环ZL-1上的数据分片其中服务器S1,S2利用在本地进一步计算得到其中服务器S3产生并将其分别发送给服务器S1,S2需要花费2轮通信,进行一次安全比较需要花费2轮通信,共需要花费4轮通信。
在安全最高位析出算法中,服务器S1,S2输入数据x=(x1,x2,...,xl)在奇数环ZL-1上的两个数据分片输出数据x=(x1,x2,...,xl)的最高位x1在偶数环ZL上的数据分片实现这一过程需要调用1次安全比较协议进行数据c∈ZL-1与服务器S1,S2之间的公共随机数r=y+c(modL-1)其中y=2x(modL-1)的安全比较。服务器S1,S2输为数据c∈ZL-1在有限域ZP上的按位拆分,服务器S1,S2之间的公共随机数r以及随机数β∈{0,1},在服务器S3的协助下,经过计算输出比较结果的分片其中服务器S1,S2调用安全矩阵乘法算法,将和作为输入,在服务器S3的协助下经过计算分别输出并利用在本地计算得到服务器S3向服务器S1,S2发送等信息需要花费1轮通信,调用一次安全比较算法和一次安全矩阵乘法算法各需要花费2轮通信,故执行一次安全最高位析出算法共需要花费5轮通信。
在安全最高位析出算法执行结束后,服务器S1,S2分别得到数据x=(x1,x2,...,xl)最高位x1在环ZL上的数据分片服务器S1,S2在本地计算得到因此在SNN中实现输入输出均为环ZL上元素的安全线性整流函数运算需要调用一次安全换转换算法和一次安全最高位析出算法共需要花费9轮的通信。
由此可见,本发明提供的方法只需要调用1次ATB算法和1次安全比较算法,由于本实施例中的安全比较算法由于进行比较的随机数与公共随机数分别是用于掩盖所述第一数据的随机数与所述第一服务器、所述第二服务器之间的公共随机数,在本实施例中将它们的数值设置为相等,因此可以在所有中间数据对于单独一个服务器来说都是随机状态的情况下,实现将原数据与0进行比较,且本实施例中的安全比较算法的结果可以直接作为安全线性整流函数的导数的运算结果,后续需要再调用一次安全乘法运算即可实现输入和输出均为偶数环ZL上元素的安全线性整流函数运算。而现有技术为了实现将原数据与0进行比较,进而实现输入和输出均为偶数环ZL上元素的安全线性整流函数运算(如图3所示),至少需要调用2次安全比较算法,由于每一次调用安全比较算法都需要参与多方安全计算的双方进行交互,因此现有技术中实现一次安全线性整流函数运算需要的通信开销远远多于本发明提供的方法。
可以理解的是,本发明虽然是以安全线性整流函数运算为例体现本发明可以减少安全协议的通信开销,但是不代表本发明提供的方法仅限于减少安全线性整流函数运算的通信开销,本发明提供的方法还可以有效减少SNN安全协议中其他安全算法的通信开销。具体原因如下:目前神经网络中的其他安全算法的构造均需要1次或多次调用安全线性整流函数运算,如图3所示,安全ReLU算法和安全除法算法均需要调用1次安全线性整流函数,实现n个元素的安全最大池化算法需要通过调用n-1次安全线性整流函数运算,因此通过本发明提供的方法还可以将安全ReLU算法和安全除法的通信轮数从原来的11轮减少到6轮,将实现n个元素的安全最大池化算法及其衍生算法的通信轮数从9(n-1)和9(n-1)+2轮分别减少到4(n-1)和4(n-1)+2轮。从上述分析可以发现,通过利用本发明提供的方法,可以有效地减少SNN安全协议中多类安全运算的通信轮数,从而提高隐私保护机器学习框架的整体效率。
为了体现本发明的有效性,在一种实现方式中,可以分别就安全线性整流函数运算、安全最大池化算法以及由两个线性层和一个激活层组成的三层神经网络在Pysyft隐私计算框架下将SNN安全协议和基于本发明提供的方法改进后的安全协议做相应的对比实验。实验的配置环境为cpu:Intel(R)Xeon(R)Platinum 8268CPU@2.90GHz,64位,48核,内存:1.5T,具体实验结果见表1。
表1
其中安全线性整流函数运算的输入是随机的2*2矩阵,实验结果是进行10次安全线性整流函数运算的总耗时;安全最大池化算法的输入是3*7*4*4的张量,kernel_size=2,实验结果是进行了10次安全最大池化算法的总耗时;三层神经网络,即需要进行2次安全矩阵乘和1次安全线性整流函数运算,神经网络的参数规模为2*2,batch_size=4,实验结果是一共进行20轮训练的总耗时。从表1中的实验数据可以对比可以看出,利用本发明提出的ATB协议对SNN改进后,实现安全线性整流函数运算和安全最大池化算法所花费的时间减少了一倍以上,用安全算法进行隐私保护的模型训练花费的时间也缩短了一倍与本发明之前的理论分析结果一致。
基于上述实施例,本发明还提供了一种基于加法秘密分享技术的高效安全线性整流函数运算装置,如图4所示,所述装置包括:
获取模块01,用于获取来自第一服务器的第一数据以及来自第二服务器的第二数据;
拆分模块02,用于根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;
发送模块03,用于将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图5所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于加法秘密分享技术的高效安全线性整流函数运算方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图5中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一种实现方式中,所述智能终端的存储器中存储有一个或者一个以上的程序,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行基于加法秘密分享技术的高效安全线性整流函数运算方法的指令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种基于加法秘密分享技术的高效安全线性整流函数运算方法,所述方法包括:获取来自第一服务器的第一数据以及来自第二服务器的第二数据;根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。本发明实现输出安全线性整流函数运算的结果只调用了一次安全比较算法,且安全比较算法的输出可以直接作为安全线性整流函数的导数的运算结果,后续需要再调用一次安全乘法运算即可实现输出安全线性整流函数的运算结果,解决了现有技术中实现一次安全线性整流函数运算需要产生大量通信开销,导致安全协议效率低下的问题。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种基于加法秘密分享技术的高效安全线性整流函数运算方法,其特征在于,所述方法包括:
获取来自第一服务器的第一数据以及来自第二服务器的第二数据;
根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;
将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果;
所述第一数据为由随机数掩盖的第一数据分片;所述第二数据为第二数据分片;所述第一数据分片与所述第二数据分片通过对原数据在偶数环上进行拆分得到;
用于掩盖所述第一数据的随机数与所述第一服务器、所述第二服务器之间的公共随机数相同;
所述将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果,具体为:
第一服务器和第二服务器分别得到目标二进制字符串在有限域上按位拆分出来的数据第一比较数据和第二比较数据,第一服务器、第二服务器调用一次安全比较算法完成目标二进制字符串与第一服务器、第二服务器之间的公共随机数的安全比较;第一服务器、第二服务器输入第一比较数据和第二比较数据,公共随机数以及随机值,在协助服务器的协助下计算得到比较结果的两个数据分片;由于目标二进制字符串等于原数据与公共随机数的和,因此目标二进制字符串和公共随机数的比较结果等价于原数据和0的比较结果。
2.根据权利要求1所述的基于加法秘密分享技术的高效安全线性整流函数运算方法,其特征在于,所述根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作包括:
根据所述第一数据以及所述第二数据得到原数据与所述随机数的和对应的数据;
将原数据与所述随机数的和对应的数据作为待转化数据;
对所述待转化数据执行二进制转化操作,将转化后得到的数据作为目标二进制字符串;
对所述目标二进制字符串执行拆分操作。
3.根据权利要求2所述的基于加法秘密分享技术的高效安全线性整流函数运算方法,其特征在于,所述根据所述第一数据以及所述第二数据得到原数据与所述随机数的和对应的数据包括:
对所述第一数据以及所述第二数据进行数据重构操作;
将基于所述数据重构操作得到的数据作为原数据与所述随机数的和对应的数据。
4.根据权利要求2所述的基于加法秘密分享技术的高效安全线性整流函数运算方法,其特征在于,所述对所述目标二进制字符串执行拆分操作包括:
将所述目标二进制字符串在有限域上执行按位拆分操作。
5.根据权利要求1所述的基于加法秘密分享技术的高效安全线性整流函数运算方法,其特征在于,所述将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果包括:
将拆分后得到的数据作为第一比较数据以及第二比较数据;
将所述第一比较数据发送给所述第一服务器,将所述第二比较数据发送给所述第二服务器;
使所述第一服务器和所述第二服务器基于所述第一比较数据、所述第二比较数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果。
6.一种基于加法秘密分享技术的高效安全线性整流函数运算装置,其特征在于,所述装置包括:
获取模块,用于获取来自第一服务器的第一数据以及来自第二服务器的第二数据;
拆分模块,用于根据所述第一数据以及所述第二数据确定目标二进制字符串,并对所述目标二进制字符串执行拆分操作;
发送模块,用于将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述目标二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果;
所述第一数据为由随机数掩盖的第一数据分片;所述第二数据为第二数据分片;所述第一数据分片与所述第二数据分片通过对原数据在偶数环上进行拆分得到;
用于掩盖所述第一数据的随机数与所述第一服务器、所述第二服务器之间的公共随机数相同;
所述将拆分后得到的数据分别发送给所述第一服务器和所述第二服务器,使所述第一服务器和所述第二服务器基于所述拆分后得到的数据调用安全比较算法,实现将所述二进制字符串与所述第一服务器、所述第二服务器之间的公共随机数进行比较,并基于比较结果输出安全线性整流函数运算的结果,具体为:
第一服务器和第二服务器分别得到目标二进制字符串在有限域上按位拆分出来的数据第一比较数据和第二比较数据,第一服务器、第二服务器调用一次安全比较算法完成目标二进制字符串与第一服务器、第二服务器之间的公共随机数的安全比较;第一服务器、第二服务器输入第一比较数据和第二比较数据,公共随机数以及随机值,在协助服务器的协助下计算得到比较结果的两个数据分片;由于目标二进制字符串等于原数据与公共随机数的和,因此目标二进制字符串和公共随机数的比较结果等价于原数据和0的比较结果。
7.一种终端,其特征在于,包括:处理器、与处理器通信连接的存储介质,所述存储介质适于存储多条指令;所述处理器适于调用所述存储介质中的指令,一致性实现上述权利要求1-5任一项所述的基于加法秘密分享技术的高效安全线性整流函数运算方法的步骤。
8.一种计算机可读存储介质,其上存储有多条指令,其特征在于,所述指令适用于由处理器加载并执行,以实现上述权利要求1-5任一项所述的基于加法秘密分享技术的高效安全线性整流函数运算方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212165.5A CN113098840B (zh) | 2021-02-25 | 2021-02-25 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110212165.5A CN113098840B (zh) | 2021-02-25 | 2021-02-25 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113098840A CN113098840A (zh) | 2021-07-09 |
CN113098840B true CN113098840B (zh) | 2022-08-16 |
Family
ID=76667322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110212165.5A Active CN113098840B (zh) | 2021-02-25 | 2021-02-25 | 基于加法秘密分享技术的高效安全线性整流函数运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113098840B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115439903A (zh) * | 2022-08-16 | 2022-12-06 | 中国银联股份有限公司 | 一种生物特征提取方法及装置 |
CN116388954B (zh) * | 2023-02-23 | 2023-09-01 | 西安电子科技大学 | 通用密态数据安全计算方法 |
CN117724851B (zh) * | 2024-02-07 | 2024-05-10 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、存储介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016159357A1 (ja) * | 2015-04-03 | 2016-10-06 | 日本電気株式会社 | 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム |
CN108536824A (zh) * | 2018-04-10 | 2018-09-14 | 中国农业银行股份有限公司 | 一种数据处理方法及装置 |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539026B (zh) * | 2020-06-19 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
CN111523145B (zh) * | 2020-07-03 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 针对隐私数据进行安全运算的方法和装置 |
CN111737337B (zh) * | 2020-08-14 | 2020-12-08 | 支付宝(杭州)信息技术有限公司 | 基于数据隐私保护的多方数据转换方法、装置及系统 |
-
2021
- 2021-02-25 CN CN202110212165.5A patent/CN113098840B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016159357A1 (ja) * | 2015-04-03 | 2016-10-06 | 日本電気株式会社 | 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム |
WO2019079895A1 (en) * | 2017-10-24 | 2019-05-02 | Modiface Inc. | SYSTEM AND METHOD FOR IMAGE PROCESSING THROUGH DEEP NEURAL NETWORKS |
CN108536824A (zh) * | 2018-04-10 | 2018-09-14 | 中国农业银行股份有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113098840A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113098840B (zh) | 基于加法秘密分享技术的高效安全线性整流函数运算方法 | |
Zhang et al. | Beyond fully-connected layers with quaternions: Parameterization of hypercomplex multiplications with $1/n $ parameters | |
Nguyen et al. | Federated learning for COVID-19 detection with generative adversarial networks in edge cloud computing | |
CN112085159B (zh) | 一种用户标签数据预测系统、方法、装置及电子设备 | |
Zhang et al. | Achieving efficient and privacy-preserving neural network training and prediction in cloud environments | |
CN110569227B (zh) | 模型参数确定方法、装置和电子设备 | |
EP3566389B1 (en) | Distributed privacy-preserving verifiable computation | |
Weyer et al. | Asymptotic properties of SPS confidence regions | |
WO2020211240A1 (zh) | 预测模型的联合构建方法、装置及计算机设备 | |
CN111144576A (zh) | 模型训练方法、装置和电子设备 | |
CN112001500A (zh) | 基于纵向联邦学习系统的模型训练方法、设备及存储介质 | |
CN113095514A (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
WO2023174036A1 (zh) | 联邦学习模型训练方法、电子设备及存储介质 | |
Salathé et al. | Focus group on artificial intelligence for health | |
CN113239395A (zh) | 数据查询方法、装置、设备、存储介质及程序产品 | |
CN115842627A (zh) | 基于安全多方计算的决策树评估方法、装置、设备及介质 | |
Gao et al. | SecureRC: a system for privacy-preserving relation classification using secure multi-party computation | |
Wang et al. | Privacy-preserving split learning for large-scaled vision pre-training | |
Wang et al. | QPIN: a quantum-inspired preference interactive network for E-commerce recommendation | |
CN116388954B (zh) | 通用密态数据安全计算方法 | |
Galvan et al. | An alternating augmented Lagrangian method for constrained nonconvex optimization | |
Cao et al. | Privacy-preserving healthcare monitoring for IoT devices under edge computing | |
Khan et al. | Vertical federated learning: A structured literature review | |
US11552783B2 (en) | System architecture and method of processing data therein | |
Ge et al. | Practical two-party privacy-preserving neural network based on secret sharing |
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 |