基于四维混沌系统的改进AES图像加密算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第45卷 第12期2023年12月系统工程与电子技术
SystemsEngineeringa
ndElectronicsVol.45 No.12
December2023
文章编号:1001 506X(2023)12 4040 12 网址:www.sy
s ele.com收稿日期:20221028;修回日期:20230202;网络优先出版日期:20230309。

网络优先出版地址:http:
∥kns.cnki.net/kcms/detail/11.2422.TN.20230309.1051.002.html基金项目:工信部民用飞机专项科研项目(MJZ 2018 S 30)资助课题 通讯作者.
引用格式:唐辰,涂喜梅,陆晓刚,等.基于四维混沌系统的改进AES图像加密算法[J].系统工程与电子技术,2023,45(12):4040 4051.犚犲犳犲狉犲狀犮犲犳狅狉犿犪狋:TANGC,TUXM,LUXG,etal.ImprovedAESimageencryptionalgorithmbasedonfour dimensionalchaoticsy
stem[J].SystemsEngineeringa
ndElectronics,2023,45(12):4040 4051.基于四维混沌系统的改进犃犈犛图像加密算法
唐 辰1,涂喜梅2,陆晓刚2,张 琦1,张小贝1,
(1.上海大学通信与信息工程学院,上海200444;2.上海飞机设计研究院,上海201210)
摘 要:针对高级加密标准(advancedencryp
tionstandard,AES)用于图像加密安全性不高、密钥空间小等问题,提出一种基于四维混沌系统的改进AES图像加密算法。

密钥由四维混沌系统得到,通过在Lorenz Chen Lu混沌中引入非线性项、反馈控制器等提升了混沌复杂度,经过动力学特性、稳定性分析,验证了其混沌特性。

加密时,使用混沌Cubic S盒和动态交叉变换的方法对传统AES进行了改进。

同时,对密钥扩展函数进行了修改,使得每一轮密钥与上两轮密钥有关,并将混沌序列引入其中,提升了密钥的安全性。

该算法的密钥空间达2476,密文图像信息熵为7.9977bits,像素数变化率和统一平均变化强度分别为99.613%和33.473%,
像素间相关性接近于0,加密速度为45.85Mbits/s。

仿真结果表明,
密钥具有良好的敏感性,加密算法具有良好的安全性和鲁棒性,能实现快速加密和有效抵抗各类攻击。

关键词:图像加密;混沌系统;高级加密标准;安全性分析
中图分类号:TN911.73 文献标志码:A 犇犗犐:10.12305/j.
issn.1001 506X.2023.12.35犐犿狆狉狅狏犲犱犃犈犛犻犿犪犵犲犲狀犮狉狔狆狋犻狅狀犪犾犵
狅狉犻狋犺犿犫犪狊犲犱狅狀犳狅狌狉 犱犻犿犲狀狊犻狅狀犪犾犮犺犪狅狋犻犮狊狔
狊狋犲犿TANGChen1,TUXimei2,LUXiaogang2,ZHANGQ
i1,ZHANGXiaobei1, (1.犛犮犺狅狅犾狅犳犆狅犿犿狌狀犻犮犪狋犻狅狀犪狀犱犐狀犳狅狉犿犪狋犻狅狀犈狀犵犻狀犲犲狉犻狀犵,犛犺犪狀犵犺犪犻犝狀犻狏犲狉狊犻狋狔,犛犺
犪狀犵犺犪犻200444,犆犺犻狀犪;2.犛犺犪狀犵犺犪犻犃犻狉犮狉犪犳狋犇犲狊犻犵狀犪
狀犱犚犲狊犲犪狉犮犺犐狀狊狋犻狋狌狋犲,犛犺犪狀犵犺犪犻201210,犆犺犻狀犪) 犃犫狊狋狉犪犮狋:Animprovedadvancedencryptionstandard(AES)imageencryptionalg
orithmbasedonfour dimensionalchaoticsystemisproposedtosolveproblemsoftheinsecurityofAESforimageencryp
tionandtheinsufficientkeyspace.Thekeyisobtainedfromafour dimensionalchaoticsystemandthecomplexityofthesystemisimprovedbyintroducingnonlineartermsandfeedbackcontrollersintotheLorenz Chen Luchaoticsystem.Thechaoticcharacteristicsareverifiedbyanalyzingthedynamicsandstability.Duringt
heprocessofencryption,thetraditionalAESisimprovedbyusingthechaoticCubic Sboxanddynamiccrosstransformmethod.Atthesametime,thekeyexpansionfunctionismodified,sothatthekeyofeachroundisrelatedtothekeysoftheprevioustworounds.Thechaoticsequenceisintroducedintothekeyexpansionfunctiontoimprovethesecurityofthekey.Thekeyspaceoftheproposedalgorithmis2476andtheciphertextimageinformationentropyis7.9977bits.Thenumberofpixelschangerateandunifiedaveragechangingintensityare99.613%and33.473%respectively.Th
ecorrelationbetweenpixelsiscloseto0andtheencryptionsp
eedis45.85Mbits/s.Thesimulationresultshowthatbasedontheexcellentsensitivityofthekeyandthegoodsecurityandrobustnessoftheencryptionmethod,theproposedalgorithmcanrealizefastencryptionandeffectiveresistingf
orvariousattacks.犓犲狔狑狅
狉犱狊:imageencryption;chaoticsystem;advancedencryptionstandard(AES);securityanalysis0 引 言随着互联网和计算机的发展,图像作为一种直观的信息展现方式,包含了许多隐私内容。

出于对安全性的考虑,图像加密技术备受关注[1]。

高级加密标准(advanceden
cryp
tionstandard,AES)因具备加解密速度快等优点,被广
 第1
2期唐辰等:基于四维混沌系统的改进AES图像加密算法·4041 · 泛使用[2]。

但由于图像具备数据量大、冗余性高等特征,传统AES加密算法已无法满足图像的加密需求[3]。

由于混沌系统对初值敏感、不可预测[4],与密码学具有紧密的联系,故结合混沌系统的图像加密算法存在巨大的发展前景[5]。

2000年,Yen等[6]提出了一种基于Log
istic[7]混沌的图像加密算法。

Log
istic作为一维混沌图像加密算法,虽然迭代速度快、实现简单[8],但由于结构简单、控制参数少,导致密钥空间较小,易被破解。

2002年,LYU等[9]提出了一种Lorenz Chen Lu(LCL)混沌系统,通过参数控制,能够在Lorenz[10]、Chen[11]、Lu[12]等提出的系统之间实现过渡,极大程度地提高了系统的复杂度。

2019年,
田嘉琪等[13]提出了一种改进的Lorenz混沌系统,
并将其应用于图像加密的置乱扩散过程。

为提高加密复杂度,2021年,
张雷等[14]提出了一种结合S盒和混沌的三阶扩散图像加密算法,但混沌系统依旧采用传统的Logistic和Chen系统。

2021年,Wang等[15]提出了一种具有两个参数的新混沌系统,
并通过对图像的行、列、对角线不同方向进行置乱和扩散,实现了加密。

2022年,Kumar等[16]提出了一种基于优化的Thorp混沌和Zig zag扫描的混沌图像加密算法,能够有效克服差分攻击,但Thorp为一维结构,密钥安全性有待进一步提升。

2022年,Teng等[17]提出了一种基于Log
istic和Sine混沌的二维交叉模式超混沌系统,并通过扩散和排列组合的方式完成了加密,但仅依靠置乱等简单的加密方法,系统的抗攻击能力较弱。

本文提出了一种基于四维LCL混沌系统的改进AES图像加密算法,以提高混沌系统的复杂度和AES算法对图像的加密效果。

密钥由混沌系统生成,通过在LCL混沌系统中引入非线性项和反馈控制器,构成了新的四维混沌映
射关系。

新的四维LCL混沌系统既继承了LCL混沌系统的特点,能在Lorenz、Chen、Lu系统间实现过渡,又增加了控制参数,提升了系统复杂度。

针对传统AES加密算法在图像加密方面效率和安全性不高的缺点,使用混沌Cubic S盒、动态交叉变换的方法替代了原始的S盒变换和行位移变换,并在密钥生成过程中引入混沌序列,修改了密钥生成函数的结构,使得每一轮密钥均与上两轮密钥有关,加强了密钥的安全性和加密效果。

1 新的四维犔犆犔混沌系统1.1 数学模型
LYU等提出的LCL混沌系统如式(1)所示[9],
其中狓、狔、狕为状态变量;狓·、狔·、狕·
为状态变量的一阶导数;犪为控制参数。

该系统通过参数控制可在Lorenz、Chen、Lu系统之间实现过渡,使得混沌情况复杂多变、难以预测。

但由于其
参数少,且计算公式多为线性结构,导致密钥空间和安全性存在一定局限。

狓·=(25犪+10)(狔-狓)狔·=(28-35犪)狓-狓狕+(29犪-1)狔狕·
=狓狔-狕(犪+8)/烅烄烆3(1)Sine混沌是一种基于正弦函数的混沌映射[18],通过引入非线性扰动和延迟反馈控制器的方式可以提高混沌结构复杂度[1920]。

故本文基于Sine和三维LCL混沌系统,提出了如式(2)所示的四维LCL混沌系统,通过在计算过程中引入sin狔和狔2两个非线性项,
并新增一个反馈控制器,使各状态变量参与到相互的计算中,从而形成相互影响。

为保证新的四维LCL混沌系统能够继承原始LCL系统可在多个混沌系统间过渡的特点,维持了狓、狔、狕的基本运算结构。

同时,为扩大密钥空间,新增了控制参数犫、犮、犱、犲。

当犮等于0,犲分别等于、大于和小于0时,狓、狔、狕分别组成了Lu系统[12]、
Chen系统[11]和Lorenz系统[10]。

狓·
=犪(狔-狓+犮狕狔)+犮狑sin狔狔·
=-狓狕+犫狔+犲狓狕·=狓狔-83-()
犮狕+犮狔2狑·=狔狕-烅烄烆犱狑(2)式中:狓、狔、
狕、狑为系统的状态变量;犪、犫、犮、犱、犲为控制参数。

参数和状态变量的初值和取值范围分别为犪∈[18,27],犫∈[8,20],犮∈[0,1.8],犱∈[0,2.8],犲∈(1,5),狓0∈[-20,20],狔0∈[-5,5],狕0∈[2,12],狑0∈[-10,10]。

利用4阶龙格库塔算法,以0.001为步长,当犪=26,犫=18,犮=1.1,犱=0.3,犲=3,狓0=8,狔0=2,狕0=8,狑0=5时,得到混沌序列,图1给出了系统相位图。

从图1可以观察到系统在各个相位空间上都展现出了由内向外不断拉伸同时又收缩于
吸引子的趋势,存在多环多翼的复杂结构,但整体上又呈现出稳定的状态。

 ·4
042 ·系统工程与电子技术
第45卷
图1 新的四维LCL混沌系统相图
Fig.1 Newphasediagramoffour dimensionalLCLchaoticsy
stem1.2 稳定性分析(1)耗散性分析
耗散性决定了系统是否存在混沌吸引子,可通过计算系统的相空间体积变化率Δ
犞来验证。

当Δ
犞<0时,表明系统存在混沌吸引子,系统的运动轨迹会趋向于体积为零的吸引子,从而验证系统是混沌的。

Δ
犞= 狓· 狓+ 狔· 狔+ 狕· 狕+ 狑· 狑=-犪+犫-83+犮-犱(3)当参数犪=26,犫=18,犮=1.1,犱=0.3,犲=3时,Δ
犞≈
-9.87<0,则表明系统是耗散的。

如式(4)所示,当狋→∞时,随着计算时间的推移,系统运动轨迹以e-9.87狋方向收敛于零,验证了系统是混沌的。

d犞d狋
=eΔ
犞狋=e-9.87狋(4)(2)平衡点分析令式(2)中狓·、狔·、
狕·、狑·
为0,得到5个平衡点犛0=[0,0,0,0]、犛1=[7.46,0.99,5.38,17.71]、犛2=[-4.82,1.65,
-3.12,17.37]、犛3=[5.18,-1.95,-3.77,24.52]、犛4=
[-7.12,-1.08,5.73,-20.64]。

Jacobi矩阵如式(5)所示。

根据每一个平衡点Jacobi矩阵,可求得4个特征值
λ犻(
犻=1,2,3,4),结果如表1所示。

表1 平衡点对应特征值犜犪犫犾犲1 犈狇狌犻犾犻犫狉犻狌犿狆狅犻狀狋狊犮狅狉狉犲狊狆狅狀犱狋狅犲犻犵
犲狀狏犪犾狌犲狊平衡点
特征值
λ1λ2λ3
λ4
犛0
-27.7119.71-1.57-0.30犛1-19.244.85+14.34犻4.85-14.34犻-0.32犛2-21.225.85+8.59犻5.85-8.59犻-0.35犛3-17.553.97+13.68犻3.97-13.68犻-0.26犛4
-18.834.62+14.86犻4.62-14.86犻-0.28
由平衡点和稳定性关系[21]可知,犛0是不稳定鞍点,其余4个为不稳定的鞍焦点,是形成多环多翼运动状态的前提条件。

犑=-犪犪+犪犮狕+犮狑cos狔犪犮狔犮s
in狔犲-狕犫-狓0狔狓+2犮狔
-163+犮00狕狔-熿燀
燄燅犱(5)
1.3 动力学分析(1)李雅普诺夫(Lyapunovexp
onent,LE)指数和维数LE能够定量地描述运动轨迹的吸引和排斥程度[22]。

图2给出了犪=26,犮=1.1,犱=0.3,犲=3,犫在[-5,25]内变化时的LE指数图。

当犫在[6.7,22.1]和[23.7,25]内,至少有一个LE大于0,表明处于混沌状态;尤其当犫在[11.5,20.3]
内时,存在两个大于0的LE指数,表明系统处于超混沌状态;
在其余范围内,系统4个LE指数均小于0,表明系统处于准周期的运动状态。

故当犫∈[8,20]
时,至少存在一个为正、
一个接近于0、两个小于0的LE指数,表明系统保持着高度混沌状态。

图2 犫变化时的LE变化图
Fig.2 ChangeofLEwhen犫ischanging
当参数犪=26,犫=18,犮=1.1,犱=0.3,犲=3时,LE1=3.06,LE2=0.11,LE3=-0.32,LE4=-12.60,则LE维数可由式(6)得到。

其中,犇犔为LE维数;犼+1为LE指数
 第12期唐辰等:基于四维混沌系统的改进AES图像加密算法·4043 ·
 的数量。

由于犇犔为分数,表明存在奇异吸引子,系统处于
混沌状态。

犇犔=犼+1
狘LE犼+1狘
∑犼犻=1LE犻=3+LE1+LE2+LE3
LE4=3.23
(6)
(2)分岔图
图3给出了犪=26,犮=1.1,犱=0.3,犲=3,犫在[-5,25]
范围内变化时狓的分岔图,由图3可以观察到系统从准周
期运动逐渐出现分岔然后进入混沌的状态,并在[-20,20]
范围内出现分布均匀的无规律随机运动。

与LE指数图对
比,系统运动状态随犫的变化情况基本一致,验证了系统具
有良好的遍历性。

图3 犫变化时狓的分岔图
Fig.3 Bifurcationof狓as犫ischanging
(3)庞加莱截面图
庞加莱截面将高维混沌系统映射至二维平面,能够更
清晰地反映系统的分岔和折叠特性,图4给出了当犪=26,
犫=18,犮=1.1,犱=0.3,犲=3时,狓=0,狔=0,狕=0情况下
狔-狕,狓-狑,狓-狔平面的庞加莱截面。

当庞加莱截面只有
一个不动点或少数离散点时,系统处于周期运动状态;当存
在一条封闭的曲线时,则系统运动是拟周期的;而当存在连续
的曲线或成片密集点时,系统则处于混沌状态[23]。

图4(a)、
图4(c)由多条连续曲线构成,图4(b)则由成片的密集点构
成,。

图4 庞加莱截面图
Fig.4 Poincarediagrams
(4)功率谱分析
功率谱直观地展示了信号的周期性,当信号是周期信
号时,功率谱是离散谱,而当信号是非周期信号时,功率谱
是连续谱。

图5分别给出了系统参数犪=26,犫=18,
犮=1.1,犱=0.3,犲=3时狓、狔、狕、狑的功率谱。

每个功率谱
分布均匀,没有明显的峰值频率,呈连续状态,这表明混沌
序列不存在周期,是无序的,从侧面验证了混沌特性。

 ·4
044 ·系统工程与电子技术
第45卷
图5 功率谱
Fig.5 Powersp
ectrum2 基于四维犔犆犔混沌系统的改进犃犈犛图像加密方案
本文提出的加密算法流程如图6所示。

图6 加解密流程图Fig.6 Flowchartofencryptionanddecryp
tion将四维LCL混沌系统的5个参数和4个变量作为初始
密钥,将加密和解密端事先通过安全信道共享初始密钥。

然后,由四维LCL混沌系统产生两个密钥序列key1和key2,key1用于置乱,key2用于改进AES加密。

明文图像A通过置乱和改进AES加密后产生一张密文图像B。

在解密端,通过改进AES加密和置乱的逆操作得到明文图像A′。

2.1 密钥生成
假设明文图像A为犿×狀大小的灰度图。

首先,将混沌系统参数和变量犪、犫、犮、犱、犲、狓0、狔0、狕0、狑0代入四维LCL混沌系统,先迭代1000次,消除暂态效应带来的周期性影响;然后,从第1001次开始先继续迭代狇=
次,得到序列犡1={狓0,…,狓犻,…,狓狇-1},犢1={狔0,…,狔犻,…,
狔狇-1},犣1={狕0,…,狕犻,…,狕狇-1},犠1={狑0,…,狑犻,…,狑狇-1}
,|
狓犻×狕犻||狔犻×狑犻|
·(|犿×狀/16|+3
15)/
4|
狓犻||狔犻||狕犻||狑犻|
 第1
2期唐辰等:基于四维混沌系统的改进AES图像加密算法·4045 ·
 作。

其中,犻为一维序列序号,犻=0,1,…,犿×狀-1。

犃(犻)=犃(key′1(
犻))(9)2.3 改进的犃犈犛加密传统的AES 128加密是一种分组加密算法,采用4×4Bytes大小的块分组,进行10轮加密,才能保证加密的安全性。

每一轮加密包括了轮密钥加变换、S盒变换、行位移变换、列混淆变换和密钥扩展[24]。

但由于图像数据量大,10轮加密造成了时间上的浪费,若减少轮数,安全性则无法得到保障。

每一轮S盒变换、行移位变换都采用固定形式,密钥扩展只与上一轮有关,安全性有待提升。

本文基于传统AES 128加密算法进行了修改,将10轮加密减少为5轮,从而减少了运算时间。

为保证安全性,修改了密钥扩展函数,使每一轮密钥由前两轮密钥得到,并引入混沌,提升密钥的安全性。

在加密过程中,采用混沌Cubic S盒变换和动态交叉移位变换的方案,增强密钥与加
密之间的相关性,
具体步骤如图7所示。

Fig.7 FlowchartofimprovedAESalg
orithm(1)混沌Cubic S盒变换
传统AES加密中的S盒采用固定矩阵,安全性无法得
到充分保障。

本文将混沌序列引入S盒的生成,并采用Cubic S盒[25]替代原始S盒,进一步提升加密复杂度。

首先,提取密钥序列key2中的第1个至第2
56个元素,用犚={狉0,…,狉犻,…,狉255}表示;然后,对犚按从小到大的顺序排
序,并返回排序后元素在原始序列中的位置,得到序列犚′。

将序列犚′按从下到上、从左到右的顺序重新排列,生成大小为16×16的混沌S盒;最后,如图8所示,将混沌S盒平均分为8×8大小的4个子S盒,形成三维表达的混沌Cubic S盒。

每一个像素为8bits大小,可用“犱0犱1犱2犱3犱4犱5犱6犱7”二进制形式表示。

其中,犱犻∈[0,1]。

将像素用“狔狓狕”的形式进行表达。

其中,狓=犱3犱4犱5;狔=犱0犱1犱2;狕=犱6犱7,狓、狔、狕的十进制数分别用于定位混沌Cubic S盒的行、列、层。

在映射过程中,状态矩阵的每一个像素值在用“狔狓狕”完成表达后,再通过混沌Cubic S盒完成数值上的替换。

Fig.
8 ChaoticCubic Sbox(2)交叉移位变换
在传统的AES加密过程中,行移位变换采用固定的变
换方式。

本文结合混沌序列,采取了一种动态的交叉移位变换。

将每个4×4Bytes大小的分组{狊0,…,狊犻,
…,狊15}(如图9所示)按照主对角线或副对角线,从上至下或从下至上,顺时针或逆时针的顺序进行移位,共有16种不同的顺序,具体如式(10)所示。

取密钥序列key2中的第2
57至257+个序列值用犽犼表示,其中犼=0,1,
…,-1为分组数量。

通过密钥的大小决定每一个分组块采用哪种顺序的交叉移位顺序,从而达到一种动态的移位变换效果,有效提升了加密的安全性。

图9 动态交叉移位变换示意图
Fig.9 Schematicdiagramofdy
namiccrossshifttransformation
 ·4
046 ·系统工程与电子技术
第45卷
狊0,狊5,狊10,狊15,狊11,狊6,狊1,狊8,狊13,狊3,狊4,狊9,狊14,狊7,狊2,狊12,0≤犽犼<16
狊0,狊5,狊15,狊10,狊14,狊9,狊4,狊2,狊7,狊12,狊1,狊6,狊11,狊13,狊8,狊3,16≤犽犼<32
狊3,狊6,狊9,狊12,狊13,狊10,狊7,狊1,狊4,狊15,狊2,狊5,狊8,狊14,狊11,狊0,32≤犽犼<48狊3,狊6,狊9,狊12,狊8,狊5,狊2,狊11,狊14,狊0,狊7,狊10,狊13,狊4,狊4,狊15,48≤犽犼<64狊15,狊10,狊5,狊0,狊4,狊9,狊14,狊7,狊2,狊12,狊11,狊6,狊1,狊8,狊13,狊3,64≤犽犼<80狊15,狊10,狊5,狊0,狊1,狊6,狊11,狊13,狊8,狊3,狊14,狊9,狊4,狊2,狊7,狊12,80≤犽犼<96狊12,狊9,狊6,狊3,狊7,狊10,狊13,狊4,狊1,狊15,狊8,狊5,狊2,狊11,狊14,狊0,96≤犽犼<112狊12,狊9,狊6,狊3,狊2,狊5,狊8,狊14,狊11,狊0,狊13,狊10,狊7,狊1,狊4,狊15,112≤犽犼<128狊11,狊6,狊1,狊8,狊13,狊3,狊0,狊5,狊10,狊15,狊4,狊9,狊14,狊7,狊2,狊12,128≤犽犼<144狊14,狊9,狊4,狊2,狊7,狊12,狊0,狊5,狊10,狊15,狊1,狊6,狊11,狊13,狊8,狊3,144≤犽犼<160狊13,狊10,狊7,狊1,狊4,狊15,狊3,狊6,狊9,狊12,狊2,狊5,狊8,狊14,狊11,狊0,160≤犽犼<176狊8,狊5,狊2,狊11,狊14,狊0,狊3,狊6,狊9,狊12,狊7,狊10,狊13,狊4,狊1,狊15,176≤犽犼<192狊4,狊9,狊14,狊7,狊2,狊12,狊15,狊10,狊5,狊0,狊11,狊6,狊1,狊8,狊13,狊3,192≤犽犼<208狊1,狊6,狊11,狊13,狊8,狊3,狊15,狊10,狊5,狊0,狊14,狊9,狊4,狊2,狊7,狊12,208≤犽犼<224狊7,狊10,狊13,狊4,狊1,狊15,狊12,狊9,狊6,狊3,狊8,狊5,狊2,狊11,狊14,狊0,224≤犽犼<239狊2,狊5,狊8,狊14,狊11,狊0,狊12,狊9,狊6,狊3,狊13,狊10,狊7,狊1,狊4,狊15,240≤犽犼≤烅烄烆
255(10) (
3)列混淆变换列混淆变换采用传统AES加密算法中的方案,其计算公式如下所示: 狊′0狊′4狊′8狊′12狊′1狊′5狊′9狊′13狊′2狊′6狊′10狊′14狊′3狊′7狊′11狊′熿燀燄燅15=020301010102030101010203熿燀燄燅03010102狊0狊4狊8狊12狊1狊5狊9狊13狊2狊6狊10狊14狊3狊7狊11狊熿燀燄燅15(11)式中:狊犻和狊′犻分别为列混淆前、后的状态矩阵元素,所有元素的计算均是基于GF(28)上的二元运算。

(4)轮密钥加变换轮密钥加变换是将4×4Bytes大小的状态矩阵与相同大小的密钥进行异或计算,其计算公式如式(12)所示。

其中,狊犻和狊′犻分别为轮密钥加变换前、后的状态矩阵元素。

狊′0狊′4狊′8狊′12狊′1狊′5狊′9狊′13狊′2狊′6狊′10狊′14狊′3狊′7狊′11狊′熿燀燄燅15=犽0犽4犽8犽12犽1犽5犽9犽13犽2犽6犽10犽14犽3犽7犽11犽熿燀燄燅15 狊0狊4狊8狊12狊1狊5狊9狊13狊2狊6狊10狊14狊3狊7狊11狊熿燀燄燅15(12)(5)密钥扩展函数
在密钥扩展过程中,传统AES算法的每轮密钥只与上一轮密钥有关,若获取了加密过程中的任意一轮密钥,则后续密钥直
10所示。

Fig.10 Procedureofkeyexp
ansion每一轮密钥由前两轮密钥得到,并将混沌序列引入其中,有效提高了密钥的随机性。

首先,取密钥key2中的第
258+个至273+个元素用{犽0,…,
犽犻,…,犽15}表示;然后,按从上到下、从左到右的顺序排列为4×4大小的矩阵,再按列将4个字节用狑狉组合,即{狑0,狑1,狑2,狑3},狑狉={犽4狉,犽4狉+1,犽4狉+2,犽4狉+3},其中狉=0,1,…,23为
狑狉的个数。

接着,取key2中的第274+到289+个元素,按顺序每4
个字节进行组合,则可表示为{犮0,犮1,犮2,犮3},用于第一轮扩展。

密钥扩展可分为3种情况:狑狉=犜(狑狉-1) 狑狉-8,狉=4狋狑狉=狑狉-1 狑狉-4 狑狉-8,狉=4狋+1,4狋+2狑狉=狑狉-1 狑狉-7 狑狉-8,狉=4狋烅烄烆+3(13)式中:狋=1,2,3,4,5为扩展轮数。

当狋=1时,狑狉-8分别为
{犮0,犮1,犮2,犮3}。

犜函数包括了动态左移变换、混沌Cubic S盒变换、异或操作,其中动态左移变换如式(14)所示。

取密钥序列key2中的第290+到299+个元素用于犜函数,用{犵1,犵2,…,犵2狋-1,犵2狋,…,犵10}表示,其中
犵2狋-1决定动态左移的方式,犵2狋用于进行犜函数中的异或计算。

犽4狉+1,犽4狉+2,犽4狉+3,犽4狉,0≤犵2狋-1<64犽4狉+2,犽4狉+3,犽4狉,犽4狉+1,64≤犵2狋-1<128犽4狉+3,犽4狉,犽4狉+1,犽4狉+2,128≤犵2狋-1<192犽4狉,犽4狉+1,犽4狉+2,犽4狉+1,192≤犵2狋-1≤烅烄
烆255(14)(6)加密模式
本文采用AES加密算法中的密码分组链接(cip
herblockchaining,。

 Fig.11 CBCencryp
tionmode
 第1
2期唐辰等:基于四维混沌系统的改进AES图像加密算法·4047 · 在该模式下,加密前,明文块需要与前一个密文块进行异或计算。

为了保证每次加密信息的唯一性,在计算第一个明文块时需要与初始块进行异或,本文选取密钥序列key2中最后的16个元素作为初始块。

2.4 解密解密过程为加密过程的逆过程,即先由混沌系统以及初始密钥生成与加密密钥相同的解密密钥key1,key2。

接着,
对密文进行AES加密和置乱的逆过程,即可解密,获得明文图像。

3 仿真结果及分析为验证本文所提基于新的四维LCL混沌系统和改进AES算法的图像加密方法的安全性,
分别从算法的密钥空间大小、自相关性分析、信息熵、抗差分攻击、鲁棒性以及加密效率方面进行了实验仿真分析,并对结合了混沌和AES
加密或其他加密算法的文献[26]、文献[27]、文献[28]所提
3种算法进行了仿真对比。

选取了斯坦福大学和南加州大学图像库的Cameraman、Lena、Boat共3张具有不同属性的
图像进行实验测试,具体测试结果如图12所示,
所有图像均为256×256大小的灰度图。

仿真使用的硬件为搭载Intel(R)Core(TM)i5-11300H@3.10GHzCPU的计算机,仿真平台为Python3.6。

仿真所采用的密钥为四维LCL混沌系统的5个系统参数和4个初值[犪,犫,犮,犱,犲,狓0,狔0,
狕0,狑0],均使用key={
26,18,1.1,0.3,3,8,2,8,5}。

图12 原图
Fig.12 Originimag
e3.1 密钥空间分析
密钥空间的大小直接影响了加密算法破解密钥的难度,密钥空间越大,破译时间越长,抵抗暴力破解的能力就越强。

本文加密算法密钥分别为四维LCL混沌系统的5个参数和4个变量,取值范围分别为犪∈[18,27],犫∈[8,20]
,犮∈[0,1.8],犱∈[0,2.8],犲∈(1,5),狓0∈[-20,20],狔0∈[-5,5],狕0∈[2,12],狑0∈[-10,10]。

理论上的密钥空间可达到∞,但由于IEEE浮点准则,64位双精度数最小精度为10-15,故本文提出的加密算法的密钥空间为1.75×10143≈2476。

本文算法密钥空间远大于理论安全值2100,
故本文算法可以有效抵御穷举攻击[29]。

3.2 密钥敏感性分析密钥敏感性代表了当密钥发生微小变化时密文发生变
化的程度。

以Lena图像为例,先使用key={26,18,1.1,0.3,3,8,2,8,5}进行加密,再使用key
′={26,18+1×10-15,1.1,0.3,3,8,2,8,5}解密,加解密结果如图13(a)~图13(c)所示。

尽管密钥仅发生了1×10-15的微小改变,但无法正确解密。

当密钥key中的犫以δ×1
0-15(δ∈[-100,100])的幅度变化时,解密结果与正确解密结果的均方误差结果如图13(d)
所示。

可以观察到,当密钥出现错误时,均方误差均在9000附近,
无法正确解密,且错误解密结果与明文存在很大的误差,验证了本文加密算法具有较强的密钥敏感性。

图13 密钥敏感性测试结果
Fig.13 Keysensitivityt
estresults3.3 直方图分析
良好的加密算法应能够抵抗统计分析[30],利用本文加密算法进行加密,并对直方图进行分析,加解密前后结果和直方图如图14所示。

不同的明文图像直方图具有明显不同的分布特征,而密文图像直方图几乎相同,分布均匀,这验证了该加密算法能够有效抵御直方图分析攻击,破解难度较大。

 ·4
048 ·系统工程与电子技术
第45卷
图14 加密结果及直方图
Fig.14 Resultsandhistogramsoftheencryp
tion3.4 信息熵分析
信息熵能够描述信息的不确定性,反映加密效果,其计算公式如下:
犎(犺)=-∑2犉-1
狊=0
狆(犺狊)log2狆(犺狊)(15)式中:犺为图像矩阵;犉为比特深度;狆(
犺狊)为像素出现概率;犺狊为像素。

对于8bit深度图像,
密文信息熵理想值为8,越接近8,
则表明密文图像加密效果越好[31]。

3幅灰度图像的明文和密文的信息熵对比结果如表2所示。

表2 信息熵对比犜犪犫犾犲2 犐狀犳狅狉犿犪狋犻狅狀犲狀狋狉狅狆狔犮狅犿狆犪狉犻狊狅狀bits算法LenaCamermanBoatAvg.原图7.42857.02227.15827.2030本文算法7.99787.99797.99757.9977传统AES7.99587.99247.99377.9940
文献[26]7.98997.98977.98917.9895
文献[27]7.99327.99287.99317.9930文献[28]7.99757.99717.99747.9973由表2可知,本文加密算法在3幅图像上的信息熵相较于传统AES以及其他改进算法更接近于8,平均值也优于其他算法,
从而有效地验证了本文加密算法能够有效抵抗外部熵攻击。

3.5 相关性分析
图像的像素在水平、垂直、对角线3个方向上一般存在较强的相关性,接近于1。

良好的加密算法能够有效地破
坏这种相关性,
使密文图像出现类似白噪声的特点,破译者无法从密文中获取有效信息。

相关系数能够定量描述图像
之间的相关性,其计算公式如下:犈(狓)=1狀∑狀犻=1狓犻犇(狓)=1狀∑狀犻=1(狓犻-犈(狓))2cov(狓,狔)=1狀∑狀
犻=1
(狓犻-犈(狓))(狔犻-犈(狔))τ=cov(狓,狔)犇(狓)犇(狔槡烅烄烆)(16)式中:狓犻、狔犻为图像相邻两个像素点的值;狀为像素点数;犻为像素序列号;犈(狓)和犇(狓)为图像的期望值和方差;τ为相关系数。

相关系数越大,相关性越强,相关系数越小,相关性越弱,说明加密效果越好。

图15为Lena图像原图和密文图像分别在3个方向上的相关性对比。

可以明显地观察到,明文图像像素间具有较强的相关性,而密文图像则打破了原本像素间的相关性。

表3列出了Lena图像在不同算法加密后密文图像的相关系数对比,经过本文算法加密后的密文图像相关系数相比其他加密算法密文图像相关系数更接近于0,表明本文算法加密效果优于其他算法。

 第1
2期唐辰等:基于四维混沌系统的改进AES图像加密算法
·4049 ·
 图15 Lena图像明文与密文相关性分布对比图
Fig.15 CorrelationdistributioncomparisondiagrambetweenplaintextandciphertextofLenaimag
e表3 犔犲狀犪图像相关性对比
犜犪犫犾犲3 犆狅狉狉犲犾犪狋犻狅狀犮狅犿狆犪狉犻狊狅狀狅犳犔犲狀犪犻犿犪犵
犲算法水平垂直对角
原图0.97120.97820.9547
本文算法0.0005-0.0010-0.0006传统AES-0.01600.01180.0152文献[26]0.00060.0032-0.0017文献[27]-0.0005-0.0010-0.0010
文献[28]0.0013-0.0029-0.0078
3.6 抗差分攻击分析
差分攻击是通过对明文图像微小的变化,分析密文变化情况,进而对加密算法进行破译的一种攻击方法。

通常
采用像素数变化率(numberofpixelschangerate,NPCR)和统一平均变化强度(unifiedaveragechangingintensity,UACI)两项性能指标进行评判。

理论上,当NPCR和UACI越接近于99.609%和33.464%时,算法抗差分攻击能力越强,
敏感性也越强[32],计算方式如下:NPCR=1犿·狀∑犿犻=0∑狀
犼=0
犇(犻,犼)×100%犇(犻,犼)=1,犐1(犻,犼)≠犐2(犻,犼)0,犐1(犻,犼)=犐2(犻,犼烅烄烆)UACI=1犿·狀∑犿犻=0∑狀
犼=0狘犐1(犻,犼)-犐2(犻,犼)狘255×烅烄烆100%(17)式中:犐(犻,犼)为像素值;犿、狀
分别为图像的长和宽。

本文通过对图像中任一位置像素值减1之后的密文结果进行NPCR和UACI的分析对比,对比结果如表4所示。

由表4可知,本文提出的加密算法的NPCR和UACI在3幅图像上都更接近理论值,表明本文加密算法相比其他算法对明文变化更敏感,有着更强的抗差分能力。

表4 犖犘犆犚与犝犃犆犐的参数对比犜犪犫犾犲4 犆狅犿狆犪狉犻狊狅狀狅犳犖犘犆犚犪狀犱犝犃犆犐%算法参数CameramanLenaBoat本文算法犖犘犆犚99.61399.60499.608犝犃犆犐33.45933.46033.473传统AESNPCR99.58899.54499.646UACI33.55633.48933.488文献[26]NPCR99.60499.61599.611UACI33.56633.45533.499文献[27]NPCR99.62899.60499.605UACI33.50333.46033.497
文献[28]NPCR99.62699.67599.578UACI33.21533.45833.2643.7 鲁棒性分析
在图像传输的过程中,可能会因为网络的延迟而丢失部分信息,
也有可能一些攻击者为了破坏图像的正常传输,故意篡改密文信息或干扰正常通信。

其中,裁剪攻击、噪声攻击是最常见的攻击方法。

为验证本文算法的鲁棒性,本文以Cameraman图像为例对密文分别进行了25%的裁剪和1%的椒盐噪声干扰,并将本文算法与其他算法进行了。

相关文档
最新文档