涉及迭代与随机加密的神经网络模型加密保护系统及方法转让专利

申请号 : CN201810735833.0

文献号 : CN108898028B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 尹愚

申请人 : 成都大象分形智能科技有限公司

摘要 :

本发明属于人工神经网络保护机制领域,特别涉及一种涉及迭代与随机加密的神经网络模型加密保护系统及方法,包括数据输入模块、加密模块、加密数据输入模块、人工神经网络模型模块和数据输出模块;加密模块包括结构转换模块及迭代处理模块;所述迭代处理模块包括密码生成模块、密码嵌入模块与单层卷积神经网络模型模块;所述密码生成模块包括固定矩阵生成模块及随机矩阵生成模块。本发明可以在计算量无显著增加且保持人工神经网络性能的情况下,对人工神经网络模型嵌入保护性密码,使得在人工神经网络模型发布后,任何的复制、二次开发或修改均无法影响该保护性密码,并且破坏该保护性密码会导致人工神经网络模型性能降低或无法做出有效输出。

权利要求 :

1.一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于:包括数据输入模块(1)、加密模块(2)、加密数据输入模块(3)、人工神经网络模型模块(4)和数据输出模块(5);所述数据输入模块(1)与所述加密模块(2)信号相连,所述加密模块(2)与所述加密数据输入模块(3)信号相连,所述加密数据输入模块(3)与所述人工神经网络模型模块(4)信号相连,所述人工神经网络模型模块(4)与所述数据输出模块(5)信号相连;

其中,所述加密模块(2)包括结构转换模块(21)及迭代处理模块(22);所述迭代处理模块(22)包括密码生成模块(221)、密码嵌入模块(222)与单层卷积神经网络模型模块(223);

所述密码生成模块(221)包括固定矩阵生成模块(2211)及随机矩阵生成模块(2212);

所述结构转换模块(21)用于将原始数据转换为二维结构;所述迭代处理模块(22)接收结构转换后的原始数据作为第一次迭代处理的输入数据,并将第一次迭代处理的输出作为第二次迭代处理的输入数据,以此类推,经过多次迭代处理后生成加密数据;

针对每次迭代处理,所述密码生成模块(221)生成与输入数据结构相同的密码,所述密码嵌入模块(222)用于将各密码以叠加的方式嵌入输入数据,所述单层卷积神经网络模型模块(223)用于对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理的计算结果作为下一次迭代处理的输入数据被所述密码生成模块(221)接收,最终次迭代处理的网络计算结果即为加密数据。

2.根据权利要求1所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于:所述数据输入模块(1)用于向所述加密模块(2)提供原始数据;所述加密模块(2)用于对所述数据输入模块(1)提供的原始数据进行加密处理,输出加密数据;所述加密数据输入模块(3)用于接收所述加密模块(2)输出的加密数据,并将所述加密数据传输至所述人工神经网络模型模块(4);所述人工神经网络模型模块(4)用于接收加密数据,并基于加密数据进行计算;所述数据输出模块(5)用于将所述人工神经网络模型模块(4)计算的结果进行输出处理;

进一步地,在网络训练阶段,所述人工神经网络模型模块(4)通过正向网络计算与逆向误差传播计算实现网络训练;在使用阶段,所述人工神经网络模型模块(4)通过正向网络计算得出结果;

进一步地,在网络训练阶段,所述数据输出模块(5)对所述人工神经网络模型模块(4)的输出进行损失函数的计算,用于所述人工神经网络模型模块(4)经梯度反向传播算法实现网络训练;在使用阶段,所述数据输出模块(5)采用所述人工神经网络模型模块(4)的输出判断实际功能。

3.根据权利要求1所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于:所述加密模块(2)由一组具有N位数字的密钥作为控制量,对所述数据输入模块(1)提供的所有原始数据进行加密处理,以实现数据加密;所述密钥的长度由加密处理中的加密方式及加密要求所限定;所述密钥的N位数字的每一位分别选自阿拉伯数字0-9之间的一个。

4.根据权利要求3所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于,密钥中预设定的任意一位上的数字与迭代处理的次数相关联。

5.根据权利要求3所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于,针对每次迭代处理,所述固定矩阵生成模块(2211)通过固定矩阵生成函数生成与输入数据结构相同的固定矩阵,其中,所述固定矩阵生成函数具有多个可调参数,所述密钥中预设定的任意几位上的数字与多个可调参数相关联;所述随机矩阵生成模块(2212)通过随机矩阵生成函数随机生成与输入数据结构相同的随机矩阵,其中,所述密钥中预设定的其他几位上的数字与该随机矩阵生成函数的均值及方差相关联;对应每次迭代处理而分别生成的所述固定矩阵与所述随机矩阵的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码。

6.根据权利要求1所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于,在网络训练阶段,在所述人工神经网络模型模块(4)通过正向网络计算与逆向误差传播计算实现网络训练的同时,所述单层卷积神经网络模型模块(223)也通过正向网络计算与逆向误差传播计算实现其网络参数训练。

7.根据权利要求5所述的一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于,N位数字的所述密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理的所述固定矩阵生成函数的多个可调参数、及对应每次迭代处理的所述随机矩阵生成函数的均值及方差。

8.一种涉及迭代与随机加密的神经网络模型加密保护方法,其特征在于,方法包括以下步骤:

步骤S1.提供原始数据;

步骤S2.对原始数据进行加密处理,生成加密数据;

步骤S3.将加密数据输入至人工神经网络模型,人工神经网络模型对加密数据进行计算,得出结果;

步骤S4.将计算所得结果进行输出;

其中,步骤S2具体包括:

步骤S21.提供一组具有N位数字的密钥作为控制量,该密钥具体限定了针对原始数据的加密处理;其中,密钥的长度由加密处理中的加密方式及加密要求所限定;密钥的N位数字的每一位分别选自阿拉伯数字0-9之间的一个;

步骤S22.将原始数据转换为二维结构;

步骤S23.将结构转换后的原始数据作为第一次迭代处理的输入数据,将第一次迭代处理的输出作为第二次迭代处理的输入数据,以此类推,经过多次迭代处理后生成加密数据;

其中,密钥中预设定的任意一位上的数字与迭代处理的次数相关联;

其中,针对每次迭代处理,步骤S23具体包括:

步骤S231.采用固定矩阵生成函数生成与输入数据结构相同的固定矩阵,其中,固定矩阵生成函数具有多个可调参数,密钥中预设定的任意几位上的数字与多个可调参数相关联;采用随机矩阵生成函数随机生成与输入数据结构相同的随机矩阵,其中,密钥中预设定的其他几位上的数字与该随机矩阵生成函数的均值及方差相关联;对应每次迭代处理而分别生成的固定矩阵与随机矩阵的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码;

步骤S232.将密码以叠加的方式嵌入输入数据;

步骤S233.采用单层卷积神经网络对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理的计算结果作为下一次迭代处理的输入数据,最终次迭代处理的网络计算结果即为加密数据。

9.根据权利要求8所述的一种涉及迭代与随机加密的神经网络模型加密保护方法,其特征在于, N位数字的密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理的固定矩阵生成函数的多个可调参数、及对应每次迭代处理的随机矩阵生成函数的均值及方差。

说明书 :

涉及迭代与随机加密的神经网络模型加密保护系统及方法

技术领域

[0001] 本发明属于人工神经网络保护机制领域,特别涉及一种涉及迭代与随机加密的神经网络模型加密保护系统及方法。

背景技术

[0002] 深度学习是当前人工智能应用的主要技术方案。以深度学习技术所训练完成的人工神经网络模型是汇集了初始开发者智慧的劳动成果。但在发布和应用人工神经网络模型的过程中,其网络结构和节点权重会完全对外暴露。人工神经网络模型经发布和/或第三方应用后,容易被复制、二次开发或修改,导致初始开发者权益受损。现有技术中适用于人工神经网络模型的保护方案主要包括网络整体加密、训练数据加密及网络同态加密训练。
[0003] 网络整体加密方案是对训练完成的网络模型进行加密发布,没有密钥则无法使用该网络模型。然而该加密方式仅仅是网络模型的二次封装,利用密钥解密网络模型后,仍可分析得到网络模型的结构和节点权重等核心信息,并能进行复制、传播、二次开发或修改,从而无法保护网络模型初始研发者的权益;
[0004] 训练数据加密方案将训练数据转义,对映射后的数据进行网络训练,并将该映射方案用于网络模型后续使用,以保护网络模型的核心内容。该加密技术要求破坏数据内部统计规律以避免利用统计分析破解加密,而人工神经网络训练是基于训练数据的重要统计特征完成数据分类和预测,其本质是一种统计学习,因此与训练数据加密方案本质相矛盾,例如,采用MD5算法对数据进行现代高级加密,待训练数据的每个值不会产生唯一映射值,其内在统计特性会被破坏,因此不适于人工神经网络训练。而简单映射加密虽然可以维持数据内在统计特性,但容易由深度学习的大量训练数据分析出加密方式,使加密保护失败;
[0005] 同态加密训练方案允许以特定方式修改加密信息而无需读懂加密信息,对经同态加密后的数据进行网络训练,能够保护网络模型的核心内容,且同态加密后的训练数据仍可保留其内部统计结构,以弥补训练数据加密方案的弱点。但该方案会导致计算量大量提升,并且由于同态加密各种算法具有不同程度的计算不完备性,造成某些数学运算无法直接实现,使大量已投入使用的人工神经网络训练方法无法实现,导致人工神经网络性能下降。

发明内容

[0006] 针对现有人工神经网络保护机制的上述缺陷,本发明提供了一种涉及迭代与随机加密的神经网络模型加密保护系统及方法。
[0007] 具体方案为:
[0008] 一种涉及迭代与随机加密的神经网络模型加密保护系统,其特征在于:包括数据输入模块、加密模块、加密数据输入模块、人工神经网络模型模块和数据输出模块;所述数据输入模块与加密模块信号相连,所述加密模块与加密数据输入模块信号相连,所述加密数据输入模块与人工神经网络模型模块信号相连,所述人工神经网络模型模块与数据输出模块信号相连。
[0009] 进一步地,数据输入模块用于向加密模块提供原始数据;加密模块用于对数据输入模块提供的原始数据进行加密处理,输出加密数据;加密数据输入模块用于接收加密模块输出的加密数据,并将加密数据传输至人工神经网络模型模块;人工神经网络模型模块用于接收加密数据,并基于加密数据进行计算;数据输出模块用于将人工神经网络模型模块计算的结果进行输出处理。
[0010] 进一步地,在网络训练阶段,人工神经网络模型模块通过正向网络计算与逆向误差传播计算实现网络训练;在使用阶段,人工神经网络模型模块通过正向网络计算得出结果。
[0011] 进一步地,在网络训练阶段,数据输出模块对人工神经网络模型模块的输出进行损失函数的计算,用于人工神经网络模型模块经梯度反向传播算法实现网络训练;在使用阶段,数据输出模块采用人工神经网络模型模块的输出判断实际功能。
[0012] 进一步地,加密模块由一组具有N位数字的密钥作为控制量,对数据输入模块提供的所有原始数据进行加密处理,以实现数据加密;密钥的长度由加密处理中的加密方式及加密要求所限定;密钥的N位数字的每一位分别选自阿拉伯数字0-9之间的一个。
[0013] 进一步地,加密模块包括结构转换模块及迭代处理模块;结构转换模块用于将原始数据转换为二维结构;迭代处理模块接收结构转换后的原始数据作为第一次迭代处理的输入数据,并将第一次迭代处理的输出作为第二次迭代处理的输入数据,以此类推,经过多次迭代处理后生成加密数据;其中,密钥中预设定的任意一位上的数字与迭代处理的次数相关联。
[0014] 进一步地,迭代处理模块包括密码生成模块、密码嵌入模块与单层卷积神经网络模型模块;针对每次迭代处理,密码生成模块生成与输入数据结构相同的密码,密码嵌入模块用于将密码以叠加的方式嵌入输入数据,单层卷积神经网络模型模块用于对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理的计算结果作为下一次迭代处理的输入数据被密码生成模块接收,最终次迭代处理的网络计算结果即为加密数据。
[0015] 进一步地,密码生成模块包括固定矩阵生成模块及随机矩阵生成模块;针对每次迭代处理,固定矩阵生成模块通过固定矩阵生成函数生成与输入数据结构相同的固定矩阵,其中,固定矩阵生成函数具有多个可调参数,密钥中预设定的任意几位上的数字与多个可调参数相关联;随机矩阵生成模块通过随机矩阵生成函数随机生成与输入数据结构相同的随机矩阵,其中,密钥中预设定的其他几位上的数字与该随机矩阵生成函数的均值及方差相关联;对应每次迭代处理而分别生成的固定矩阵与随机矩阵的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码。
[0016] 进一步地,在网络训练阶段,在人工神经网络模型模块通过正向网络计算与逆向误差传播计算实现网络训练的同时,单层卷积神经网络模型模块也通过正向网络计算与逆向误差传播计算实现其网络参数训练;
[0017] 进一步地,当结构转换模块将原始数据转换为二维结构时,当原始数据为一维结构时,将其视为行数或列数为1的二维数据矩阵的形式;当原始数据为大于二维的结构时,将其降维转换为二维数据矩阵的形式,加密步骤完成后再将其重新映射为原始结构。
[0018] 进一步地,对应于每次迭代处理的固定矩阵生成函数选自线性函数、对数函数、指数函数、三角函数、反三角函数或其他复合函数的一种。
[0019] 进一步地,对应于每次迭代处理的随机矩阵生成函数选自正态分布函数、F分布函数、卡方分布函数、T分布函数或其他联合分布函数的一种。
[0020] 进一步地,N位数字的密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理的固定矩阵生成函数的多个可调参数、及对应每次迭代处理的随机矩阵生成函数的均值及方差。
[0021] 一种涉及迭代与随机加密的神经网络模型加密保护方法,其特征在于,方法包括以下步骤:
[0022] 步骤S1.提供原始数据;
[0023] 步骤S2.对原始数据进行加密处理,生成加密数据;
[0024] 步骤S3.将加密数据输入至人工神经网络模型,人工神经网络模型对加密数据进行计算,得出结果;
[0025] 步骤S4.将计算所得结果进行输出。
[0026] 其中,步骤S2具体包括:
[0027] 步骤S21.提供一组具有N位数字的密钥作为控制量,该密钥具体限定了针对原始数据的加密处理;其中,密钥的长度由加密处理中的加密方式及加密要求所限定;密钥的N位数字的每一位分别选自阿拉伯数字0-9之间的一个;
[0028] 步骤S22.将原始数据转换为二维结构;
[0029] 步骤S23.将结构转换后的原始数据作为第一次迭代处理的输入数据,将第一次迭代处理的输出作为第二次迭代处理的输入数据,以此类推,经过多次迭代处理后生成加密数据;其中,密钥中预设定的任意一位上的数字与迭代处理的次数相关联。
[0030] 其中,针对每次迭代处理,步骤S23具体包括:
[0031] 步骤S231.采用固定矩阵生成函数生成与输入数据结构相同的固定矩阵,其中,固定矩阵生成函数具有多个可调参数,密钥中预设定的任意几位上的数字与多个可调参数相关联;采用随机矩阵生成函数随机生成与输入数据结构相同的随机矩阵,其中,密钥中预设定的其他几位上的数字与该随机矩阵生成函数的均值及方差相关联;对应每次迭代处理而分别生成的固定矩阵与随机矩阵的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码。
[0032] 步骤S232.将密码以叠加的方式嵌入输入数据;
[0033] 步骤S233.采用单层卷积神经网络对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理的计算结果作为下一次迭代处理的输入数据,最终次迭代处理的网络计算结果即为加密数据。
[0034] 进一步地,在步骤S22中,当原始数据为一维结构时,将其视为行数或列数为1的二维数据矩阵的形式;当原始数据为大于二维的结构时,将其降维转换为二维数据矩阵的形式,加密步骤完成后再将其重新映射为原始结构。
[0035] 进一步地,在步骤S231中,对应于每次迭代处理的固定矩阵生成函数选自线性函数、对数函数、指数函数、三角函数、反三角函数或其他复合函数的一种。
[0036] 进一步地,在步骤S231中,对应于每次迭代处理的随机矩阵生成函数选自正态分布函数、F分布函数、卡方分布函数、T分布函数或其他联合分布函数的一种。
[0037] 进一步地,N位数字的密钥中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理的固定矩阵生成函数的多个可调参数、及对应每次迭代处理的随机矩阵生成函数的均值及方差。
[0038] 本发明的优点在于:
[0039] 本发明提供了一种涉及迭代与随机加密的神经网络模型加密保护系统及方法,该系统及方法在不影响人工神经网络结构和性能的基础上,通过加密步骤将保护性密码嵌入用于训练神经网络的输入数据,在人工神经网络的训练中,该保护性密码所附带的统计特征将嵌入人工神经网络中,并嵌入加密机制涉及的单层卷积神经网络中。由此,训练完成的人工神经网络无法合理处理未经密码嵌入的输入数据、嵌入不正确密码的输入数据,以及采用不正确加密机制嵌入密码后的输入数据。与现有技术相比,本发明可以在计算量无显著增加且保持人工神经网络性能的情况下,对人工神经网络模型嵌入保护性密码,使得在人工神经网络模型发布后,任何的复制、二次开发或修改均无法影响该保护性密码,并且破坏该保护性密码会导致人工神经网络模型性能降低或无法做出有效输出,使得人工神经网络模型的研发者权益得以保护,对人工神经网络模型的使用和发布实现了技术可控。

附图说明

[0040] 图1为本发明实施例提供的一种涉及迭代与随机加密的神经网络模型加密保护系统的系统结构图;
[0041] 图2为本发明实施例提供的一种涉及迭代与随机加密的神经网络模型加密保护系统的加密模块的加密原理;其中,CNN代表单层卷积神经网络;
[0042] 图3为本发明实施例提供的一种涉及迭代与随机加密的神经网络模型加密保护系统的加密模块的密钥中每一位上的数字-可执行数值的映射关系;
[0043] 图4为本发明实施例提供的一种涉及迭代与随机加密的神经网络模型加密保护方法的方法流程图;其中,CNN代表单层卷积神经网络。
[0044] 附图中:
[0045] 100-加密保护系统,1-输入模块,2-加密模块,3-加密数据输入模块,4-人工神经网络模型模块,5-数据输出模块,21-结构转换模块,22-迭代处理模块,221-密码生成模块,222-密码嵌入模块,223-单层卷积神经网络模型模块, 2211-固定矩阵生成模块,2212-随机矩阵生成模块。

具体实施方式

[0046] 深度学习人工神经网络的核心思想是:利用梯度反向传播算法,调整人工神经网络权重,实现对已知输入数据集内含的某些特征,进行具备统计性质的归纳收敛,以达到对未知输入数据集进行识别和判断的目的。
[0047] 人工神经网络的训练目标是让网络以迭代的方式,完成对已知输入数据集内含某种能实现对该数据集进行区别的非显式的特征组合的探索和统计。所以在输入数据进入网络训练前,可以进行一些特征工程操作,使经训练的人工神经网络具有更优的性能。
[0048] 在本发明公开的一种针对神经网络模型的加密保护系统的加密步骤中,输入数据经过加密模块实现数据加密,嵌入输入数据的密码实质上是一种可控的噪声。由于随机矩阵中的数据始终具有随机矩阵生成函数所限定的统计分布特征,且通过叠加而嵌入密码的方式也不会影响输入数据及随机矩阵中的统计特征,因此本发明提供的加密方式不会破坏输入数据内在的与识别特征相关的统计特性,而且能够加入额外特别定义的附加统计特性。在神经网络的训练阶段,附加统计特性会被人工神经网络及加密模块中的单层神经网络所习得,并嵌入人工神经网络与单层神经网路的权重等某些无法直接探测到的位置。若后续的输入数据没有这个附加的统计特性,完成训练的人工神经网络模型会产生错误判断,且完成训练的单层人工神经网络模型会引起错误的数据加密,进一步影响人工神经网络模型的判断。
[0049] 本发明公开的加密保护系统在输入数据中加入的附加统计特性仅略微增加了人工神经网络及单层卷积神经网络待整理和归纳的统计特征,但从测试数据和理论而言,这个额外的统计特征,对于人工神经网络及单层卷积神经网络是可以非常容易习得的。而由于反向传播算法,这些习得过程是对人工神经网络及单层卷积神经网络的全体权重参数的调整,因此是完全融合于人工神经网络及单层卷积神经网络中,无法单纯拆分出来的一部分。
[0050] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0051] 实施例1
[0052] 一种涉及迭代与随机加密的神经网络模型加密保护系统100的系统结构图参见说明书附图1,加密保护系统100的加密模块2的加密原理参见说明书附图2,加密保护系统100包括数据输入模块1、加密模块2、加密数据输入模块3、人工神经网络模型模块4和数据输出模块5。数据输入模块1与加密模块2信号相连,加密模块2与加密数据输入模块3信号相连,加密数据输入模块3与人工神经网络模型模块4信号相连,人工神经网络模型模块4与数据输出模块5信号相连。
[0053] 进一步地,数据输入模块1用于向加密模块提供原始数据D0;加密模块2用于对数据输入模块1提供的原始数据D0进行加密处理,输出加密数据D’;加密数据输入模块3用于接收加密模块2输出的加密数据D’,并将加密数据D’传输至人工神经网络模型模块4;人工神经网络模型模块4用于接收加密数据D’,并基于加密数据D’进行计算;数据输出模块5用于将人工神经网络模型模块4计算的结果进行输出处理。
[0054] 进一步地,在网络训练阶段,人工神经网络模型模块4通过正向网络计算与逆向误差传播计算实现网络训练;在使用阶段,人工神经网络模型模块4通过正向网络计算得出结果。
[0055] 进一步地,在网络训练阶段,数据输出模块5对人工神经网络模型模块4的输出进行损失函数的计算,用于人工神经网络模型模块4经梯度反向传播算法实现网络训练;在使用阶段,数据输出模块5采用人工神经网络模型模块4的输出判断实际功能。
[0056] 加密模块2由一组具有N位数字的密钥S作为控制量,对数据输入模块1提供的所有原始数据D0进行加密处理,以实现数据加密;密钥S的长度由加密处理中的加密方式及加密要求所限定;密钥S的N位数字的每一位分别选自阿拉伯数字0-9之间的一个。
[0057] 进一步地,加密模块2包括结构转换模块21及迭代处理模块22;结构转换模块21用于将原始数据D0转换为二维结构;迭代处理模块22接收结构转换后的原始数据D0作为第一次迭代处理T1的输入数据D1,并将第一次迭代处理T1的输出作为第二次迭代处理T2的输入数据D2,以此类推,经过多次迭代处理T1-Tn后生成加密数据D’;其中,密钥S中预设定的任意一位上的数字与迭代处理的次数相关联。例如,可选择密钥S第1位上的数字与迭代处理的次数相关联。
[0058] 进一步地,迭代处理模块22包括密码生成模块221、密码嵌入模块222与单层卷积神经网络模型模块223;针对每次迭代处理T1-Tn,密码生成模块221生成与输入数据D1-Dn结构相同的密码s1-sn,密码嵌入模块222用于将密码s1-sn以叠加的方式嵌入输入数据D1-Dn,单层卷积神经网络模型模块223用于对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理T1-Tn-1的计算结果作为下一次迭代处理的输入数据被密码生成模块接收,最终次迭代处理Tn的网络计算结果即为加密数据D’。
[0059] 进一步地,密码生成模块221包括固定矩阵生成模块2211及随机矩阵生成模块2212;针对每次迭代处理T1-Tn,固定矩阵生成模块2211通过固定矩阵生成函数M1-Mn生成与输入数据D1-Dn结构相同的固定矩阵m1-mn,其中,固定矩阵生成函数M1-Mn具有多个可调参数,密钥S中预设定的任意几位上的数字与多个可调参数相关联;随机矩阵生成模块2212通过随机矩阵生成函数N1-Nn随机生成与输入数据D1-Dn结构相同的随机矩阵n1-nn,其中,密钥S中预设定的其他几位上的数字与该随机矩阵生成函数N1-Nn的均值及方差相关联;
[0060] 例如,密钥S第2-3位上的数字与对应第一次迭代处理T1的固定矩阵生成函数M1的多个可调参数相关联,密钥S第4-5位上的数字与对应第一次迭代处理T1的随机矩阵生成函数N1的均值及方差相关联,以此类推。
[0061] 对应每次迭代处理T1-Tn而分别生成的固定矩阵m1-mn与随机矩阵n1-nn的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码s1-sn。进一步地,在网络训练阶段,在人工神经网络模型模块4通过正向网络计算与逆向误差传播计算实现网络训练的同时,单层卷积神经网络模型模块223也通过正向网络计算与逆向误差传播计算实现其网络参数训练;
[0062] 进一步地,当结构转换模块21将原始数据D0转换为二维结构时,当原始数据D0为一维结构时,将其视为行数或列数为1的二维数据矩阵的形式;当原始数据D0为大于二维的结构时,将其降维转换为二维数据矩阵的形式,加密步骤完成后再将其重新映射为原始结构。
[0063] 进一步地,对应于每次迭代处理T1-Tn的固定矩阵生成函数M1-Mn选自线性函数、对数函数、指数函数、三角函数、反三角函数或其他复合函数的一种。
[0064] 进一步地,对应于每次迭代处理T1-Tn的随机矩阵生成函数N1-Nn选自正态分布函数、F分布函数、卡方分布函数、T分布函数或其他联合分布函数的一种。
[0065] 进一步地,N位数字的密钥S中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理T1-Tn的固定矩阵生成函数M1-Mn的多个可调参数、及对应每次迭代处理T1-Tn的随机矩阵生成函数N1-Nn的均值及方差。
[0066] 如说明书附图3所示,密钥S每一位上可选的阿拉伯数字0-9分别映射到可执行数值Cp,q,其中,p的取值范围为1-N,q的取值范围为0-9,Cp,q指密钥S第p位的数字q映射得到的可执行数值。
[0067] 实施例2
[0068] 一种涉及迭代与随机加密的神经网络模型加密保护方法的方法流程图参见说明书附图4,方法包括以下步骤:
[0069] 步骤S1.提供原始数据D0;
[0070] 步骤S2.对原始数据D0进行加密处理,生成加密数据D’;
[0071] 步骤S3.将加密数据D’输入至人工神经网络模型,人工神经网络模型对加密数据D’进行计算,得出结果;
[0072] 步骤S4.将计算所得结果进行输出。
[0073] 其中,步骤S2具体包括:
[0074] 步骤S21.提供一组具有N位数字的密钥S作为控制量,该密钥S具体限定了针对原始数据D0的加密处理;其中,密钥S的长度由加密处理中的加密方式及加密要求所限定;密钥S的N位数字的每一位分别选自阿拉伯数字0-9之间的一个;
[0075] 步骤S22.将原始数据D0转换为二维结构;
[0076] 步骤S23.将结构转换后的原始数据D0作为第一次迭代处理T1的输入数据D1,将第一次迭代处理T1的输出作为第二次迭代处理T2的输入数据D2,以此类推,经过多次迭代处理T1-Tn后生成加密数据D’;其中,密钥S中预设定的任意一位上的数字与迭代处理的次数相关联。例如,可选择密钥S第1位上的数字与迭代处理的次数相关联。
[0077] 其中,针对每次迭代处理T1-Tn,步骤S23具体包括:
[0078] 步骤S231.采用固定矩阵生成函数M1-Mn生成与输入数据D1-Dn结构相同的固定矩阵m1-mn,其中,固定矩阵生成函数M1-Mn具有多个可调参数,密钥S中预设定的任意几位上的数字与多个可调参数相关联;采用随机矩阵生成函数N1-Nn随机生成与输入数据D1-Dn结构相同的随机矩阵n1-nn,其中,密钥S中预设定的其他几位上的数字与该随机矩阵生成函数N1-Nn的均值及方差相关联;
[0079] 例如,密钥S第2-3位上的数字与对应第一次迭代处理T1的固定矩阵生成函数M1的多个可调参数相关联,密钥S第4-5位上的数字与对应第一次迭代处理T1的随机矩阵生成函数N1的均值及方差相关联,以此类推。
[0080] 对应每次迭代处理T1-Tn而分别生成的固定矩阵m1-mn与随机矩阵n1-nn的Hadamard乘积即为需嵌入本次迭代处理的输入数据的密码s1-sn。
[0081] 步骤S232.将密码s1-sn以叠加的方式嵌入输入数据D1-Dn;
[0082] 步骤S233.采用单层卷积神经网络对经过密码嵌入的输入数据进行网络计算,并将计算结果进行输出;其中,非最终次迭代处理T1-Tn-1的计算结果作为下一次迭代处理的输入数据,最终次迭代处理Tn的网络计算结果即为加密数据D’。
[0083] 进一步地,在步骤S22中,当原始数据D0为一维结构时,将其视为行数或列数为1的二维数据矩阵的形式;当原始数据D0为大于二维的结构时,将其降维转换为二维数据矩阵的形式,加密步骤完成后再将其重新映射为原始结构。
[0084] 进一步地,在步骤S231中,对应于每次迭代处理T1-Tn的固定矩阵生成函数M1-Mn选自线性函数、对数函数、指数函数、三角函数、反三角函数或其他复合函数的一种。
[0085] 进一步地,在步骤S231中,对应于每次迭代处理T1-Tn的随机矩阵生成函数N1-Nn选自正态分布函数、F分布函数、卡方分布函数、T分布函数或其他联合分布函数的一种。
[0086] 进一步地,N位数字的密钥S中,每一位上可选的阿拉伯数字0-9分别映射至一个可执行数值,该可执行数值分别确定了迭代处理的次数、对应每次迭代处理T1-Tn的固定矩阵生成函数M1-Mn的多个可调参数、及对应每次迭代处理T1-Tn的随机矩阵生成函数N1-Nn的均值及方差。
[0087] 如说明书附图3所示,密钥S每一位上可选的阿拉伯数字0-9分别映射到可执行数值Cp,q,其中,p的取值范围为1-N,q的取值范围为0-9,Cp,q指密钥S第p位的数字q映射得到的可执行数值。