CN110516464A - 基于神经网络计算的数据保护方法及相关设备 - Google Patents
基于神经网络计算的数据保护方法及相关设备 Download PDFInfo
- Publication number
- CN110516464A CN110516464A CN201910824316.5A CN201910824316A CN110516464A CN 110516464 A CN110516464 A CN 110516464A CN 201910824316 A CN201910824316 A CN 201910824316A CN 110516464 A CN110516464 A CN 110516464A
- Authority
- CN
- China
- Prior art keywords
- data
- public key
- encryption
- encryption data
- server
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000001537 neural effect Effects 0.000 title claims abstract description 56
- 238000013528 artificial neural network Methods 0.000 claims abstract description 84
- 238000003860 storage Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 45
- 239000011159 matrix material Substances 0.000 claims description 40
- 238000012549 training Methods 0.000 claims description 32
- 238000012360 testing method Methods 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 241001269238 Data Species 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 6
- 210000005036 nerve Anatomy 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 230000001815 facial effect Effects 0.000 description 20
- 238000004422 calculation algorithm Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 239000011248 coating agent Substances 0.000 description 4
- 238000000576 coating method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect Effects 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/602—Providing cryptographic facilities or services
-
- 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
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
Abstract
本发明公开了一种基于神经网络计算的数据保护方法,包括:生成公钥和私钥并将所述公钥发送至服务器;采用所述公钥对用户数据进行加密得到第一加密数据;发送所述第一加密数据至所述服务器;接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据;采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。本发明还公开了另一种基于神经网络计算的数据保护方法、装置、计算机设备及存储介质。本发明通过借助神经网络和全同态加密的思想,保证了数据安全的同时提高了计算效率。
Description
技术领域
本发明涉及数据安全技术领域,尤其涉及一种基于神经网络计算的数据保护方法、装置、计算机设备及存储介质。
背景技术
现代社会,以深度神经网络为代表的新一代人工智能技术被广泛的应用到各个领域,如医疗、商业、教育以及公共安全等。
目前主流的神经网络计算方案有两种:一种是在客户端进行数据的计算,由于不用上传数据到服务器,能够消除隐私泄露的风险,但是对客户端设备的性能要求很高;二是将数据上传到服务器进行计算,再返回计算结果至客户端,服务器具有较高的数据计算性能,能够提高数据计算效率,但是存在隐私泄露的风险。
因此,有必要提供一种基于神经网络计算的数据保护方案,既能保证数据安全,又能提高计算效率。
发明内容
本发明的主要目的在于提供一种基于神经网络计算的数据保护方法、装置、计算机设备及存储介质,旨在解决数据安全和数据计算效率无法兼顾的技术问题,通过借助神经网络和全同态加密的思想,保证了数据安全的同时提高了计算效率。
为实现上述目的,本发明的第一方面提供一种基于神经网络计算的数据保护方法,应用于客户端中,所述方法包括:
生成公钥和私钥并将所述公钥发送至服务器;
采用所述公钥对用户数据进行加密得到第一加密数据;
发送所述第一加密数据至所述服务器;
接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据;
采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
根据本发明的一个可选实施例,所述采用所述公钥对用户数据进行加密得到第一加密数据包括:
计算用户数据的维度;
根据所述维度初始化一个矩阵,其中,所述矩阵的每个索引与所述用户数据中的每个数据一一对应;
采用所述公钥对所述每个数据进行加密;
将加密后的每个数据存储于所述矩阵中对应的索引中;
将存储于加密数据的矩阵作为所述第一加密数据。
根据本发明的一个可选实施例,所述采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果包括:
采用所述私钥对所述第二加密数据逐层进行解密得到所述神经网络计算模型的计算结果;
显示所述计算结果。
为实现上述目的,本发明的第二方面提供一种基于神经网络计算的数据保护方法,应用于服务器中,所述方法包括:
接收客户端发送的公钥及第一加密数据;
通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据;
发送所述第二加密数据至所述客户端。
根据本发明的一个可选实施例,所述通过神经网络计算模型的激活函数为sigmoid函数,所述通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据包括:
将所述sigmoid函数进行泰勒展开后替换为多项式函数;
通过所述公钥和所述多项式函数对所述第一加密数据进行全同态加密计算得到所述第二加密数据。
根据本发明的一个可选实施例,所述方法还包括:
获取数据集,其中,所述数据集包括:多个加密数据、每个加密数据对应的公钥及使用所述公钥进行全同态加密计算得到的加密结果;
将所述数据集划分为训练集和测试集;
将所述训练集输入卷积神经网络中进行训练得到神经网络计算模型;
将所述测试集输入所述神经网络计算模型中进行测试得到测试通过率;
当测试通过率大于或等于预设通过率阈值时,结束所述神经网络计算模型的训练。
为实现上述目的,本发明的第三方面提供一种基于神经网络计算的数据保护装置,运行于客户端中,所述装置包括:
密钥生成模块,用于生成公钥和私钥并将所述公钥发送至服务器;
数据加密模块,用于采用所述公钥对用户数据进行加密得到第一加密数据;
数据发送模块,用于发送所述第一加密数据至所述服务器;
数据接收模块,用于接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据;
数据解密模块,用于采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
为实现上述目的,本发明的第四方面提供一种基于神经网络计算的数据保护装置,运行于服务器中,所述装置包括:
接收模块,用于接收客户端发送的公钥及第一加密数据;
计算模块,用于通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据;
发送模块,用于发送所述第二加密数据至所述客户端。
为实现上述目的,本发明的第五方面提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于神经网络计算的数据保护的下载程序,所述基于神经网络计算的数据保护的下载程序被所述处理器执行时实现所述的基于神经网络计算的数据保护方法。
为实现上述目的,本发明的第六方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于神经网络计算的数据保护的下载程序,所述基于神经网络计算的数据保护的下载程序可被一个或者多个处理器执行以实现所述的基于神经网络计算的数据保护方法。
本发明实施例所述的基于神经网络计算的数据保护方法、装置、计算机设备及存储介质,借助神经网络和全同态加密的思想,通过客户端将用户数据加密后发给服务器,在服务器侧进行全同态加密后再返回加密计算结果,最后由客户端对计算结果进行解密。用户数据在客户端与服务器之间传输的过程中加密的,能够确保用户数据的安全性,避免隐私数据被泄露;此外,通过服务器提高了数据计算的效率。
附图说明
图1为本发明第一实施例的基于神经网络计算的数据保护方法的流程示意图;
图2为本发明第二实施例的基于神经网络计算的数据保护方法的流程示意图;
图3为本发明第三实施例的基于神经网络计算的数据保护装置的功能模块示意图;
图4为本发明第四实施例的基于神经网络计算的数据保护装置的功能模块示意图;
图5为本发明第五实施例的计算机设备的内部结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
参阅图1所示,为本发明第一实施例揭露的基于神经网络计算的数据保护方法的流程图。
所述基于神经网络计算的数据保护方法,应用于客户端中,具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11,生成公钥和私钥并将所述公钥发送至服务器。
本实施例中,在互联网系统中,客户端可以是指用户设备,客户端生成公私钥对后将公钥发送给服务器,所述服务器是指能够提供高性能计算能力的设备;在区块链系统中,客户端可以是指第一节点设备,客户端生成公私钥对后将所述公钥广播给区块链系统中的其他节点设备,例如,第二节点设备。如下以客户端与服务器的交互为例来阐述本发明的发明思想。
客户端中可以预先存储有密钥生成算法来生成对称或者非对称的密钥对(公钥和私钥),所述密钥生成算法可以包括对称密钥生成算法或者非对称密钥生成算法。客户端中还可以预先设置密钥生成工具来生成对称或者非对称的密钥对(公钥和私钥)。客户端生成公钥和私钥之后,将私钥保存在本地,将公钥发送给互联网中的服务器,或者广播至区块链系统的其他节点设备,以便于后续服务器或者其他节点设备使用所述公钥对数据进行加密,客户端使用所述私钥对服务器加密后的数据进行解密。
密钥生成算法要求有一个可信任的随机数,利用所述随机数来生成密钥对。用户可以直接在客户端显示的用户界面中输入一个随机数;也可以在其他客户端显示的用户界面中输入一个随机数,再通过其他客户端发送所输入的随机数至所述客户端。所述输入可以是以文字的形式输入,可以是以语音的形式输入,还可以是以列表选项的形式进行选择后输入。所述输入的形式不限于上述列举的实施例,任何能够向客户端输入随机数的方式均可包含于此。
所述随机数为正常数,用以表示生成公钥和私钥的复杂度。随机数越大,复杂度越高,安全性越强,但是生成公钥和私钥的计算量越大;随机数越小,复杂度越低,安全性越弱,但是生成公钥和私钥的计算量越小。因而,为了平衡公钥和私钥的安全性与生成公钥和私钥的效率,随机数可以为5。
S12,采用所述公钥对用户数据进行加密得到第一加密数据。
本实施例中,所述用户数据可以由用户依据实际情况进行设置。例如,用户若要对一张人脸图像进行鉴别时,则所述用户数据可以为人脸图像。用户若要对一张食物图像进行分类时,则所述用户数据可以为食物图像。在区块链系统中,所述用户数据可以包括与交易相关的隐私数据,例如,交易金额等。
当用户数据被确定之后,客户端采用保存在本地的公钥对所述用户数据进行加密得到加密数据。为了便于与下文进行区分描述,本发明在此将客户端采用公钥进行加密得到的加密数据称之为第一加密数据。
在一个可选的实施例中,所述采用所述公钥对用户数据进行加密得到第一加密数据包括:
计算用户数据的维度;
根据所述维度初始化一个矩阵,其中,所述矩阵的每个索引与所述用户数据中的每个数据一一对应;
采用所述公钥对所述每个数据进行加密;
将加密后的每个数据存储于所述矩阵中对应的索引中;
将存储于加密数据的矩阵作为所述第一加密数据。
在该可选的实施例中,所述用户数据是以矩阵的形式存在的。所述用户数据的维度是指存储用户数据的矩阵的大小。例如,当用户数据为人脸图像时,所述用户数据的维度是指存储所述人脸图像像素的矩阵的维度[H,W,C],其中,H指所述人脸图像的高,W指所述人脸图像的宽,C指所述人脸图像的颜色通道。
客户端先根据用户数据的维度初始化一个空矩阵,所述空矩阵的维度与所述用户数据的维度相同。即,所述空矩阵的大小与存储用户数据的矩阵的大小相同。所述空矩阵的索引与存储用户数据的矩阵的索引一一对应。
客户端采用所述公钥将用户数据中的每一个数据都进行加密,然后对应存储在所述空矩阵中,使得空矩阵中对应存储所有加密后的数据。示例性的,假设用户数据I,维度为[H,W,C],则初始化的空矩阵A维度为[H,W,C],对于每一个用户数据I[i]进行加密后存储在A[i]中,其中i的范围为[0,H*W*C-1]。
在一个可选的实施例中,所述采用所述公钥对用户数据进行加密得到第一加密数据包括:
采用所述公钥对用户数据进行全同态加密得到第一加密数据。
在该可选的实施例中,采用全同态加密的方式相比于其他加密方式能保证加密前数据的分布与加密后数据的分布一致,即使得明文和密文分布一致。而明文和密文分布一致能保证具有较高的实际应用价值,例如,在检索或者查询密文时准确率更高。
S13,发送所述第一加密数据至所述服务器。
本实施例中,客户端将对用户数据进行加密后得到的第一加密数据发送至服务器或者其他节点设备,由服务器或者其他节点设备对第一加密数据进行计算,省去了客户端计算用户数据的压力,此外将加密后的用户数据上传至服务器或者其他节点设备,还能保证整个上传过程中用户数据都是加密的,安全的,确保用户数据中的隐私信息不被泄露。
S14,接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据。
本实施例中,服务器或者其他节点设备接收到第一加密数据后,通过神经网络计算模型对第一加密数据进行全同态加密计算得到加密数据,并将得到加密数据发送给客户端。本发明在此将服务器或者其他节点设备采用公钥进行加密得到的加密数据称之为第二加密数据。
关于服务器或者其他节点设备通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算的过程,参见图2及其相关描述,本发明在此不再阐述。
S15,采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
本实施例中,客户端接收到服务器发送的第二加密数据后,采用与所述公钥对应的所述私钥进行解密,即可得到计算结果。
在一个可选的实施例中,所述采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果包括:
采用所述私钥对所述第二加密数据逐层进行解密得到所述神经网络计算模型的计算结果;
显示所述计算结果。
在该可选的实施例中,由于服务器是通过神经网络计算模型进行计算的,而神经网络计算模型是通过训练神经网络得到的能够用于数据计算的模型,在一个神经网络中,包括输入层、输出层及位于输入层和输出层之间的若干个隐藏层,每层均有若干神经元,每一个神经元都参与数据计算,因此,最后服务器通过神经网络计算模型进行全同态加密计算得到的是一个包含了多层全同态加密的结果。因此,客户端需要从外向内逐层进行解密,才能得到计算结果。
示例性的,假设神经网络计算模型中包含有n层{Layer_1,Layer_2,Layer_3,……,Layer_n},则神经网络计算模型的输出结果result=Enc(Layer_n.....(Enc(Layer_2(Enc(Layer_1(I)))))),客户端显示解密后的结果Dec(result)给用户。
本实施例所述的基于神经网络计算的数据保护方法,借助神经网络和全同态加密的思想,通过客户端将用户数据加密后发给服务器,在服务器侧进行全同态加密后再返回加密计算结果,最后由客户端对计算结果进行解密。用户数据在客户端与服务器之间传输的过程中自始至终都是加密的,实现了全程加密,能够确保用户数据的安全性,避免隐私数据被泄露;此外,通过服务器提高了数据计算的效率。
实施例二
参阅图2所示,为本发明第二实施例揭露的基于神经网络计算的数据保护方法的流程图。
所述基于神经网络计算的数据保护方法,具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S21,接收客户端发送的公钥及第一加密数据。
本实施例中,在互联网系统中,可以是由服务器接收客户端发送的公钥及第一加密数据,所述服务器是指能够提供高性能计算能力的设备,所述客户端可以是指用户设备;在区块链系统中,可以是由第二节点设备接收第一节点设备发送的公钥及第一加密数据。如下以服务器与客户端的交互为例来阐述本发明的发明思想。
所述公钥及第一加密数据可以是客户端同时发送至服务器,也可以是客户端先后发送至服务器,例如,先发送公钥至服务器,再发送第一加密数据至服务器。
服务器存储接收到的公钥,并将接收到的第一加密数据输入至预先训练好的神经网络计算模型中。
S22,通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据。
本实施例中,服务器采用全同态加密算法对第一加密数据进行计算。
全同态加密算法的原理是:令明文为m1和m2,加密操作为Enc,解密操作为Dec,则密文为Enc(m1)和Enc(m2),解密后的明文为Dec(Enc(m1))和Dec(Enc(m2))。显然应满足m1=Dec(Enc(m1)),m2=Dec(Enc(m2))。全同态操作满足以下特性:Enc(m1)☆Enc(m2)=Enc(m1☆m2),☆代表操作类型,全同态性意味着加密后的数据进行运算等于原始数据执行相同类型的运算结果再加密。
全同态加密算法可以包括:理想格全同态加密算法、整数全同态加密算法、整数环全同态加密算法。
在一个可选的实施例中,所述通过神经网络计算模型的激活函数为sigmoid函数,所述通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据包括:
将所述sigmoid函数进行泰勒展开后替换为多项式函数;
通过所述公钥和所述多项式函数对所述第一加密数据进行全同态加密计算得到所述第二加密数据。
在该可选的实施例中,可以采用卷积神经网络作为训练神经网络计算模型的原型,所述神经网络计算模型的每个激活层会执行W*X+B计算,W为权重,B为偏置,其中,所述神经网络的激活层可以选择性能较优的sigmoid函数作为激活函数。sigmoid函数的形式如下所示:
由于sigmoid函数为指数函数,计算较复杂。为了降低计算的复杂度,提高计算的效率,可以采用替换方法,将sigmoid函数进行泰勒展开并替换为多项式函数:0.5+0.25x-0.02*x^3+0.002*x^5,带入密文计算,则经过全同态加密后输出就变成了Enc(0.5)+Enc(0.25)*Enc(x)-Enc(0.02)*Enc(x)^3+Enc(0.002)*Enc(x)^5,其中,x=Enc(W)*Enc(X’)+Enc(B),X’为第一加密数据。所述Enc为采用所述公钥进行的加密操作。
全同态加密计算的过程为现有技术,本发明在此不再详细赘述。
S23,发送所述第二加密数据至所述客户端。
本实施例中,服务器计算得到第二加密数据后返回至客户端,以使得客户端对第二加密数据进行解密,得到计算结果。服务器接收的是客户端发送的加密数据,返回给客户端的也是加密数据,即,服务器与客户端的交互过程中,数据都是加密的,安全的。
在一个可选的实施例中,所述方法还包括:
获取数据集,其中,所述数据集包括:多个加密数据、每个加密数据对应的公钥及使用所述公钥进行全同态加密计算得到的加密结果;
将所述数据集划分为训练集和测试集;
将所述训练集输入卷积神经网络中进行训练得到神经网络计算模型;
将所述测试集输入所述神经网络计算模型中进行测试得到测试通过率;
当测试通过率大于或等于预设通过率阈值时,结束所述神经网络计算模型的训练。
示例性的,假设服务器中预先获取了10万张人脸图像,每张人脸图像对应有一个密钥对(公钥和私钥),每张人脸图像还对应有采用公钥进行加密得到的第一加密人脸图像及采用所述公钥进行全同态加密计算得到的第二加密人脸图像(如,人脸类别)。则可以将10万张第一加密人脸图像、对应第一加密人脸图像的公钥及第二加密人脸图像作为一个人脸图像数据集。将人脸图像数据集划分为训练集和测试集,其中,所述训练集中的数据大于测试集中的数据。
在第一次训练卷积神经网络时,该卷积神经网络的参数采用默认的参数进行训练,在训练过程不断调整参数,在训练生成神经网络计算模型后,利用测试集对所生成的神经网络计算模型进行测试,如果测试通过率大于等于预设测试通过率阈值,例如通过率大于等于98%,则训练结束,以该训练得到的神经网络计算模型为计算第一加密人脸图像的模型;如果验证通过率小于预设阈值,例如小于98%,则增加保险单样本图片的数量,并重新执行上述的步骤,直至验证通过率大于等于预设阈值。
需要说明的是,随着区块链技术的快速发展,通过区块链构造大型的互联网应用也越来越多。而区块链的公开可追溯可验证属性,导致目前区块链上的数据都是公开可见的,如果用户上传隐私数据到区块链上,那么所有节点都可见。因此,将本发明的借助神经网络和全同态加密的思想,应用于区块链网络上,能够有效的保证用户的隐私数据不被区块链上的节点可见。
本实施例所述的基于神经网络计算的数据保护方法,借助神经网络和全同态加密的思想,通过服务器接收客户端发送的公钥及第一加密数据,并通过神经网络计算模型采用所述公钥进行全同态加密计算第二加密数据,返回第二加密数据至客户端,以使得客户端对第二加密数据进行解密得到计算结果。用户数据在区块链的客户端与服务器之间传输的过程中自始至终都是加密的,实现了全程加密,能够确保用户数据的安全性,避免隐私数据被泄露;此外,通过服务器提高了数据计算的效率。
实施例三
参阅图3所示,为本发明实施例三揭露的基于神经网络计算的数据保护装置的功能模块示意图。
在一些实施例中,所述基于神经网络计算的数据保护装置30运行于资源服务器中。所述基于神经网络计算的数据保护装置30可以包括多个由程序代码段所组成的功能模块。所述基于神经网络计算的数据保护装置30中的各个程序段的程序代码可以存储于计算机设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图1描述)基于神经网络计算的数据保护方法中的全部或者部分步骤。
本实施例中,所述基于神经网络计算的数据保护装置30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:密钥生成模块301、数据加密模块302、数据发送模块303、数据接收模块304及数据解密模块305。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
密钥生成模块301,用于生成公钥和私钥并将所述公钥发送至服务器。
本实施例中,在互联网系统中,客户端可以是指用户设备,客户端生成公私钥对后将公钥发送给服务器,所述服务器是指能够提供高性能计算能力的设备;在区块链系统中,客户端可以是指第一节点设备,客户端生成公私钥对后将所述公钥广播给区块链系统中的其他节点设备,例如,第二节点设备。如下以客户端与服务器的交互为例来阐述本发明的发明思想。
客户端中可以预先存储有密钥生成算法来生成对称或者非对称的密钥对(公钥和私钥),所述密钥生成算法可以包括对称密钥生成算法或者非对称密钥生成算法。客户端中还可以预先设置密钥生成工具来生成对称或者非对称的密钥对(公钥和私钥)。客户端生成公钥和私钥之后,将私钥保存在本地,将公钥发送给互联网中的服务器,或者广播至区块链系统的其他节点设备,以便于后续服务器或者其他节点设备使用所述公钥对数据进行加密,客户端使用所述私钥对服务器加密后的数据进行解密。
密钥生成算法要求有一个可信任的随机数,利用所述随机数来生成密钥对。用户可以直接在客户端显示的用户界面中输入一个随机数;也可以在其他客户端显示的用户界面中输入一个随机数,再通过其他客户端发送所输入的随机数至所述客户端。所述输入可以是以文字的形式输入,可以是以语音的形式输入,还可以是以列表选项的形式进行选择后输入。所述输入的形式不限于上述列举的实施例,任何能够向客户端输入随机数的方式均可包含于此。
所述随机数为正常数,用以表示生成公钥和私钥的复杂度。随机数越大,复杂度越高,安全性越强,但是生成公钥和私钥的计算量越大;随机数越小,复杂度越低,安全性越弱,但是生成公钥和私钥的计算量越小。因而,为了平衡公钥和私钥的安全性与生成公钥和私钥的效率,随机数可以为5。
数据加密模块302,用于采用所述公钥对用户数据进行加密得到第一加密数据。
本实施例中,所述用户数据可以由用户依据实际情况进行设置。例如,用户若要对一张人脸图像进行鉴别时,则所述用户数据可以为人脸图像。用户若要对一张食物图像进行分类时,则所述用户数据可以为食物图像。在区块链系统中,所述用户数据可以包括与交易相关的隐私数据,例如,交易金额等。当用户数据被确定之后,客户端采用保存在本地的公钥对所述用户数据进行加密得到加密数据。为了便于与下文进行区分描述,本发明在此将客户端采用公钥进行加密得到的加密数据称之为第一加密数据。
在一个可选的实施例中,所述数据加密模块302采用所述公钥对用户数据进行加密得到第一加密数据包括:
计算用户数据的维度;
根据所述维度初始化一个矩阵,其中,所述矩阵的每个索引与所述用户数据中的每个数据一一对应;
采用所述公钥对所述每个数据进行加密;
将加密后的每个数据存储于所述矩阵中对应的索引中;
将存储于加密数据的矩阵作为所述第一加密数据。
在该可选的实施例中,所述用户数据是以矩阵的形式存在的。所述用户数据的维度是指存储用户数据的矩阵的大小。例如,当用户数据为人脸图像时,所述用户数据的维度是指存储所述人脸图像像素的矩阵的维度[H,W,C],其中,H指所述人脸图像的高,W指所述人脸图像的宽,C指所述人脸图像的颜色通道。
客户端先根据用户数据的维度初始化一个空矩阵,所述空矩阵的维度与所述用户数据的维度相同。即,所述空矩阵的大小与存储用户数据的矩阵的大小相同。所述空矩阵的索引与存储用户数据的矩阵的索引一一对应。
客户端采用所述公钥将用户数据中的每一个数据都进行加密,然后对应存储在所述空矩阵中,使得空矩阵中对应存储所有加密后的数据。示例性的,假设用户数据I,维度为[H,W,C],则初始化的空矩阵A维度为[H,W,C],对于每一个用户数据I[i]进行加密后存储在A[i]中,其中i的范围为[0,H*W*C-1]。
在一个可选的实施例中,所述数据加密模块302采用所述公钥对用户数据进行加密得到第一加密数据包括:
采用所述公钥对用户数据进行全同态加密得到第一加密数据。
在该可选的实施例中,采用全同态加密的方式相比于其他加密方式能保证加密前的数据分布与加密后的数据分布一致,即使得明文和密文信息分布一致。而明文和密文分布一致能保证具有较高的实际应用价值,例如,在检索或者查询密文时准确率更高。
数据发送模块303,用于发送所述第一加密数据至所述服务器。
本实施例中,客户端将对用户数据进行加密后得到的第一加密数据发送至服务器或者其他节点设备,由服务器或者其他节点设备对第一加密数据进行计算,省去了客户端计算用户数据的压力,此外将加密后的用户数据上传至服务器或者其他节点设备,还能整个上传过程中用户数据都是加密的,安全的,确保用户数据中的隐私信息不被泄露。
数据接收模块304,用于接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据。
本实施例中,服务器或者其他节点设备接收到第一加密数据后,通过神经网络计算模型对第一加密数据进行全同态加密计算得到加密数据,并将得到加密数据发送给客户端。本发明在此将服务器或者其他节点设备采用公钥进行加密得到的加密数据称之为第二加密数据。
关于服务器或者其他节点设备通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算的过程,参见图2及其相关描述,本发明在此不再阐述。
数据解密模块305,用于采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
本实施例中,客户端接收到服务器发送的第二加密数据后,采用与所述公钥对应的所述私钥进行解密,即可得到计算结果。
在一个可选的实施例中,所述数据解密模块305采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果包括:
采用所述私钥对所述第二加密数据逐层进行解密得到所述神经网络计算模型的计算结果;
显示所述计算结果。
在该可选的实施例中,由于服务器是通过神经网络计算模型进行计算的,而神经网络计算模型是通过训练神经网络得到的能够用于数据计算的模型,在一个神经网络中,包括输入层、输出层及位于输入层和输出层之间的若干个隐藏层,每层均有若干神经元,每一个神经元都参与数据计算,因此,最后服务器通过神经网络计算模型进行全同态加密计算得到的是一个包含了多层全同态加密的结果。因此,客户端需要从外向内逐层进行解密,才能得到计算结果。
示例性的,假设神经网络计算模型中包含有n层{Layer_1,Layer_2,Layer_3,……,Layer_n},则神经网络计算模型的输出结果result=Enc(Layer_n.....(Enc(Layer_2(Enc(Layer_1(I)))))),客户端显示解密后的结果Dec(result)给用户。
需要说明的是,随着区块链技术的快速发展,通过区块链构造大型的互联网应用也越来越多。而区块链的公开可追溯可验证属性,导致目前区块链上的数据都是公开可见的,如果用户上传隐私数据到区块链上,那么所有节点都可见。因此,将本发明的借助神经网络和全同态加密的思想,应用于区块链网络上,能够有效的保证用户的隐私数据不被区块链上的节点可见。
本实施例所述的基于神经网络计算的数据保护装置,借助神经网络和全同态加密的思想,通过客户端将用户数据加密后发给服务器,在服务器侧进行全同态加密后再返回加密计算结果,最后由客户端对计算结果进行解密。用户数据在区块链的客户端与服务器之间传输的过程中自始至终都是加密的,实现了全程加密,能够确保用户数据的安全性,避免隐私数据被泄露;此外,通过服务器提高了数据计算的效率。
实施例四
参阅图4所示,为本发明实施例四揭露的基于神经网络计算的数据保护装置的功能模块示意图。
在一些实施例中,所述基于神经网络计算的数据保护装置40运行于资源服务器中。所述基于神经网络计算的数据保护装置40可以包括多个由程序代码段所组成的功能模块。所述基于神经网络计算的数据保护装置40中的各个程序段的程序代码可以存储于计算机设备的存储器中,并由所述至少一个处理器所执行,以执行(详见图2描述)所述基于神经网络计算的数据保护方法中的全部或者部分步骤。
本实施例中,所述基于神经网络计算的数据保护装置40根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:接收模块401、计算模块402、发送模块403及训练模块404。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
接收模块401,用于接收客户端发送的公钥及第一加密数据。
本实施例中,在互联网系统中,可以是由服务器接收客户端发送的公钥及第一加密数据,所述服务器是指能够提供高性能计算能力的设备,所述客户端可以是指用户设备;在区块链系统中,可以是由第二节点设备接收第一节点设备发送的公钥及第一加密数据。如下以服务器与客户端的交互为例来阐述本发明的发明思想。
所述公钥及第一加密数据可以是客户端同时发送至服务器,也可以是客户端先后发送至服务器,例如,先发送公钥至服务器,再发送第一加密数据至服务器。
服务器存储接收到的公钥,并将接收到的第一加密数据输入至预先训练好的神经网络计算模型中。
计算模块402,用于通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据。
本实施例中,服务器采用全同态加密算法对第一加密数据进行计算。
全同态加密算法的原理是:令明文为m1和m2,加密操作为Enc,解密操作为Dec,则密文为Enc(m1)和Enc(m2),解密后的明文为Dec(Enc(m1))和Dec(Enc(m2))。显然应满足m1=Dec(Enc(m1)),m2=Dec(Enc(m2))。全同态操作满足以下特性:Enc(m1)☆Enc(m2)=Enc(m1☆m2),☆代表操作类型,全同态性意味着加密后的数据进行运算等于原始数据执行相同类型的运算结果再加密。
全同态加密算法可以包括:理想格全同态加密算法、整数全同态加密算法、整数环全同态加密算法。
在一个可选的实施例中,所述计算模块402通过神经网络计算模型的激活函数为sigmoid函数,所述通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据包括:
将所述sigmoid函数进行泰勒展开后替换为多项式函数;
通过所述公钥和所述多项式函数对所述第一加密数据进行全同态加密计算得到所述第二加密数据。
在该可选的实施例中,可以采用卷积神经网络作为训练神经网络计算模型的原型,所述神经网络计算模型的每个激活层会执行W*X+B计算,W为权重,B为偏置,其中,所述神经网络的激活层可以选择性能较优的sigmoid函数作为激活函数。sigmoid函数的形式如下所示:
由于sigmoid函数为指数函数,计算较复杂。为了降低计算的复杂度,提高计算的效率,可以采用替换方法,将sigmoid函数进行泰勒展开并替换为多项式函数:0.5+0.25x-0.02*x^3+0.002*x^5,带入密文计算,则经过全同态加密后输出就变成了Enc(0.5)+Enc(0.25)*Enc(x)-Enc(0.02)*Enc(x)^3+Enc(0.002)*Enc(x)^5,其中,x=Enc(W)*Enc(X’)+Enc(B),X’为第一加密数据。所述Enc为采用所述公钥进行的加密操作。
全同态加密计算的过程为现有技术,本发明在此不再详细赘述。
发送模块403,用于发送所述第二加密数据至所述客户端。
本实施例中,服务器计算得到第二加密数据后返回至客户端,以使得客户端对第二加密数据进行解密,得到计算结果。服务器接收的是客户端发送的加密数据,返回给客户端的也是加密数据,即,服务器与客户端的交互过程中,数据都是加密的,安全的。
在一个可选的实施例中,所述基于神经网络计算的数据保护装置40还包括:训练模块404,用于训练神经网络计算模型。
所述训练模块404训练神经网络计算模型包括:
获取数据集,其中,所述数据集包括:多个加密数据、每个加密数据对应的公钥及使用所述公钥进行全同态加密计算得到的加密结果;
将所述数据集划分为训练集和测试集;
将所述训练集输入卷积神经网络中进行训练得到神经网络计算模型;
将所述测试集输入所述神经网络计算模型中进行测试得到测试通过率;
当测试通过率大于或等于预设通过率阈值时,结束所述神经网络计算模型的训练。
示例性的,假设服务器中预先获取了10万张人脸图像,每张人脸图像对应有一个密钥对(公钥和私钥),每张人脸图像还对应有采用公钥进行加密得到的第一加密人脸图像及采用所述公钥进行全同态加密计算得到的第二加密人脸图像(如,人脸类别)。则可以将10万张第一加密人脸图像、对应第一加密人脸图像的公钥及第二加密人脸图像作为一个人脸图像数据集。将人脸图像数据集划分为训练集和测试集,其中,所述训练集中的数据大于测试集中的数据。
在第一次训练卷积神经网络时,该卷积神经网络的参数采用默认的参数进行训练,在训练过程不断调整参数,在训练生成神经网络计算模型后,利用测试集对所生成的神经网络计算模型进行测试,如果测试通过率大于等于预设测试通过率阈值,例如通过率大于等于98%,则训练结束,以该训练得到的神经网络计算模型为计算第一加密人脸图像的模型;如果验证通过率小于预设阈值,例如小于98%,则增加保险单样本图片的数量,并重新执行上述的步骤,直至验证通过率大于等于预设阈值。
本实施例所述的基于神经网络计算的数据保护装置,借助神经网络和全同态加密的思想,通过服务器接收客户端发送的公钥及第一加密数据,并通过神经网络计算模型采用所述公钥进行全同态加密计算第二加密数据,返回第二加密数据至客户端,以使得客户端对第二加密数据进行解密得到计算结果。用户数据在区块链的客户端与服务器之间传输的过程中自始至终都是加密的,实现了全程加密,能够确保用户数据的安全性,避免隐私数据被泄露;此外,通过服务器提高了数据计算的效率。
实施例五
图5为本发明实施例揭露的计算机设备的内部结构示意图。
在本实施例中,计算机设备5可以是客户端,也可以是资源服务器,还可以是其他电子设备。
所述计算机设备5可以包括存储器51、处理器52和总线53。
其中,存储器51至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器51在一些实施例中可以是所述计算机设备5的内部存储单元,例如所述计算机设备5的硬盘。存储器51在另一些实施例中也可以是所述计算机设备5的外部存储设备,例如所述计算机设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器51还可以既包括所述计算机设备5的内部存储单元也包括外部存储设备。存储器51不仅可以用于存储安装于所述计算机设备5的应用应用程序及各类数据,例如基于神经网络计算的数据保护装置30的代码等及各个模块,或者基于神经网络计算的数据保护装置40的代码等及各个模块,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器52在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器51中存储的程序代码或处理数据。
该总线53可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,所述计算机设备5还可以包括网络接口,网络接口可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机设备5与其他计算机设备之间建立通信连接。
可选地,该计算机设备5还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在所述计算机设备中处理的消息以及用于显示可视化的用户界面。
图5仅示出了具有组件51-53的所述计算机设备5,本领域技术人员可以理解的是,图5示出的结构并不构成对所述计算机设备5的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备5还可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在上述实施例中,可以全部或部分地通过应用程序、硬件、固件或者其任意组合来实现。当使用应用程序实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如,同轴电缆、光纤、数字用户线)或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例中的方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用应用程序功能单元的形式实现。
所述集成的单元如果以应用程序功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以应用程序产品的形式体现出来,该计算机应用程序产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于神经网络计算的数据保护方法,应用于客户端中,其特征在于,所述方法包括:
生成公钥和私钥并将所述公钥发送至服务器;
采用所述公钥对用户数据进行加密得到第一加密数据;
发送所述第一加密数据至所述服务器;
接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据;
采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
2.如权利要求1所述的方法,其特征在于,所述采用所述公钥对用户数据进行加密得到第一加密数据包括:
计算用户数据的维度;
根据所述维度初始化一个矩阵,其中,所述矩阵的每个索引与所述用户数据中的每个数据一一对应;
采用所述公钥对所述每个数据进行加密;
将加密后的每个数据存储于所述矩阵中对应的索引中;
将存储于加密数据的矩阵作为所述第一加密数据。
3.如权利要求1或2所述的方法,其特征在于,所述采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果包括:
采用所述私钥对所述第二加密数据逐层进行解密得到所述神经网络计算模型的计算结果;
显示所述计算结果。
4.一种基于神经网络计算的数据保护方法,应用于服务器中,其特征在于,所述方法包括:
接收客户端发送的公钥及第一加密数据;
通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据;
发送所述第二加密数据至所述客户端。
5.如权利要求4所述的方法,其特征在于,所述通过神经网络计算模型的激活函数为sigmoid函数,所述通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据包括:
将所述sigmoid函数进行泰勒展开后替换为多项式函数;
通过所述公钥和所述多项式函数对所述第一加密数据进行全同态加密计算得到所述第二加密数据。
6.如权利要求4或5所述的方法,其特征在于,所述方法还包括:
获取数据集,其中,所述数据集包括:多个加密数据、每个加密数据对应的公钥及使用所述公钥进行全同态加密计算得到的加密结果;
将所述数据集划分为训练集和测试集;
将所述训练集输入卷积神经网络中进行训练得到神经网络计算模型;
将所述测试集输入所述神经网络计算模型中进行测试得到测试通过率;
当测试通过率大于或等于预设通过率阈值时,结束所述神经网络计算模型的训练。
7.一种基于神经网络计算的数据保护装置,运行于客户端中,其特征在于,所述装置包括:
密钥生成模块,用于生成公钥和私钥并将所述公钥发送至服务器;
数据加密模块,用于采用所述公钥对用户数据进行加密得到第一加密数据;
数据发送模块,用于发送所述第一加密数据至所述服务器;
数据接收模块,用于接收所述服务器通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到的第二加密数据;
数据解密模块,用于采用所述私钥对所述第二加密数据进行解密得到所述神经网络计算模型的计算结果。
8.一种基于神经网络计算的数据保护装置,运行于服务器中,其特征在于,所述装置包括:
接收模块,用于接收客户端发送的公钥及第一加密数据;
计算模块,用于通过神经网络计算模型采用所述公钥对所述第一加密数据进行全同态加密计算得到第二加密数据;
发送模块,用于发送所述第二加密数据至所述客户端。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于神经网络计算的数据保护的下载程序,所述基于神经网络计算的数据保护的下载程序被所述处理器执行时实现如权利要求1至3中任意一项所述的基于神经网络计算的数据保护方法,或者实现如权利要求4至6中任意一项所述的基于神经网络计算的数据保护方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于神经网络计算的数据保护的下载程序,所述基于神经网络计算的数据保护的下载程序可被一个或者多个处理器执行以实现如权利要求1至3中任意一项所述的基于神经网络计算的数据保护方法,或者实现如权利要求4至6中任意一项所述的基于神经网络计算的数据保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824316.5A CN110516464A (zh) | 2019-09-02 | 2019-09-02 | 基于神经网络计算的数据保护方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910824316.5A CN110516464A (zh) | 2019-09-02 | 2019-09-02 | 基于神经网络计算的数据保护方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110516464A true CN110516464A (zh) | 2019-11-29 |
Family
ID=68630426
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910824316.5A Pending CN110516464A (zh) | 2019-09-02 | 2019-09-02 | 基于神经网络计算的数据保护方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110516464A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111382455A (zh) * | 2020-03-18 | 2020-07-07 | 北京丁牛科技有限公司 | 一种文件保护方法及装置 |
CN111563262A (zh) * | 2020-04-15 | 2020-08-21 | 清华大学 | 一种基于可逆深度神经网络的加密方法及系统 |
CN111858754A (zh) * | 2020-06-30 | 2020-10-30 | 全链通有限公司 | 基于区块链的人工智能训练方法、区块链节点及介质 |
CN111866600A (zh) * | 2020-06-10 | 2020-10-30 | 北京沃东天骏信息技术有限公司 | 用于保护隐私的方法、装置和系统 |
CN112347495A (zh) * | 2020-11-15 | 2021-02-09 | 北京物资学院 | 一种基于区块链的可信隐私智能服务计算系统及方法 |
WO2021109756A1 (zh) * | 2019-12-03 | 2021-06-10 | 重庆交通大学 | 一种基于同态加密方案的代理型匿名通信方法 |
WO2021120229A1 (zh) * | 2019-12-20 | 2021-06-24 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置及系统 |
CN113660276A (zh) * | 2021-08-18 | 2021-11-16 | 宜宾电子科技大学研究院 | 一种基于隐私数据保护的远程任务调度方法 |
EP3913852A1 (en) * | 2020-05-18 | 2021-11-24 | Timofey Mochalov | Method for protecting data transfer using neural cryptography |
CN113899866A (zh) * | 2021-12-10 | 2022-01-07 | 佛山绿色发展创新研究院 | 一种基于云服务器的氢气检测系统 |
WO2022028391A1 (zh) * | 2020-08-03 | 2022-02-10 | 华为技术有限公司 | 数据云服务方法及通信装置 |
CN114338241A (zh) * | 2022-03-10 | 2022-04-12 | 成都网讯优速信息技术有限公司 | 数据加解密方法和装置及采用该装置的网络路由器 |
CN115952529A (zh) * | 2023-03-09 | 2023-04-11 | 北京云安腾宇科技有限公司 | 一种用户数据处理方法、计算设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108259158A (zh) * | 2018-01-11 | 2018-07-06 | 西安电子科技大学 | 一种云计算环境下高效和隐私保护的单层感知机学习方法 |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN108776836A (zh) * | 2018-06-08 | 2018-11-09 | 电子科技大学 | 一种基于vhe的隐私保护神经网络的训练及预测方法 |
WO2018217965A1 (en) * | 2017-05-25 | 2018-11-29 | Texas Instruments Incorporated | Secure convolutional neural networks (cnn) accelerator |
CN109145829A (zh) * | 2018-08-24 | 2019-01-04 | 中共中央办公厅电子科技学院 | 一种基于深度学习和同态加密的安全高效的人脸识别方法 |
CN109194507A (zh) * | 2018-08-24 | 2019-01-11 | 曲阜师范大学 | 非交互式的保护隐私神经网络预测方法 |
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
US20200242466A1 (en) * | 2017-03-22 | 2020-07-30 | Visa International Service Association | Privacy-preserving machine learning |
-
2019
- 2019-09-02 CN CN201910824316.5A patent/CN110516464A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200242466A1 (en) * | 2017-03-22 | 2020-07-30 | Visa International Service Association | Privacy-preserving machine learning |
WO2018217965A1 (en) * | 2017-05-25 | 2018-11-29 | Texas Instruments Incorporated | Secure convolutional neural networks (cnn) accelerator |
US20190087689A1 (en) * | 2017-09-15 | 2019-03-21 | NovuMind Limited | Methods and processes of encrypted deep learning services |
CN108259158A (zh) * | 2018-01-11 | 2018-07-06 | 西安电子科技大学 | 一种云计算环境下高效和隐私保护的单层感知机学习方法 |
CN108712260A (zh) * | 2018-05-09 | 2018-10-26 | 曲阜师范大学 | 云环境下保护隐私的多方深度学习计算代理方法 |
CN108776836A (zh) * | 2018-06-08 | 2018-11-09 | 电子科技大学 | 一种基于vhe的隐私保护神经网络的训练及预测方法 |
CN109145829A (zh) * | 2018-08-24 | 2019-01-04 | 中共中央办公厅电子科技学院 | 一种基于深度学习和同态加密的安全高效的人脸识别方法 |
CN109194507A (zh) * | 2018-08-24 | 2019-01-11 | 曲阜师范大学 | 非交互式的保护隐私神经网络预测方法 |
CN109684855A (zh) * | 2018-12-17 | 2019-04-26 | 电子科技大学 | 一种基于隐私保护技术的联合深度学习训练方法 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021109756A1 (zh) * | 2019-12-03 | 2021-06-10 | 重庆交通大学 | 一种基于同态加密方案的代理型匿名通信方法 |
WO2021120229A1 (zh) * | 2019-12-20 | 2021-06-24 | 深圳前海微众银行股份有限公司 | 一种数据处理方法、装置及系统 |
CN111382455A (zh) * | 2020-03-18 | 2020-07-07 | 北京丁牛科技有限公司 | 一种文件保护方法及装置 |
CN111382455B (zh) * | 2020-03-18 | 2023-05-26 | 北京丁牛科技有限公司 | 一种文件保护方法及装置 |
CN111177791B (zh) * | 2020-04-10 | 2020-07-17 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111177791A (zh) * | 2020-04-10 | 2020-05-19 | 支付宝(杭州)信息技术有限公司 | 保护数据隐私的双方联合训练业务预测模型的方法和装置 |
CN111563262A (zh) * | 2020-04-15 | 2020-08-21 | 清华大学 | 一种基于可逆深度神经网络的加密方法及系统 |
CN111563262B (zh) * | 2020-04-15 | 2024-01-23 | 清华大学 | 一种基于可逆深度神经网络的加密方法及系统 |
EP3913852A1 (en) * | 2020-05-18 | 2021-11-24 | Timofey Mochalov | Method for protecting data transfer using neural cryptography |
CN111866600A (zh) * | 2020-06-10 | 2020-10-30 | 北京沃东天骏信息技术有限公司 | 用于保护隐私的方法、装置和系统 |
WO2021249181A1 (zh) * | 2020-06-10 | 2021-12-16 | 北京沃东天骏信息技术有限公司 | 用于保护隐私的方法、装置和系统 |
CN111858754A (zh) * | 2020-06-30 | 2020-10-30 | 全链通有限公司 | 基于区块链的人工智能训练方法、区块链节点及介质 |
WO2022028391A1 (zh) * | 2020-08-03 | 2022-02-10 | 华为技术有限公司 | 数据云服务方法及通信装置 |
CN112347495A (zh) * | 2020-11-15 | 2021-02-09 | 北京物资学院 | 一种基于区块链的可信隐私智能服务计算系统及方法 |
CN113660276A (zh) * | 2021-08-18 | 2021-11-16 | 宜宾电子科技大学研究院 | 一种基于隐私数据保护的远程任务调度方法 |
CN113899866A (zh) * | 2021-12-10 | 2022-01-07 | 佛山绿色发展创新研究院 | 一种基于云服务器的氢气检测系统 |
CN113899866B (zh) * | 2021-12-10 | 2022-03-22 | 佛山绿色发展创新研究院 | 一种基于云服务器的氢气检测系统 |
CN114338241A (zh) * | 2022-03-10 | 2022-04-12 | 成都网讯优速信息技术有限公司 | 数据加解密方法和装置及采用该装置的网络路由器 |
CN114338241B (zh) * | 2022-03-10 | 2023-01-24 | 成都网讯优速信息技术有限公司 | 数据加解密方法和装置及采用该装置的网络路由器 |
CN115952529A (zh) * | 2023-03-09 | 2023-04-11 | 北京云安腾宇科技有限公司 | 一种用户数据处理方法、计算设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110516464A (zh) | 基于神经网络计算的数据保护方法及相关设备 | |
CN110399742B (zh) | 一种联邦迁移学习模型的训练、预测方法及装置 | |
US20230362166A1 (en) | System and method for storing and distributing consumer information | |
US20230108682A1 (en) | Data processing method and apparatus, device, and computer-readable storage medium | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN107294709A (zh) | 一种区块链数据处理方法、装置及系统 | |
CN112380578A (zh) | 一种基于区块链和可信执行环境的边缘计算框架 | |
CN105046234B (zh) | 基于稀疏表示的云环境中人脸图像隐秘识别方法 | |
CN108683509A (zh) | 一种基于区块链的安全交易方法、装置及系统 | |
CN103238305A (zh) | 用于安全数据储存的加速器系统 | |
CN110086626A (zh) | 基于非对称密钥池对的量子保密通信联盟链交易方法和系统 | |
CN106961427B (zh) | 一种基于5g通信标准的密文数据搜索方法 | |
CN111274594B (zh) | 一种基于区块链的安全大数据隐私保护共享方法 | |
CN108848058A (zh) | 智能合约处理方法及区块链系统 | |
CN109040076A (zh) | 一种数据处理方法、系统、装置、设备及介质 | |
CN109214201A (zh) | 一种数据共享方法、终端设备及计算机可读存储介质 | |
CN107948152A (zh) | 信息存储方法、获取方法、装置及设备 | |
CN109491727A (zh) | 对象序列化方法、终端设备及计算机可读存储介质 | |
CN107204997A (zh) | 管理云存储数据的方法和装置 | |
CN109818752A (zh) | 信用评分生成方法、装置、计算机设备和存储介质 | |
CN110312054A (zh) | 图像的加解密方法、及相关装置、存储介质 | |
CN110390212A (zh) | 基于区块链的供货监控方法、节点装置 | |
CN109728905A (zh) | 基于非对称密钥池的抗量子计算mqv密钥协商方法和系统 | |
CN109120399A (zh) | 一种基于非对称加密的数据加密方法、解密方法及系统 | |
WO2022241307A1 (en) | Image steganography utilizing adversarial perturbations |
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 |