掌桥专利:专业的专利平台
掌桥专利
首页

基于深度学习的分组密码密钥扩展算法强度测试方法

文献发布时间:2024-04-18 19:58:21


基于深度学习的分组密码密钥扩展算法强度测试方法

技术领域

本发明涉及分组密码技术领域,尤其涉及一种基于深度学习的分组密码密钥扩展算法强度测试方法。

背景技术

密钥扩展算法用于生成迭代加密的轮子密钥,是分组密码算法的一个重要组成部分。通常,密钥扩展算法的输入是一个固定长度的主密钥,将该主密钥扩展为多条轮子密钥并输出,轮子密钥用于混淆每一轮状态。

因此,密钥扩展算法的安全强度对分组密码的安全性分析有很大影响。轻量级分组密码受计算资源所限,密钥扩展算法设计得更为简化,这些安全性较低的密钥扩展算法使得分组密码更容易遭受到密钥相关攻击。因此,有必要对分组密码密钥扩展算法的安全强度进行测试。

发明内容

为了对分组密码密钥扩展算法的安全强度进行测试,本发明提供一种基于深度学习的分组密码密钥扩展算法强度测试方法。

本发明提供的基于深度学习的分组密码密钥扩展算法强度测试方法,包括:

步骤1:构建基于深度学习的强度测试网络模型,包括用于根据目标密钥扩展算法的最后一轮子密钥来恢复主密钥中非截断位的全连接网络模型和用于根据目标密钥扩展算法的最后一轮子密钥来恢复主密钥中截断位的残差网络模型;

步骤2:构建训练数据,对所述强度测试网络模型进行训练;

步骤3:将给定的待测试密钥扩展算法的最后一轮子密钥输入至训练好的强度测试网络模型,得到测试结果。

进一步地,步骤1中,采用全连接网络模型作为强度测试网络模型;

所述全连接网络模型包括输入层、隐含层和输出层;其中,根据目标密钥扩展算法的轮子密钥比特数确定所述输入层的神经元个数;所述隐含层包括3层Dense层,且3层Dense层所包含的神经元个数由浅层至深层递减,分别为32、16和8。

进一步地,步骤1中,采用残差网络模型作为强度测试网络模型;

所述残差网络模型包括输入层、迭代层和输入层;其中,所述输入层为一个一维卷积网络,且根据目标密钥扩展算法的轮子密钥比特数确定所述输入层的神经元个数;所述迭代层的残差块由两个卷积核为3的一维卷积网络构成,迭代深度为5。

进一步地,步骤2具体包括:

构建第一训练数据集,训练所述全连接网络模型;

在所述第一训练数据集中,任意一条训练数据的生成过程包括:随机生成一个初始密钥,经过目标密钥扩展算法迭代计算输出最后一轮子密钥,作为一条样本,并选择该初始密钥中一个比特作为该条样本的标签。

进一步地,步骤2具体还包括:

构建第二训练数据集,训练所述残差网络模型;

在所述第二训练数据集中,分为第一类样本数据和第二类样本数据;

其中,生成长度为N的随机数据,并设置该随机数据的标签为0,该随机数据及其标签构成一条第一类样本数据;

随机生成一个初始密钥,经过目标密钥扩展算法迭代计算输出最后一轮子密钥,将该最后一轮子密钥加上该初始密钥中的n比特组成一条长度为N的真实数据,并设置该真实数据的标签为1,该真实数据及其标签构成一条第二类样本数据;n≥2,且该n比特中至少存在一个非截断位。

本发明的有益效果:

本发明基于全连接网络模型和残差网络模型两种神经网络并训练,构建了分组密码密钥扩展算法强度的快速检测方法,该检测方法与穷举搜索方法相比,降低了算法复杂度(仅为穷举搜索方法的

附图说明

图1为本发明实施例提供的基于深度学习的分组密码密钥扩展算法强度测试方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明方法可以适用的测试对象包括三种轻量级分组密码:PRESENT、MIBS、GIFT,每种算法有两个版本共6个密钥扩展算法:PRESENT-80、PRESENT-128、MIBS-64、MIBS-80、GIFT-64、GIFT-128,分别适应不同分组长度的加密场景。

这三类算法的密钥扩展均是迭代算法,算法流程简述如下:将初始密钥存储在寄存器K中进行迭代,迭代轮数记为r。第i轮子密钥K

以PRESENT-80密钥扩展算法为例,过程简述如下:

主密钥80比特:k

寄存器K的迭代方式如下:

循环移位:[k

S盒变换:[k

异或:

如图1所示,本发明实施例提供一种基于深度学习的分组密码密钥扩展算法强度测试方法,包括以下步骤:

S101:构建基于深度学习的强度测试网络模型,包括用于根据目标密钥扩展算法的最后一轮子密钥来恢复主密钥中非截断位的全连接网络模型和用于根据目标密钥扩展算法的最后一轮子密钥来恢复主密钥中截断位的残差网络模型;

具体地,经研究发现,全连接网络模型可以直接恢复主密钥中的某一比特,但是对大部分截断位却无法准确还原(准确率仅在0.5左右),如表3所示;而残差网络可一次性判断n比特,可以对主密钥中的截断位进行准确还原,如表5所示。因此本发明实施例将两个网络模型进行结合得到强度测试网络模型。

如表1所示,本实施例使用的全连接网络模型包含三个部分:输入层、隐含层和输出层(预测层),隐含层的深度为3,3层Dense神经元的个数由浅到深递减,分别为32、16和8,优化器选择Adam,损失函数选择误差平方和MSE。输入层的神经元个数由算法的轮子密钥比特数决定(以PRESENT-80为例,输入层神经元数是64)。输出层为单个神经元,输出结果是单个比特0或1,表示对一个初始密钥中1个比特位置的预测。

表1全连接网络模型

如表2所示,残差网络模型包含三个部分:输出层、输入层和迭代层。输入层是一个一维卷积网络,卷积核为1,激活函数采用ReLU。输入层的神经元个数同样与算法的轮子密钥比特数相关(以PRESENT-80为例,输入层神经元数是80)。输出层包含两个全连接层D1、D2,分别包含32和8个神经元,激活函数使用的是ReLU,最后输出(Output)单个神经元,激活函数采用Sigmoid。迭代层残差块的基本单元是两个卷积核为3的一维卷积网络Conv1和Conv2,迭代深度为5。

表2残差网络模型

S102:构建训练数据,对所述强度测试网络模型进行训练;

具体地,训练全连接网络时,训练数据包括样本和对应的标签(0或1)。随机生成初始密钥,放入相应的密钥寄存器中经过密钥扩展算法迭代计算输出最后一轮子密钥,作为训练数据;选择初始密钥中一个比特作为标签。训练集包含60 000条样本,测试集包含4000条样本。训练批大小为200,训练轮数(epoch)为50次。

随机生成80比特主密钥并通过密钥扩展算法得到64比特最后一轮子密钥作为训练数据喂入神经网络。表3给出了全连接网络预测80比特主密钥在测试集上的准确率。

表3PRESENT-80主密钥逐比特位恢复准确率

由表3可以发现:有大约80%比特位的恢复准确率达到0.9以上;不到20%的比特位恢复准确率在0.5左右,这些比特位是k

为了恢复全连接网络模型无法恢复的非截断位,采用二分类的残差网络,并将还原主密钥问题转化为一个二分类问题:区分真实初始密钥和随机数据。和全连接恢复主密钥的一个比特不同的是,残差网络一次恢复n比特主密钥。训练数据分为两部分:约一半标签为0,对应的样本是随机生成的数据;其余标签设1,对应样本数据是真实的最后一轮子密钥加上对应的初始密钥中n比特。两部分数据长度一致。这样,训练好的网络能够一次性判断n个比特位置的值:只有n个比特位全部判断正确时才是一次正确的输出。设置这样的训练数据形式是希望卷积网络可以学习到截断位和非截断位之间可能的关系。

训练集包含10 000条样本,测试集包含1 000条样本。训练批大小为200,训练轮数为50次。

在对n的取值进行了多次尝试后,得出以下规律:当n=1时,训练残差网络取得的结果和全连接网络一样;当2≤n≤5时,残差网络的准确率随着n增大而有所提升,在n≥5时,准确率趋于稳定。此外,通过变换n个比特所取位置,重复试验,发现这n比特中非截断位的个数对训练准确率有着很大的影响。

仍然以PRESENT-80为例,当n=2时,如果从截断位(k

表4PRESENT-80的恢复准确率(n=2)

上述现象并非个例,当n=16时,除了第4组全是截断位的准确率低一点,其余位置准确率均超过0.9,A组只有一个是非截断位,准确率也达到了0.9以上。

表5残差网络训练效果(n=16)

S103:将给定的待测试密钥扩展算法的其中一个轮子密钥输入至训练好的强度测试网络模型,得到测试结果。

具体地,以PRESENT-80作为待测试密钥扩展算法,其测试过程如表6算法所示,具体包括以下步骤:

针对64个非截断位,按照上述的步骤S101和步骤S102,训练得到64个全连接网络

针对16个截断位,按照上述的步骤S101和步骤S102,训练得到

表6PRESENT-80主密钥还原算法

由于PRESENT-80的主密钥中有16位截断位,上述算法的第二步中在线数据复杂度为

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于长密钥的SM4密钥扩展算法的实现系统及其方法
  • 一种基于长密钥的SM4密钥扩展算法的实现系统及其方法
技术分类

06120116481786