Loading [MathJax]/jax/output/SVG/jax.js
  • ISSN 0258-2724
  • CN 51-1277/U
  • EI Compendex
  • Scopus 收录
  • 全国中文核心期刊
  • 中国科技论文统计源期刊
  • 中国科学引文数据库来源期刊

基于二维耦合映像格子模型的图像加密

王永 江功坤 尹恩民

王永, 江功坤, 尹恩民. 基于二维耦合映像格子模型的图像加密[J]. 西南交通大学学报, 2021, 56(6): 1337-1345, 1354. doi: 10.3969/j.issn.0258-2724.20200331
引用本文: 王永, 江功坤, 尹恩民. 基于二维耦合映像格子模型的图像加密[J]. 西南交通大学学报, 2021, 56(6): 1337-1345, 1354. doi: 10.3969/j.issn.0258-2724.20200331
WANG Yong, JIANG Gongkun, YIN Enmin. Image Encryption Based on 2D Coupled Map Lattices[J]. Journal of Southwest Jiaotong University, 2021, 56(6): 1337-1345, 1354. doi: 10.3969/j.issn.0258-2724.20200331
Citation: WANG Yong, JIANG Gongkun, YIN Enmin. Image Encryption Based on 2D Coupled Map Lattices[J]. Journal of Southwest Jiaotong University, 2021, 56(6): 1337-1345, 1354. doi: 10.3969/j.issn.0258-2724.20200331

基于二维耦合映像格子模型的图像加密

doi: 10.3969/j.issn.0258-2724.20200331
基金项目: 国家自然科学基金(61472464);贵州省科学技术基金计划(黔科合基础[2020]1Y422)
详细信息
    作者简介:

    王永(1977—),男,教授,博士,研究方向为信息安全,混沌密码学,E-mail:wangyong_cqupt@163.com

  • 中图分类号: TP309.7

Image Encryption Based on 2D Coupled Map Lattices

  • 摘要:

    为了平衡混沌系统的复杂性和效率之间的关系,将分段Logistic映射(piecewise Logistic map,PLM)引入到二维耦合映像格子(2D coupled map lattices,2DCML)模型中. 采用暂态转换以使模型的输出序列服从均匀分布,进而得到T2DCML模型,基于此模型提出了一类图像加密算法. 在加密算法中,利用模型输出的伪随机序列构造两个初等变换矩阵,对图像进行置乱操作;然后再从模型中提取状态值的比特构造整数序列,对置乱后的图像进行扩散操作;经过若干轮的置乱与扩散操作,产生最后的加密图像. 仿真实验及性能分析表明:该算法的相关系数的绝对平均值为0.001 3,信息熵为7.999 3,像素变化率(number of pixel change rate,NPCR)和统一平均变化强度(unified average change intensity,UACI)分别为99.63%和33.60%,能够有效满足图像在网络中安全传输的需求.

     

  • 混沌与密码学之间存在着普遍的相似性,这使得基于混沌的密码学成为热门研究之一,如混沌流密码[1]、混沌Hash函数[2]、混沌S盒[3]和混沌图像加密[4-10]. 由于数字图像在军事、医疗、商业等各领域的普遍应用,其安全性研究受到广泛重视. 而传统的加密方案,如AES (advanced encryption standard)、DES(data encryption standard)等,对数字图像并不适用,使得基于混沌的图像加密方案逐渐受到研究者们的青睐.

    混沌系统的选择对于混沌图像加密算法来说至关重要. 混沌系统一般可以分为一维混沌系统[11-12]和高维混沌系统[13-14]两大类. 时空混沌是一种复杂的混淆系统,它在图像加密中的应用日益广泛. 文献[15]运用耦合映像格子设计伪随机位序列生成器,并提出了一种基于伪随机比特序列和DNA (deoxyribo nucleic acid)编码的加密算法. 文献[16]提出了一种基于自适应动态密钥流提取技术的块混沌图像加密算法,该算法将时空混沌系统与Tent-Sine系统相结合来生成混沌序列,并以此为基础加密图像. 从当前的研究看,从混沌系统中抽取的混沌序列在图像加密过程中发挥了重要的作用,对整个加密算法的安全性至关重要. 虽然选择高维或者复杂的混沌系统能够保证所产生序列的复杂性,有效防止攻击者对序列的预测与重构,但是,这些复杂混沌系统的状态值在相空间的分布往往是不均匀的,从而为攻击者进行统计攻击或者暴力攻击提供了便利. 文献[17]正是利用了这种不足,对一种基于DNA编码和时空混沌的图像加密算法实施了有效的攻击.

    针对上述安全问题,本文将分段时空混沌与暂态变换结合,构造了一个新的混沌模型T2DCML(T-2D coupled map lattices). 该模型以分段混沌系统作为局部映射,很好地平衡了系统复杂性和效率之间的关系. 同时,利用暂态变换实现了模型状态值的均匀分布,保证了其所产生的混沌序列的高度安全性. 基于T2DCML模型,本文进一步提出了一种图像加密算法. 该算法依据矩阵变换简化了图像的置乱操作,无需如传统的混沌置乱方法那样对矩形图像预处理,增强了算法的适用性. 仿真实验及性能分析表明,该算法能够有效保证图像加密的安全性,满足图像在网络中安全传输的需求.

    耦合映像格子(coupled map lattices,CML)模型是一类典型的时空混沌模型,在混沌密码中得到逐步广泛的应用. 为了进一步增强模型的复杂性,一维CML模型被扩展到了二维CML (2DCML)模型,其常用的数学表达式如式(1).

    y(i,j)n+1=(1ε)f(y(i,j)n)+ε4[f(y(i+1,j)n)+f(y(i1,j)n)+f(y(i,j+1)n)+f(y(i,j1)n)], (1)

    式中:n为耦合映像格子模型中格子状态值的时间维度;y(i,j)n+1为第i行、第j列的格子在第n + 1时刻的状态值,i=1, 2, ···, Rj=1, 2, ···, LR,LN+ε(0,1)为耦合强度;f(•)为局部混沌函数.   对尺寸为R × L的2DCML,规定其周期边界条件为y(i+R,j)n+1=y(i,j)n+1,y(i,j+L)n+1=y(i,j)n+1.

    为了减少迭代f (•)的计算量,将上述2DCML简化为式(2).

    y(i,j)n+1=(1ε)f(y(i,j)n)+ε2[f(y(i+1,j)n)+f(y(i,j+1)n)]. (2)

    将式(3)所示的分段Logistic映射(piecewise logistic map,PLM)选为2DCML模型的局部混沌函数,因为它具有比Logistic映射更大的李雅普诺夫指数(Lyapunov exponent,LE)[18],能够更好地保证模型的复杂性.

    xn+1={N2μ(xni1N)(iNxn),i1N<xn<iN,1N2μ(xniN)(i+1Nxn),iN<xn<i+1N,xn+1100N,xn=0,1N,2N,,N1N,xn1100N,xn=1, (3)

    式中:xn(0,1)为PLM第n时刻的状态值;μ (0,4]为控制参数;N为函数的分段总数.

    1.2.1   李雅普诺夫指数

    根据文献[19]的研究结果,可得式(2)所描述的2DCML模型的LE解析式为

    eLE=λf(y)+12ln|1+32ε22ε+ε(1ε)×(cos2iπR+cos2jπL)+ε22cos(cos2iπRcos2jπL)|, (4)

    式中:λf (y)为局部函数f (y)的LE.

    由式(4)知,当i=Rj=L时,模型的LE取得最大值. 即2DCML的最大LE由局部混沌函数PLM的LE决定. 为了保证模型具有复杂的动力学行为,本文设置μ = 4. 同时,PLM模型的LE与分段数N的关系如图1所示. 由图1中可知:不论N取何值,PLM的LE均为正数,并且随着N的增大而增大. 这说明PLM作为2DCML的局部函数能够很好保持该模型整体的混沌特性. 在权衡PLM的保持良好非线性和具有较大LE值的情况下,本文设置N = 64.

    图  1  局部混沌函数PLM的LE
    Figure  1.  LE of local chaotic function PLM
    1.2.2   分叉图

    由式(4)可知,模型的最大LE与其尺寸无关. 为了便于硬件实现,设置R = L = 8. 在兼顾格子之间必要耦合强度且LE取得较大值的条件下,设置ε = 0.1. 在2DCML模型中,每个格子的动力学性能相似,所以以格子(4,4)为代表分析模型的分叉情况,如图2所示.

    图  2  2DCML模型中格子(4,4)的分叉图
    Figure  2.  Bifurcation diagram of lattice (4,4) in 2DCML

    图2中,无论μ为何值模型都处于混沌状态,并且随着μ的增加,其分叉行为变得更加复杂,在μ = 4时其分叉行为最复杂,混沌性能最好. 因此,本文将μ设置为4.

    1.2.3   遍历区间

    遍历区间的大小与密码学中混沌的不可预测性密切相关. 在μ = 4,N = 64时,绘制2DCML模型中格子(4,4)的遍历区间,如图3所示. 从图3中可以看出:模型能够遍历整个相空间区间(0,1). 这说明2DCML模型具有良好的遍历性.

    图  3  2DCML模型中格子(4,4)的遍历图
    Figure  3.  Ergodic diagram of lattice (4,4) in 2DCML
    1.2.4   概率密度分布

    概率密度分布描述了状态值在相空间中的分布情况. 2DCML模型的状态值的概率密度分布如图4所示. 从图4中可以看出:该模型状态值的概率密度分布是不均匀的. 这种现象为统计攻击提供了便利,容易产生安全问题,因此不利于该模型在信息安全中的应用.

    图  4  2DCML的概率密度分布
    Figure  4.  Probability density distribution of 2DCML

    为了在2DCML模型中获得更均匀的状态值分布,本文设计了一个基于暂态数据的转换函数T. 假设计算机中一个定点数的精度是2A位(A为定点数精度的一半),对于任意定点数u(0,1),其二进制格式可以表示为

    u=0.u1u2u2A, (5)

    式中:uk{0,1},k = 1,2,···,2A表示小数点后面的第k位.

    变换函数T的定义如下:

    函数名称:T

    输入:u //在区间(0,1)上的定点数

    输出:o //转换后的输出定点数

    过程:

    //根据 u 的二进制格式构造v

    v = 0.uA + 1 uA + 2···u2Au1u2···uA

    //将二者乘积 t 表示成二进制格式

    t = u × v = 0.t1t2···t2At2A + 1···t4A

    //将 t 的二进制序列分为前、后两部分并按位异或

    o = 0.( t1t2A + 1)( t2t2A + 2)···(t2At4A

    END

    在函数T中,所有的变量都是长度为2A的定点数. 对于乘积t,只保留了小数点后的前2A位,舍弃的后2A位为暂态数据. 文献[20]研究表明,暂态数据拥有良好的随机性质. 因此,通过与暂态数据进行异或操作,输出结果o具有很好的随机性. 由于精度有限,函数T在计算机实现过程中不能直接通过将uv相乘. 但通过大整数之间的乘法规则,即将二进制整数u1u2···u2AuA + 1uA + 2···u2Au1u2···uA 的乘法代替定点数乘法u × v,即可得到暂态数据.

    以1.2节中2DCML模型为基础,将该模型迭代后产生的状态值使用暂态函数T进行变换,进而得到新的暂态均匀化的混沌模型,为描述方便将其称为T2DCML模型.

    在T2DCML模型中,设置模型中的参数R = L = 8,N = 64. 采用同样的方法,测试其分叉情况如图5所示. 从图5中可以看出:无论 μ 取何值,T2DCML都具有复杂的分叉情况. 同时对比图2,可以看出:T2DCML模型具有更复杂的分叉行为. 这说明T2DCML模型的混沌性能得到了增强.

    图  5  T2DCML模型中格子(4,4)的分叉图
    Figure  5.  Bifurcation diagram of lattice (4,4) in T2DCML

    T2DCML产生混沌序列的概率密度分布如图6所示. 与图4相比,T2DCML模型的概率密度已趋于均匀分布. 这表明T2DCML模型所产生的序列具有良好均匀性,能够有效满足相应的安全要求.

    图  6  T2DCML的概率密度分布
    Figure  6.  Probability density distribution of T2DCML

    为了进一步说明T2DCML模型产生的序列的随机性,本文采用NIST (National Institute of Standards and Technology)随机性检测标准对其进行测试. 设置参数α = 0.01,β = 1 000,序列长度为106位,得到的测试结果如表1所示. 从表1中可以看出:P值均大于α且通过率都在区间(1α)±3α/β 内,T2DCML所产生的序列通过了全部的测试项(其中带 * 的测试指标的P值代表的是平均值). 测试结果说明,T2DCML所产生的序列具有良好的随机性,为图像加密奠定了良好的基础.

    表  1  NIST套件的测试结果
    Table  1.  Test results of NIST suites
    测试指标P通过率结果
    Frequency0.719 7470.993通过
    BlockFrequency0.996 3350.988通过
    CumulativeSums*0.817 1620.995通过
    Runs0.765 6320.988通过
    LongestRun0.071 6200.987通过
    Rank0.179 5840.990通过
    FFT0.492 4360.992通过
    NonOverlappingTemplate*0.496 1640.990通过
    OverlappingTemplate0.209 9480.983通过
    Universal0.755 8190.989通过
    ApproximateEntropy0.075 7190.986通过
    RandomExcursions*0.627 8870.989通过
    RandomExcursionsVariant*0.540 4020.992通过
    Serial*0.676 5980.986通过
    LinearComplexity0.096 0000.997通过
    下载: 导出CSV 
    | 显示表格

    本文采用置乱扩散结构作为图像加密的框架. 在该算法中,加密后的像素点不仅取决于其原始位置和值,还取决于其周围的其他像素点. 在置乱阶段,利用T2DCML模型所产生的序列构造了两个初等变换矩阵,对像素点矩阵进行置乱. 在扩散阶段,从T2DCML模型状态值中提取整数序列,对置乱后的像素点矩阵进行扩散,并利用明文反馈调整T2DCML模型的状态值,增强加密算法抵抗选择明文攻击的能力. 在交替进行多伦置乱与扩散操作后,输出生成密文图像. 加密算法的具体步骤如下:

    步骤1 假定图像大小H × W,将其转化为一个像素点矩阵VNH×W+.

    步骤2 假定T2DCML模型的大小是R × L. 输入PLM的初始状态值x0,对PLM迭代100次以消除初值x0的影响. 然后,继续迭代PLM模型R × L次,获得每次迭代产生的状态值序列. 按照从左到右、从上到下的顺序赋值给T2DCML模型,完成初始化,如式(6)所示.

    {y(0,0)0=x101,y(0,1)0=x102,,y(0,R1)0=x100+R,y(i,j)0=x100+iL+j+1,,y(L1,R1)0=x100+LR, (6)

    式中:y(i,j)0为T2DCML模型中第i行、第j列格子的初始状态值;x100+n为PLM的第100 + n个状态值.

    步骤3 构造两个初等矩阵PQ,包括以下4个子步骤:

    1) 迭代一次置乱T2DCML模型并将产生的R × L个状态值依次存储到序列p中,继续迭代该模型直到p存储了H个浮点数,记作p = {ph},h = 1,2,···,H.

    2) 将p中的元素按照从大到小的顺序排序,排序后的序列记作p′.

    3) 按式(7)、(8)构造大小为H × H的矩阵P.

    Ph1,h2=δ(ph1,ph2),h1,h2=1,2,,H, (7)
    δ(x,y)={1,x=y,0,xy, (8)

    式中:Ph1,h2为矩阵P中的第h1行、第h2列的元素.

    4) 类似地,继续迭代T2DCML模型直到序列q存储了W个浮点数,然后排序得到序列q′. 接着按式(9)构造大小为W × W的矩阵Q.

    Qw1,w2=δ(qw1,qw2),w1,w2=1,2,,W, (9)

    式中:Qw1,w2为矩阵Q中的第w1行、第w2列的元素.

    步骤4 置乱像素点矩阵V. 按式(10)得到置乱后的像素点矩阵V′.

    V=PVQ. (10)

    不难发现,所构造两个初等矩阵的逆矩阵与转置矩阵相等,即P′=PTQ′=QT,这一特性将会用于图像解密的逆置乱,即V = PTVQT.

    步骤5 将V′按从左到右、从上到下的顺序转换为整数序列I. 另外构造一个T2DCML模型,其初始状态与步骤2中的T2DCML模型相同. 每迭代一次T2DCML模型,就从该模型的每个格子中依次提取当前状态值的前8比特,得到整数序列Y. 利用序列Y对序列I进行扩散,如式(11).

    Cm=Ym[(Ym+Im)mod256][(Ym+Cm1)mod256], (11)

    式中:Im为序列I中的第m个字节对应的整数值;Ym为序列Y中的第m个字节对应的整数值;C0[0,255]为预设的扩散常数.

    若序列I中数据尚未被完全处理,则利用明文反馈的形式调整T2DCML模型的状态值如下:

    Z(i,j)m=(Im/256+Z(i,j)m)mod1, (12)

    式中:Z(i,j)m为抽取Ym的格子所对应的状态值.

    调整状态值后,再次迭代混沌模型并抽取新的状态值补充到序列Y中. 重复该过程,直至序列I中的所有值被处理完.

    步骤6 重复步骤3~5的置乱扩散操作M次,最终输出密文图像. 重复的次数越多,加密的效果越好,同时,需要的时间也越多.

    解密算法的过程与加密算法相反,主要步骤相似,此处不再详述. 需要注意的是,解密所需的所有混沌序列都应该提前生成,以方便与每轮解密所需的序列配对. 式(13)为与式 (11)对应的解密公式.

    Im={[CmYm(Ym+Cm1)mod256]Ym}mod256. (13)

    选取典型的标准图像Lena、Baboon、Pepper以及全白(White)和全黑(Black)作为明文图像,对本文提出的图像加密算法进行测试,设置加密次数M = 2,结果如图7所示. 从图7中可以看出:密文图像很好地隐藏了明文图像的有用信息,在视觉上有良好的加密效果;解密算法能够无损地恢复出明文图像. 测试结果表明,本文算法能够有效正常工作,满足通常的图像加解密需求.

    图  7  明文图像和密文图像
    Figure  7.  Plaintext images and ciphertext images

    从直方图分析和相关性分析两个方面测试了算法的加密效果. 绘制灰度图像Lena、Baboon、Pepper、White和Black的直方图如图8所示. 同时,为了便于对比,在图8中还绘制了加密这些图像后得到的密文图像的直方图. 从如图8可以看出:加密后的图像很好地隐藏了明文图像中的统计信息,使得算法能够有效地抵御统计攻击.

    图  8  图像加密前、后的直方图
    Figure  8.  Histograms before and after image encryption

    相关性分析的具体测试方法是首先从水平、垂直和对角线3个方向随机选出1 000对相邻的明文像素点和密文像素点,然后计算其相关系数,如式(14).

    rx,y=cov(x,y)D(x)D(y), (14)

    式中:cov(x,y)为序列x与序列y的协方差;D(•)为序列的方差.

    得到Lena、Baboon、Pepper、White和Black图像在加密前后相邻像素点之间的相关系数如表2所示:从表2中可以看出:虽然明文图像的像素点之间存在明显的相关性,但是被本文算法加密之后,密文图像的像素点之间的相关系数非常小,不存在相关关系.

    表  2  加密前后相邻像素间的相关系数
    Table  2.  Correlation coefficients between adjacent pixels
    图像水平方向垂直方向对角方向
    Lena 明文0.975 10.983 10.958 2
    Lena 密文0.001 20.000 60.001 6
    Baboon 明文0.888 00.746 80.716 0
    Baboon 密文0.001 10.000 40.003 3
    Pepper 明文0.977 40.975 80.962 7
    Pepper 密文0.000 80.002 60.001 2
    White 明文1.000 01.000 01.000 0
    White 密文−0.001 4−0.000 10.002 9
    Black 明文1.000 01.000 01.000 0
    Black 密文0.003 0−0.000 5−0.002 2
    下载: 导出CSV 
    | 显示表格

    直方图分析和相关性分析的结果表明本文提出的图像加密算法具有良好的抗统计攻击能力.

    信息熵表征图像中所包含信息的累积和分散,其计算如式(15).

    H(m)=2t1l=0p(ml)logp(ml), (15)

    式中:p(ml)为信息值出现的概率;t为自然数.

    由于像素点的值使用字节表示,所以其取值范围为[0,255],对应的信息熵的理想值为8. 加密后图像的信息熵越接近理想值,表明图像中包含的有效信息越少. 表3列出了使用本文算法加密图像Lena、Baboon、Pepper、White和Black前、后的信息熵.

    表  3  加密前后图像的信息熵
    Table  3.  Information entropies of images
    图像明文信息熵密文信息熵
    Lena7.445 57.999 3
    Baboon7.222 27.999 2
    Pepper7.364 47.999 3
    White07.999 3
    Black07.999 2
    下载: 导出CSV 
    | 显示表格

    表3中可以看出:无论什么明文图像,在加密之后,其密文图像的信息熵都接近理想值. 这说明本文提出的加密算法能够有效防止密文图像的信息泄露,可以有效地抵抗基于信息熵的攻击.

    3.4.1   密钥空间

    对于加密算法,应该有足够的密钥空间(> 2128)来抵抗蛮力攻击. 在本文算法中,密钥包括初始状态值x0(0,1)、控制参数μ (0,4]、耦合强度ε (0,1)和扩散常数C0[0,255]. 假设计算机中的浮点数计算精度为10−14, 则算法的秘钥空间大小为1014 × (4 × 1014) × 1014 × 28 2150. 根据IEEE浮点数标准, 64位双精度数的精度高于10−14,所以,本文算法的密钥空间大于2150,能够满足抵抗暴力攻击的要求.

    3.4.2   密钥敏感度

    对于密钥敏感度,进行以下测试.

    测试1:将初始状态值x0变为x0 + 10−15

    测试2:将控制参数μ 变为μ−10−15

    测试3:将耦合强度ε变为ε + 10−15

    测试4:将扩散常数C0变为(C0 + 1) mod 256;

    在上述4种不同的情况下,对图像采用2轮加密,比较密钥变化前后的密文之间的差异. 结果如表4所示. 从表4中可以看出:密钥的微小变化会使密文产生巨大的变化,密文图像的差异都在99.5%以上. 说明该算法具有良好的密钥敏感性.

    表  4  密文图像的差异
    Table  4.  Differences between ciphertext images %
    图像测试 1测试 2测试 3测试 4
    Lena99.59299.61499.59899.602
    Baboon99.61999.59999.59299.598
    Pepper99.62199.62299.61599.619
    White99.62399.61899.61399.617
    Black99.60799.61199.61799.579
    下载: 导出CSV 
    | 显示表格

    在差分攻击中,攻击者通常对明文进行轻微的调整,然后比较调整前后产生的密文之间的差异来进行攻击. 对于图像加密的差异攻击,通常使用像素变化率(number of pixel change rate,NPCR)和统一平均变化强度(unified average change intensity,UACI)这两个指标进行评估,相应的计算如式(16)、(17).

    INPCR=1HWh,wD(h,w)×100%, (16)
    IUACI=1HW|C1(h,w)C2(h,w)|255×100%, (17)

    式中:C1C2为两个密文图像,它们对应的明文图像只有一个像素点的值不同;w = 1,2,···,WD(h,w)定义为

    D(h,w)={1, C1(h,w)C2(h,w),2, C1(h,w)=C2(h,w). (18)

    NPCR和UACI理想值分别为99.6%和33.3%. 表5展示了不同图像在2轮加密轮加密后的NPCR和UACI. 从表5中可以看出:NPCR和UACI的计算值已经达到各自的理想值. 说明所提出的算法具有有效抵抗差分攻击的能力.

    表  5  密文图像的NPCR和UACI
    Table  5.  NPCR and UACI of ciphertext images %
    图像NPCRUACI
    Lena99.5933.44
    Baboon99.6433.50
    Pepper99.6033.50
    White99.5933.53
    Black99.6033.49
    下载: 导出CSV 
    | 显示表格

    在本文算法中,T2DCML模型所产生的混沌序列具有至关重要的作用,它驱动着置乱操作和扩散操作的执行. 首先,T2DCML模型属于高维混沌系统,具有良好的混沌性能和复杂的动态行为,能够有效防止攻击者通过相空间的重构的方式来预测它所产生的混沌序列;其次,T2DCML模型有效利用了暂态数据特点,保证了数据分布的均匀性,提高了其所产生序列的随机性,NIST测试的结果进一步验证了这一点. 由于T2DCML产生的序列具有良好的随机性,因此可以有效保证置乱阶段所构造的变换矩阵的随机性,进而保证了置乱变换的安全.

    在扩散阶段,本文算法采用明文反馈的方式,对T2DCML的状态值进行了调整. 这种处理方式使得扩散阶段所使用的伪随机序列不仅与混沌系统相关,也与加密的图像相关,从而可以有效防御已知明文攻击和选择明文攻击. NPCR和UACI的测试也有效证实了这一点.

    此外,本文算法具有足够大的密钥空间,能满足暴力攻击的要求. 实验测试的结果反映出由本文算法加密的图像,其直方图分布均匀,像素点间没有相关性,密文图像的信息熵非常接近理想值8,能够有效抵抗统计攻击和信息熵攻击能力.

    在本文算法中,首先需要不断迭代T2DCML模型,并从中抽取出相应的状态值构造变换矩阵,进行置乱操作,然后,再迭代混沌映射产生扩散操作所需要的伪随机序列. 与2DCML模型相比,T2DCML在混沌系统迭代之后还需要进行1次T变换操作. 在T变换操作中,需要对状态值进行1次移位操作,1次乘法操作和1次异或操作. 虽然本文算法中引入了T变换操作,但由于该操作增加的计算量仅为少量的几次基本运算,所以对运算效率的影响很小. 因此本文算法的运算效率与已有的基于时空混沌模型的图像加密算法[15-16]相当. 使用Python语言实现算法,在CPU为Intel(R) Core(TM) i3-4005U的笔记本电脑上测试加密速度,得到加密时间与加密像素点之间的关系如图9所示. 从图9中可以看出:加密时间与加密图像的尺寸之间是呈线性变化关系的. 这表明本文算法中所采用加密变换能够很好适应图像尺寸的变化,能够满足在Internet网中进行图像加密的效率需求.

    图  9  加密时间与加密像素点数量的关系
    Figure  9.  Relation between encryption time and number of pixels

    同时,T2DCML模型是一个高维的复杂混沌系统,它能产生具有非常良好加密性能的混沌序列,但是迭代该模型的计算量要高于迭代简单混沌系统的计算量,因此本文算法的效率要略低于这类图像加密算法[21]. 此外,由于T2DCML模型是由多个格子组成,每个格子相对独立且计算量相当,在未来的工作中可以考虑引入并行处理措施,进一步提高本文算法的效率.

    为了进一步说明本文算法的性能,将该算法与同样基于混沌映射的算法[4-10]比较了512 × 512的Lena图像的性能,结果如表6所示. 在所有算法中,本文算法的相关系数的平均值更接近0,信息熵的性能也略大,且NPCR和UACI均已达到理想值. 说明该算法足够安全,能够应用于网络图像的安全传输.

    表  6  算法性能对比
    Table  6.  Comparison of algorithm performance
    加密算法相关系数信息熵NPCR/%UACI/%
    水平垂直对角绝对平均值
    本文算法 −0.002 5 −0.000 2 0.001 1 0.001 3 7.999 3 99.63 33.60
    文献[4] −0.022 3 −0.008 4 −0.008 6 0.013 1 7.997 4 99.61 33.46
    文献[5] −0.038 1 −0.029 1 0.002 7 0.023 3 7.999 2 99.61 33.45
    文献[6] 0.069 3 0.061 0 −0.024 2 0.051 5 7.999 1 99.57 33.41
    文献[7] 0.001 4 0.003 8 0.001 1 0.002 1 7.999 3 99.59
    文献[8] −0.023 0 0.001 9 −0.003 4 0.009 4 7.969 6 99.62 33.51
    文献[9] −0.014 4 −0.003 4 0.010 7 0.009 5 7.997 0 99.60 32.91
    文献[10] 0.016 3 −0.002 9 0.030 9 0.016 7 7.999 3 99.60 33.45
    下载: 导出CSV 
    | 显示表格

    本文提出了一种基于均匀化时空混沌的图像加密方案.

    1) 提出了一类分段时空混沌系统,以较小的计算代价换来较大的性能提升.

    2) 对模型的输出序列进行暂态变换,使生成的序列服从均匀分布,增强了混沌模型状态值的不可预测性,保证了混沌序列的高度安全性.

    3) 提出一类混沌图像加密算法,利用矩阵的初等变换简化图像置乱阶段,弥补了上述两点对加密方案增加的时间复杂度.

    4) 仿真实验及性能分析表明该算法具有良好的安全性,能够有效地满足图像在网络中安全传输的需求.

    致谢:广西密码学与信息安全重点实验室基金(GCIS201908).

  • 图 1  局部混沌函数PLM的LE

    Figure 1.  LE of local chaotic function PLM

    图 2  2DCML模型中格子(4,4)的分叉图

    Figure 2.  Bifurcation diagram of lattice (4,4) in 2DCML

    图 3  2DCML模型中格子(4,4)的遍历图

    Figure 3.  Ergodic diagram of lattice (4,4) in 2DCML

    图 4  2DCML的概率密度分布

    Figure 4.  Probability density distribution of 2DCML

    图 5  T2DCML模型中格子(4,4)的分叉图

    Figure 5.  Bifurcation diagram of lattice (4,4) in T2DCML

    图 6  T2DCML的概率密度分布

    Figure 6.  Probability density distribution of T2DCML

    图 7  明文图像和密文图像

    Figure 7.  Plaintext images and ciphertext images

    图 8  图像加密前、后的直方图

    Figure 8.  Histograms before and after image encryption

    图 9  加密时间与加密像素点数量的关系

    Figure 9.  Relation between encryption time and number of pixels

    表  1  NIST套件的测试结果

    Table  1.   Test results of NIST suites

    测试指标P通过率结果
    Frequency0.719 7470.993通过
    BlockFrequency0.996 3350.988通过
    CumulativeSums*0.817 1620.995通过
    Runs0.765 6320.988通过
    LongestRun0.071 6200.987通过
    Rank0.179 5840.990通过
    FFT0.492 4360.992通过
    NonOverlappingTemplate*0.496 1640.990通过
    OverlappingTemplate0.209 9480.983通过
    Universal0.755 8190.989通过
    ApproximateEntropy0.075 7190.986通过
    RandomExcursions*0.627 8870.989通过
    RandomExcursionsVariant*0.540 4020.992通过
    Serial*0.676 5980.986通过
    LinearComplexity0.096 0000.997通过
    下载: 导出CSV

    表  2  加密前后相邻像素间的相关系数

    Table  2.   Correlation coefficients between adjacent pixels

    图像水平方向垂直方向对角方向
    Lena 明文0.975 10.983 10.958 2
    Lena 密文0.001 20.000 60.001 6
    Baboon 明文0.888 00.746 80.716 0
    Baboon 密文0.001 10.000 40.003 3
    Pepper 明文0.977 40.975 80.962 7
    Pepper 密文0.000 80.002 60.001 2
    White 明文1.000 01.000 01.000 0
    White 密文−0.001 4−0.000 10.002 9
    Black 明文1.000 01.000 01.000 0
    Black 密文0.003 0−0.000 5−0.002 2
    下载: 导出CSV

    表  3  加密前后图像的信息熵

    Table  3.   Information entropies of images

    图像明文信息熵密文信息熵
    Lena7.445 57.999 3
    Baboon7.222 27.999 2
    Pepper7.364 47.999 3
    White07.999 3
    Black07.999 2
    下载: 导出CSV

    表  4  密文图像的差异

    Table  4.   Differences between ciphertext images %

    图像测试 1测试 2测试 3测试 4
    Lena99.59299.61499.59899.602
    Baboon99.61999.59999.59299.598
    Pepper99.62199.62299.61599.619
    White99.62399.61899.61399.617
    Black99.60799.61199.61799.579
    下载: 导出CSV

    表  5  密文图像的NPCR和UACI

    Table  5.   NPCR and UACI of ciphertext images %

    图像NPCRUACI
    Lena99.5933.44
    Baboon99.6433.50
    Pepper99.6033.50
    White99.5933.53
    Black99.6033.49
    下载: 导出CSV

    表  6  算法性能对比

    Table  6.   Comparison of algorithm performance

    加密算法相关系数信息熵NPCR/%UACI/%
    水平垂直对角绝对平均值
    本文算法 −0.002 5 −0.000 2 0.001 1 0.001 3 7.999 3 99.63 33.60
    文献[4] −0.022 3 −0.008 4 −0.008 6 0.013 1 7.997 4 99.61 33.46
    文献[5] −0.038 1 −0.029 1 0.002 7 0.023 3 7.999 2 99.61 33.45
    文献[6] 0.069 3 0.061 0 −0.024 2 0.051 5 7.999 1 99.57 33.41
    文献[7] 0.001 4 0.003 8 0.001 1 0.002 1 7.999 3 99.59
    文献[8] −0.023 0 0.001 9 −0.003 4 0.009 4 7.969 6 99.62 33.51
    文献[9] −0.014 4 −0.003 4 0.010 7 0.009 5 7.997 0 99.60 32.91
    文献[10] 0.016 3 −0.002 9 0.030 9 0.016 7 7.999 3 99.60 33.45
    下载: 导出CSV
  • [1] GARCIA-BOSQUE M, DÍEZ-SEÑORANS G, PÉREZ-RESA A, et al. A 1 gbps chaos-based stream cipher implemented in 0.18 μm CMOS technology[J]. Electronics, 2019, 8(6): 623. doi: 10.3390/electronics8060623
    [2] TEH J S, TAN K J, ALAWIDA M. A chaos-based keyed hash function based on fixed point representation[J]. Cluster Computing, 2019, 22(2): 649-660. doi: 10.1007/s10586-018-2870-z
    [3] ÖZKAYNAK F. Construction of robust substitution boxes based on chaotic systems[J]. Neural Computing and Applications, 2019, 31(8): 3317-3326. doi: 10.1007/s00521-017-3287-y
    [4] ZHANG Y. The fast image encryption algorithm based on lifting scheme and chaos[J]. Information Sciences, 2020, 520: 177-194. doi: 10.1016/j.ins.2020.02.012
    [5] ZHOU Minjun, WANG Chunhua. A novel image encryption scheme based on conservative hyperchaotic system and closed-loop diffusion between blocks[J]. Signal Processing, 2020, 171: 107484.1-107484.14.
    [6] FARAH M A B, GUESMI R, KACHOURI A, et al. A novel chaos based optical image encryption using fractional Fourier transform and DNA sequence operation[J]. Optics & Laser Technology, 2020, 121: 105777.1-105777.9.
    [7] 张健,霍达. 基于混沌系统和DNA编码的量子图像加密算法[J]. 西南交通大学学报,2018,53(6): 1142-1149. doi: 10.3969/j.issn.0258-2724.2018.06.008

    ZHANG Jian, HUO Da. Quantum image encryption algorithm based on chaotic system and DNA coding[J]. Journal of Southwest Jiaotong University, 2018, 53(6): 1142-1149. doi: 10.3969/j.issn.0258-2724.2018.06.008
    [8] XU Lu, ZHI Li, JIAN Li, et al. A novel bit-level image encryption algorithm based on chaotic maps[J]. Optics and Lasers in Engineering, 2016, 78: 17-25. doi: 10.1016/j.optlaseng.2015.09.007
    [9] YE Guodong. A block image encryption algorithm based on wave transmission and chaotic systems[J]. Nonlinear Dynamics, 2014, 75(3): 417-427. doi: 10.1007/s11071-013-1074-6
    [10] HUANG Xiaoling, YE Guodong. An image encryption algorithm based on hyper-chaos and DNA sequence[J]. Multimedia Tools and Applications, 2014, 72(1): 57-70. doi: 10.1007/s11042-012-1331-6
    [11] NEPOMUCENO E G, NARDO L G, ARIAS-GARCIA J, et al. Image encryption based on the pseudo-orbits from 1D chaotic map[J]. Chaos:an Interdisciplinary Journal of Nonlinear Science, 2019, 29(6): 061101.1-061101.8. doi: 10.1063/1.5099261
    [12] ALAWIDA M, TEH J S, SAMSUDIN A, et al. An image encryption scheme based on hybridizing digital chaos and finite state machine[J]. Signal Processing, 2019, 164: 249-266. doi: 10.1016/j.sigpro.2019.06.013
    [13] GOPALAKRISHNAN T, RAMAKRISHNAN S. Image encryption using hyper-chaotic map for permutation and diffusion by multiple hyper-chaotic maps[J]. Wireless Personal Communications, 2019, 109(1): 437-454. doi: 10.1007/s11277-019-06573-x
    [14] 张健,霍达. 基于混沌系统的量子彩色图像加密算法[J]. 西南交通大学学报,2019,54(2): 421-427.

    ZHANG Jian, HUO Da. Quantum colour image encryption algorithm based on chaotic systems[J]. Journal of Southwest Jiaotong University, 2019, 54(2): 421-427.
    [15] WANG Xingyuan, ZHAO Hongyu, HOU Yutao, et al. Chaotic image encryption algorithm based on pseudo-random bit sequence and DNA plane[J]. Modern Physics Letters B, 2019, 33(22): 1950263.1-1950263.24. doi: 10.1142/S0217984919502634
    [16] GAYATHRI J, SUBASHINI S. A spatiotemporal chaotic image encryption scheme based on self adaptive model and dynamic keystream fetching technique[J]. Multimedia Tools and Applications, 2018, 77(19): 24751-24787. doi: 10.1007/s11042-018-5675-4
    [17] WEN Heping, YU Simin, LÜ Jinhu. Breaking an image encryption algorithm based on DAN encoding and spatiotemporal chaos[J]. Entropy, 2019, 21(3): 246. doi: 10.3390/e21030246
    [18] WANG Yong, LIU Zhaolong, MA Jianbin, et al. A pseudorandom number generator based on piecewise logistic map[J]. Nonlinear Dynamics, 2016, 83(4): 2373-2391. doi: 10.1007/s11071-015-2488-0
    [19] 王永,赵毅,GAO J,等. 基于分段Logistic映射的二维耦合映像格子模型的密码学相关特性分析[J]. 电子学报,2019,47(3): 657-663.

    WANG Yong, ZHAO Yi, GAO J, et al. Cryptographic feature analysis on 2D coupled map lattices based on piecewise logistic map[J]. Acta Electronica Sinica, 2019, 47(3): 657-663.
    [20] 李佩玥,石俊霞,郭嘉亮,等. 一种混沌伪随机序列均匀化普适算法的改进[J]. 电子学报,2015,43(4): 753-759. doi: 10.3969/j.issn.0372-2112.2015.04.018

    LI Peiyue, SHI Junxia, GUO Jialiang, et al. Improvement of a universal algorithm for uniformization of chaotic pseudo-random sequences[J]. Acta Electronica Sinica, 2015, 43(4): 753-759. doi: 10.3969/j.issn.0372-2112.2015.04.018
    [21] WANG Xiaomin, ZHANG Jiashu. An image scrambling encryption using chaos-controlled Poker shuffle operation[C]//2008 International Symposium on Biometrics and Security Technologies. Isalambad: IEEE, 2008: 1-6.
  • 期刊类型引用(4)

    1. 张爽,李震. 基于耦合映像格子的明文关联图像加密方案. 聊城大学学报(自然科学版). 2025(01): 14-22 . 百度学术
    2. 张爽,李震. 基于双超混沌系统的分块图像加密方案. 智能计算机与应用. 2024(04): 96-101 . 百度学术
    3. 白牡丹,赵莉,李珊珊. 基于压缩感知和超混沌系统的多图像加密算法. 计算机系统应用. 2023(02): 295-302 . 百度学术
    4. 王永,龚建,王明月. 基于三维分段Sine映射的彩色图像加密. 北京理工大学学报. 2022(04): 415-423 . 百度学术

    其他类型引用(6)

  • 加载中
图(9) / 表(6)
计量
  • 文章访问数:  459
  • HTML全文浏览量:  206
  • PDF下载量:  28
  • 被引次数: 10
出版历程
  • 收稿日期:  2020-05-27
  • 修回日期:  2020-10-16
  • 网络出版日期:  2021-09-26
  • 刊出日期:  2020-11-05

目录

/

返回文章
返回