CN115860094A - 基于同态加密的二值卷积神经网络实现方法及系统 - Google Patents
基于同态加密的二值卷积神经网络实现方法及系统 Download PDFInfo
- Publication number
- CN115860094A CN115860094A CN202211372806.4A CN202211372806A CN115860094A CN 115860094 A CN115860094 A CN 115860094A CN 202211372806 A CN202211372806 A CN 202211372806A CN 115860094 A CN115860094 A CN 115860094A
- Authority
- CN
- China
- Prior art keywords
- encryption
- matrix
- binary
- neural network
- ciphertext
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000003062 neural network model Methods 0.000 claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 159
- 230000004913 activation Effects 0.000 claims description 30
- 238000010606 normalization Methods 0.000 claims description 20
- 238000013527 convolutional neural network Methods 0.000 claims description 19
- 238000011176 pooling Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 11
- 239000002245 particle Substances 0.000 claims description 8
- 238000009827 uniform distribution Methods 0.000 claims description 8
- 238000007781 pre-processing Methods 0.000 claims description 7
- 238000009826 distribution Methods 0.000 claims description 6
- 238000011156 evaluation Methods 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- QVRVXSZKCXFBTE-UHFFFAOYSA-N n-[4-(6,7-dimethoxy-3,4-dihydro-1h-isoquinolin-2-yl)butyl]-2-(2-fluoroethoxy)-5-methylbenzamide Chemical compound C1C=2C=C(OC)C(OC)=CC=2CCN1CCCCNC(=O)C1=CC(C)=CC=C1OCCF QVRVXSZKCXFBTE-UHFFFAOYSA-N 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种基于同态加密的二值卷积神经网络实现方法及系统,包括:云端对MNIST数据集进行预处理,得到二值图像数据;云端构建明文下二值卷积神经网络模型,训练网络参数;客户端使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端;云端根据训练得到的网络参数,构建一个基于布尔电路或一个基于算术电路的加密神经网络,对加密图像数据进行推理,得到密态结果,传输到客户端;客户端对密态结果进行解密,得到推理结果。本发明将TFHE同态加密算法与二值卷积神经网络结合,构建了一个支持快速门自举技术的加密神经网络,在保护数据隐私性的同时,提高了密文计算速度,缩短了神经网络运行时间。
Description
技术领域
本发明涉及一种基于同态加密的二值卷积神经网络实现方法,属于机器学习和信息安全交叉领域。
背景技术
随着云计算技术的迅速发展,用户数据的安全性和隐私性受到广泛重视,因此机器学习中的隐私保护问题成为当前信息安全领域的一个重要研究方向,同态加密则成为实现隐私计算的一种重要技术。
同态加密允许直接对加密后的密文进行同态计算,无需先解密密文,且对明文进行计算与对密文进行计算后再解密得到的结果是一致的。在进行隐私计算时,客户端需要将数据加密后上传到云端,云端对加密数据进行处理,得到一个加密的结果后反馈给客户端,客户端再对加密结果进行解密得到最终结果。在此过程中,云端只能获取加密后的数据,数据的安全性得到保证。
现阶段,基于同态加密的神经网络实现有两个发展趋势。其一是基于层级全同态加密方案,构造需要预先估计乘法深度的密态网络。然而乘法深度的增加会导致计算复杂度的增加,一旦深度超出限制,噪声将突破阈值,密文无法被正确解密。因此,在这一发展方向上很难实现复杂的神经网络。其二是基于支持快速自举的完全同态加密方案(TFHE),构造无需预估乘法深度的密态网络。自举的意义在于将噪声接近阈值的密文刷新为低噪声的密文,使得乘法深度不受限制,从而可以实现复杂的神经网络。Bourse等人基于TFHE实现了浅层离散神经网络,但由于精度损失严重,并没有考虑更为复杂的神经网络模型。Meehan等人基于TFHE实现了一般卷积神经网络,但涉及到了大量多比特密文乘法运算,因此计算速度很慢,网络运行时间很长。
中国专利申请,申请号201910757674.9,公开日2019年8月16日,公开了一种基于加密神经网络的手写识别方法。此专利所涉及到的手写识别方法,需要预估神经网络的深度,只能实现简单的浅层神经网络,一旦深度加大,密文的噪声就会超出阈值,导致无法被正确解密。
发明内容
发明目的:针对现有技术中存在的密文乘法深度有限问题,本发明提出了一种基于同态加密的二值卷积神经网络实现方法,充分利用TFHE方案的二值友好特性,将TFHE方案与二值神经网络相结合构造密态二值卷积神经网络;同时又应用了TFHE方案中提供的快速门自举技术,即可以在0.1s内将噪声接近阈值的密文刷新为低噪声的新密文,从而使得密文的噪声始终不超过阈值,且不受神经网络的深度限制。本发明在保护数据隐私性的同时,提升了密文计算速度,缩短了密态神经网络的运行时间。
技术方案:一种基于同态加密的二值卷积神经网络实现方法,包括以下步骤:
步骤1、云端对MNIST数据集进行归一化和二值化处理,得到二值图像数据;云端构建明文下二值卷积神经网络模型,训练网络参数;
步骤2:客户端使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端;
步骤3:云端根据训练得到的网络参数,构建一个基于布尔电路的加密神经网络,对加密图像数据进行推理,将密态推理结果传输到客户端;
步骤4:客户端对密态推理结果进行解密,得到最终结果。
根据本申请的一个方面,步骤1中云端对MNIST数据集进行归一化和二值化处理,具体包含以下步骤:
其中xi表示原始数据,yi表示处理后的数据,μ为均值,σ2为方差,∈为大于零的常数;
根据本申请的一个方面,步骤1中云端构建明文下二值卷积神经网络模型具体包含以下步骤:
步骤13、确定二值卷积神经网络结构;
步骤14、建立二值卷积神经网络的前向传播过程,包括:
步骤141、对权重矩阵Wl进行二值处理,得到二值权重矩阵sign(Wl);
其中,l表示神经网络的第l层,ω1和ω2分别表示卷积核的长度和宽度,ω3表示卷积核的深度,k为索引值。Il表示第l层神经网络的输入矩阵,符号*表示二值卷积运算,符号·表示点乘运算;缩放因子γl和缩放矩阵Kl都是尺度参数,使得γl·sign(Wl)≈Wl,Kl·sign(Il)≈Il;
步骤143、执行二值卷积运算后,使用ReLU非线性函数对运算结果进行激活;
步骤16:通过迭代训练最优参数,确定最优模型。
根据本申请的一个方面,步骤2中客户端使用TFHE加密方案对二值图像数据进行同态加密,具体包括以下步骤:
基于布尔电路的同态加密神经网络加密方式:
计算b=<s,a>+m′/2+e,其中私钥s=(s1,s2,……,sn),为集合{0,1}n上的随机均匀分布;公钥a=(a1,a2,……,an),为上的随机均匀分布;噪声e为(0,σ)上的高斯分布,σ为设定的标准差值;n为设定的密钥参数;得到密文(a,b);[·]表示密文形式;
步骤23:对缩放矩阵Kl中的每一个元素取10比特精度,重复步骤22,对元素进行逐位加密,得到加密缩放矩阵[Kl],加密缩放矩阵[Kl]中的元素构成形式为密文数组,即10-TLWE。
基于算术电路的同态加密神经网络加密方式:
根据本申请的一个方面,步骤3中云端根据训练得到的网络参数,构建一个基于布尔电路的加密神经网络,对加密图像数据进行推理,得到密态结果,具体包括如下步骤:
步骤31:构建卷积层:
其中,非标准二值间的密态逻辑运算可以通过调用TFHE库中的自举门来实现;密文扩充操作可以将对单比特数据{0,1}进行加密的密文扩充为对多比特数据{-1,1}进行逐位加密的密文数组;一个N比特同态加法器由N-1个同态全加器和2个自举异或门组合而成;
步骤313、对特征密文矩阵与加密缩放矩阵[Kl]、缩放因子γl进行点乘运算,得到密文输出矩阵;其中,可以通过一个N比特同态阵列乘法器来实现密态乘法运算,该乘法器由N(N-1)个同态全加器组合而成;
步骤32:构建激活层:
选取ReLU函数作为激活函数,将激活值作为卷积层的输出。对密文进行ReLU激活可通过以下步骤实现:提取密文的符号位并对其执行非运算,得到一个对1比特数据进行加密的密文,用该密文与原密文进行逐位与运算即可得到原密文的激活值;
步骤33:构建最大池化层,最大池化操作通过密文比较算法来实现:
[t0]=0,[vi]=[Ai]⊙[Bi]
[Ri]=([tN-1]&[Ai])⊙(~[tN-1]&[Bi])
步骤34:构建归一化层:
步骤35:构建全连接层,全连接层的构建方式类似于激活层,不同的是,其中每一个结点都与上一层的所有结点相连。
根据本申请的一个方面,步骤3中云端根据训练得到的网络参数,构建一个基于算术电路的加密神经网络,对加密图像数据进行推理,得到密态结果,具体包括如下步骤:
步骤3a、建立卷积层:输入经预处理和TFHE加密后的标准二值图像矩阵,以及标准二值权重矩阵,并将每一个权重值都映射到实数环面T上,对两个输入矩阵作卷积运算,输出高噪声的加密特征矩阵;
步骤3b、建立激活层:输入高噪声的加密特征矩阵,对矩阵中的每一项执行优化后的自举算法,输出低噪声的加密特征矩阵;
步骤3c、建立最大池化层:输入低噪声的加密特征矩阵,利用优化后的自举算法实现对两个密文的比较操作,输出低噪声的降维加密特征矩阵;
步骤3d、建立归一化层:输入低噪声的降维加密特征矩阵,对其进行归一化,并对归一化后的密态结果进行同态评估,输出对±1进行加密的新二值特征矩阵;
根据本申请的一个方面,所述步骤3a中,建立卷积层的过程包括:
输入经预处理和TFHE加密后的标准二值图像矩阵[I],以及标准二值权重矩阵W1,其中的每一项为TLWE密文,即[Ii,j,t]=(a1,a2,……,an,b),W1中每一个权重值都映射到实数环面/>上,即/>其中私钥s=(s1,s2,……,sn),为集合{0,1}n上的随机均匀分布;公钥a=(a1,a2,……,an),为/>上的随机均匀分布,噪声e为(0,σ)上的高斯分布,σ为设定的标准差值,n为设定的密钥参数;
根据本申请的一个方面,所述步骤3b中,建立激活层具体包括如下步骤:
输入高噪声的加密特征矩阵[I2];
对矩阵中的每一项执行优化后的自举算法,输出低噪声的加密特征矩阵[I3],则该加密特征矩阵为对输入矩阵进行ReLU激活后的结果。
根据本申请的一个方面,步骤4中客户端对密态推理结果进行解密的过程进一步为:
基于布尔电路的同态加密神经网络解密过程为:对密文数组的每一个元素计算相位若/>则解密后的值为1,否则为0;密文数组中的每一个元素xi都代表了一个比特位,计算∑ixi·2i,即可得到一个密文数组所表示的明文消息;客户端对所有密文数组进行解密,即可得到最终的分类结果。
在另一些实施例中,还提供一种基于同态加密的二值卷积神经网络系统,包括:
云端,用于对MNIST数据集进行归一化和二值化处理,得到二值图像数据并发送给客户端;
在云端构建明文下二值卷积神经网络模型,训练网络参数,根据训练得到的网络参数构建一个基于布尔电路的加密神经网络;
云端在接收到客户端发送的加密图像数据后,对加密图像数据进行推理,将密态推理结果传输到客户端;
客户端,用于接收云端的二值图像数据并使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端;
在接收云端返回的密态推理结果后,对密态推理结果进行解密,得到最终结果。
有益效果:
(1)、本发明提出了一种基于同态加密的二值卷积神经网络推理方法,密态神经网络模型中,卷积层、激活层、池化层、归一化层以及全连接层都是基于自举逻辑门搭建的。在自举逻辑门中应用快速门自举技术,将一次自举的时间从0.69s(FHEW方案)降至0.1s内。每进行一次逻辑运算就执行一次自举,可以始终将密文的噪声保持在阈值之内,且计算复杂度不会随着神经网络深度的增加而增加,这使得神经网络的深度不必受到限制。本发明提高了密态运算速度,减少了密文噪声的增长,增大了神经网络的深度。
(2)、本发明充分利用了TFHE同态加密方案的二值友好特性,将同态加密与二值神经网络相结合构建神经网络模型,用二值卷积运算代替一般卷积运算,将部分多比特密文乘法运算转换为单比特密文同或运算,减少了密文乘法次数,提升了神经网络推理速度。
(3)、本发明实现了对两个密文的比较运算,在神经网络中成功构建了ReLU函数激活层和最大池化层,而非近似激活层,这样既可以减少密文计算开销,也可以提高推理准确率。
(4)、本专利中提出的加密神经网络构建方法,每经过一层激活层,就能将高噪声的密文刷新为低噪声的新密文,因此具有良好的可延展性,无需预估乘法深度,可以实现更深乘法深度的卷积神经网络。
附图说明
图1为本发明提供的密态二值卷积神经网络模型示意图。
图2为本发明提供的密态加法运算模块示意图。
图3为本发明提供的密态乘法运算模块示意图。
图4为本发明提供的ReLU自举示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行详细说明。在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
实施例一
本发明提出了一种基于同态加密的二值卷积神经网络实现方法,客户端需要将数据加密后上传到云端,云端在明文数据集下训练得到二值模型参数,在密文数据集下构建了一个与明文下结构一致的密态二值卷积神经网络,实现对密文的推理,并将密态推理结果反馈给客户端,客户端再对加密结果进行解密得到最终结果。在此期间,云端只能获取加密后的数据,数据的安全性可以得到保证。
本发明的具体步骤包括:
步骤1:云端对MNIST数据集进行预处理,包括批量归一化操作和二值化操作,得到二值图像数据。
其中xi表示原始数据,yi表示经归一化处理后的数据,
步骤2:云端构建明文下二值卷积神经网络模型,训练网络参数。
在该步骤中,云端需要确定明文下二值卷积神经网络的具体结构,建立该网络的前向传播过程,定义交叉熵损失函数并建立该网络的反向传播过程,利用梯度下降法进行参数更新,最后通过迭代训练最优参数,从而构建最优模型。
步骤3:客户端使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端。
在该步骤中,客户端对二值图像数据进行非标准二值化处理,即将二值化为±1的数据二值化为0和1,得到非标准二值矩阵经处理后的图像数据位宽都为1比特。利用TFHE同态加密方案对矩阵/>中的每一个元素进行加密,得到非标准二值密文矩阵/>加密过程为:将单比特明文信息m∈{0,1}映射到实数环面/>上,/>即模1的实数,得到/>计算b=<s,a>+m′/2+e,其中私钥/>公钥/>e←χ,χ为实数集上的次高斯噪声分布,得到密文(a,b)。/>
客户端再对缩放矩阵Kl中的每一个元素取10比特精度,利用TFHE同态加密方案,对Kl中的每一个元素进行逐位加密,得到加密缩放矩阵[Kl],[Kl]中的元素构成形式为密文数组,即10-TLWE。
步骤4:云端根据训练得到的网络参数,构建一个基于布尔电路的加密神经网络,对加密图像数据进行推理,将密态推理结果传输到客户端。
在该步骤中,加密神经网络的归一化层、卷积层、激活层、池化层和全连接层都是基于布尔电路实现的,其中涉及到了密态乘法运算模块、密态加法运算模块、密态绝对值求解模块、密态ReLU激活模块和密文比较模块,这些模块可以通过TFHE方案中提出的自举门来构建。
步骤5:客户端对密态推理结果进行解密,得到最终结果。
在该步骤中,客户端对密文数组的每一个元素计算相位若则解密后的值为1,否则为0。密文数组中的每一个元素xi都代表了一个比特位,计算∑ixi·2i,即可得到一个密文数组所表示的明文消息。客户端最后对所有密文数组进行解密,即可得到最终的分类结果。
实施例二
基于实施例一提出的一种基于同态加密的二值卷积神经网络实现方法,本实施例提出的二值卷积运算实现过程如下。
第一步,对权重矩阵Wl进行二值处理,得到二值权重矩阵sign(Wl):
第二步,计算缩放因子γl:
第四步,计算缩放矩阵Kl:
Kl=Bl*Cl
第五步,执行二值卷积运算:
Il*Wl=[sign(Il)*sign(Wl)]·Kl·γl
其中,l表示神经网络的第l层,ω1和ω2分别表示卷积核的长度和宽度,ω3表示卷积核的深度,Il表示第l层神经网络的输入矩阵,Bl表示一个长度为矩阵Il长度、宽度为矩阵Il宽度的二维矩阵,Cl表示一个尺寸为(ω1,ω2)的矩阵,符号*表示卷积运算。缩放因子γl和缩放矩阵Kl都是尺度参数,使得γl·sign(Wl)≈Wl,Kl·sign(Il)≈Il。
在执行密态二值卷积运算时,调用TFHE库中的bootsXNOR函数对输入和权重作密态同或运算,再调用密态加法运算模块执行求和操作,即可得到密态卷积结果。
二值卷积运算通过将输入和权重二值化,将浮点数乘法运算转变为两个1比特数据间的同或计算,从而减少计算开销。密态二值卷积运算与一般卷积运算的运行时间对比如表1所示。
表1密态二值卷积运算与密态一般卷积运算运行时间对比
密态卷积运算 | 运行时间 |
5×5二值卷积 | 25s |
5×5一般卷积 | 2576s |
实施例三
基于实施例二,本实施例提出的密态二值卷积神经网络模型如图1所示。
该网络由第一个卷积层、激活层、池化层,第二个卷积层、激活层、池化层以及一个全连接层、激活层组成。第一个卷积层使用了3个尺寸为5×5×1的卷积核,输入28×28尺寸的二维加密图像,输出24×24×3尺寸的加密特征图像;第二个卷积层使用了6个5×5×3的卷积核,输入12×12×3尺寸的加密特征图象,输出8×8×6尺寸的加密特征图像;池化层都采用步长为2的2×2尺寸的最大池化;全连接层的输入为1×96的加密特征向量,输出为1×10的加密向量;激活层都使用ReLU激活函数;在经过第二个卷积层和全连接层前,还要对输入数据进行归一化处理。
本实例的具体步骤包括:
第一步,构建卷积层:
其中密文扩充操作EXTEND(·)可以将对1比特数据{0,1}进行加密的密文扩充为对多比特数据{-1,1}进行逐位加密的密文数组,表示非标准二值矩阵,Il、Wl表示标准二值矩阵,则特征密文矩阵/>中的每一个元素可以表示为:
其中,l表示神经网络的第l层,w和h分别表示卷积核的长度和宽度,c表示卷积核的深度,Il表示第l层神经网络的输入矩阵,符号*表示二值卷积运算,符号·表示点乘运算;缩放因子γl和缩放矩阵Kl都是尺度参数,使得γl·sign(Wl)≈Wl,Kl·sign(Il)≈Il
第二步,构建激活层,选取ReLU函数作为激活函数对第一步的加密输出矩阵进行激活。基于布尔电路的密态ReLU激活的实现过程为:提取密文的符号位并对其执行非运算,得到一个对1比特数据进行加密的密文,用该密文与原密文进行逐位与运算即可得到原密文的激活值。对加密输出矩阵[MATRIX_OUT]中的每一个元素[outi]求激活值,输出结果为ReLU(outi)=max(0,outi)。
第三步,构建池化层,对第二步的加密输出矩阵实现最大池化操作。基于布尔电路的密态最大池化操作可以通过下述密文比较算法来实现:
[t0]=0,[vi]=[Ai]⊙[Bi]
[Ri]=([tN-1]&[Ai])⊙(~[tN-1]&[Bi])
其中,[v]和[t]为密文比较算法中的中间变量,[R]为密文[A]和[B]的最大值输出。符号~表示非运算。
第四步,构建归一化层,对第三步的加密输出矩阵进行归一化。原归一化的公式表示为由于二值卷积神经网络的特殊性,本发明不需要知道归一化后的特征矩阵值,而是只要判断矩阵中的每一项是否大于0,因此只需执行加法运算,无需执行乘法运算。其中,加法运算是通过一个N比特同态加法器来实现的。经过加法运算后,得到的加密矩阵中的每一项都是多比特数据进行加密的密文数组,对密文进行二值操作可以通过以下步骤实现:提取密文的符号位并对其执行非运算,得到一个对单比特数据进行加密的TLWE密文,该密文即为输出的新二值特征矩阵中的一项。
第五步,构建全连接层,输入加密特征向量,以及二值权重矩阵。加密特征向量的每一项都是对单比特数据进行加密的TLWE密文,二值权重矩阵的每一项都是1比特的明文,并将每一个权重值都映射到实数环面上。因此,在计算神经元时,可以将明文和密文间的乘法运算转换为单比特明文和密文间的同或运算,该步骤通过自举同或门来实现。在经过自举门之后,还需要执行密文扩充操作,即将对1比特数据{0,1}进行加密的密文扩充为对N比特数据{-1,1}进行逐位加密的密文数组。加法运算是通过一个N比特同态加法器来实现的。输出向量为加密结果向量,该向量中的每一项都是对神经元计算结果进行逐位加密的TLWE密文数组。需要注意的是,在将加密特征向量输入全连接层之前,需要先将加密特征矩阵展平为加密特征向量。
全连接层后的激活层的建立方式参考第二步。
第六步,执行两次第一步至第四步、一次第五步、一次第二步,即可构建基于布尔电路的同态加密神经网络。
实施例四
基于实施例三,本发明提出的N比特同态加法器如图2所示。
所述N比特同态加法器,可以实现对两个N比特密文的加法运算,输出结果为一个N比特的新密文。可以通过自举异或门、自举与门以及自举或门的组合来实现同态全加器。将N-1个同态全加器和2个自举异或门组合,即可实现一个N比特同态加法器。
该模块是通过N-1个同态全加器和2个自举异或门组合而成的,同态全加器的布尔代数表示为:
[Ci]=[Ai]&[Bi]^([Ci-1]&([Ai]^[Bi]))
实施例五
基于实施例四,本发明提出的密态乘法运算模块如图3所示。其中,HFA的全称为Homomorphic Full Adder,即同态全加器。
N比特同态阵列乘法器,可以实现对两个N比特密文的乘法运算,输出结果为一个2N比特的新密文。该模块是通过N(N-1)个同态全加器组合而成的,其推导过程为:
设[A]、[B]为两个N比特的密文,[P]=[A]·[B],则:
令N=4,实现了一个4比特密态乘法运算模块。
实施例六
基于实施例一提出的一种基于同态加密的二值卷积神经网络,可以实现对加密MNIST数据集的分类。本发明提供的密态网络模型与其他密态网络模型的运行时间及推理准确率对比如表2所示。其中,BCCI网络仅实现了一层卷积神经网络,缺少对密文的归一化操作,且涉及到的密文乘法运算次数多于本实例,因此运行时间较长,推理准确率较低;HCNN网络仅实现了基于同态加密的一般卷积神经网络,精度损失较少,准确率高,但在作卷积运算时涉及到大量的多比特密文乘法运算,因此运行时间约为本实例的4倍。
表2对于不同密态网络模型的整体评估结果
密态网络模型 | 密态网络运行时间 | 推理准确率 |
本实例 | 8h 17m 4s | 97.35% |
BCCI | 16h 12m 39s | 97.11% |
HCNN | 33h 9m 15s | 99.00% |
实施例七
如图4所示,基于一种算术电路的加密神经网络,本发明改进了原有的自举算法,可以在对高噪声密文[m]进行自举的同时,实现对密文的ReLU激活操作,从而输出一个低噪声密文bs_ReLU[m]。
本实例的具体步骤包括:
步骤2-1:输入一个对明文m进行加密的TLWEs密文,即[m]=(a1,a2,……,an,b),m为整数,取值范围为[-B,B-1];输入一个TGSW形式的密钥BK,一个密钥切换钥匙KS,一个测试向量testv。取n=600,2B=1024。
步骤2-3:计算对k∈[1,n],循环执行/> 其中/>Bg、l皆为设定好的参数值;BKk为TGSW形式的密钥,即/>为TGSW形式的密文;ACC表示为TRLWE形式,即/>符号⊙表示外积,TGSW⊙TRLWE的结果为TRLWE密文。令Bg=210,l=3,k=1。
步骤2-5:利用密钥切换钥匙KS,根据TFHE同态加密方案中提供的密钥切换算法,将TLWEs′(ReLU(m))转换为TLWEs(ReLU(m))。其中,s表示原私钥,s′为自举过程中产生的新私钥。
测试结果表明,本实例中的ReLU自举算法在m∈[-B/2,B/2]范围内是成立的。同时,利用该自举算法,能成功建立二值卷积神经网络的激活层,并获得正确的计算结果。
实施例八
基于实施例一提出的改进的自举算法,本实例提出的一种基于算术电路的同态加密神经网络模型如图2所示。
本实例的具体步骤包括:
操作1:建立卷积层:输入经预处理和TFHE加密后的标准二值图像矩阵,以及标准二值权重矩阵,并将每一个权重值都映射到实数环面上,对两个输入矩阵作二值卷积运算,输出高噪声的加密特征矩阵。需要注意的是,该操作中预处理和加密步骤是在MNIST数据集上进行的,在实际应用中,这两个步骤的执行方为客户端,构建加密神经网络并对加密数据进行处理的执行方为云端。本实例即为在云端的角度上,提出了一种基于算术电路的同态加密神经网络的实现方法。
该操作的具体步骤包括:
步骤1:输入经预处理和TFHE加密后的尺寸为的标准二值图像矩阵[C],以及尺寸为(ω1,ω2,ω3,ω3′)的标准二值权重矩阵W1。[A]中的每一项为TLWE密文,即[ci,j,t]=(a1,a2,……,an,b),/>中每一个权重值都映射到实数环面/>上,即/>其中私钥s=(s1,s2,……,sn),为集合{0,1}n上的随机均匀分布;公钥a=(a1,a2,……,an),为/>上的随机均匀分布;噪声e为(0,σ)上的高斯分布,σ为设定的标准差值,n为设定的密钥参数;ω1、ω2、ω3分别为权重矩阵W的长度、宽度、深度,ω3同时也是输入矩阵的深度,/>为输入矩阵的长度和宽度,ω3′为输出矩阵的深度。本实例中令ω1=ω2=5,在不同的卷积层中,/>ω3和ω3′的设定值在变化。
操作2:建立激活层:输入高噪声的加密特征矩阵,对矩阵中的每一项执行优化后的自举算法,输出低噪声的加密特征矩阵。
该操作的具体步骤包括:
操作3:建立最大池化层:输入低噪声的加密特征矩阵,利用优化后的自举算法实现对两个密文的比较操作,输出低噪声的降维加密特征矩阵。
该操作的具体步骤包括:
步骤1:输入低噪声的加密特征矩阵[C3]。
步骤2:利用优化后的自举算法实现对两个密文的比较操作,输出低噪声的降维加密特征矩阵[C4]。对四个TLWE密文[x1]、[x2]、[x3]、[x4]进行比较,计算最大值,具体实现方式为:y1=max([x1],[x2])=[x1]+bs_ReLU([x2]-[x1]),y2=max([x3],[x4])=[x3]+bs_ReLU([x4]-[x3]),max([x1],[x2],[x3],[x4])=max([y1],[y2])=[y1]+bs_ReLU([y2]-[y1])。输出矩阵的尺寸为
操作4:建立归一化层:输入低噪声的降维加密特征矩阵,对其进行归一化,并对归一化后的密态结果进行同态评估,输出对±1进行加密的新二值特征矩阵。
该操作的具体步骤包括:
步骤1:输入低噪声的降维加密特征矩阵[C4],对其进行归一化,输入低噪声的降维加密特征矩阵[C4],对其进行归一化。原归一化公式为由于二值卷积神经网络的特殊性,本发明不需要知道归一化后的特征矩阵值,而是只要判断矩阵中的每一项是否大于0,因此只需执行减法运算,无需执行除法运算。归一化层的建立方式可以优化为:对[C3]中的每一项[ci″,j″,t″],计算得到[C4]中的每一项/> 即可。其中/>t″∈[1,ω3′],μ为已知的均值。
操作5:建立全连接层:输入加密特征向量,以及二值权重矩阵,并将每一个权重值都映射到实数环面上,对两个输入执行对应的乘法运算和求和运算,输出一维的加密结果向量。需要注意的是,在将加密特征向量输入全连接层之前,需要先将加密特征矩阵展平为加密特征向量。
该操作的具体步骤包括:
步骤2:对两个输入执行对应的乘法运算和求和运算,输出一维的加密结果向量,该向量的第j项可以表示为∑i[ci]·wi,j,其中i的取值范围为[1,length(c)]。
全连接层的建立方式与卷积层的建立方式类似,全连接层后的激活层的建立方式参考操作2。
本发明提供的基于布尔电路的同态加密神经网络与基于算术电路的同态加密神经网络的自举次数和运行时间对比如表3所示。基于算术电路的同态加密神经网络运行速度提升了约584倍。
表3基于算术电路网络和基于布尔电路网络的评估结果
密态网络模型 | 自举次数 | 密态网络运行时间 |
基于布尔电路 | ≈2.8M | 8h 17m 4s |
基于算术电路 | 5184 | 51s |
总之,在该实施例中,拓展了TFHE方案的明文消息空间。原始的TFHE库只支持对二值数据的各项计算,具有较大的局限性,而本发明将明文消息空间从{0,1}拓展到了[-B,B-1],使得TFHE可以支持基于算术电路的直接乘法和加法运算。改进了原始的自举算法。原始的自举算法只支持sign函数自举,若要构建二值卷积神经网络,该自举算法无法完成对高噪声密文的ReLU激活操作,而本发明中改进后的算法可以在对高噪声密文进行自举的同时,实现对密文的ReLU激活操作,输出为低噪声密文。改进后的自举算法使得激活层得以被成功构建,也使得整个加密神经网络得以正确运行。提出了一种基于算术电路的同态加密神经网络实现方法,解决了现有技术方案中基于布尔电路的加密神经网络计算开销大、运行时间慢的问题。相比于布尔电路,算术电路仅在激活层和池化层中引入自举门,而布尔电路的每一层都需要引入自举门,包括乘法和加法的运算,都需要通过对不同的自举门进行组合来实现,因此一个基于布尔电路的加密神经网络所需的自举门的数量远多于一个基于算术电路的加密神经网络所需数量,因此计算开销巨大、运行时间很慢。
Claims (8)
1.一种基于同态加密的二值卷积神经网络实现方法,其特征在于,包括以下步骤:
步骤1、云端对MNIST数据集进行归一化和二值化处理,得到二值图像数据;云端构建明文下二值卷积神经网络模型,训练网络参数;
步骤2:客户端使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端;
步骤3:云端根据训练得到的网络参数,构建一个基于布尔电路的加密神经网络,对加密图像数据进行推理,将密态推理结果传输到客户端;
步骤4:客户端对密态推理结果进行解密,得到最终结果。
2.根据权利要求1所述的一种基于同态加密的二值卷积神经网络实现方法,其特征在于,步骤1中云端对MNIST数据集进行归一化和二值化处理,具体包含以下步骤:
其中xi表示原始数据,yi表示处理后的数据,μ为均值,σ2为方差,∈为大于零的常数;
步骤1中云端构建明文下二值卷积神经网络模型具体包含以下步骤:
步骤13、确定二值卷积神经网络结构;
步骤14、建立二值卷积神经网络的前向传播过程,包括:
步骤141、对权重矩阵Wl进行二值处理,得到二值权重矩阵sign(Wl);
其中,l表示神经网络的第l层,ω1和ω2分别表示卷积核的长度和宽度,ω3表示卷积核的深度,Il表示第l层神经网络的输入矩阵,符号*表示二值卷积运算,符号·表示点乘运算;缩放因子γl和缩放矩阵Kl都是尺度参数,使得γl·sign(Wl)≈Wl,Kl·sign(Il)≈Il;
步骤143、执行二值卷积运算后,使用ReLU非线性函数对运算结果进行激活;
步骤16:通过迭代训练最优参数,确定最优模型。
3.根据权利要求2所述的一种基于同态加密的二值卷积神经网络实现方法,其特征在于,步骤2中客户端使用TFHE加密方案对二值图像数据进行同态加密,具体包括以下步骤:
基于布尔电路的加密神经网络加密方式为:
计算b=<s,a>+m′/2+e,其中私钥s=(s1,s2,......,sn),为集合{0,1}n上的随机均匀分布;公钥a=(a1,a2,......,an),为上的随机均匀分布;噪声e为(0,σ)上的高斯分布,σ为设定的标准差值;n为设定的密钥参数;得到密文(a,b);[·]表示密文形式;
步骤23:对缩放矩阵Kl中的每一个元素取10比特精度,重复步骤22,对元素进行逐位加密,得到加密缩放矩阵[Kl],加密缩放矩阵[Kl]中的元素构成形式为密文数组,即10-TLWE:
基于算术电路的加密神经网络加密方式为:
4.根据权利要求3所述的一种基于同态加密的二值卷积神经网络实现方法,其特征在于,步骤3中云端根据训练得到的网络参数,构建一个基于布尔电路的加密神经网络,对加密图像数据进行推理,得到密态结果,具体包括如下步骤:
步骤31:构建卷积层:
其中,非标准二值间的密态逻辑运算可以通过调用TFHE库中的自举门来实现;密文扩充操作可以将对单比特数据{0,1}进行加密的密文扩充为对多比特数据{-1,1}进行逐位加密的密文数组;一个N比特同态加法器由N-1个同态全加器和2个自举异或门组合而成;
步骤313、对特征密文矩阵与加密缩放矩阵[Kl]、缩放因子γl进行点乘运算,得到密文输出矩阵;其中,可以通过一个N比特同态阵列乘法器来实现密态乘法运算,该乘法器由N(N-1)个同态全加器组合而成;
步骤32:构建激活层:
选取ReLU函数作为激活函数,将激活值作为卷积层的输出,对密文进行ReLU激活可通过以下步骤实现:提取密文的符号位并对其执行非运算,得到一个对1比特数据进行加密的密文,用该密文与原密文进行逐位与运算即可得到原密文的激活值;
步骤33:构建最大池化层,最大池化操作通过密文比较算法来实现:
[t0]=0,[vi]=[Ai]⊙[Bi]
[Ri]=([tN-1]&[Ai])⊙(~[tN-1]&[Bi])
步骤34:构建归一化层:
步骤33:构建全连接层,全连接层的构建方式类似于激活层,不同的是,其中每一个结点都与上一层的所有结点相连。
6.根据权利要求3所述的一种基于同态加密的二值卷积神经网络实现方法,其特征在于,
步骤3中云端根据训练得到的网络参数,构建一个基于算术电路的加密神经网络,对加密图像数据进行推理,得到密态结果,具体包括如下步骤:
步骤3b、建立激活层:输入高噪声的加密特征矩阵,对矩阵中的每一项执行优化后的自举算法,输出低噪声的加密特征矩阵;
步骤3c、建立最大池化层:输入低噪声的加密特征矩阵,利用优化后的自举算法实现对两个密文的比较操作,输出低噪声的降维加密特征矩阵;
步骤3d、建立归一化层:输入低噪声的降维加密特征矩阵,对其进行归一化,并对归一化后的密态结果进行同态评估,输出对±1进行加密的新二值特征矩阵;
7.根据权利要求6所述的一种基于同态加密的二值卷积神经网络实现方法,其特征在于,
所述步骤3a中,建立卷积层的过程包括:
输入经预处理和TFHE加密后的标准二值图像矩阵[I],以及标准二值权重矩阵W1,其中的每一项为TLWE密文,即[Ii,j,t]=(a1,a2,......,an,b),W1中每一个权重值都映射到实数环面/>上,即/>其中私钥s=(s1,s2,......,sn),为集合{0,1}n上的随机均匀分布;公钥a=(a1,a2,......,an),为/>上的随机均匀分布,噪声e为(0,σ)上的高斯分布,σ为设定的标准差值,n为设定的密钥参数;
所述步骤3b中,建立激活层具体包括如下步骤:
输入高噪声的加密特征矩阵[I2];
对矩阵中的每一项执行优化后的自举算法bs_ReLU,输出低噪声的加密特征矩阵[I3],则该加密特征矩阵为对输入矩阵进行ReLU激活后的结果;
所述步骤3c中,建立最大池化层具体包括如下步骤:
输入低噪声的加密特征矩阵[I3];
利用优化后的自举算法实现对两个密文的比较操作,输出低噪声的降维加密特征矩阵[I4]。对四个TLWE密文[x1]、[x2]、[x3]、[x4]进行比较,计算最大值,具体实现方式为:y1=max([x1],[x2])=[x1]+bs_ReLU([x2]-[x1]),y2=max([x3],[x4])=[x3]+bs_ReLU([x4]-[x3]),max([x1],[x2],[x3],[x4])=max([y1],[y2])=[y1]+bs_ReLU([y2]-[y1])。
8.一种基于同态加密的二值卷积神经网络系统,其特征在于,包括:
云端,用于对MNIST数据集进行归一化和二值化处理,得到二值图像数据并发送给客户端;
在云端构建明文下二值卷积神经网络模型,训练网络参数,根据训练得到的网络参数构建一个基于布尔电路的加密神经网络;
云端在接收到客户端发送的加密图像数据后,对加密图像数据进行推理,将密态推理结果传输到客户端;
客户端,用于接收云端的二值图像数据并使用TFHE加密方案对二值图像数据进行同态加密,将加密图像数据传输给云端;
在接收云端返回的密态推理结果后,对密态推理结果进行解密,得到最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211372806.4A CN115860094A (zh) | 2022-11-03 | 2022-11-03 | 基于同态加密的二值卷积神经网络实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211372806.4A CN115860094A (zh) | 2022-11-03 | 2022-11-03 | 基于同态加密的二值卷积神经网络实现方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115860094A true CN115860094A (zh) | 2023-03-28 |
Family
ID=85662485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211372806.4A Pending CN115860094A (zh) | 2022-11-03 | 2022-11-03 | 基于同态加密的二值卷积神经网络实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115860094A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170802A (zh) * | 2023-04-26 | 2023-05-26 | 浙江鹏信信息科技股份有限公司 | 物联网通信方法、系统及计算机可读存储介质 |
CN116663064A (zh) * | 2023-07-25 | 2023-08-29 | 武汉大学 | 一种隐私保护神经网络预测方法及系统 |
CN117237115A (zh) * | 2023-11-15 | 2023-12-15 | 四川绿豆芽信息技术有限公司 | 一种碳排放交易的加密方法及系统 |
-
2022
- 2022-11-03 CN CN202211372806.4A patent/CN115860094A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170802A (zh) * | 2023-04-26 | 2023-05-26 | 浙江鹏信信息科技股份有限公司 | 物联网通信方法、系统及计算机可读存储介质 |
CN116170802B (zh) * | 2023-04-26 | 2023-07-07 | 浙江鹏信信息科技股份有限公司 | 物联网通信方法、系统及计算机可读存储介质 |
CN116663064A (zh) * | 2023-07-25 | 2023-08-29 | 武汉大学 | 一种隐私保护神经网络预测方法及系统 |
CN116663064B (zh) * | 2023-07-25 | 2023-10-20 | 武汉大学 | 一种隐私保护神经网络预测方法及系统 |
CN117237115A (zh) * | 2023-11-15 | 2023-12-15 | 四川绿豆芽信息技术有限公司 | 一种碳排放交易的加密方法及系统 |
CN117237115B (zh) * | 2023-11-15 | 2024-02-23 | 四川绿豆芽信息技术有限公司 | 一种碳排放交易的加密方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301571B2 (en) | Neural-network training using secure data processing | |
Wang et al. | Image encryption algorithm based on the matrix semi-tensor product with a compound secret key produced by a Boolean network | |
Kaur et al. | Secure and energy efficient-based E-health care framework for green internet of things | |
CN112989368B (zh) | 多方联合进行隐私数据处理的方法及装置 | |
CN115860094A (zh) | 基于同态加密的二值卷积神经网络实现方法及系统 | |
Xiong et al. | Toward lightweight, privacy-preserving cooperative object classification for connected autonomous vehicles | |
CN113297606B (zh) | 基于多混沌与dna运算的彩色量子图像加密及解密方法 | |
Jang et al. | Grover on SPECK: quantum resource estimates | |
Jiang et al. | Efficient two-party privacy-preserving collaborative k-means clustering protocol supporting both storage and computation outsourcing | |
Park et al. | HE-friendly algorithm for privacy-preserving SVM training | |
Bian et al. | ENSEI: Efficient secure inference via frequency-domain homomorphic convolution for privacy-preserving visual recognition | |
CN112052466B (zh) | 基于多方安全计算协议的支持向量机用户数据预测方法 | |
Song et al. | A bitwise design and implementation for privacy-preserving data mining: from atomic operations to advanced algorithms | |
Korayem et al. | Color image encryption using a sine variation of the logistic map for s-box and key generation | |
Rabyk et al. | Method and means of symmetric real-time neural network data encryption | |
CN116094686B (zh) | 用于量子卷积计算的同态加密方法、系统、设备及终端 | |
Li et al. | GPU accelerated full homomorphic encryption cryptosystem, library and applications for iot systems | |
Babenko et al. | Euclidean division method for the homomorphic scheme ckks | |
Lei et al. | Accelerating homomorphic full adder based on fhew using multicore cpu and gpus | |
CN116248252B (zh) | 一种用于联邦学习的数据点乘处理方法 | |
CN112751671B (zh) | 一种基于树型奇偶机的新型密钥交换方法 | |
CN113434886B (zh) | 联合生成用于安全计算的数据元组的方法及装置 | |
Alsaedi | Novel scheme for image encryption and decryption based on a Hermite-Gaussian matrix | |
CN116232562B (zh) | 一种模型推理方法和装置 | |
Elkamchouchi et al. | A deep learning signed medical image based on cryptographic techniques |
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 |