基于新队列和同步判定的复值神经密码体制
2023-09-20王伟华马青青张会生
张 颖,王伟华,马青青,张会生
(大连海事大学理学院,辽宁 大连 116026)
1 引言
人们在对神经网络的研究过程中,发现了能解决密钥交换问题的神经同步现象,经发展形成了神经密码学。神经密码原理如同密钥交换协议[1],允许通信双方在不安全的信道上交换信息协商从而得到一个密钥,而攻击者即使知道算法框架的细节且有能力监控通信,也不能推断出密钥,这一密钥就是两个神经网络同步时所生成的相同的权值向量。
2002年,Kinzel等[2]首先将神经网络应用到密码学中。同年,他们提出了神经密码学的树形奇偶机模型TPM[3]。目前,众多学者提出了大量的神经密码模型,比如TCM[4]、PPM[5]等。但TCM和PPM在简单攻击[2]以及几何攻击[6]下的安全性弱于TPM模型,而且文献[2]指出带有三个隐藏单元的TPM模型可以通过增加网络的突触深度来提高安全性,从而抵抗遗传攻击和主要攻击等各类密码攻击。为了提高神经密码的安全性和同步效率,许多学者在TCM、TPM等模型的基础上,提出了DTPM[7]、TTFNN[8]、TSCM[9]等神经密码模型。这些模型在兼顾安全性的同时又不失同步效率。近年来,TPM神经密码技术已经应用到许多密码问题中。例如,将TPM密钥交换体系用于加密认证[10];与随机序列结合用于图像加密[11];与Cuckoo Search算法结合提高其同步进程[12],设计高效安全的组密码协商算法[13];设计图像秘密共享安全机制[14]等。
在上述关于实值神经密码体制研究的基础上,Dong Tao等人于2019年将TPM神经密码体制从实数域扩展到复数域,提出了复值树形奇偶机神经密码模型CVTPM[15]。然而,该方案使用的是传统学习规则,并且未考虑同步判定问题。针对复值神经密码体制[15]在同步算法效率方面所存在的问题,本文对其同步算法开展研究,主要工作如下:
1)提出复值新队列学习规则并应用到CVTPM上,通过适当调整权值修改的幅度,可大大缩短同步进程,提高同步效率。
2)提出复值神经网络同步判定算法并应用于CVTPM,通过考虑当前以及以往隐藏单元输出的HASH值,并将隐藏层状态中匹配的实部和虚部连续相同的最大值拟定为同步判别指征,能更准确判定同步时间点,提高同步判定成功率。
2 相关工作
2.1 CVTPM模型描述
如图1所示,CVTPM的结构由输入层、隐藏层以及输出层组成。其中,输入层有K×N个输入神经元,隐藏层有K个隐藏神经元,输出层有一个输出神经元。每个输入神经元的权值是一个复数,定义为
图1 K=3,N=4CVTPM的神经网络结构
ωk,j=ak,j+bk,ji
(1)
其中ak,j,bk,j∈[-L,L],索引k=1,2,…,K表示网络的第k个隐藏神经元,j=1,2,…,N表示一个隐藏神经元下的第j个分量,L为CVTPM的突触深度,ωk,j表示第k个隐藏神经元下的第j个输入神经元的权值。ωk=(ωk,1,…,ωk,j,…,ωk,N)表示第k个隐藏神经元的N维复值权向量。
设xk,j=ax+bxi为第k个隐藏神经元下的第j个输入神经元的输入值,其中ax,bx∈{-1,1}。第k个隐藏神经元定义为
(2)
令aσk=sgn(Re(hk)),bσk=sgn(lm(hk)),则第k个隐藏神经元的输出为
σk=aσk+bσki
(3)
CVTPM的输出定义为
(4)
2. 2 同步过程
假设A和B双方均配备CVTPM神经网络,且在公共信道上协商一个密钥。算法如下:
4)权值学习规则
以Random Walk学习规则为例,规则如下:
3 新模型描述
提出复值新队列学习规则以及复值同步判定算法,将原CVTPM中的学习规则配置成复值新队列学习规则并增加复值同步判定步骤来对CVTPM进行改进。
3.1 复值新队列学习规则
复值新队列学习规则与传统复值学习规则相比,在权值修改的幅度上是原来的δstep倍。δstep由式(5)和式(6)求出
(5)
queue.length=q×L2
(6)
3.2 复值同步判定算法
3.2.1 复值同步判定算法描述
如图2所示,与实值神经网络同步判定算法[17]不同,该算法不但考虑当前隐藏单元输出的HASH值,还考虑以往隐藏单元输出的HASH值,兼顾了A、B双方的同步程度,避免出现协商结束时不同步的情形。
图2 复值同步判定算法流程图
算法开始:
算法结束。
本文中的HASH算法采用的是由我国自主设计的密码杂凑算法SM3算法[18],安全性较高,可满足多种密码应用的安全需要。
3.2.2 求同步判别指征CN_MAX
通过将隐藏层状态中匹配的实部和虚部连续相同的最大值拟定为同步判别指征,能准确判定同步时间点,提高同步判定成功率。对比N_MAX判别法[17],将本文优化后用于复值情形的同步判定算法称为CN_MAX判别法。
进行l次此操作,可得到C_1,C_2,…,C_l,本文中l=100。再次进行比较,最大数记为CN_MAX。为方便叙述,将其记作C,即表示l次协商过程中A和B双方隐藏层状态连续相同的最大值。
N_MAX判别法是基于实值神经密码体制设计的,仅对当前隐藏单元输出值的相同次数进行统计,累计相同次数达到一定数值时,可作为A、B同步结束的指征,这就有可能出现协商结束时不同步的情形;而CN_MAX判别法不仅考虑当前隐藏单元输出,还考虑以往隐藏单元输出。由于CN_MAX中,HASH值的计算环节兼顾了A、B的同步程度,这种优化设计能有效提高同步成功率。这一点在第4节的实验中得以验证。
4 仿真研究
本部分共进行四组实验,前两组实验分别从同步成功率、平均迭代次数两方面来验证增加了复值新队列规则和复值同步判定算法的CVTPM的有效性,并与缩短同步进程的最新研究成果布谷鸟搜索算法(简称CS算法)进行横向对比[12]。后两组实验分别从简单攻击和几何攻击两方面将新方案与原CVTPM方案进行对比实验,验证新方案的安全性。
所有的实验均在搭载Intel Core i7-7700八核(8 Core)3.60 Ghz处理器和16Gb RAM的计算机上进行,应用环境为Python 3。各组实验均配备K=3 的CVTPM网络结构,并重复进行1000次独立实验后取平均值作为实验结果。基于Random Walk的复值新队列学习规则的参数为m=2,q=1。
4.1 实验一 同步成功率
本实验对N=4和N=1000两种情况分别进行仿真。一方面对原CVTPM分别增加N_MAX判别法和CN_MAX判别法来比较同步判别效果,另一方面考查CVTPM增加CN_MAX判别法和复值新队列学习规则后的新方案对同步判别的影响。
从图4和图5可以看出,对原CVTPM而言, CN_MAX判别法比N_MAX判别法的同步成功率更高;对增加了CN_MAX判别法的CVTPM而言,使用复值新队列学习规则后仍能保留原量级的同步成功率。
图4 N=4 图5 N=1000
4.2 实验二 平均迭代次数
本组实验分别从横向和纵向两个研究维度进行仿真。一方面将原CVTPM方案与新方案的平均迭代次数进行对比,另一方面,将应用CS算法的CVTPM与新方案进行对比。
4.2.1 实验2.1 与原方案对比
本实验将原CVTPM方案与新方案的平均迭代次数进行对比,考查增加复值新队列学习规则和复值同步判定算法对平均迭代次数的影响。
如图6所示,当N=4或者N=1000时,原CVTPM的平均迭代次数随着突触深度L的增大呈指数增长;而新方案的平均迭代次数增长较平缓。在具有相同突触深度L时,原CVTPM受N值变化影响较大;而新方案受N值变化影响较小。对两个方案进行比较,新方案的平均迭代次数小于原CVTPM的平均迭代次数。从一次密钥协商所需迭代次数来看,本文方案协商密钥所需的平均迭代次数减少,从而交换输出值的次数减少,同步时间缩短,留给攻击者的攻击时间变短,因此从该角度看本文方案提高了神经密码体制的安全性。
图6 与原方案对比 图7 与CS算法方案对比
4.2.2 实验2.2 与CS算法方案对比
最近,有学者提出将CS算法应用到TPM可加快同步进程[12]。鉴于此,本实验尝试将CS算法应用到原CVTPM并与本文方案在平均迭代次数上进行对比。文献[12]主要是在初始权值向量的选择上运用CS算法,经过CS算法选择后的双方权值相似程度较高,从而达到加快同步进程的目的。然而,CS算法的参数选择对模型的迭代次数以及安全性有很大的影响。本实验条件假定为,CS算法和本文方案在简单攻击和几何攻击概率处于同一量级的情况下,对两种模型的平均迭代次数进行比较。
如图7所示,在简单攻击成功概率和几何攻击成功概率处于同一量级的情况下,本文方案所需的平均迭代次数除L=1情形外均比使用CS算法所需的平均迭代次数少,并且随着突触深度L的增大,本文方案所需的平均迭代次数长势更加平缓。
4.3 实验三 简单攻击
本实验对原CVTPM方案与新方案分别进行简单攻击,对比考查本文方案的安全性。这里,假定当攻击者获取了密钥(即权重)的90%就判定为攻击成功。通信双方A、B以及攻击者E均配备K=3,N=1000的神经网络。
从图8可以看出,增加了复值新队列学习规则和复值同步判定算法的新方案在简单攻击下的成功概率略低于原CVTPM方案的成功概率。面对简单攻击时,新方案的安全性更高。
图8 简单攻击 图9 几何攻击
4.4 实验四 几何攻击
本实验对原CVTPM方案与新方案分别进行几何攻击,对比考查本文方案的安全性。
从图9可以看出,增加了复值新队列学习规则和复值同步判定算法的新方案在几何攻击下的成功概率低于原CVTPM方案的成功概率。同简单攻击相比,结合实验三中的图8可以看出,新方案在面对几何攻击时的表现更加优异。
5 结语
为提高现有的复值树形奇偶机神经密码体制的同步效率并有效解决同步判定问题,本文提出了复值新队列学习规则和复值神经同步判定算法。对比实验表明,增加了复值新队列学习规则和复值同步判定算法的新方案与原CVTPM相比在同步成功率和同步效率方面均有显著提高,与同类问题研究方法CS算法相比,突触深度L越大,新方案平均迭代次数增长平缓的优势更加明显,而且在几何攻击与简单攻击下,密码体制的安全性也得到提高。