CN117454941B - 基于函数秘密共享的安全二值神经网络推理系统 - Google Patents
基于函数秘密共享的安全二值神经网络推理系统 Download PDFInfo
- Publication number
- CN117454941B CN117454941B CN202311801348.6A CN202311801348A CN117454941B CN 117454941 B CN117454941 B CN 117454941B CN 202311801348 A CN202311801348 A CN 202311801348A CN 117454941 B CN117454941 B CN 117454941B
- Authority
- CN
- China
- Prior art keywords
- safe
- layer
- client
- server
- input
- 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
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 85
- 239000011159 matrix material Substances 0.000 claims abstract description 77
- 230000004913 activation Effects 0.000 claims abstract description 70
- 238000010606 normalization Methods 0.000 claims abstract description 59
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 238000011176 pooling Methods 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims description 42
- QMAHVAFURJBOFV-UHFFFAOYSA-N 4-(bromomethyl)-3-nitrobenzoic acid Chemical compound OC(=O)C1=CC=C(CBr)C([N+]([O-])=O)=C1 QMAHVAFURJBOFV-UHFFFAOYSA-N 0.000 claims description 8
- 102100029469 WD repeat and HMG-box DNA-binding protein 1 Human genes 0.000 claims description 7
- 101710097421 WD repeat and HMG-box DNA-binding protein 1 Proteins 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005314 correlation function Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 102
- 230000008569 process Effects 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000003062 neural network model Methods 0.000 description 5
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 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
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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
-
- 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/12—Details relating to cryptographic hardware or logic circuitry
-
- 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/50—Oblivious transfer
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于函数秘密共享的安全二值神经网络推理系统。该系统包括输入层、隐含层和隐含层,根据实际神经网络结构设置若干个安全全连接运算单元、安全卷积运算单元、安全批量归一化运算单元、安全二值激活函数运算单元和安全最大池化运算单元。本发明通过生成矩阵乘法三元组,并基于此构建了高效的安全全连接层运算单元和安全卷积运算单元,结合离线‑在线计算范式,大大减少了客户端所需的计算和通信。此外,本发明基于函数秘密共享技术构建了安全二值激活函数运算单元和安全最大池化运算单元,能够支持混合位宽计算,减少了非线性函数计算所需的通信代价。
Description
技术领域
本发明属于机器学习即服务的技术领域,具体涉及一种基于函数秘密共享的安全二值神经网络推理系统。
背景技术
机器学习即服务是一种提供机器学习模型和算法作为服务的方法,其允许用户通过简单的接口或API调用,以低成本和低复杂性的方式访问和使用强大的机器学习工具和功能,获得机器学习模型的推理能力。然而,在提供服务的过程会泄露机器学习模型和用户的待推理数据,因此亟需保证推理结果的正确和保护机器学习模型和用户的待推理数据的隐私。
在机器学习即服务的场景中,安全二值神经网络推理支持用户基于待推理数据使用服务器端训练好的二值神经网络模型得到推理结果,在此过程中不泄露用户的待推理数据和服务器端模型。目前,在安全二值神经网络推理的实现方案中,基于密码学的方法是十分重要的一类方法,根据使用的方法主要分为以下几类:
(1)同态加密方法:数据拥有方首先对数据进行加密得到密文数据,然后直接基于密文数据进行二值神经网络推理,并保证得到的结果经过解密后与在明文下的计算结果一致。
(2)混淆电路方法:数据拥有方将自己的数据输入到一个由混淆电路技术实现的安全计算协议中,从而来执行神经网络推理计算并得到推理结果,安全计算协议保证数据的隐私性和结果的正确性。
(3)混合协议方法:数据拥有方将隐私数据输入到秘密共享、混淆电路和同态加密等组成的安全二值神经网络推理协议中,得到推理结果,能够保证待推理数据和神经网络模型的隐私性和推理结果的正确性。
上述现有技术存在以下缺点:
(1)同态加密方法:同态加密方法的计算量大,因为数据以密文形式表示时,数据量比以明文形式的更大,当直接在密文数据上进行计算时,其计算量很大。
(2)混淆电路方法:混淆电路方法中数据拥有方的总通信量大,混淆电路方法的在线阶段需要大量交互混淆表等信息,从而使得总通信代价很大,计算效率较低。
(3)混合协议方法:混合协议方法中能够利用各类协议的优势实现神经网络推理高效计算,但在协议实现过程中需要额外进行状态转换从而会引入额外计算开销。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于函数秘密共享的安全二值神经网络推理系统,针对神经网络推理中存在的隐私问题和部署挑战,基于加性秘密共享和函数秘密共享设计安全两方计算框架,选择易于部署的二值神经网络模型,实现高效安全二值神经网络推理系统。
为了达到上述目的,本发明采用以下技术方案:
本发明的一个方面,提供了一种基于函数秘密共享的安全二值神经网络推理系统,包括输入层、若干个隐含层以及输出层,客户端C持有的隐私输入数据X和服务器端S持有的隐私模型参数W,经输入层、隐含层和输出层处理后得到推理结果Y;
所述输入层、若干个隐含层以及隐含层根据实际神经网络结构设置若干个安全全连接运算单元、安全卷积运算单元、安全批量归一化运算单元、安全二值激活函数运算单元以及安全最大池化运算单元;
所述安全全连接运算单元和安全卷积运算单元配置为:接收待处理信号,对待处理信号进行安全全连接运算或安全卷积运算,即安全矩阵运算,以得到安全全连接运算单元或安全卷积运算单元结果;所述安全矩阵运算具体为:给定二值化的隐私模型参数和隐私输入数据/>,其中W B 是W的0-1编码,即将W的元素+1和-1分别编码为1和0;/>表示运算所处的环,上标n表示对应值的比特位宽,下同;d 1,d 2,d 3表示矩阵的维度,d 1×d 2表示d 1行d 2列矩阵;安全矩阵运算计算/>;
所述安全批量归一化运算单元配置为:接收待处理信号,对待处理信号进行安全批量归一化运算以得到安全批量归一化运算结果;所述安全批量归一化运算具体为:给定输入份额和批量归一化参数γ和β,其有/>,BN表示安全批量归一化运算;
所述安全二值激活函数运算单元配置为:接收待处理信号,对待处理信号进行安全二值激活函数运算以得到安全二值激活函数运算结果;所述安全二值激活函数运算具体为:给定输入份额,如果x≥0则/>输出+1,否则输出-1,BA表示安全二值激活函数运算;
所述安全最大池化运算单元配置为:接收待处理信号,对待处理信号进行安全最大池化运算以得到安全最大池化运算结果;所述安全最大池化运算具体为:将输入矩阵的所有元素进行0-1编码,针对每一个窗口进行求和并加上-1,再进行安全二值激活函数运算,获得安全最大池化运算结果。
作为优选的技术方案,隐私模型参数W包括各层神经网络的隐私模型参数,即W=W (l),l=1,2,…,L,l为神经网络层数,L为神经网络总层数;所述输入层为第1层,其输入为X (0)=X和输入层隐私模型参数W (1),其输出为和/>,其中上标n 2表示对应值的比特位宽,下同;所述隐含层为第2到L-1层,其输入为数据秘密份额/>、/>和隐含层隐私模型参数W (l’),l’= 2,…,L-1为隐含层层数,其输出为/>和/>;所述输出层为第L层,其输入为数据秘密份额/>、/>和输出层隐私模型参数W (L),其输出为和/>,其中满足/>。
作为优选的技术方案,所述输入层包括依次连接的安全卷积运算单元、安全批量归一化运算单元以及安全二值激活函数运算单元;所述隐含层包括依次连接的安全全连接运算单元、安全批量归一化运算单元以及安全二值激活函数运算单元;所述输出层包括依次连接的安全全连接运算单元以及安全批量归一化运算单元。
本发明的另一个方面,还提供了一种基于函数秘密共享的安全二值神经网络推理方法,包括以下步骤:
初始时,客户端C和服务器端S分别持有隐私输入数据X和隐私模型参数W;隐私模型参数W包括各层神经网络的隐私模型参数,即W=W (l),l=1,2,…,L,l为神经网络层数,L为神经网络总层数;
S1、对于输入层,神经网络层数l=1,客户端C和服务器端S执行下面的计算:
S11、客户端C和服务器端S计算,其中/>,表示运算所处的环,上标n表示对应值的比特位宽,下同;MatMul表示安全矩阵运算,具体为:给定二值化隐私模型参数/>和隐私输入数据/>,其中d 1,d 2,d 3表示矩阵的维度,d 1×d 2表示d 1行d 2列矩阵,安全矩阵运算MatMul计算/>,其中W B 是W的0-1编码,即将W的元素+1和-1分别编码为1和0;
S12、若有最大池化层,则客户端C和服务器端S计算,然后计算/>,上标n 1、n 2表示对应值的比特位宽,下同;否则客户端C和服务器端S直接计算/>;其中,BN表示安全批量归一化运算,具体为:给定输入份额/>和批量归一化参数γ和β,其有/>;BA表示安全二值激活函数运算,具体为:给定输入份额/>,如果x≥0则/>输出+1,否则输出-1;MaxPool表示安全最大池化运算,具体为:将输入矩阵的所有元素进行0-1编码,针对每一个窗口进行求和并加上-1,再进行安全二值激活函数运算,获得安全最大池化结果;
S2、对于隐含层,神经网络层数2≤l≤L-1,客户端C和服务器端S执行下面的迭代计算:
S21、客户端C和服务器端S计算;
S22、客户端C和服务器端S计算,然后计算;
S3、对于输出层,神经网络层数l=L,客户端C和服务器端S执行下面的计算:
S31、客户端C和服务器端S计算;
S32、客户端C和服务器端S计算;
S4、最后,服务器端S将发送给客户端C,然后客户端C计算得到推理结果。
作为优选的技术方案,安全矩阵运算MatMul的具体实现方案如下,分为离线阶段和在线阶段:
S1、离线阶段:客户端C和服务器端S生成矩阵乘法三元组(U,V),其满足U+V=W×R,其中W表示服务器端S持有的隐私模型参数,R表示客户端C随机选择的矩阵,具体步骤如下:
S11、服务器端S持有的隐私模型参数W,并将其0-1编码为W B ,记矩阵W第i行第j列元素为w ij ,矩阵W B 第i行第j列元素为w ij B ;客户端C持有的隐私输入数据X,并随机选择矩阵,记矩阵R第j行第k列元素为r jk ;计算/>使得服务器端S和客户端C分别获得u和v,具体步骤如下:
S111、客户端C随机选择,并设置相关不经意传输协议COT n 的相关函数f j (x)=-(2s j +x)mod2 n ,其中mod为取模运算,上标n表示对应值的比特位宽,下同;并设m 0=-(r jk +s j );服务器端S设置参与方索引b=w ij B ,b取0或1;
S112、客户端C和服务器端S共同计算(⊥;m b )←COT n (m 0,f j (x);b),所述相关不经意传输协议COT n 以m 0,f j (x)和b作为输入,输出m b ,即m 0或m 1给服务器端S,且;客户端C不得到任何输出,用⊥表示;
S113、服务器端S令,客户端C令v=s j ;
S114、服务器端S和客户端C迭代计算步骤S111~S113,得到d 1×d 3个元素u和v,并分别将u和v按照计算式中(i,j)的排列关系排列成d 1行d 2列的矩阵U和V,且满足U+V=W×R,最后服务器端S和客户端C分别获得矩阵U和V;
S2、在线阶段:服务器端S和客户端C利用矩阵U和V计算Z=W×X,步骤如下:
S21、对于在输入层的安全卷积层运算Conv,其归约为安全矩阵运算MatMul,此时客户端C持有的隐私输入数据X (0)=X和随机矩阵R (0)=R,服务器端S持有输入层隐私模型参数W (1);给定U和V满足U+V=W (1)×R (0),客户端C发送X (0)-R (0)给服务器端S,并令,服务器端S在本地计算/>;
S22、对于隐含层的安全卷积层运算Conv和输出层的安全全连接层运算FC,此时客户端C持有的隐私输入数据X的秘密份额和随机矩阵R (l-1)=R,服务器端S持有隐私输入数据X的秘密份额/>和隐含层隐私模型参数W (l);给定U和V满足U+V=W (l)×R (l-1),客户端C发送/>给服务器端S,并令/>,服务器端S在本地计算。
作为优选的技术方案,二值激活层在批量归一化层后,因此将二值激活层和批量归一化层同时计算,即定义安全激活函数运算BNBA,由安全批量归一化运算BN和安全二值激活函数运算BA构成;
对于安全批量归一化运算BN,给定输入份额和批量归一化参数γ和β,其有;
对于安全激活函数运算BNBA,给定输入份额和批量归一化参数γ和β,其有,考虑到γ>0,则,故/>的计算转化为,具体有:
在输入层,x、β/γ均为定点小数,故有;
在隐含层,x为整数,β/γ为定点小数,等价于/>,故有。
作为优选的技术方案,安全二值激活函数运算BA中,客户端C和服务器端S分别持有秘密份额,其计算得到秘密份额/>满足/>,具体计算步骤如下:
S1、在离线阶段,生成函数秘密共享密钥,并发送给客户端C和服务器端S,步骤如下:
S11、计算,其中比较函数秘密共享密钥生成函数以输入掩码r in 和输出掩码r out 作为函数输入,1 λ 为安全参数,输出对应的比较函数秘密共享密钥(k 0,k 1),该密钥用于分布式地计算比较函数,上标Sign表示有符号函数;m是输入值,即输入掩码r in 对应的比特位宽;n是输出值,即输出掩码r out 对应的比特位宽;
S12、将输入掩码r in 和输出掩码r out 进行秘密分发得到两方秘密份额、、/>和/>,随后,将k 0,/>,/>和k 1,/>,/>分别发送给客户端C和服务器端S;
S2、在在线阶段,客户端C和服务器端S计算得到输出,步骤如下:
S21、客户端C本地计算,并将其发送给服务器端S;服务器端S本地计算/>,并将其发送给客户端C;
S22、客户端C和服务器端S分别在本地重构得到;
S23、客户端C本地计算,服务器端S本地计算/>,其中/>以S11中生成的所述比较函数秘密共享密钥(k 0,k 1)和掩蔽后的真实输入x+r in 作为函数输入,输出比较函数结果的秘密份额/>,上标Sign表示有符号函数;m是输入值对应的比特位宽;n是输出值对应的比特位宽。
本发明在离线-在线计算范式下,针对二值神经网络推理过程中卷积层、激活层、最大池化层、全连接层和批量归一化层等运算,基于函数秘密共享和加性秘密共享设计安全子协议,构建了高效的安全二值神经网络推理系统,与现有技术相比,具有如下优点和有益效果:
(1)通信高效乘法三元组生成方案:本发明利用先进的相关不经意传输协议来生成矩阵乘法三元组,并基于此设计了高效的安全全连接层和卷积层运算,结合离线-在线计算范式,大大减少了客户端所需的计算和通信。
(2)安全二值激活函数协议:本发明利用函数秘密共享技术,设计了支持位宽转换的安全二值激活函数,并基于此设计了安全激活函数运算和安全最大池化运算,从而支持混合位宽计算,减少了非线性函数计算所需的通信代价。
(3)高效的安全二值神经网络推理系统:本发明利用二值神经网络推理的架构优势和模型优势,基于函数秘密共享技术设计了专用的安全二值神经网络推理子协议,支持在线通信优化和混合位宽计算,实现了实用安全二值神经网络推理系统。
附图说明
图1是本发明实施例的面向手写字符体识别的二值神经网络推理方法的流程图;
图2是本发明实施例的秘密共享和函数秘密共享的示意图;
图3是本发明实施例的基于函数秘密共享的安全两方计算的示意图;
图4是本发明实施例的安全二值神经网络推理流程示意图;
图5是本发明实施例的安全二值神经网络推理中的安全最大池化运算示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明针对神经网络推理中存在的隐私问题和部署挑战,基于加性秘密共享和函数秘密共享设计安全两方计算框架,选择易于部署的二值神经网络模型,实现高效安全二值神经网络推理系统。下面是背景技术介绍:
(1)二值神经网络指的是仅使用+1和-1两个值来表示权重和激活值的神经网络模型,相比于全精度神经网络,其可用简单的位运算代替符点乘法和累加运算来实现卷积操作,从而节省了大量的内存和计算,大大方便了模型在资源受限设备上的部署。本发明主要考虑二值卷积神经网络,其主要由三个阶段组成:首先,卷积层对输入数据并行执行卷积操作以产生一组线性激活值。其次,每个线性激活值通过批量归一化层和二值激活层进行处理得到输出。最后,使用池化函数对上一层输出进行降维得到池化层输出。此外,上述过程的结果通常会反馈到全连接层从而得到最终推理结果。
卷积层(ConvolutionalLayers,Conv):卷积层计算权重矩阵(也称为卷积核)和输入矩阵中元素邻域的点积。该过程通过滑动卷积核来依次计算输入矩阵中的每个元素。在实际计算过程中,卷积操作被表示为矩阵乘法操作。
批量归一化层(BatchNormalizationLayers,BN):批量归一化层通常用于将其输入x归一化到可接受范围。在神经网络推理过程中,批量归一化参数γ和β是常数,批量归一化操作将x归一化为y=γ·x+β。
二值激活层(BinaryActivationLayers,BA):激活函数应用于输入元素,并生成相同维度的输出。在二值神经网络中,使用的激活函数为符号函数Sign(x)。给定输入x,如果x≥0则输出Sign(x)=+1,否则输出Sign(x)=-1,其可用比较函数来实现。在本发明中,二值激活层在批量归一化层后,因此在计算过程中常常将二值激活层和批量归一化层同时计算。
最大池化层(MaximumPoolLayer,MaxPool):池化操作将输入映射到多个窗口中,并在窗口内聚合输入。池化层通常计算每个窗口的平均值或最大值。在本发明中,池化层为最大池化,即计算每个窗口的最大值,其产生二值输出+1和-1。
全连接层(FullyConnectedLayers,FC:在二值神经网络中,全连接层运算可表示为矩阵加法和矩阵乘法操作。给定d行1列的输入向量,/>为实数集,全连接层生成输出/>,其中W’∈{0,1} d’×d 是d’行d列的权重矩阵,b’∈{0,1} d’×1是d’行1列的偏置项矩阵。
图1展示了面向手写字符体识别的二值神经网络推理流程。在该例子中,推理流程分为输入层、隐含层和输出层,其中输入层和隐含层包含卷积层、激活层和池化层,输出层包括全连接层,其中卷积层和全连接层中的操作表示为矩阵乘法(MatrixMultiplication,MatMul),激活层(也即批量归一化层和二值激活层)和池化层的运算可以转化为比较运算(Comparsion,Comp),因此在二值神经网络中只需完成矩阵乘法MatMul和比较运算Comp即可。
(2)秘密共享是一种安全多方计算中使用的基础技术模块,主要包括秘密分发和秘密重构两个阶段,其中有负责秘密分发和重构的秘密管理员和保存秘密份额的秘密参与方,本发明考虑有两个秘密参与方(设为P 0,P 1)的情况。在秘密共享方案中,其定义在一个环上,即秘密值是环上的一个元素,环上有模算术加法和模算术乘法运算。设有环,秘密值,其长度为n比特。秘密共享方案的秘密分发和重构操作有:
秘密分发:秘密管理员随机选择,然后将s-r 2发送给P 0,r 2发送给P 1,其中s-r 2和r 2通常称为秘密份额,记作/>;
秘密重构:P 0将秘密份额发送给秘密管理员,P 1将秘密份额/>发送给秘密管理员,秘密管理员计算/>,mod表示取模运算,重构得到秘密s。
其中,本发明用,/>的形式来表示秘密值s的秘密份额,其中下标0和1分别表示该秘密份额分别由参与方P 0和P 1持有。
特别地,本发明需要在秘密份额上进行算术运算,比如加法和乘法。假设有秘密值a和b 1已经通过算术秘密共享秘密分发给P 0和P 1,此时P 0有,P 1有/>。对于加法,P 0和P 1需要计算得到c=a+b 1的秘密份额/>;对于乘法,P 0和P 1需要计算得到c= a·b 1的秘密份额/>。
对于加法运算,P 0在本地计算,P 1在本地计算即可。可以验证/>。
对于乘法运算,常用的方法是利用乘法三元组进行计算。假设P 0和P 1已得到秘密值u 1,v 1,z的秘密份额和/>,其中u 1,v 1,z是在/>上均匀分布的随机值,且满足z=u 1 v 1。然后P 0计算/>,并发送给P 1;P 1计算/>,并发送给P 0,随后两方计算得到e=a– u 1,f=b 1 –v 1。最后,P 0计算/>,P 1计算。可以验证/>。
在本发明中,会考虑不同环上的秘密共享方案(即中的n取不同的值),为区分这些不同类型的秘密共享,本发明用/>表示/>下参与方P 0和P 1的秘密份额,其中上标n表示环/>的大小,下标0,1表示参与方索引。
(3)函数秘密共享是一类新型密码学原语,可以应用于预处理模型下的安全多方计算协议,大大降低了安全多方计算的通信开销。函数秘密共享的主要思想是将函数分发给多个参与方,参与方获得函数秘密份额计算得到函数结果的秘密份额,并恢复得到函数结果。一个函数秘密共享方案可以理解为是函数的“秘密共享”。图2展示了秘密共享和函数秘密共享,其中图2中的(a)为秘密共享的示意图,图2中的(b)为函数秘密共享的示意图。
函数秘密共享可用于构造安全两方计算协议,其基本思路如下如图3所示。假设有参与方P 0和P 1,分别持有隐私输入x 0和x 1。可信第三方生成相关随机性(图3中)并发送给参与方P 0和P 1。参与方P 0计算(x+r)0=x 0+r 0并将其发送给参与方P 1,参与方P 1计算(x+r)1=x 1+r 1并将其发送给参与方P 0,然后双方重构x+r。随后参与方P 0和P 1分别在本地计算f i (•)获得(y+r’)0和(y+r’)1,依次进行最终完成函数的安全计算。
实施例1
本实施例提供了一种基于函数秘密共享的安全二值神经网络推理系统,考虑客户和服务器进行二值神经网络推理的场景,其中客户端C持有隐私输入数据(用X表示),服务器端S持有隐私模型参数(用W表示),安全二值神经网络推理过程如图4所示。
如图4所示,为使本技术领域的人员更好地理解本申请方案,本实施例采用经典三层前馈二值神经网络进行阐述说明,但本发明实施方式并不仅限于该三层前馈二值神经网络,本领域技术人员在没有做出创造性劳动前提下,根据实际神经网络结构结合本发明所公开的各安全二值神经网络推理子协议,所获得的所有其他实施例,都属于本申请保护的范围。
上述三层前馈二值神经网络的网络结构包括输入层、隐含层和输出层,因此X (0)、X (1)和X (2)分别对应输入层、隐含层和输出层的隐私输入数据,W (1)、W (2)和W (3)分别对应输入层、隐含层和输出层的隐私模型参数。另外,在推理过程中数据会以秘密份额形式出现,本实施例用的形式来表示秘密值X (1)的秘密份额,其中下标0表示该秘密份额由客户端C持有,下标1表示该秘密份额由服务器端S持有。
输入层由卷积层、激活层(批量归一化层和二值激活层组合)和最大池化层构成,其输入为X (0)=X和输入层隐私模型参数W (1),经过输入层的计算后得到输出和,其中上标n 2表示值/>和/>的比特位宽(下同)。其次,隐含层由卷积层、激活层(批量归一化层和二值激活层组合)和最大池化层构成,其输入为数据秘密份额、/>和隐含层隐私模型参数W (2),经过隐含层的计算后得到输出/>和。最后,输出层由全连接层和批量归一化层构成,其输入为数据秘密份额/>、和输出层隐私模型参数W (3),经过输出层的计算后得到输出输出/>和/>,其中满足/>。
下面来介绍输入层、隐含层和输出层的具体细节描述,可以发现输入层、隐含层和输出层由卷积层、激活层、最大池化层、全连接层和批量归一化层组成,因此针对各种运算,本实施例在离线-在线模型范式下,基于函数秘密共享和加性秘密共享实现了上述运算的安全子协议。最后,基于上述协议给出了安全二值神经网络推理系统描述。
一、安全二值神经网络推理子协议
为简化描述,将各层对应的运算分别用符号Conv(卷积层运算)、BNBA(激活层运算)、MaxPool(最大池化层运算)、FC(全连接层运算)和BN(批量归一化层运算)。下面将介绍实现这些运算的安全子协议。
(1)安全全连接层和卷积层运算
在安全二值神经网络推理中,述安全全连接运算FC和安全卷积运算Conv可以规约到安全矩阵运算,记作MatMul,因此实现安全矩阵运算MatMul便可实现安全全连接层运算FC和安全卷积层运算Conv。给定二值化权重矩阵(全连接层和卷积层中的参数)和输入矩阵/>,其中/>表示运算所处的环,上标n表示对应值的比特位宽,下同,d 1,d 2,d 3表示矩阵的维度,d 1×d 2表示d 1行d 2列矩阵,安全矩阵运算MatMul计算,其中W B 是隐私模型参数W的0-1编码(即将隐私模型参数W中+1和-1编码为比特值0和1)。
安全矩阵运算MatMul的具体实现方案如下,其分为离线阶段和在线阶段:
S1、离线阶段:客户端C和服务器端S生成矩阵乘法三元组(U,V),其满足U+V=W×R,其中W表示服务器端S持有的隐私模型参数,R表示客户端C随机选择的矩阵。具体步骤如下:
S11、服务器端S持有的隐私模型参数W,并将其0-1编码为W B ,记矩阵W第i行第j列元素为w ij ,矩阵W B 第i行第j列元素为w ij B ;客户端C持有的隐私输入数据X,并随机选择矩阵,记矩阵R第j行第k列元素为r jk 。下面步骤展示了计算使得服务器端S和客户端C分别获得u和v的过程:
S111、客户端C随机选择,并设置相关不经意传输协议COT n 的相关函数f j (x)=-(2s j +x)mod2 n ,其中mod为取模运算,上标n表示对应值的比特位宽,下同;并设m 0=-(r jk +s j );服务器端S设置参与方索引b=w ij B ,b取0或1。
S112、客户端C和服务器端S共同计算(⊥;m b )←COT n (m 0,f j (x);b),这里的相关不经意传输协议COT n 以m 0,f j (x)和b作为输入,输出m b ,即m 0或m 1给服务器端S,客户端C不得到任何输出(用⊥表示无输出),且;
S113、服务器端S令,客户端C令v=s j ;
S114、服务器端S和客户端C迭代计算步骤S111~S114,得到d 1×d 3个元素u和v,并分别将u和v按照计算式中(i,j)的排列关系排列成d 1行d 2列的矩阵U和V,且满足U+V=W×R,服务器端S和客户端C分别获得矩阵U和V;
S2、在线阶段:服务器端S和客户端C利用矩阵U和V计算Z=W×X,步骤如下:
S21、若全连接层运算FC和卷积层运算Conv在输入层(见图4),此时客户端C持有的隐私输入数据X (0)=X和随机矩阵R (0)=R,服务器端S持有输入层隐私模型参数W (1)。给定U和V满足U+V=W (1)×R (0),客户端C发送X (0)-R (0)给服务器端S,并令,服务器端S在本地计算/>。
S22、若全连接层运算FC和卷积层运算Conv在隐含层或输出层,此时客户端C持有的隐私输入数据X的秘密份额和随机矩阵R (l-1)=R,服务器端S持有隐私输入数据X的秘密份额/>和持有隐含层隐私模型参数W (l)。给定U和V满足U+V=W (l)×R (l-1),客户端C发送/>给服务器端S,并令/>,服务器端S在本地计算。
(2)安全二值激活函数运算和安全批量归一化运算
在安全二值神经网络推理中,二值激活层常常在批量归一化层后,因此将二值激活层和批量归一化层同时计算,即定义安全激活函数运算BNBA由安全批量归一化运算BN和安全二值激活函数运算BA构成,安全激活函数运算BNBA中的批量归一化运算可以调整二值神经网络的数据分布,二值激活函数可以帮助网络学习数据中的复杂模式,二者结合可以提高模型训练速度和网络泛化性能。
对于安全批量归一化运算BN,给定输入份额和批量归一化参数γ和β,其有,其中安全矩阵运算MatMul在上一节已经介绍过。
对于安全激活函数运算BNBA,给定输入份额和批量归一化参数γ和β,其有,其中BA表示安全二值激活函数运算,给定输入x,如果x≥0则+1,否则输出-1。在大多数情况下,考虑到γ>0,则,基于这个观察,/>的计算则转化为/>,具体有:
在输入层,x、β/γ均为定点小数,故有。
在隐含层或输出层,x为整数,β/γ为定点小数,等价于,故有/>。/>
下面介绍如何实现安全二值激活函数运算BA,首先引入对偶分布式比较函数构造方案,然后基于该函数设计有符号函数比较门,最后设计安全二值激活函数运算BA函数。
(a)对偶分布式比较函数是函数秘密共享中分布式比较函数的变体,其方案由组成,其具体构造如下所示:
S1、:其中/>上标DDCF表示对偶分布式比较函数,下标m表示输入长度,单位为比特位宽,1 λ 为安全参数,α、β 0、β 1表示输入,/>表示所处环的大小,具体执行步骤如下:
S11、计算,此处的/>表示小于函数(即<)对应的函数秘密共享密钥生成算法,其可以生成小于函数的函数秘密共享密钥。
S12、随机采样,其满足r 0 +r 1 =β 1。
S13、记,其中b取0,1表示参与方索引,即包括k 0=k 0 (m)|r 0,k 1=k 1 (m)|r 1。
S14、输出(k 0,k 1)。
S2、:其中b取0,1表示参与方索引,k b 表示的输出值,x表示输入值,具体步骤如下:
S21、P b 解析。
S22、P b 计算,此处的/>表示小于函数(即<)对应的函数秘密共享密钥评估算法,其可以计算得到/>,且满足,其中1{x<α}表示若x<α,则输出1,否则输出0。
S23、P b 令,即包括v 0=y 0 (m-1)+r 0,v 1=y 1 (m-1)+r 1。
S24、输出v b 。
(b)有符号函数比较门函数秘密共享方案由组成,其具体构造如下所示:
S1、:其中/>上标Sign表示有符号函数,下标m,n表示输入和输出长度,1 λ 为安全参数,r in 和r out 分别表示输入线和输出线的掩码,具体执行步骤如下:
S11、令r * =(2 m -r in )mod2 m ,和α (m-1)=r * [0,m-1),其中mod为取模运算,r * [0,m-1)表示值r * 的第0位到第m-2位组成字符串的值。
S12、计算,其中,⊕表示异或运算,r * [m-1]表示值r * 的第m-1位,也即最高有效位。
S13、随机选取,其满足r 0 +r 1 =r out 。
S14、记,其中b取0,1表示参与方索引,即包括k 0=k 0 (m)|r 0,k 1=k 1 (m)|r 1。
S15、输出(k 0,k 1)。
S2、:其中b表示参与方索引,k b 表示/>的输出值,x表示输入值,具体步骤如下:
S21、P b 解析。
S22、P b 计算,其中x (m-1)=2 n-1-r * [0,m-1)-1。
S23、P b 令。
S24、输出v b 。
(c)基于有符号函数比较门的安全二值激活函数运算BA函数
假设有客户端C和服务器端S分别持有秘密份额,其计算得到秘密份额满足/>,其中BA(x)表示x≥0其值为+1,否则为-1。具体计算步骤如下:
S1、在离线阶段,生成函数秘密共享密钥,并发送给客户端C和服务器端S,步骤如下:
S11、计算,其中m是输入掩码r in 对应的的比特位宽,n是输出掩码r out 对应的的比特位宽。
S12、将输入掩码r in 和输出掩码r out 进行秘密分发得到两方秘密份额、、/>和/>,随后将k 0,/>,/>和k 1,/>,/>分别发送给客户端C和服务器端S。
S2、在在线阶段,客户端C和服务器端S计算得到输出,步骤如下:
S21、客户端C本地计算,并将其发送给服务器端S;服务器端S本地计算/>,并将其发送给客户端C。
S22、客户端C和服务器端S分别在本地重构得到。
S23、客户端C本地计算,服务器端S本地计算/>。
至此,就得到安全二值激活函数运算BA函数,基于该函数便可计算。
(3)安全最大池化运算
在安全二值神经网络推理中,安全最大池化运算MaxPool可以归约到安全加法运算和安全二值激活函数运算BA函数,其中安全加法运算可以在本地进行。
根据观察,安全最大池化运算MaxPool的输入矩阵的所有元素取值为+1或-1,将其进行0-1编码,那么可以得到取值为1或0的输入矩阵;基于上一步骤的输入矩阵,针对每一个窗口进行求和减1(即安全加法运算);将安全加法运算得到的结果再和0进行比较(即进行上文所述的安全二值激活函数运算BA函数),便可获得实际的最大池化结果,如图5所示。
实施例2
在本实施例中,通过对实施例1中所述的一种基于函数秘密共享的安全二值神经网络推理系统的具体工作步骤进行描述,使本技术领域的人员更好地理解本申请的方案。
根据上述安全二值神经网络推理子协议,下面提出一种基于函数秘密共享的安全二值神经网络推理方法包括以下步骤:
初始时,客户端C和服务器端S分别持有隐私输入数据X和隐私模型参数W;隐私模型参数W包括各层神经网络的隐私模型参数,即W=W (l),l=1,2,…,L,l为神经网络层数,L为神经网络总层数;
S1、对于输入层(层数l=1),客户端C和服务器端S执行下面的计算:
S11、客户端C和服务器端S计算,其中FC/Conv表示全连接层或卷积层运算,规约归约为安全矩阵运算MatMul,也即/>,且/>。
S12、若有最大池化层,则客户端C和服务器端S计算,然后计算/>;否则客户端C和服务器端S直接计算。
S2、对于隐含层(层数2≤l≤L-1,L为神经网络总层数),客户端C和服务器端S执行下面的迭代计算:
S21、客户端C和服务器端S计算,也即。
S22、若有最大池化层,则客户端C和服务器端S计算,然后计算/>;否则客户端C和服务器端S直接计算。
S3、对于输出层(层数l=L),客户端C和服务器端S执行下面的计算:
S31、客户端C和服务器端S计算,也即计算。
S32、客户端C和服务器端S计算。
S4、最后,服务器端S将发送给客户端C,然后客户端C计算得到推理结果。
在此需要说明的是,上述实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,该系统是应用于上述实施例的一种基于函数秘密共享的安全二值神经网络推理方法。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (7)
1.基于函数秘密共享的安全二值神经网络推理系统,包括输入层、若干个隐含层以及输出层,客户端C持有的隐私输入数据X和服务器端S持有的隐私模型参数W,经输入层、隐含层和输出层处理后得到推理结果Y,其特征在于:
所述输入层、若干个隐含层以及隐含层根据实际神经网络结构设置若干个安全全连接运算单元、安全卷积运算单元、安全批量归一化运算单元、安全二值激活函数运算单元以及安全最大池化运算单元;
所述安全全连接运算单元和安全卷积运算单元配置为:接收待处理信号,对待处理信号进行安全全连接运算或安全卷积运算,即安全矩阵运算,以得到安全全连接运算单元或安全卷积运算单元结果;所述安全矩阵运算具体为:给定二值化的隐私模型参数和隐私输入数据/>,其中W B 是W的0-1编码,即将W的元素+1和-1分别编码为1和0;/>表示运算所处的环,上标n表示对应值的比特位宽,下同;d 1,d 2,d 3表示矩阵的维度,d 1×d 2表示d 1行d 2列矩阵;安全矩阵运算计算/>;
所述安全批量归一化运算单元配置为:接收待处理信号,对待处理信号进行安全批量归一化运算以得到安全批量归一化运算结果;所述安全批量归一化运算具体为:给定输入份额和批量归一化参数γ和β,其有/>,BN表示安全批量归一化运算;
所述安全二值激活函数运算单元配置为:接收待处理信号,对待处理信号进行安全二值激活函数运算以得到安全二值激活函数运算结果;所述安全二值激活函数运算具体为:给定输入份额,如果x≥0则/>输出+1,否则输出-1,BA表示安全二值激活函数运算;
所述安全最大池化运算单元配置为:接收待处理信号,对待处理信号进行安全最大池化运算以得到安全最大池化运算结果;所述安全最大池化运算具体为:将输入矩阵的所有元素进行0-1编码,针对每一个窗口进行求和并加上-1,再进行安全二值激活函数运算,获得安全最大池化运算结果。
2.根据权利要求1所述的基于函数秘密共享的安全二值神经网络推理系统,其特征在于,隐私模型参数W包括各层神经网络的隐私模型参数,即W=W (l),l=1,2,…,L,l为神经网络层数,L为神经网络总层数;所述输入层为第1层,其输入为X (0)=X和输入层隐私模型参数W (1),其输出为和/>,其中上标n 2表示对应值的比特位宽,下同;所述隐含层为第2到L-1层,其输入为数据秘密份额/>、/>和隐含层隐私模型参数W (l’),l’=2,…, L-1为隐含层层数,其输出为/>和/>;所述输出层为第L层,其输入为数据秘密份额/>、/>和输出层隐私模型参数W (L),其输出为/>和/>,其中满足。
3.根据权利要求1所述的基于函数秘密共享的安全二值神经网络推理系统,其特征在于,所述输入层包括依次连接的安全卷积运算单元、安全批量归一化运算单元以及安全二值激活函数运算单元;所述隐含层包括依次连接的安全全连接运算单元、安全批量归一化运算单元以及安全二值激活函数运算单元;所述输出层包括依次连接的安全全连接运算单元以及安全批量归一化运算单元。
4.基于函数秘密共享的安全二值神经网络推理方法,其特征在于,包括以下步骤:
初始时,客户端C和服务器端S分别持有隐私输入数据X和隐私模型参数W;隐私模型参数W包括各层神经网络的隐私模型参数,即W=W (l),l=1,2,…,L,l为神经网络层数,L为神经网络总层数;
S1、对于输入层,神经网络层数l=1,客户端C和服务器端S执行下面的计算:
S11、客户端C和服务器端S计算,其中/>,/>表示运算所处的环,上标n表示对应值的比特位宽,下同;MatMul表示安全矩阵运算,具体为:给定二值化隐私模型参数/>和隐私输入数据/>,其中d 1,d 2,d 3表示矩阵的维度,d 1×d 2表示d 1行d 2列矩阵,安全矩阵运算MatMul计算/>,其中W B 是W的0-1编码,即将W的元素+1和-1分别编码为1和0;
S12、若有最大池化层,则客户端C和服务器端S计算,然后计算/>,上标n 1、n 2表示对应值的比特位宽,下同;否则客户端C和服务器端S直接计算/>;其中,BN表示安全批量归一化运算,具体为:给定输入份额/>和批量归一化参数γ和β,其有/>;BA表示安全二值激活函数运算,具体为:给定输入份额/>,如果x≥0则/>输出+1,否则输出-1;MaxPool表示安全最大池化运算,具体为:将输入矩阵的所有元素进行0-1编码,针对每一个窗口进行求和并加上-1,再进行安全二值激活函数运算,获得安全最大池化结果;
S2、对于隐含层,神经网络层数2≤l≤L-1,客户端C和服务器端S执行下面的迭代计算:
S21、客户端C和服务器端S计算;
S22、客户端C和服务器端S计算,然后计算;
S3、对于输出层,神经网络层数l=L,客户端C和服务器端S执行下面的计算:
S31、客户端C和服务器端S计算;
S32、客户端C和服务器端S计算;
S4、最后,服务器端S将发送给客户端C,然后客户端C计算得到推理结果。
5.根据权利要求4所述的基于函数秘密共享的安全二值神经网络推理方法,其特征在于,安全矩阵运算MatMul的具体实现方案如下,分为离线阶段和在线阶段:
S1、离线阶段:客户端C和服务器端S生成矩阵乘法三元组(U,V),其满足U+V=W×R,其中W表示服务器端S持有的隐私模型参数,R表示客户端C随机选择的矩阵,具体步骤如下:
S11、服务器端S持有的隐私模型参数W,并将其0-1编码为W B ,记矩阵W第i行第j列元素为w ij ,矩阵W B 第i行第j列元素为w ij B ;客户端C持有的隐私输入数据X,并随机选择矩阵,记矩阵R第j行第k列元素为r jk ;计算/>使得服务器端S和客户端C分别获得u和v,具体步骤如下:
S111、客户端C随机选择,并设置相关不经意传输协议COT n 的相关函数f j (x)=-(2s j +x)mod2 n ,其中mod为取模运算,上标n表示对应值的比特位宽,下同;并设m 0=-(r jk +s j );服务器端S设置参与方索引b=w ij B ,b取0或1;
S112、客户端C和服务器端S共同计算(⊥;m b )←COT n (m 0,f j (x);b),所述相关不经意传输协议COT n 以m 0,f j (x)和b作为输入,输出m b ,即m 0或m 1给服务器端S,且;客户端C不得到任何输出,用⊥表示;
S113、服务器端S令,客户端C令v=s j ;
S114、服务器端S和客户端C迭代计算步骤S111~S113,得到d 1×d 3个元素u和v,并分别将u和v按照计算式中(i,j)的排列关系排列成d 1行d 2列的矩阵U和V,且满足U+V=W×R,最后服务器端S和客户端C分别获得矩阵U和V;
S2、在线阶段:服务器端S和客户端C利用矩阵U和V计算Z=W×X,步骤如下:
S21、对于在输入层的安全卷积层运算Conv,其归约为安全矩阵运算MatMul,此时客户端C持有的隐私输入数据X (0)=X和随机矩阵R (0)=R,服务器端S持有输入层隐私模型参数W (1);给定U和V满足U+V=W (1)×R (0),客户端C发送X (0)-R (0)给服务器端S,并令,服务器端S在本地计算/>;
S22、对于隐含层的安全卷积层运算Conv和输出层的安全全连接层运算FC,此时客户端C持有的隐私输入数据X的秘密份额和随机矩阵R (l-1)=R,服务器端S持有隐私输入数据X的秘密份额/>和隐含层隐私模型参数W (l);给定U和V满足U+V=W (l)×R (l-1),客户端C发送/>给服务器端S,并令/>,服务器端S在本地计算。
6.根据权利要求4所述的基于函数秘密共享的安全二值神经网络推理方法,其特征在于,二值激活层在批量归一化层后,因此将二值激活层和批量归一化层同时计算,即定义安全激活函数运算BNBA,由安全批量归一化运算BN和安全二值激活函数运算BA构成;
对于安全批量归一化运算BN,给定输入份额和批量归一化参数γ和β,其有;
对于安全激活函数运算BNBA,给定输入份额和批量归一化参数γ和β,其有,考虑到γ>0,则,故/>的计算转化为,具体有:
在输入层,x、β/γ均为定点小数,故有;
在隐含层,x为整数,β/γ为定点小数,等价于/>,故有。
7.根据权利要求4所述的基于函数秘密共享的安全二值神经网络推理方法,其特征在于,安全二值激活函数运算BA中,客户端C和服务器端S分别持有秘密份额,其计算得到秘密份额/>满足/>,具体计算步骤如下:
S1、在离线阶段,生成函数秘密共享密钥,并发送给客户端C和服务器端S,步骤如下:
S11、计算,其中比较函数秘密共享密钥生成函数以输入掩码r in 和输出掩码r out 作为函数输入,1 λ 为安全参数,输出对应的比较函数秘密共享密钥(k 0,k 1),该密钥用于分布式地计算比较函数,上标Sign表示有符号函数;m是输入值,即输入掩码r in 对应的比特位宽;n是输出值,即输出掩码r out 对应的比特位宽;
S12、将输入掩码r in 和输出掩码r out 进行秘密分发得到两方秘密份额、/>、和/>,随后,将k 0,/>,/>和k 1,/>,/>分别发送给客户端C和服务器端S;
S2、在在线阶段,客户端C和服务器端S计算得到输出,步骤如下:
S21、客户端C本地计算,并将其发送给服务器端S;服务器端S本地计算/>,并将其发送给客户端C;
S22、客户端C和服务器端S分别在本地重构得到;
S23、客户端C本地计算,服务器端S本地计算,其中/>以S11中生成的所述比较函数秘密共享密钥(k 0,k 1)和掩蔽后的真实输入x+r in 作为函数输入,输出比较函数结果的秘密份额,上标Sign表示有符号函数;m是输入值对应的比特位宽;n是输出值对应的比特位宽。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311801348.6A CN117454941B (zh) | 2023-12-26 | 2023-12-26 | 基于函数秘密共享的安全二值神经网络推理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311801348.6A CN117454941B (zh) | 2023-12-26 | 2023-12-26 | 基于函数秘密共享的安全二值神经网络推理系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117454941A CN117454941A (zh) | 2024-01-26 |
CN117454941B true CN117454941B (zh) | 2024-04-26 |
Family
ID=89582269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311801348.6A Active CN117454941B (zh) | 2023-12-26 | 2023-12-26 | 基于函数秘密共享的安全二值神经网络推理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117454941B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110537191A (zh) * | 2017-03-22 | 2019-12-03 | 维萨国际服务协会 | 隐私保护机器学习 |
CN113761469A (zh) * | 2021-08-10 | 2021-12-07 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的最高位进位计算方法 |
CN113780552A (zh) * | 2021-09-09 | 2021-12-10 | 浙江数秦科技有限公司 | 一种双向隐私保护的安全多方计算方法 |
CN115186831A (zh) * | 2022-09-09 | 2022-10-14 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
-
2023
- 2023-12-26 CN CN202311801348.6A patent/CN117454941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110537191A (zh) * | 2017-03-22 | 2019-12-03 | 维萨国际服务协会 | 隐私保护机器学习 |
CN113761469A (zh) * | 2021-08-10 | 2021-12-07 | 支付宝(杭州)信息技术有限公司 | 一种保护数据隐私的最高位进位计算方法 |
CN113780552A (zh) * | 2021-09-09 | 2021-12-10 | 浙江数秦科技有限公司 | 一种双向隐私保护的安全多方计算方法 |
CN115186831A (zh) * | 2022-09-09 | 2022-10-14 | 之江实验室 | 一种高效隐私保护的深度学习方法 |
Non-Patent Citations (2)
Title |
---|
网络与信息安全方向系列课程贯通式教学探索与实践;苏婷 等;《计算机教育》;20230610(第6期);第76-80页 * |
面向超级账本Fabric的多通道分片技术研究;刘洋 等·;《应用科学学报》;20230731;第41卷(第4期);第614-625页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117454941A (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112182649B (zh) | 一种基于安全两方计算线性回归算法的数据隐私保护系统 | |
CN111324870B (zh) | 一种基于安全双方计算的外包卷积神经网络隐私保护系统 | |
Xiong et al. | Toward lightweight, privacy-preserving cooperative object classification for connected autonomous vehicles | |
RU2534944C2 (ru) | Способ обеспечения безопасности связи в сети, используемые для этого устройство связи, сеть и компьютерная программа | |
CN112383388B (zh) | 一种基于云计算大数据的双秘钥加密系统及方法 | |
CN114866225A (zh) | 一种基于不经意伪随机秘密共享的超阈值多方隐私集合求交方法 | |
US20110060901A1 (en) | Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations | |
CN114465708B (zh) | 隐私数据处理方法及装置、系统、电子设备、存储介质 | |
CN117118617B (zh) | 一种基于模分量同态的分布式门限加解密方法 | |
CN115994559A (zh) | 一种高效的不经意神经网络转化方法 | |
US20240013034A1 (en) | Neural network prediction system for privacy preservation | |
Gabr et al. | A combination of decimal-and bit-level secure multimedia transmission | |
CN112532383A (zh) | 一种基于秘密分享的隐私保护计算方法 | |
CN115630713A (zh) | 样本标识符不相同下的纵向联邦学习方法、设备和介质 | |
CN116561787A (zh) | 视觉图像分类模型的训练方法、装置及电子设备 | |
CN114912132A (zh) | 一种基于模型转换实现隐私保护卷积神经网络推理的方法 | |
CN117592527A (zh) | 基于函数秘密共享的隐私保护神经网络训练方法及装置 | |
Zhang et al. | SecureTrain: An approximation-free and computationally efficient framework for privacy-preserved neural network training | |
CN117454941B (zh) | 基于函数秘密共享的安全二值神经网络推理系统 | |
CN112906715A (zh) | 一种基于深度神经网络的安全图像特征提取与分类方法 | |
JP7259875B2 (ja) | 情報処理装置、秘密計算方法及びプログラム | |
CN115473633B (zh) | 一种多方协同产生sm2数字签名的方法及装置 | |
Catrina | Towards practical secure computation with floating-point numbers | |
CN113973161A (zh) | 基于深度学习的压缩感知与混沌系统的新型图像加密方法 | |
CN114499845B (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 |