1.一种面向深度神经网络的信息隐藏方法,其特征在于:该方法包括以下步骤:步骤a,伪随机选择深度神经网络模型嵌入层,对模型参数进行预处理,设计隐藏信息密钥;
步骤b,根据步骤a所得隐藏信息密钥对隐藏信息进行加密,将隐藏信息存储到步骤a所得的深度神经网络模型嵌入层参数中,同时将隐藏信息二次嵌入长度存储到模型嵌入层偏差中;
步骤c,隐藏信息通信双方共享相关参数,获取有效输入,目标类别,验证触发目标;
步骤d,根据步骤c获得的触发目标确定隐藏信息所在深度神经网络模型层获取有效参数的数位;
步骤e,根据伪随机序列确定未选择过的嵌入层,并根据当前层偏差中的值确定隐藏信息二次嵌入长度;然后,通过伪随机序列和二次嵌入长度联合计算来获取提取隐藏信息时的层顺序以及对应层提取隐藏信息时的起始位置;最后,将提取出的秘密信息用密钥进行解密。
2.根据权利要求1所述的一种面向深度神经网络的信息隐藏方法,其特征在于:所述步骤a中,根据伪随机数生成器生成伪随机序列R,其表达式如下:R={R1,R2,...,Rn} (1)
根据R进行数据转换后生成密钥K,其表达式如下:
K={K1,K2,...Kn} (2)
式中,n为深度神经网络层数。
3.根据权利要求2所述的一种面向深度神经网络的信息隐藏方法,其特征在于:在所述步骤b中,将隐藏信息进行数据转换后分成每组16位的多个位段M,其表达式如下:M={M1,M2,...,Mm} (3)
根据伪随机序列R选择确定隐藏信息嵌入层;确定嵌入层后获取其中神经元并判断是否为重要神经元,若为重要神经元,则根据公式(1)将隐藏信息位段用密钥进行加密得到加密文段,其数学表示如下:其中 是按位异或,1≤i≤m, 表示16位二进制加密密钥段, 表示加密后的密文段;
根据替换函数将加密信息修改神经元中的参数;计算新的参数值,并判断是否为不稳定神经元,若是不稳定神经元,则将隐藏信息二次嵌入下一层中待嵌入层位置,以确保提取出错时能够正确恢复;其数学表达式如下:G(·):(W,S)→Wnew (5)
式中,W为神经元,S为加密信息,Wnew为嵌入信息后的新参数值;将本层中隐藏信息的二次嵌入长度存储到偏差中,用于提取隐藏信息时确定每一层的起始位置。
4.根据权利要求3所述的一种面向深度神经网络的信息隐藏方法,其特征在于:所述步骤c中,在模型运行过程中,如果连续三次模型输出得到特定目标类别,则触发提取过程,提取嵌入的隐藏信息;否则神经网络模型便只会发挥模型的正常使用功能。
5.根据权利要求4所述的一种面向深度神经网络的信息隐藏方法,其特征在于:所述步骤d中,根据触发目标类别为初始种子生成伪随机序列R′,其中R=R′,根据伪随机序列R′确定未选择过的嵌入层,并获取偏差中的二次嵌入长度。
6.根据权利要求5所述的一种面向深度神经网络的信息隐藏方法,其特征在于:所述步骤e中,获取嵌入层中的重要神经元并判断其是否为不稳定神经元,若为不稳定神经元,则舍弃当前隐藏信息并根据二次嵌入长度提取出下一层有效嵌入层中的秘密信息;否则直接提取当前神经元参数中的隐藏信息;最后,将秘密信息S用密钥K解密后得到隐藏信息M;提取函数的数学表达式如下:f(·):W→S (6)
式中W为神经元参数,将参数转换成32位二进制,并提取出其后16位W2[16:]得到秘密信息S。