基于DNA 编码与交替量子随机行走的彩色图像加密算法*
2021-12-16王一诺宋昭阳马玉林华南马鸿洋
王一诺 宋昭阳 马玉林 华南 马鸿洋
1) (青岛理工大学理学院,青岛 266520)
2) (青岛理工大学信息与控制工程学院,青岛 266520)
近年来,图像加密技术备受关注.随着人们对通信隐私及网络安全重视程度的提高,对信息加密技术的要求更加严格,图像作为信息的载体之一,因携带信息的有效性和生动性而受到重视.本文提出一种基于DNA 编码与交替量子随机行走的彩色图像加密算法.量子随机行走作为出色的密码学工具参与算法流程中各个部分,DNA 编码作为核心加密方式完成算法.本文详细描述加密、解密流程,并对所提出算法进行仿真实验验证与结果分析.仿真阶段设计模拟密钥参数,编码进行彩色图像加密、解密实验,并进行了相关分析.实验结果表明,本文提出的彩色图像加密算法能够进行安全有效的彩色图像加密,且相关分析表示其加密后图像直方图平稳、像素相关性系数趋近于0、密钥空间 2128,三通道信息熵达到7.997 以上,能够抵御统计攻击、穷举攻击等攻击手段.此外,DNA 编码除新颖的编码及运算方式之外还有其独特的生物学特性,为密码学的研究提供了新的思路与方向.
1 引言
通信领域与计算机网络技术飞速发展,人们生活、工作越来越依赖于此的当下,信息传递的安全性问题成为了被社会各界广泛关注的焦点.由于互联网是一个开放与共享的社区,这在一定程度上方便了信息交互,同时使得信息安全性保障成为亟待解决的难题.信息又分多个种类,其中图像信息因其生动形象的特性被人们广泛应用.本文正式基于上述事实提出的基于量子随机行走与DNA 编码技术结合的彩色图像加密算法,以期提高图像信息传递安全性.
量子算法[1-5]及相关应用在通信[6-11]等各领域[12-16]受到关注,在图像处理中更是得到重视[17-20].其运算速度[21,22]、安全性[23,24]等方面相较于经典算法具有显著优势.量子随机行走作为量子算法的重要工具参与算法流程各个步骤.1993 年,以色列物理学家Aharonov 等[25]提出量子随机行走为经典随机行走在量子力学中的对应概念.随着研究的推进,其概念被细分为连续时间量子随机行走和离散时间量子随机行走,二者分别为1998 年美国MIT 的Farhi和日本东北大学的Gutmann[26]提出,2001 年加拿大滑铁卢大学的Watrous[27]由经典随机行走直接量子化得到的.其中,离散时间量子随机行走因具有混沌动力学行为而被应用于量子及经典密码学系统中[28-32].滑铁卢大学的Chris和Zhan[33]在2019 年以组合方法构建的3 个离散时间量子行走模型为我们提供了研究思路;Abd-El-Atty 等[34]2021 年研究发表的基于量子随机行走的光学图像加密算法为本文提供了研究方向及重要参考.本文研究以离散时间交替量子随机行走构建的随机概率分布矩阵作为加密工具,多次参与图像加密过程的彩色图像加密算法.
DNA 编码因具有存储量大、并行处理能力强等诸多良好特性而受到研究人员的关注.相比于基于数学问题的传统密码学,DNA 密码不仅立足于数学问题,同时也依赖于生物技术,这使得DNA密码更加难以破译,具有更高的安全性.1994 年,Adleman[35]进行了世界上第一个DNA 计算实验并在《科学》杂志上发表了相关成果,这一成果揭示了DNA 分子除其稳定的遗传特性外还具有计算能力,自此开辟了一个新的信息时代.随着研究的深入,新的以DNA 为信息载体的密码学领域应运而生.2000 年,Leier 等[36]基于DNA 双链设计了两种密码学方法;2003 年,Chen[37]提出了基于碳纳米管的消息转换和DNA 的分子密码学系统;2005 年,Chang 等[38]提出了3 种基于DNA 的并行减法器,正式验证了两个大质数的乘积能够被分解;2007 年,Lu 等[39]通过将现代DNA 生物技术微阵列应用于密码技术,设计出对称密钥密码系统;在Lu 等研究成果的基础上,2010 年,Lai 等[40]进一步提出了一种非对称加密和签名密码系统DNA-PKC;2012 年,Wei 等[41]提出基于DNA 序列操作和超混沌系统的彩色图像加密算法;2017 年,Niu 等[42]提出基于超混沌映射和核苷酸序列数据库的图像加密算法.通过前人对DNA 密码学[43-45]的研究以及其在图像加密方面[46-48]的应用,已构建了基本的DNA 密码学逻辑结构,为本文的研究提供了基础.
本文第2节介绍背景知识以及描述为完成提出算法进行的相关工作;算法的具体实现过程在第3节进行详细描述,包括了加密以及解密步骤;随后在第4节中附上了仿真结果,对提出的算法进行了性能分析.
2 相关工作
2.1 量子随机行走
量子随机行走包括连续时间量子随机行走和离散时间量子随机行走两个部分,本文提出的工作以离散时间量子随机行走为工具进行开展.离散时间量子随机行走主要包含4 个要素:行走者、行走者携带的硬币、硬币抛掷方式以及行走规则.本文应用离散时间交替量子随机行走(如图1所示).
图1 双方向格点上交替量子随机行走Fig.1.Alternating quantum random walking on the bidirectional grid.
量子随机行走由两部分构成,即行走者位置空间Hw和硬币空间Hc二者共同构成量子随机行走体系的希尔伯特空间H=Hw⊗Hc.在量子随机行走过程中,每一步的行走选择相同的硬币抛掷算符
特别地,当θ=π/4 时,
硬币的抛掷完成后,行走者的动态由条件位移算符Si规定:
其中|x〉(x ∈Z) 为构成行走者位置空间的基矢;两个基矢|c〉(c=0,1) 线性组合构成硬币空间.(3)式可以描述为:当硬币态为|0〉时,操控行走者右移一个单位;当硬币态为|1〉时,操控行走者左移一个单位.
在本文用到的交替量子随机行走中,行走者在x,y两个方向上交替进行行走,则整个量子随机行走过程中的行走算符可描述为
假设初始时刻行走者所在位置为 (0x,0y),硬币处于叠加态Hc=cosα|0〉+sinα|1〉,则初始时刻系统状态为
量子随机行走进行T步后系统状态为
2.2 DNA 编码
在过去的研究中,专家学者们已经构建了一套基本的DNA 编码结构.从生物模型出发,DNA 序列由以下4 个核酸碱基组成:A (腺嘌呤),G (鸟嘌呤),C (胞嘧啶),T (胸腺嘧啶).其中,A 与T 互补,C 与G 互补.将以上的限制写入编码规则,分别用2 位二进制数对每个核酸碱基进行编码得到8 种符合生物模型规则的编码方案,如表1所列.
表18 种DNA 编码方案Table 1.Eight DNA coding schemes.
本文使用表1所述DNA 编码规则对彩色图像进行编码.首先将彩色图像拆分为R,G,B 3 个色彩通道,随即将每个通道编码为一个二进制矩阵,对于单个通道的8 位二进制矩阵可用4 位DNA 序列对其矩阵各数据进行编码.例如:红色通道第一位像素值为157,将其转换为二进制序列得到10011101;对此二进制序列使用表1中方案1 进行编码则可得到长度为4 的DNA 序列——CGTG.而对应相同的二进制序列可以选择不同的方案进行加密,如对应上述二进制序列,选择方案5 对其进行编码则得到的DNA 序列为ATGT.而在解码时,若选择加密方案对DNA 序列进行解码则会得到原二进制数据,例如对方案1 生成的DNA 序列CGTG 使用方案1 进行解密则可得到10011101,为原始二进制序列;而当使用方案1 外的任意方案,例如使用方案4 对其解码,此时对DNA 序列CGTG 进行解码得到的二进制序列为00111011 与原二进制不同.因此无法确定加密以及解密的DNA 编码方案,就无法得知原始二进制序列,这是使用DNA 编码加密的手段之一.
基于以上8 种编码方案,根据二进制传统加减法可以获得对应的8 种DNA 序列的加减法方案,在此使用编码方案1 对应的加、减法方案1 进行举例,具体如表2所列.
表2 DNA 编码方案1 对应的加法方案1Table 2.Addition plan 1 corresponding to DNA coding plan 1.
从表2和表3可以看出,相同DNA 编码对应的加、减法结果是唯一对应的,因此可以利用其加减规则对图像进行加密.
表3 DNA 编码方案1 对应的减法方案1Table 3.DNA coding scheme 1 corresponding to subtraction scheme 1.
3 算法提出
本文提出的加密算法主要由以下几部分组成:1)通过改变参数(N,T,α(硬币算符初态参数)、β(硬币算符抛掷参数))的大小控制交替量子随机行走产生与所需加密图像对应的随机概率分布矩阵;2)通过将量子随机行走与DNA 编码以及DNA 运算相结合的方式完成对原图像的置乱加密;3)异或操作完成进一步加密.下面展示具体算法.
3.1 加密过程
第一步:将彩色图像(m,n,3)拆分为3 个彩色通道矩阵:R(m,n),G(m,n),B(m,n),并将R,G,B 3 通道矩阵分别转换为二进制矩阵R1,G1,B1,然后执行DNA 编码规则中的a方案(a ∈Z,(1,8))对3 个二进制矩阵进行编码,得到3 个大小为(m,n× 4)的矩阵.
以下为加密步骤一对应算法1 伪代码.
算法1图片三通道矩阵进行DNA 编码
输入图片DNA 编码规则
输出经过DNA 编码后的图片三通道矩阵
第二步:利用交替量子随机行走,通过设置其关键参数:(N1,T1,α,β)生成随机概率分布矩阵P(称作密钥矩阵),并将其调整为加密图像的大小得到P1:
将得到的随机概率分布矩阵P1中各元素按照k=fix(ReP1×1012)mod256转换为0—255之间的十进制整数,进而转换为8 位二进制矩阵P2.
以下为加密步骤二对应算法2 伪代码.
算法2生成量子随机行走概率矩阵
输入量子随机行走概率矩阵的关键参数DNA 编码规则
输出经过DNA 编码后的量子随机行走概率矩阵
第三步:将密钥矩阵中元素按降序排列获得向量V,利用向量W检索向量V中P1元素形成索引;利用索引向量W完成对矩阵R1,G1,B1的置乱重排生成(m,n× 4)的矩阵R2,G2,B2.
以下为加密步骤三对应算法3 伪代码.
算法3图像时域置乱
输入量子随机行走概率矩阵 newImage
输出时域置乱后的图像
第四步:将矩阵P2使用与矩阵R1,G1,B1相同的DNA 编码方案a进行编码,得到矩阵P3,随后使矩阵R2,G2,B2分别与矩阵P3进行方案a的加法,得到矩阵R3,G3,B3,即:
接着,使用DNA 编码规则中的方案b(b ∈Z,(1,8),b/a)对矩阵R3,G3,B3进行解码操作,得到3 个二进制矩阵:R4,G4,B4.
以下为加密步骤四对应算法4 伪代码.
算法4QWPmatrix 与newImage 的DNA 加法
输入QWPmatrix newImage
输出经过DNA 加法处理后的矩阵
第五步:将矩阵R4,G4,B4分别与P2中对应元素进行按位异或运算得到矩阵R5,G5,B5,将三通道加密完成后的矩阵R5,G5,B5组合获得加密后的彩色图像E.
以上算法流程图见图2.
图2 算法流程图Fig.2.Algorithm flowchart.
3.2 解密过程
解密过程可视作加密过程的逆过程,其步骤可简述为以下4 步.
第一步:使用与加密过程相同的参数进行离散时间交替量子随机行走,生成随机概率矩阵P′,随后对P′元素进行降序排列生成向量V′,因参数相同,所以有V′=V,P′=P;使用向量W′对向量V′中的元素进行检索索引;
第二步:将加密后的彩色图像E拆分为3 个色彩通道矩阵:R′,G′,B′,并进一步转换为8 位二进制矩阵同时将P′中各元素转换为0—255 之间的十进制整数,随后转换为8 位二进制数,获得的矩阵K′进行按位异或运算得到矩阵
4 仿真结果与分析
为验证所提算法的有效性与安全性,本文进行算法实验仿真,对像素大小290× 290 的3 张彩色图片进行算法所述的加密以及解密操作,效果见图3,并对加密前后图像进行像素相关性分析、直方图分析、密钥空间等安全性分析.
图3 加密算法仿真效果图Fig.3.Encryption algorithm simulation renderings.
4.1 实验仿真
为验证本文所提方法的有效性,进行了相关仿真实验.实验应用了如下3 个290× 290 像素的彩色图像,在量子漫步部分选取N=500 ,在DNA 加密与加法计算部分选用了表1中编号1 的编码方式与编号3 的解码方式,进行表2和表3所示的运算.仿真结果与具体分析如下.
4.2 相关分析
相关分析首先采用相邻像素的相关性系数CAB来分析原始图像与加密图像间的差异.原始图像中相邻位置的像素具有很强的相关性,而加密后图像相邻像素间应接近于零.
其中,A和B分别表示相邻像素的值,cov(A,B) 为A和B的协方差,为A和B的方差.这里对实验仿真中3 组原始图像与解密图像分别进行水平、垂直、对角方向上的像素相关性分析,结果如图4—图6所示,具体数据结果见表4.
表4 像素相关性分析数据Table 4.Pixel correlation analysis data.
图4 Lena 图像加密前后相关性分析Fig.4.Correlation analysis of images before and after Lena encryption.
图5 蛋糕图像加密前后相关性分析Fig.5.Correlation analysis of images before and after cake encryption.
图6 小猫图像加密前后相关性分析Fig.6.Correlation analysis of images before and after cat encryption.
图4(a)—图4(c)分别为Lena 原始图像在水平、垂直、对角方向上的相关性分析,图4(d)—图4(f)为Lena 加密后图像对应的水平、垂直、对角方向上相关性分析得到的图像.可以清晰地看出原始图像与加密后图像在像素相关性上的差别,证明了所提算法的有效性.
从以上图表分析可以看出,全部加密后图像的像素相关性分析的数值都接近于零,因此本文所提算法有出色的抵御相关性分析的能力.表5给出本文提出的算法与文献[42,49,50]提出算法的三方向相关性数据对比
表5 相关性分析数据对比Table 5.Correlation analysis data comparison.
密钥敏感性分析是指,在图像加密过程中,当密钥参数发生少量变化,加密后的图像将会发生相应改变.在这里用NPCR (像素数改变率)与UACI(统一平均变化强度)来表示对原始图像图像采用有微小区别的不同密钥加密后生成的加密图像之间的变化像素数量及其平均变化强度,参考值分别为NPCR=99.6094%,UACI=33.4635%,其数值越接近该参考值说明算法密钥敏感性越强,则该算法安全性更强.相关数据见表6.
表6 密钥敏感性分析数据Table 6.Key sensitivity analysis data.
表7给出本文与文献[42,49,50]的NPCR,UACI数据对比.
表7 NPCR,UACI 数据对比Table 7.Comparison of NPCR and UACI data.
除此之外,本文对原始图像和加密图像进行了统计分析,图7(a)—图7(c)为原始图像的R,G,B 3 个通道的直方图,图7(d)—图7(f)对应的为加密图像的直方图.可以看出左侧原始图像统计数据中3 个通道各有一些值较为集中,而右侧加密图像部分直方图数据较为均匀,这表明想要对加密后图像进行统计攻击将会十分艰难.
图7 Lena 图像加密前后三通道直方图分析Fig.7.Analysis of R,G,B three-channel histogram before and after Lena image encryption.
Lena 图像加密后图像三通道信息熵分别达到:R 通道7.9977,G 通道7.9978,B 通道7.9976;三通道密钥随机性灰度差异(GVD)达到:R 通道0.9667,G 通道0.9551,B 通道0.9651.在密钥空间方面,由于量子随机行走在理论上可以提供无穷大的密钥空间,在实验中,当计算精度为 10-16时,密钥空间可以达到 2128.目前计算机计算能力决定,当密钥空间达到 2128时算法可以抵御任何形式的暴力攻击,因此算法具有较好的抵御穷举攻击等攻击手段的能力.
5 结论
本文进行了量子漫步与图像加密结合的相关研究并进行了有效实验,证实所提出的基于量子随机行走的彩色图像加密方案有效且切实可行,表明将量子相关理论技术引入经典图像处理中具有广阔的应用前景;此外将DNA 编码应用于加密方案中更是为图像加密技术前景提供了一种可能.在此次加密方案中,量子随机行走生成的随机概率分布矩阵作为重要工具参与加密过程,在之后的研究中希望能够更大程度地应用,发挥其优势作用.此外DNA 编码所具备的重要生物特性也具有更加深度的应用意义.