Equivalent neural network learning of block cipher algorithms based on thought-chain

  • Wang Wendong 1 ,
  • Cao Xinying 1 ,
  • Yuan Chao 2 ,
  • Li Dawei 1 ,
  • Lü Jiqiang , 1, 3, *
Expand
  • 1. School of Cyber Science and Technology, Beihang University, Beijing 100083, China
  • 2. PLA Unit 32057, Cangzhou 061017, China
  • 3. Hangzhou Innovation Institute, Beihang University, Hangzhou 310005, China

Received date: 2025-09-24

  Online published: 2026-05-22

Supported by

This paper is supported by the National Natural Science Foundation of China (62372022) and the Beijing Natural Science Foundation (L251040).

Copyright

Copyright ©2026 Journal of Aeronautical Materials. All rights reserved.

Abstract

Neural networks, as powerful nonlinear modeling tools, demonstrate unique advantages across multiple fields and have recently begun to show their potential in the field of cryptography, providing new technical insights for encrypted data analysis. The deep neural network model is utilized to learn the mapping relationship from the internal functions of the known encryption algorithm, and an encryption neural network model functionally equivalent to the original algorithm is constructed based on the chain of thought pattern. Through the meticulous design of efficient neural network structures and the construction of appropriate training datasets, the equivalent neural network simulation of basic operations (XOR, OR, AND, modular addition, cyclic shift, S-box transformation, row shift and column mixing) for block cipher algorithms is realized. On this basis, the learning of encryption and key expansion functions is conducted on four typical block cipher algorithms, namely AES-128, SM4, SIMON32/64 and SPECK64/96, and the accuracy and stability of the model in different application scenarios are verified. Experimental results show that the simulation success rate of the model on AES-128, SM4 and SIMON32/64 reaches 100%, and the success rate on SPECK64/96 reaches 97%. The equivalent neural network learning of block cipher algorithms based on chain of thought cannot only accurately learn the operation logic of the original encryption algorithm, but also effectively simulate its key expansion process, with high simulation accuracy and stability.

Cite this article

Wang Wendong , Cao Xinying , Yuan Chao , Li Dawei , Lü Jiqiang . Equivalent neural network learning of block cipher algorithms based on thought-chain[J]. Journal of Cybersecurity, 2026 : 1 -15 . DOI: 10.20172/j.issn.2097-3136.260522

0 引言

密码学在军事通信、金融运营和互联网数据交换中扮演着至关重要的角色。对称密码学作为信息安全的核心基石,其发展历程历经了从简单替换密码到复杂分组密码的逐步演进。从1976年的DES(date encryption standard),到2001年公布、2002年正式实施并成为行业新标准的AES(advanced encryption standard),再到专为物联网等轻量级场景设计的SPECK/SIMON算法,以及我国自主研发、后正式成为国际标准的SM4,这些经典算法共同奠定了现代信息安全体系的基础。然而,随着计算能力的飞速提升(尤其是量子计算带来的潜在安全威胁),以及侧信道攻击、逆向分析等新型攻击手段的持续涌现,仅依靠加密算法本身的数学安全性,已不足以应对当前各类复杂的安全挑战。在此背景下,探索新型密码分析模型,尤其是能够深度解析算法内部动态运行特性的模型,对于科学评估和有效提升密码系统的整体安全性,具有重要的理论价值与前瞻性意义。
神经网络是机器学习领域的一类强大的建模工具,可通过多层非线性变换从数据中学习复杂的模式与映射关系。借助反向传播算法,研究人员可通过基于梯度的优化技术(如随机梯度下降、RMSProp[1])对神经网络进行高效训练。其中部分模型的参数在特定场景下可被可视化、解析和理解[2]。然而,大多数神经网络被认为是黑盒[3-4],很难确定网络权重背后的语义含义。1991年,Jang等[5]提出了广义神经网络(generalized neural network,GNN)的概念,该模型可将人类专家的经验与知识转化为模糊推理系统的规则库和数据库。1993年,Jang[6]提出了基于自适应网络的模糊推理系统,该系统可对非线性函数进行建模、对混沌时间序列进行预测,取得了显著效果。1994年,Kwan等[7]提出的4层模糊神经网络(fuzzy neural network,FNN)在识别移位和扭曲的训练模式时表现良好。这些方法以预定义的方式组合特定的逻辑运算和移位操作。2017年,Godfrey等[8]提出了一种深度学习架构,该架构可通过梯度下降法学习多种逻辑运算。由于神经网络能够通过大规模数据学习复杂的非线性关系和模式,其近年来正逐步应用于加密数据分析领域,成为加密数据分析的新技术工具。2019年,Gohr[9]的研究表明,基于神经网络的差分区分器,其检测准确率优于传统差分区分器;2023年,陈怡等[10]利用神经网络提高了传统差分分布表的概率,表明神经网络在分组密码数据处理和分析方面的效率和准确性具有优势。同年,Zhang等[11]提出了基于生成对抗网络(generative adversarial network,GAN)的8位S盒生成方法,设计了WGAN-GP模型的优化模型WGP-IM,通过构建WGAN-GP的损失函数约束条件,筛选出具备优异密码学特性的S盒。
随着计算能力的提升、量子技术的发展,以及侧信道攻击、逆向分析等新型攻击手段的出现,为保障密文数据的安全性,亟须开展分组密码算法等价神经网络技术的相关研究。即利用神经网络模型对分组密码算法开展数据分析与算法学习,在输入明文和密钥相同的前提下,使模拟神经网络模型与原算法输出的密文完全一致。
针对上述挑战,本文提出了一种将思维链提示模式与分组密码算法神经网络等价学习相结合的新方法,该方法将完整加密过程拆解为多个中间加密步骤,通过分块网络学习的方式提升神经网络的拟合效果与加密执行精度。关键步骤如下:首先,对加密算法轮函数中的特征操作进行系统性拆解,将其划分为基本操作单元,包括异或(XOR)运算、或(OR)运算、与(AND)运算、32位模加法、循环移位、S盒变换、行移位和列混淆等。通过对这些关键操作的提取与分析,为本文后续的模型构建提供了基础支撑。其次,在基本操作单元的基础上,本文分别采用长短期记忆(long short-term memory,LSTM)网络和深度残差网络(deep residual network,ResNet)开展实验设计与实现,对不同基本操作进行建模与训练,得到高精度的等价模型;同时,通过挖掘这两种深度学习模型的特性,探究其在捕捉加密算法复杂非线性映射关系方面的性能表现。此外,本文还设计了合理的超参数搜索策略,针对具体目标运算构建专用损失函数,并通过优化网络层结构与激活函数的选择策略,提升模型的收敛速度与预测精度。最后,基于思维链提示模式,本文将各局部基本操作模型按照“由局部到整体”的逻辑顺序进行组合与重构,进而构建出完整的加密算法等价神经网络模型。这种拆解—重组的方法旨在精准模拟加密算法的运算行为,深度解析其底层运行机制,同时实现高效建模。
本文以SPECK、SIMON、AES-128和SM4这4种典型分组密码算法的轮函数为研究对象开展实验,结果表明,基于这4种算法的轮函数神经网络等价学习中,AES-128、SM4和SIMON32/64对应的学习成功率均达100%,SPECK64/96对应的学习成功率达97%,验证了该方法在不同分组密码算法场景下的有效性与普适性。本文的研究不仅提供了一种新型密码算法分析工具,而且为可解释人工智能(Explainable AI,XAI)在网络空间安全领域的应用提供了典型参考案例。

1 基本知识

本文给出所用符号的规范描述,简要介绍 SPECK64/96、SIMON32/64、AES-128 和 SM4 这 4 个分组密码算法、神经网络模型和思维链提示模式。

1.1 符号描述

$ \oplus $:异或运算。
$ \boxplus $:32位模加法,即:$ a+b(\mathrm{mod}{2}^{32}) $
$ \& $:与运算。
$ | $ :或运算。
$ \lll i $:向左循环移位i位。
$ \ggg i $:向右循环移位i位。

1.2 SPECK分组密码算法

SPECK 算法是美国国家安全局(National Security Agency, NSA)于 2013 年提出的轻量级分组密码算法[12]。根据分组长度和密钥长度的不同,SPECK系列算法拥有10种不同的版本,分别用SPECK$ 2n/mn $表示,其中,$ n $表示字长,$ 2n $表示分组长度,$ m $表示密钥字数,$ mn $表示主密钥长度,$ \alpha $$ \beta $是SPECK密码算法中特有的常数,SPECK$ 64/96 $版本中,$ \alpha $取值为8,$ \beta $取值为3,$ n $取值为32,$ m $取值为3,加密轮数为26轮。
SPECK算法设计上运用了模加运算$ \left(\boxplus \right) $、循环左移$ \left(\lll \right) $、循环右移$ \left(\ggg \right) $和按位异或$ \left(\oplus \right) $运算的基本功能组合。本文主要关注SPECK$ 64/96 $版本,其加密轮函数如图1所示。SPECK算法经过一轮加密后的输出为:
图 1 SPECK64/96算法加密轮函数

Fig.1 Encryption round function of SPECK64/96

$ \begin{cases} {L}_{i+1}=\left(\left({L}_{i}\ggg \alpha \right)\boxplus {R}_{i}\right)\oplus {K}_{i} \\{R}_{i+1}=\left({R}_{i}\lll \beta \right)\oplus {L}_{i+1} \end{cases} $
SPECK算法的密钥扩展算法利用轮函数来生成所需的子密钥$ {K}_{i} $,记算法主密钥$ K=\left({L}_{m-2},{L}_{m-3},\cdots , {L}_{0},{K}_{0}\right) $,其中,$ {L}_{i},{K}_{0}\in {\mathrm{GF}}\left(2\right)n $。密钥扩展函数的输入为$ K $,输出为$ T $个子密钥$ {K}_{0},{K}_{1},\cdots ,{K}_{T-1} $。计算$ {L}_{i}和 {K}_{i} $的公式为:
$ \begin{cases} {L}_{i+m-1}=\left({K}_{i}\boxplus \left({L}_{i}\ggg \alpha \right)\right)\oplus i \\{K}_{i+1}=\left({K}_{i}\lll \beta \right)\oplus {L}_{i+m-1} \end{cases} $

1.3 SIMON分组密码算法

SIMON算法是由美国国家安全局在2013年提出的轻量级分组密码算法[12]。根据分组长度和密钥长度的差别,SIMON系列算法拥有10种不同的版本,分别用SIMON$ 2n/mn $表示,其中,$ n $表示字长,$ 2n $表示分组长度,$ m $表示密钥字数,$ mn $表示主密钥长度,SIMON$ 32/64 $版本中,$ n $取值为16,$ m $取值为4,加密轮数为32轮。
SIMON系列轻量级分组密码算法基于平衡的Feistel结构,由线性运算(比特移位运算、逻辑异或运算)和非线性运算(逻辑与运算)经多轮迭代构成,摒弃了传统分组密码中的S盒。SIMON算法的加密轮函数如图2所示,设第i轮的输入为$ \text{(}{L}_{i},{R}_{i}) $,子密钥为$ {k}_{i+1} $,经过一轮加密后的输出为:
图 2 SIMON32/64算法的加密轮函数

Fig.2 Encryption round function of SIMON32/64

$ \begin{cases} {L}_{i+1}=F\left({L}_{i}\right)\oplus {R}_{i}\oplus {k}_{i}\\{R}_{i+1}={L}_{i}\end{cases} $
其中,非线性变换为:
$ F\left(x\right)=\left(x\lll 1\right)\& \left(x\lll 8\right)\oplus \left(x\lll 2\right) $
基于分组长度为$ 2n $,密钥长度为$ mn $的SIMON算法,其密钥扩展算法将$ m $$ n $ bit主密钥$ K=\left({k}_{0},{k}_{1},\cdots , {k}_{m-1}\right) $通过运算生成$ r $轮密钥$ {K}^{0},{K}^{1},\cdots ,{K}^{r-1} $。不同版本密钥扩展算法如下:当$ i=0,1,\cdots ,m-1 $时,$ {K}^{i}={k}_{i} $,当$ i=m,m+1,\cdots ,r-1 $时:
$ \begin{cases} {K}^{i}=c\oplus {\left({z}_{j}\right)}_{i-m}\oplus {K}^{i-m}\oplus \left({K}^{i-m+1}\ggg 3\right)\oplus\\\quad \left({K}^{i-m+1}\ggg 4\right),m=2\\{K}^{i}=c\oplus {\left({z}_{j}\right)}_{i-m}\oplus {K}^{i-m}\oplus \left({K}^{i-m+2}\ggg 3\right)\oplus\\\quad \left({K}^{i-m+2}\ggg 4\right),m=3\\{K}^{i}=c\oplus {\left({z}_{j}\right)}_{i-m}\oplus {K}^{i-m}\oplus {K}^{i-m+1}\oplus \left({K}^{i-m+1}\ggg 1\right)\oplus\\\quad \left({K}^{i-m+1}\ggg 3\right)\oplus \left({K}^{i-m+1}\ggg 4\right),m=4\end{cases} $
其中,$ {c}={2}^{{n}}-4 $$ {{z}}_{{j}} $是根据版本设定的常数序列。可以看出,所有轮密钥均由主密钥经仿射变换生成,即主密钥与任意轮密钥之间可相互推导得出。

1.4 AES分组密码算法

AES是美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)于2001年公布、2002年正式实施的分组加密标准[13],取代DES成为新一代国际加密标准。AES的分组长度固定为128 bit,密钥长度支持128 bit、192 bit、256 bit,对应加密轮数分别为10轮、12轮、14轮。AES的基本处理单位为字节,128 bit的输入明文分组P和输入密钥K均被划分为16个字节,对应16个字节单元。
明文分组以字节为单位被映射为4×4的正方形矩阵,该矩阵称为状态矩阵,矩阵中字节的排列顺序为从上到下、从左至右,如图3所示。加密过程中,明文先与主密钥进行按位异或操作(初始轮密钥加),随后执行对应数量的轮变换,最后一轮轮变换不含列混淆操作,AES-128算法加密流程如图4所示。
图 3 AES状态矩阵字节顺序

Fig.3 Byte order of the AES state matrix

图 4 AES-128算法加密流程

Fig.4 Encryption process of AES-128 algorithm

AES 加密过程主要包括以下步骤。
1)密钥扩展:密钥扩展的核心是将输入的主密钥扩展为若干轮密钥,为后续每一轮轮变换提供加密密钥;该过程通过非线性函数与位运算生成满足整个加密过程所需的轮密钥集。对于 AES-128,首先将初始主密钥映射至 4×4 的状态矩阵中,该矩阵每一列的 4 个字节拼接为一个 32 bit,矩阵的 4 列依次命名为 W [0]、W [1]、W [2]、W [3],共同构成以字为单位的扩展密钥数组 W。其次,对W数组扩充40个新列,构成44列的扩展密钥数组。第$ i $$ (i\in [5,44]) $由如下递归方式产生:
$ \begin{cases} W\left[i\right]=W\left[i-4\left]\oplus W\right[i-1\right],i\left({\mathrm{mod}}4\right)\neq 0\\W\left[i\right]=W\left[i-4\right]\oplus T\left(W\left[i-1\right]\right),i\left({\mathrm{mod}}4\right)=0\end{cases} $
其中,函数T由字循环、字节替换和轮常量异或3部分组成。
2)初始轮密钥加:初始轮密钥加操作是将明文分组与第一个轮密钥进行按位异或,得到初始处理后的状态矩阵,为后续多轮变换做准备。
3)字节替换(subbytes, SB):字节替换操作通过查表方式对状态矩阵中的每个字节进行非线性替换,以此增强加密算法的非线性与扩散特性。
4)行移位(shiftrows, SR):行移位是对状态矩阵进行循环左移位操作,对于AES-128,状态矩阵的第0行不移位,第1行循环左移1 byte,第2行循环左移2 byte,第3行循环左移3 byte。
5)列混淆(mixcolumns, MC):列混淆是对状态矩阵的每一列进行线性变换,通过有限域上的乘法与加法操作实现列内字节的混合,进一步增强加密算法的数据扩散特性;列混淆操作中,将状态矩阵与列混淆矩阵进行矩阵乘法运算,运算结果作为新的状态矩阵,列混淆矩阵如图5所示。
图 5 列混淆矩阵

Fig.5 Column confusion matrix of AES

1.5 SM4分组密码算法

SMS4算法是国家密码管理局于2006年公布的首款商用分组密码算法,经多年评估与测试,该算法于2012年3月被确定为密码行业标准[14],并正式更名为SM4;2016年8月,SM4被转化为国家标准[15]。SM4分组密码算法采用非平衡Feistel网络结构,其分组长度与主密钥长度均为128 bit。
SM4的加密过程为:输入4个32 bit组成的128 bit明文X=(X0,X1,X2,X3)(每个Xi表示1个32 bit),经32轮非线性轮函数迭代得到密文,其结构如图6所示。
图 6 SM4分组密码算法轮函数结构

Fig.6 The round function structure of SM4 algorithm

Xi为明文字或迭代中间值,每一轮迭代均需 1 个 32 bit字的轮密钥,共需 32 个轮密钥,记为$ (r{k}_{0}, r{k}_{1},\cdots ,r{k}_{31}) $;SM4 轮函数的数学表达式为:
$ \begin{aligned}& F\left({X}_{i},{X}_{i+1},\oplus {X}_{i+2},{X}_{i+3},r{k}_{i}\right)\\&={X}_{i}\oplus {\mathrm{T}}\left({X}_{i+1}\oplus {X}_{i+2}\oplus {X}_{i+3}\oplus r{k}_{i}\right),i\in \left[0,31\right]\end{aligned}$
其中,$ {\mathrm{T}} $为合成置换,接收1字的输入$ A $,得到1字的输出$ C $。它包含非线性变换$ \tau $和线性变换$ L $两个过程,即$ C=T(A)=L(\tau (A)) $。非线性变换$ \tau $对输入参数的每个字节进行S盒($ {\mathrm{Sbox}} $)变换,接收1字的输入,记为$ A=({a}_{0},{a}_{1},{a}_{2},{a}_{3}) $,得到1字的输出$ B= ({b}_{0},{b}_{1},{b}_{2},{b}_{3}) $,线性变换$ L $接收$ B $作为输入,得到输出$ C $,运算公式如下:
$ \begin{cases} B=\left({b}_{0},{b}_{1},{b}_{2},{b}_{3}\right)=\tau \left(A\right)\\\quad=\left({\mathrm{Sbox}}({a}_{0}\right),{\mathrm{Sbox}}({a}_{1}),{\mathrm{Sbox}}({a}_{2}),{\mathrm{Sbox}}({a}_{3}))\\C=L\left(B\right)=B\oplus \left(B\lll 2\right)\\\quad\oplus \left(B\lll 10\right)\oplus \left(B\lll 18\right)\oplus \left(B\lll 24\right)\end{cases} $
上述合成置换T的结构同样适用于密钥扩展算法:原始密钥为$ {\mathrm{MK}}=\left({\mathrm{M{K}}}_{0},{\mathrm{M{K}}}_{1}, {\mathrm{M{K}}}_{2},{\mathrm{M{K}}}_{3}\right) $,其中,$ {\mathrm{M{K}}}_{i} $为1字。首先让原始密钥$ {\mathrm{MK}} $与系统参数$ {\mathrm{FK}} $异或,得到初始化密钥$ \left({K}_{0},{K}_{1},{K}_{2}, {K}_{3}\right), {K}_{i}={\mathrm{M{K}}}_{i}\oplus {\mathrm{F{K}}}_{i} $密钥扩展过程与加密过程类似,需使用固定参数$ {\mathrm{C{K}}}_{i} $$ i\in \left[0,31\right] $,长为1字。假设$ c{k}_{i,j} $$ {\mathrm{C{K}}}_{i} $的第$ j $个字节,那么$ c{k}_{i,j}=\left(4i+j\right)\times 7\left({\mathrm{mod}}\ 256\right) $。其通式如下:
$ \begin{aligned}r{k}_{i}&={K}_{i+4}\\&={K}_{i}\oplus {\mathrm{T}}'\left({K}_{i+1}\oplus {K}_{i+2}\oplus {K}_{i+3}\oplus C{K}_{i}\right),i\in \left[0,31\right]\end{aligned} $
密钥扩展算法中的合成置换$ {\mathrm{T}}' $同样由非线性变换和线性变换两部分组成,其中非线性变换部分与${\mathrm{ T }}$完全相同,线性变换部分稍有区别,其线性变换$ L' $运算公式为$ L'(B)=B\oplus (B\lll 13)\oplus (B\lll 23) $

1.6 神经网络模型

为高效学习加密算法的内部运算逻辑与映射关系,需精心设计神经网络架构,本节主要介绍本文所用的两种核心神经网络模型:长短期记忆网络和深度残差网络。
LSTM是一类特殊的循环神经网络(recurrent neural network,RNN),其设计初衷是解决传统RNN处理长序列数据时存在的梯度消失或梯度爆炸问题;该网络主要由输入门、遗忘门、细胞状态和输出门4个关键部分构成,LSTM关键结构如图7所示。这些门控机制通过Sigmoid函数与Tanh函数调节信息的传递与流动,从而实现对长序列数据中长期依赖关系的有效建模;本文研究发现,该模型同样适用于建模加密过程中的复杂非线性映射关系与长期依赖特性。尤其在基于置换的分组密码加解密过程中,明文与密文之间存在明确的映射关系;通过LSTM模型从明文—密文对中提取特征,不仅可捕捉输入序列中的长期记忆特征,还能提升深度学习模型的建模性能。
图 7 LSTM关键结构

Fig.7 Key structure of LSTM

ResNet是一类特殊的卷积神经网络(convolutional neural network,CNN),其核心设计思想是通过引入残差学习框架(如图8所示),缓解深度网络训练过程中的梯度消失或梯度爆炸问题,同时提升模型的收敛速度。ResNet的核心创新点在于残差块(residual block),每个残差块包含两层卷积层,并通过跳跃连接(skip connection)将输入直接传递至输出端。该设计使网络可学习到更浅层的基础特征,同时深度更深的网络能够学习更高层次的残差映射特征。ResNet不仅擅长处理图像中的局部特征,还可通过大感受野与多级下采样操作提取全局特征;结合其深层网络结构与创新性残差连接技术,该模型既显著提升了特征表达能力,又保证了训练过程的稳定性。此外,ResNet可有效整合全局特征信息,有助于充分挖掘图像数据中的上下文关联。
图 8 残差学习框架

Fig.8 Residual learning framework

模型优化方面,选取合适的损失函数与评估指标对模型训练效果至关重要;Dropout、权重衰减等正则化方法可有效抑制过拟合,保证模型具备良好的泛化能力。
超参数选择方面,神经网络模型的超参数包括网络层数、每层神经元数量、学习率(learning rate, LR)、批次大小(batch size, BS)和训练轮数(epochs)等,这些超参数直接决定了模型的建模容量与训练效率。本文采用网格搜索法穷举预定义的超参数空间,以寻得最优超参数组合,实现对模型超参数的系统性调优。

1.7 思维链提示模式

思维链提示的核心思想是将复杂问题拆解为多个易处理的子问题。该方法不仅能提升问题求解的准确性,还能让推理过程更透明、更易理解,从而增强模型的可解释性;思维链提示模式的整体流程如图9所示,即从复杂问题拆解为子问题,再对各子问题进行神经网络建模与训练,最后将子模型组合为完整的神经网络模型。
图 9 思维链提示模式的整体流程

Fig.9 Overall process of the thought-chain prompt mode

由于加密算法的明文—密文对应关系具有较强的非线性与模糊性,神经网络难以直接、准确地学习到明文与密文之间的映射特征,因此采用手动思维链方法,从目标加密算法轮函数的运算特性出发,设计专属的算法划分策略,对加密算法进行结构化拆解与划分。
总体而言,首先按照“由整体到局部”的分析思路,将加密算法拆解为异或、或、与、32位模加法、循环移位、S盒变换、列混淆等多个基本操作单元,将难以实现的复杂问题拆解为多个易实现的简单子问题;随后按照“由局部到整体”的实现思路,为每个子问题设计专用的神经网络结构(如全连接层、卷积层等),以明文及对应中间状态数据为训练集开展模型训练,确保每个子模型能精准建模其对应的运算特性,进而分别完成各基本操作的等价神经网络建模与训练;最后将各训练完成的子模型进行合理组合,实现对完整加密算法的等价建模,最终构建出与原加密算法功能等价的完整神经网络模型。

2 分组密码基本操作的等价神经网络学习

基于思维链提示模式与分组密码算法等价神经网络融合的方法,将加密过程分解为多个中间加密步骤进行分块网络学习,从而提高神经网络的拟合效果与加密执行准确率。图10为分组密码基本操作的等价神经网络学习框架,分为以下几个关键步骤:首先,对加密算法轮函数中的特征操作进行系统性划分,将其拆解为一系列基本操作单元。通过对这些关键操作的提取与分析,为后续的神经网络建模提供基础。其次,在基本操作单元的基础上,分别基于LSTM神经网络和ResNet神经网络进行实验设计与实现,各自对不同的基本操作进行建模与训练,以获取高精度的等价模型。最后,对模型进行优化与验证,设计合理的超参数搜索策略,针对特定目标运算构造具体的损失函数,同时优化网络层结构与激活函数选择,最终得到高精度的等价模型。
图 10 分组密码基本操作的等价神经网络学习框架

Fig.10 Equivalent neural network learning framework for the basic operations of block ciphers

在具体实现中,令每个基本模块包含一种基本操作,如XOR、OR、AND、32位模加法、循环移位、S盒映射、列混淆等。通过模型特征分析测试实验,挖掘出适配的网络结构与训练参数,最终选取训练结果最优的模型,在模型复杂度与准确率之间获得平衡。
在训练不同基本模块的过程中,均采用网格搜索法自动调整模型超参数。通过遍历正则化参数、学习率等超参数,筛选出准确率最高的模型;通过遍历网络深度、全连接层节点数等参数,筛选出网络复杂度最低的模型。
上述轮函数基本模块等价模型的训练难度,取决于输入数据与标签之间的映射关系,映射关系越复杂,训练难度越大,具体可分为4个层次:首先,XOR、OR和AND基本模块的训练较为容易,因为它们可进行逐比特运算,且映射关系仅有4种情况;其次是S盒、列混淆运算,均为8 bit到8 bit的映射;再次是循环移位和行移位运算,均为32 bit到32 bit的映射;最后是32 bit模加法运算,为64 bit到32 bit的映射,在所有基本操作中难度最大。
各个基本模块训练过程中的批量大小为2 000,迭代次数为100,正则化参数为10−5,其他固定参数如表1所示。本实验中涉及的准确率定义为
表 1 各个基本模块的模型超参数

Table 1 Model hyperparameters of each basic module

基本模块 神经网络 训练集 验证集 测试集
XOR
OR
AND
LSTM
ResNet
5×103 103 104
32位模加法 LSTM
ResNet
5×103 103 104
循环
移位
LSTM
ResNet
216 215 104
S盒 LSTM
ResNet
106/217 105/216 104
行位移
列混淆
ResNet 216 215 104
$ 准确率=\frac{模型单次预测的正确比特数}{标签比特数}\times 100\mathrm{\% } $

2.1 XOR、OR和AND基本操作的等价神经网络学习

在等价神经网络训练中,由于XOR、OR和AND存在共通点,即可以按照单比特进行运算,输入为2个1bit的0或1,标签为1bit的运算结果,因此与具体实验中的步骤和参数一致。
训练数据生成:随机生成2个1bit数作为输入,分别进行XOR、OR和AND运算,将运算结果作为标签。
训练过程:图11给出3种位运算的等价神经网络模型准确率,可知训练后的模型训练集准确率和验证集准确率均能达到100%。
图 11 3种位运算的等价神经网络模型准确率

Fig.11 Accuracy rates of equivalent neural network models for three bitwise operations

模型测试:加载训练好的神经网络模型,评估XOR、OR和AND模型的运算结果。由于使用的是二分类神经网络,模型会在输出层生成一个概率值(0到1之间的浮点数),表示样本属于某个类别的概率;而本文的目标是完成分类任务(通常返回类别标签),因此在预测结果上应用阈值(如大于0.5为1,否则为0)。XOR、OR和AND 3个基本模块的测试集准确率均为100%。

2.2 32位模加法基本操作的等价神经网络学习

在某些密码算法中(如 SPECK),包含 “$ \boxplus $” 运算。由于32 bit模加法涉及进位,无法逐比特进行,因此训练过程与简单位运算有所区别。
训练数据生成:随机生成2个32 bit,将其拼接后作为输入,将2个32 bit进行$ \boxplus $运算,将运算结果作为标签。
模型训练及测试:最终未找到准确率较高的超参数组合,训练结果如图12所示。
图 12 32位模加法等价模型训练结果

Fig.12 Training result of the 32 bit modular addition equivalent model

基于前述操作,本文已实现所有位运算的等价神经网络,在此可利用位运算的等价模型实现“$ \boxplus $”运算。假设$ A,B $为2个二进制数,则:
$A+B\left(\text{mod} 2^{32}\right)=A \oplus B+((A \& B) \ll 1) \& (2^{32}-1) $
具体步骤如下:
步骤1 $ A,B $对应的二进制位相加可以表示成$ A \oplus B $
步骤2 在二进制下,$ A,B $对应位同时为1时需要进位,进位可以表示成$ (A\& B)\ll 1 $
步骤3 $ {2}^{32} $运算可以表示成$ X\& ({2}^{32}-1) $
步骤4 步骤1、2、3分别计算出相加结果、进位及模$ {2}^{32} $运算结果,随后将相加结果与进位移位后的结果重复上述运算,直至进位为0。
加载训练好的神经网络模型,通过测试数据预测评估32位模加法模型的准确率,测试集准确率达到99.9%。

2.3 循环移位基本操作的等价神经网络学习

以32 bit循环移位为例,选取LSTM、ResNet神经网络及随机森林,训练方式包含37 → 32随机移位训练(输入序列长度37 bit,后5 bit为随机右移位数,输出序列长度32 bit)和32 → 32固定移位训练(输入序列长度32 bit,输出序列长度32 bit,右移位数固定为8位)。
(1)基于随机森林训练目标模型
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树,对预测结果进行投票或平均,可有效降低模型过拟合风险,提升泛化能力。该方法适用于多种数据集,可生成高精度分类器,尤其适用于处理包含大量输入变量的场景。
通过改变数据集大小和树的个数,分别开展训练学习。实验结果表明:随着训练数据量的增大,模型准确率逐渐提升,训练出的模型复杂度也同步增加。对于37 → 32随机移位训练,当准确率达到92.66%时,模型复杂度为54.2 GB,不同参数下的训练结果如表2所示。对于32 → 32固定移位训练,当准确率达到99.99%时,模型复杂度为5.42 GB,训练结果如表3所示。
表 2 基于随机森林的37 → 32随机右移训练结果

Table 2 Training results of 37 → 32 random right shift based on random forest

数据集大小 树的个数 模型复杂度 准确率
1000 1000 557MB 0
10 000 100 555MB 0
100 000 100 5.42GB 18.37%
1 000 000 100 54.2GB 92.66%
表 3 基于随机森林的32 → 32固定右移8位训练结果

Table 3 Training results of 32 → 32 fixed 8-bit right shift based on random forest

训练数据集大小 模型复杂度 准确率
100 5.83MB 0
1 000 55.8MB 52%
10 000 555MB 98.34%
100 000 5.42GB 99.99%
通过上述大量测试实验发现:基于随机森林,采用32 → 32固定移位训练方式进行等价学习的效果更优,因此优先选用该训练方式。
(2)基于神经网络训练目标模型
训练过程:采用LSTM和ResNet神经网络进行训练,从训练集与验证集准确率来看,均未获得理想的目标模型结果,如图13所示。
图 13 32 bit循环移位等价神经网络模型训练结果

Fig.13 Training results of the 32 bit cyclic shift equivalent neural network model

模型测试:加载训练好的神经网络模型,对测试数据进行预测,将预测结果中每一位的概率值按大于0.5取1、否则取0的方式预处理后,与正确标签数据进行对比以评估模型,测试集准确率达到100%。针对训练集与验证集准确率不理想,但测试集准确率达到100%的现象,本文分析认为,神经网络多用于处理二元分类、多分类及回归任务。分类任务的主要目的是将输入数据按预定义类别分类,回归任务的目标是预测连续值;而本文要实现的32bit输入预测32bit输出任务,虽然目标为离散值、类似分类任务,但由于标签32bit的汉明重量不固定为1,因此既不属于分类任务也不属于回归任务。神经网络缺乏合适的损失函数处理该类任务,导致训练与验证准确率较低。

2.4 S盒基本操作的等价神经网络学习

2.4.1 基于2分类问题的S盒学习

训练数据生成:随机生成1个8 bit,通过S盒映射得到另一个8 bit,将两个8 bit拼接为16 bit作为正样本;随机生成2个无S盒映射关系的8 bit,拼接为16 bit作为负样本。正样本标签为1,负样本标签为0,数据集中正负样本各占50%。
模型训练及测试:采用LSTM和ResNet神经网络进行训练,训练结果如图14所示。加载训练好的神经网络模型,通过测试数据预测评估S盒模型的准确率,每秒测试约30次,最终测试集准确率达到100%。
图 14 正确率为50%的S盒等价模型训练结果

Fig.14 Training results of the S-box equivalent model with a correct rate of 50%

2.4.2 基于多分类问题的S盒学习

训练数据生成:随机生成1个8bit数作为S盒输入,通过S盒映射得到另一个8bit数作为标签,构成训练集中的一条训练数据。
模型训练及测试:将S盒输入到输出的映射关系视为多分类问题,为此,本文基于LSTM和ResNet分别设计轻量级神经网络以学习该映射。通过训练使模型精确拟合S盒的置换表。加载训练好的神经网络模型,通过测试数据预测评估S盒模型的准确率,每秒测试约7791次,相较于2.4.1中的测试速度提升约256倍,最终测试集准确率达到100%。

2.5 模型训练结果

经过上述大量实验,本文完成了所有轮函数基本模块等价神经网络模型的训练,各模型的大小及准确率如表4所示。
表 4 轮函数基本模块的训练结果

Table 4 Training results of the basic module of round functions

子模型 输入比特数 输出比特数 复杂度 准确率
XOR\OR\AND 16+16 16 44KB 100%
32+32 32 44KB 100%
32位模加法 16+16 16 1173KB 100%
32+32 32 3489KB 99.9%
循环移位 16 16 1173KB 100%
32 32 1173KB 100%
S盒 16 1 1103KB 100%
行位移 32 32 1173KB 100%
列混淆 8 8 482KB 100%

3 SPECK64/96、SIMON32/64、AES-128与SM4分组密码的等价神经网络学习

在完成轮函数基本模块的等价神经网络学习后,为验证完整分组密码模型(含加密流程与密钥扩展过程)的仿真精度与稳定性,本文遵循“由局部到整体”的实现思路,基于思维链提示模式,集成各子模块模型,最终构建出完整的加密算法等价神经网络。图15展示了4种分组密码算法等价神经网络学习模型的实现原理。
图 15 神经网络学习模型实现原理示意

Fig.15 Schematic diagram of the implementation principle of the neural network learning model

本文采用模块化分层建模与闭环验证相结合的方法,系统构建出能够准确模拟加密算法的神经网络模型。图16为分组密码算法等价神经网络学习技术框架,该框架包含以下步骤:首先,对目标加密算法中的各类基础运算单元(包括加法、乘法等)进行独立建模,确保每个局部功能的准确性与可靠性。其次,通过解析加密算法的内部架构,把握各功能模块间的相互关系,并根据加密算法具体结构,确定各局部模型在整体模拟中的位置与连接顺序,确保模块间按正确逻辑流程协同工作。在模型组合与重构过程中,通过优化数据流设计实现模块间数据高效传递,同时通过规范化接口定义实现各模块无缝衔接,最终将所有局部模型有机整合为完整的神经网络体系,实现对整个加密算法的精确模拟。最后,为验证模型性能,本文选取典型加密算法(包括SPECK、SIMON、AES-128、SM4等),通过实验收集相关数据,系统评估模型在准确性、运行效率等关键指标上的表现,对比分析不同配置下的模型效果,并以此为依据进行反馈优化。通过持续迭代优化,最终成功构建出既能精准模拟加密算法,又具备良好扩展性的分组密码等价神经网络模型。本实验中涉及的成功率定义如下:
图 16 分组密码算法等价神经网络学习技术框架

Fig.16 Framework of equivalent neural network learning technology for block cipher algorithms

$ 成功率=\frac{单个分组加密结果完全正确的次数}{实验总次数}\times 100\mathrm{\% } $

3.1 SPECK$ \text{64/96} $算法的等价神经网络学习模型

SPECK分组密码1次完整加密包括25轮密钥扩展阶段及26轮加密阶段,且加密与轮密钥扩展均用到轮函数,共计51次调用轮函数。其轮函数中包含32 bit循环右移8 bit 1次、32 bit循环左移3 bit 1次、32 bit模加法1次及32 bit异或运算2次。SPECK 64/96算法中不同基本模块的准确率及模型复杂度如表5所示。
表 5 SPECK64/96算法各模块的准确率及模型复杂度

Table 5 Accuracy of each module of SPECK64/96 algorithm and the complexity of the model

基本运算 次/完整加密 模型复杂度 准确率
32bit循环右移8bit 51 1173KB 100%
32bit循环左移3bit 51 1173KB 100%
32bit模加法 51 3489KB 99.9%
32bit异或运算 102 44KB 100%
随机生成64bit作为明文、96bit作为密钥,采用基于神经网络的SPECK等价算法加密26轮得到密文,将其与程序生成的标准密文进行对比。通过比对轮密钥扩展值、轮函数输出值及最终加密密文值,评估基于神经网络的SPECK等价算法加密效果。通过100次实验得出:SPECK算法的等价神经网络学习模型成功率为97%。由于SPECK算法加密与轮密钥生成过程中共计51次调用准确率为99.9%的32 bit模加法基本模块,因此最终成功率未达到100%。

3.2 SIMON$ \text{32/64} $算法的等价神经网络学习模型

SIMON分组密码1次完整加密包括32轮加密与28轮密钥扩展。每轮加密包含1次16bit循环左移1 bit、1次16 bit循环左移2 bit、1次16 bit循环左移8 bit、3次16 bit异或运算及1次16bit与运算;28轮密钥扩展中,每轮包含1次16 bit循环右移1 bit、1次16 bit循环右移3 bit、1次16 bit循环右移4 bit及6次16bit异或运算。分别完成各基本模块的等价神经网络学习并生成训练模型,再根据加密流程调用对应子模块,最终实现SIMON分组密码的等价神经网络学习,不同基本模块的准确率及模型复杂度见表6
表 6 SIMON32/64各模块的准确率及模型复杂度

Table 6 Accuracy of each module of SIMON32/64 and the complexity of the model

基本运算 次/完整加密 模型复杂度 准确率
16bit异或运算 264 44KB 100%
16bit与运算 32 44KB 100%
16bit循环左移1/2/8bit 32/32/32 1173KB 100%
16bit循环右移1/3/4bit 28/28/28 1173KB 100%
随机生成32bit作为明文、64bit作为密钥,采用基于神经网络的SIMON等价算法加密32轮得到密文,将其与程序生成的标准密文进行对比。通过比对轮密钥扩展值、轮函数输出值及最终加密密文值,评估基于神经网络的SIMON等价算法加密效果。通过100次实验得出:SIMON算法的等价神经网络学习模型成功率可达100%。

3.3 AES-128算法的等价神经网络学习模型

除第2节中介绍的基本操作外,AES中还用到了行位移和列混淆两个特殊操作。

3.3.1 行位移基本操作的等价神经网络学习

训练数据生成:生成4×4的8bit随机输入矩阵,采用AES行位移算法生成4×4的8bit输出矩阵,将输入与输出矩阵分别展平并整理为128bit的一维数组,作为神经网络的输入数据及标签数据。
训练过程:由于行位移操作类似图像处理任务,而CNN擅长捕捉图像中的局部特征,在捕捉移位模式方面具有优势。另外,ResNet通常采用较大的感受野和多个下采样层,有助于捕捉图像中的上下文信息。在行位移操作中,需借助一定的全局信息协调不同行之间的关系。ResNet通过其深层结构与残差连接,可有效整合这些信息。因此,本文选取ResNet作为训练所用神经网络。采用网格搜索法自动调整模型超参数。为筛选出准确率最高的模型,本文遍历网络深度、丢弃率、卷积核大小等超参数,但受训练数据量不足等因素影响,最终学习效果均不理想。表7为行位移模块在不同超参数下的测试集准确率。因此,考虑采用32bit循环左移模型实现行位移操作;由于32bit循环移位模型的准确率为100%,因此理论上行位移的准确率也为100%。
表 7 行位移模块在不同超参数下的测试集准确率

Table 7 Accuracy rate of the test set under different hyperparameters of the row displacement module

序号 深度 卷积核 丢弃率 准确率
1 4 2 0.2 0
2 4 3 0.2 0
3 6 2 0.2 0
4 6 3 0.2 0.1%
5 8 2 0.2 0
6 8 3 0.2 0
7 10 2 0.2 0
8 10 3 0.2 0
9 4 2 0.4 0
10 4 3 0.4 0
11 6 2 0.4 0
12 6 3 0.4 0
13 8 2 0.4 0
14 8 3 0.4 0
15 10 2 0.4 0
16 10 3 0.4 0
17 4 2 0.6 0
18 4 3 0.6 0
19 6 2 0.6 0
20 6 3 0.6 0
21 8 2 0.6 0
22 8 3 0.6 0
23 10 2 0.6 0
24 10 3 0.6 0
25 4 2 0.8 0
26 4 3 0.8 0
27 6 2 0.8 0
28 6 3 0.8 0
29 8 2 0.8 0
30 8 3 0.8 0
31 10 2 0.8 0
32 10 3 0.8 0

3.3.2 基本操作的等价神经网络学习

AES的列混淆运算中使用了XOR和xtime函数,由于此前已经实现了XOR操作的等价神经网络模型,因此对于列混淆模块,本实验主要实现xtime函数的等价学习。
训练数据生成:生成8bit随机输入数据,采用AES的xtime函数生成对应的8bit输出数据,将输入与输出数据分别展开为二进制的一维数组,作为神经网络的输入数据及标签数据。
模型训练及测试:在上述实验中发现,LSTM和ResNet神经网络均能很好地实现此类操作,但考虑到在准确率均能达到100%的情况下,LSTM模型复杂度通常更高,因此本实验采用ResNet神经网络。尝试改变训练集大小,观察模型测试集准确率变化情况,如图17所示。训练集数据量越高,模型准确率越高,当训练集数据量达到100000(可根据实验实际数据补充)时,测试集准确率达到100%。
图 17 列混淆测试集准确率与训练数据量的关系

Fig.17 Relationship between accuracy of the column obfuscation test set and amount of training data

AES-128分组密码1次完整加密包括10次字节替换、10次行移位、9次列混淆及11次轮密钥加等基本操作,其中每次字节替换调用16次S盒,每次行位移包含32bit循环左移8/16/24 bit各1次,每次列混淆调用8次xtime运算及4次8bit异或运算,每次轮密钥加相当于1次128bit异或运算。将AES-128加密算法分割为多个基本模块,对字节替换、行位移、列混淆及轮密钥加分别进行等价神经网络学习并生成训练模型,再根据加密流程调用对应子模块,最终实现AES-128分组密码的等价神经网络学习。各模块的准确率及模型复杂度见表8
表 8 AES-128各模块的准确率及模型复杂度

Table 8 Accuracy rate and model complexity of each module of AES-128

基本运算 次/完整加密 复杂度 准确率
S盒 160 44KB 100%
xtime运算 72 44KB 100%
8bit异或运算 36 1173KB 100%
128bit异或运算 11 1173KB 100%
32bit循环左移8/16/24位 10/10/10 1173KB 100%
随机生成128bit明文与128bit密钥,采用基于神经网络的AES-128等价算法加密10轮得到密文,将其与程序生成的标准密文进行对比。通过比对轮密钥扩展值、轮函数输出值及最终加密密文值,评估基于神经网络的AES-128等价算法加密效果。通过100次实验得出:AES-128算法的等价神经网络学习模型成功率可达100%。加密10个分组的准确率与效率如图18所示。
图 18 AES-128模型加密准确率和效率

Fig.18 AES-128 model encryption accuracy and efficiency

3.4 SM4算法的等价神经网络学习模型

SM4分组密码1次完整加密包括32轮加密与32轮密钥扩展,包含32bit循环移位、按位异或、S盒字节替换等基本操作。将SM4加密算法分割为多个基本模块,使每个基本模块包含一种基本操作,其中每轮加密包含32bit循环左移2/10/18/24 bit各1次、8次32bit异或及4次S盒;每轮密钥扩展包含32bit循环左移13/23 bit各1次、6次32bit异或及4次S盒。分别完成各基本模块的等价神经网络学习并生成训练模型,再根据加密流程调用对应子模块,最终实现SM4分组密码的等价神经网络学习模型。SM4各模块的准确率及模型复杂度见表9
表 9 SM4各模块的准确率及模型复杂度

Table 9 Accuracy rate and model complexity of each module of SM4

基本运算 次/完整加密 复杂度 准确率
S盒 256 44KB 100%
32bit异或运算 448 1173KB 100%
32bit循环左移2/10/18/24bit 32/32/32/32 1173KB 100%
32bit循环左移13/23bit 32/32 1173KB 100%
为评估基于神经网络的SM4等价算法加密效果,本文设计如下实验:随机生成128bit明文与128bit密钥,分别采用神经网络等价模型与标准密码程序执行32轮完整加密。通过逐轮比对轮密钥、轮函数中间输出值及最终密文,验证模型精度。经100次独立实验统计,该SM4等价神经网络模型的成功率达到100%,可在所有测试用例中精确复现标准加密算法。SM4模型加密10个分组的准确率和效率如图19所示。
图 19 SM4模型加密准确率和效率

Fig.19 SM4 model encryption accuracy and efficiency

4 安全性分析与讨论

本文提出的分组密码等价神经网络模型为软件保护与防逆向工程提供了新思路。本节重点讨论模型面临的潜在攻击面,分析其固有安全特性与防御前景。

4.1 对抗样本攻击:风险与缓解策略

对抗样本是深度学习模型面临的主要威胁之一,其通过对输入施加人眼难以察觉的微小扰动,导致模型输出错误。对于本文提出的分组密码等价神经网络模型,该风险同样存在。攻击者可能构造特殊输入,使模型中某个基本操作(如S盒、模加法)的等价神经网络模块产生错误输出,通过观察模型在异常输入下的错误输出模式,间接获取模型内部结构或权重信息,为逆向工程提供线索。本文模型架构为防御提供了可行思路。
模块化架构的固有鲁棒性:与端到端黑箱模型不同,本文“思维链”式模块化设计将非线性变换(如S盒)限制在局部小型网络中。即使攻击者成功扰动前级模块,虽然会形成链式反应导致整个加密过程失败,但是错误在传播过程中会受到后续线性/非线性模块的“稀释”,可防止攻击者间接获取模型内部结构或权重信息。
对抗训练:本文在训练数据中引入通过FGSM(fast gradient sign method)或PGD(projected gradient descent)等方法生成的对抗样本,使模型在训练过程中学会抵抗此类扰动。对于S盒等价网络这类小型网络,对抗训练的实施成本与难度相对较低。
输入规范化与异常检测:在模型输入端部署严格的输入检查机制,将合法输入严格限定在一定范围内;任何超出该范围或明显异常的输入均可被过滤,从而有效抵御绝大部分简单攻击试探。
模型集成与随机化:为各基本操作模块训练多个功能等价的神经网络,并在运行时随机选择使用。这使得攻击者难以锁定稳定的攻击目标,极大地增加了构造有效对抗样本与分析模型内部结构参数的难度。

4.2 模型逆向与参数提取

本文模型在提升逆向工程难度方面具有以下优势。
语义模糊性:与传统实现中清晰可见的查找表或逻辑运算指令相比,神经网络模型内部的权重与偏置参数矩阵不具备直观的密码学语义。攻击者即使通过某种手段获取模型文件(.pt或.h5),也难以将这些浮点数参数直接还原为标准的S盒表或轮函数逻辑。
结构复杂性:完整的算法等价模型由多个子模块通过特定拓扑连接而成。逆向工程者不仅需理解每个子模块的功能,还需精确掌握各子模块间的数据流关系,相较于分析线性的C代码或汇编指令要复杂得多。
白盒环境下的相对安全性:在白盒攻击场景下,攻击者拥有对加密程序完全的访问权与控制权。传统的白盒密码实现依赖复杂的编码和混淆技术,但其安全假设近年来受到诸多挑战。本文提出的神经网络模型提供了一种截然不同的实现路径,将密钥信息分散隐藏在数百万个神经网络参数中,其保护机制从“算法秘密”转变为“实现结构秘密”,为白盒密码设计提供了新的有潜力的研究方向。

5 结束语

本文基于神经网络模型的分组密码算法学习方法,提出基于思维链提示模式的等价神经网络建模方法,完成了异或、或、与运算、32位模加法、循环移位、S盒变换、行位移与列混淆等分组密码基本操作的等价神经网络学习;并对SIMON、AES-128、SM4和SPECK进行了等价神经网络学习,其中SIMON、AES-128和SM4的等价模型成功率均达到100%,SPECK的等价模型成功率为97%。本文分析了模型在不同加密算法中的性能差异,发现32位模加法基本操作具有较强的数据混淆能力,验证了该基于思维链的分组密码算法神经网络等价学习方法在不同分组密码算法场景下的有效性与适用性。尽管目前该方法在加密速度与资源消耗上未显著超越传统方法,但其基于神经网络的思路可应用于实际安全领域。攻击者通常通过分析密文或加密过程,推断明文或密钥,以破坏数据机密性。神经网络内部的权重、偏置等参数由训练数据决定,导致其运算逻辑复杂,从而增加了逆向工程难度。该特性在提升数字内容分发、软件保护与防逆向工程整体安全性方面具有一定潜力。
1
Tieleman T, Hinton G. Lecture 6.5-rmsprop: Divide the gradient by a running average of its recent magnitude[EB/OL]. Coursera: Neural Networks for Machine Learning, 2012: 26-30. https://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf

2
Zeiler M D, Fergus R. Visualizing and understanding convolutional networks[M]//Computer Vision – ECCV 2014. ChamSpringer International Publishing, 2014: 818-833.

3
Kanungo D P, Arora M K, Sarkar S, et al. A comparative study of conventional, ANN black box, fuzzy and combined neural and fuzzy weighting procedures for landslide susceptibility zonation in Darjeeling Himalayas[J]. Engineering Geology, 2006, 85 (3/4): 347- 366.

DOI

4
Sjöberg J, Zhang Q H, Ljung L, et al. Nonlinear black-box modeling in system identification: a unified overview[J]. Automatica, 1995, 31(12): 1691-1724.

5
Jang J S, R. Fuzzy modeling using generalized neural networks and kalman filter algorithm[C]//Proceedings of the 9th National Conference on Artificial Intelligence, Anaheim, 1991, 2: 762-767.

6
Jang J S R. ANFIS: adaptive-network-based fuzzy inference system[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1993, 23 (3): 665- 685.

7
Kwan H K, Cai Y L. A fuzzy neural network and its application to pattern recognition[J]. IEEE Transactions on Fuzzy Systems, 1994, 2 (3): 185- 193.

8
Godfrey L B, Gashler M S. A parameterized activation function for learning fuzzy logic operations in deep neural networks[C]//Proceedings of the 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC). Piscataway: IEEE Press, 2017: 740-745.

9
Gohr A. Improving attacks on round-reduced Speck32/64 using deep learning[M]//Advances in Cryptology – CRYPTO 2019. Cham: Springer International Publishing, 2019: 150-179.

10
陈怡, 包珍珍, 申焱天, 等. 用于大状态分组密码的深度学习辅助密钥恢复框架[J]. 中国科学: 信息科学, 2023, 53 (7): 1348- 1367.

Chen Y, Bao Z Z, Shen Y T, et al. A deep learning-aided key recovery framework for large-state block ciphers[J]. Scientia Sinica (Informationis), 2023, 53 (7): 1348- 1367.

11
Zhang R L, Shu R, Wei Y Z, et al. A novel S-box generation methodology based on the optimized GAN model[J]. Computers, Materials & Continua, 2023, 76(2): 1911-1927

12
Beaulieu R, Shors D, Smith J, et al. The SIMON and SPECK lightweight block ciphers[C]//Proceedings of the 52nd Annual Design Automation Conference. New York: ACM, 2015: 1-6.

13
NIST. Announcing approval of federal information processing standard(FIPS)197, advanced encryption standard (AES)[EB/OL]. [2025-09-23]. http://csrc.nist.gov/CryptoToolkit/aes/frn-fips197.pdf.

14
GM/T 0002—2012 SM4 分组密码算法 [S]. 北京: 国家密码管理局, 2012.

GM/T 0002—2012 SM4 block cipher algorithm[S]. Beijing: State Cryptography Administration of China, 2012.

15
GB/T 32907—2016 信息安全技术 SM4 分组密码算法[S]. 北京: 中国标准出版社, 2016.

GB/T 32907—2016 Information security technology—SM4 block cipher algorithm[S]. Beijing: Standards Press of China, 2016.

Outlines

/