基于DES结构与DNA编码的数字图像加密方法技术

技术编号:21120734 阅读:26 留言:0更新日期:2019-05-16 10:35
本发明专利技术提出了一种基于DES结构与DNA编码的数字图像加密方法,用于解决传统DES加密算法应用于图像加密时操作复杂,抗裁剪攻击能力弱等问题。本发明专利技术借鉴了DES加密算法的结构,并使用了DNA编码运算、选择密文输出和密钥校验等方法,很好的弥补传统文字加密算法应用于数字图像加密时计算复杂度高、密钥管理不便等问题。本发明专利技术通过分析密文的信息熵、像素改变率、图像相关性等指标,验证其安全性;本发明专利技术在遭受攻击时具有很好的恢复能力,具有较大的密钥空间来抵抗穷举攻击,同时还能够抵抗统计攻击、差分攻击、裁剪攻击、噪声攻击等,可广泛应用于图像信息的安全传输。

Digital Image Encryption Method Based on DES Structure and DNA Coding

【技术实现步骤摘要】
基于DES结构与DNA编码的数字图像加密方法
本专利技术涉及图像加密的
,尤其涉及一种基于DES结构与DNA编码的数字图像加密方法。
技术介绍
数字图像信息具有数据量大,数据间的相关性强等特点,使传统加密方法对图像数据的加密遇到了困难。现代社会中,信息的安全问题影响着人类生产生活的方方面面,人类所面对的信息泄露的问题越来越严重,如何有效的保护信息的安全传输已经成为一项热门的研究领域。RSA和DES等加密算法曾被广泛应用于文字信息的加密,但是随着半导体工业和计算机科学的进步,人类的计算能力取得了飞速的发展。传统的加密算法面临被破解的风险。与此同时,虽然计算机的计算能力已经有很大程度的提升,但是仍面临着很大的挑战。图像数据的数据量比文本数据的数据量高出了很多。图像数据类似于模拟信号采样数据,有着相关性极强,冗余度高的特点。在图像加密领域使用传统的加密算法会带来计算量过大,密钥管理复杂等问题,造成时间和资源的浪费。数据加密标准(DataEncryptionStandard,DES)是一种分组加密算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准,并授权在非密级政府通信中使用。图1为DES算法的流程图,传统的DES算法首先对明文进行分组操作,每块的大小为64位,然后将每个区块分成左右两个部分相互加密并迭代16轮,最后将加密后的区块重组。用传统的DES算法对图像进行加密,会面临迭代次数多,操作复杂,抗裁剪攻击能力弱等问题。1994年,Adleman设计完成了第一个DNA计算实验,并将其研究成果发表在Science上,开辟了一个新的领域——生物计算。后续有很多学者为生物计算做出了很多的研究。以DNA的分子结构特性推导,DNA计算具有许多良好的特性,例如,巨大的存储容量,大型的并行计算能力,超低的能耗。生物计算领域仍在不断地被探索和研究,虽然在实践中DNA计算机仍未被应用,但是DNA计算的编码和计算方式丰富了密码学中加密算法的手段。通过模拟DNA计算,可以提高加密算法的各项评价指标。Gehani等提出了第一个使用DNA串加密图像的算法。
技术实现思路
针对传统的DES算法迭代次数较多,计算较复杂,抗裁剪攻击能力弱的技术问题,本专利技术提出一种基于DES结构与DNA编码的数字图像加密方法,计算复杂度低,对密钥有很强的敏感性,具有良好的抗穷举攻击、抗噪声攻击能力和抗裁剪攻击能力强,可以有效地抵抗统计攻击。为了达到上述目的,本专利技术的技术方案是这样实现的:一种基于DES结构与DNA编码的数字图像加密方法,其步骤如下:步骤一:将大小为M*N的明文灰度图像转化为二维的图像矩阵I,将图像矩阵I输入到SHA-256算法,得到256位的Hash散列值组成二进制序列H,作为初始密钥;步骤二:将二进制序列H等分成8位的二进制序列分别带入到Logistic映射和2D-LSCM混沌系统的动力学方程中,分别得到Logistic映射的初始值和2D-LSCM混沌系统的初始值和初始参数;步骤三:将步骤二得到的Logistic映射的初始值带入Logistic映射的动力学方程进行迭代得到长度为(2×M×N+1000)的序列L,将步骤二得到的2D-LSCM混沌系统的初始值和初始参数带入2D-LSCM混沌系统的动力学方程进行迭代得到两个长度为4×M×N+1000的2D-LSCM混沌映射的序列X和序列Y;步骤四:截取序列L的第1001到第M×N+1000个元素,重新排列成大小为M×N的矩阵A1;取序列L的第M×N+1001到第2×M×N+1000个元素,重新排列成大小为M×N的矩阵A2,利用矩阵A1和矩阵A2对图像矩阵I进行像素置乱得到图像矩阵I1;步骤五:取序列X的第1001到第4×M×N+1000个元素作为矩阵B的第一行,取序列Y的第1001到第4×M×N+1000个元素作为矩阵B的第二行;将矩阵B重新排列为大小为M×(8×N)的矩阵B′,并对矩阵B′中每个元素的第3到12位对256取模,得到新的矩阵B1;步骤六:利用矩阵B1计算DES算法加密过程中的密钥K1到K16;步骤七:将图像矩阵I1等分成左半部分L0和右半部分R0,利用密钥K1到K16代入DES算法进行置乱操作,将第13轮运算后的密文L13和密文R13组成密文图像C1,取第14轮运算后的密文L14和密文R14组成密文图像C2,取第15轮运算后的密文L15和密文R15组成密文图像C3,第16轮运算后的密文L16和R16组成密文图像C4;步骤八:采用像素扩散方法对密文图像C1、C2、C3和C4操作得到新的图像C′1、C′2、C′3和C′4,选择图像C′1、C′2、C′3和C′4中信息熵最大的图像作为加密后的密文图像C输出。所述2D-LSCM混沌系统的动力学方程为:其中,θ为2D-LSCM混沌系统的参数、取值范围为区间(0,1);x(i)和x(i+1)分别表示2D-LSCM混沌系统序列X的第i次和第i+1次的迭代值;y(i)和y(i+1)分别表示2D-LSCM混沌系统的序列Y的第i次和第i+1次的迭代值;所述Logistic映射的动力学方程为:a(i+1)=μa(i)(1-a(i));其中,a(i)和a(i+1)分别为Logistic映射的第i次和第i+1次的迭代值,μ为Logistic映射的参数,当μ=4时,系统处于混沌状态。所述二进制序列H等分成8位的二进制序列分别为k1、k2、…、k32,Logistic映射的初始值和2D-LSCM混沌系统的初始值和初始参数分别为:其中,a(1)为序列L的初始值,x(1)为序列X的初始值,y(1)为序列Y的初始值,θ为2D-LSCM混沌系统的初始参数。所述像素置乱的方法为:用矩阵A1中的每一行混沌序列对图像矩阵I中对应的那一行像素序列进行置乱得到行置乱后的图像,然后用矩阵A2中的每一列混沌序列对行置乱后的图像对应的那一列像素序列进行置乱。所述DES算法的密钥K1到K16的获取方法为:其中,1≤j≤16,N表示图像矩阵I的宽度;利用密钥K1到K16代入DES算法进行置乱操作的方法为:其中,bitxor表示两个矩阵二进制异或运算,DNAsubtraction表示DNA减法运算,DNAaddition表示DNA加法运算。在DNA编码中满足碱基互补配对原则的编码方法有:在第1种编码规则下DNA加法和DNA减法的运算规则分别为:所述像素扩散方法为:将大小为M*N的密文图像排列成长度为M*N的像素序列,将像素点分别标号为P(1)、P(2)、…、P(M*N),使用公式计算得到新的像素序列P′(1)、P′(2)、…、P′(M*N),将新产生的像素序列P′(1)、P′(2)、…、P′(M*N)重新排列成大小为M*N的图像,得到扩散后的图像。所述加密后的密文图像C的解密方法的步骤为:S1:将密文图像C像素扩散后得到图像C1”、C2”、C3”和C4”,分别对图像C1”、C2”、C3”和C4”进行DES解密操作得到明文图像I′1、I′2、I′3和I′4;S2:用SHA-256算法分别计算明文图像I′1、I′2、I′3和I′4的Hash散列值H1、H2、H3和H4,并分别计算四幅明文图像I′1、I′2、I′3和I′4的信息熵E1、E2、E3和E4;S3:将Hash散本文档来自技高网
...

【技术保护点】
1.一种基于DES结构与DNA编码的数字图像加密方法,其特征在于,其步骤如下:步骤一:将大小为M*N的明文灰度图像转化为二维的图像矩阵I,将图像矩阵I输入到SHA‑256算法,得到256位的Hash散列值组成二进制序列H,作为初始密钥;步骤二:将二进制序列H等分成8位的二进制序列分别带入到Logistic映射和2D‑LSCM混沌系统的动力学方程中,分别得到Logistic映射的初始值和2D‑LSCM混沌系统的初始值和初始参数;步骤三:将步骤二得到的Logistic映射的初始值带入Logistic映射的动力学方程进行迭代得到长度为(2×M×N+1000)的序列L,将步骤二得到的2D‑LSCM混沌系统的初始值和初始参数带入2D‑LSCM混沌系统的动力学方程进行迭代得到两个长度为4×M×N+1000的2D‑LSCM混沌映射的序列X和序列Y;步骤四:截取序列L的第1001到第M×N+1000个元素,重新排列成大小为M×N的矩阵A1;取序列L的第M×N+1001到第2×M×N+1000个元素,重新排列成大小为M×N的矩阵A2,利用矩阵A1和矩阵A2对图像矩阵I进行像素置乱得到图像矩阵I1;步骤五:取序列X的第1001到第4×M×N+1000个元素作为矩阵B的第一行,取序列Y的第1001到第4×M×N+1000个元素作为矩阵B的第二行;将矩阵B重新排列为大小为M×(8×N)的矩阵B′,并对矩阵B′中每个元素的第3到12位对256取模,得到新的矩阵B1;步骤六:利用矩阵B1计算DES算法加密过程中的密钥K1到K16;步骤七:将图像矩阵I1等分成左半部分L0和右半部分R0,利用密钥K1到K16代入DES算法进行置乱操作,将第13轮运算后的密文L13和密文R13组成密文图像C1,取第14轮运算后的密文L14和密文R14组成密文图像C2,取第15轮运算后的密文L15和密文R15组成密文图像C3,第16轮运算后的密文L16和R16组成密文图像C4;步骤八:采用像素扩散方法对密文图像C1、C2、C3和C4操作得到新的图像C′1、C′2、C′3和C′4,选择图像C′1、C′2、C′3和C′4中信息熵最大的图像作为加密后的密文图像C输出。...

【技术特征摘要】
1.一种基于DES结构与DNA编码的数字图像加密方法,其特征在于,其步骤如下:步骤一:将大小为M*N的明文灰度图像转化为二维的图像矩阵I,将图像矩阵I输入到SHA-256算法,得到256位的Hash散列值组成二进制序列H,作为初始密钥;步骤二:将二进制序列H等分成8位的二进制序列分别带入到Logistic映射和2D-LSCM混沌系统的动力学方程中,分别得到Logistic映射的初始值和2D-LSCM混沌系统的初始值和初始参数;步骤三:将步骤二得到的Logistic映射的初始值带入Logistic映射的动力学方程进行迭代得到长度为(2×M×N+1000)的序列L,将步骤二得到的2D-LSCM混沌系统的初始值和初始参数带入2D-LSCM混沌系统的动力学方程进行迭代得到两个长度为4×M×N+1000的2D-LSCM混沌映射的序列X和序列Y;步骤四:截取序列L的第1001到第M×N+1000个元素,重新排列成大小为M×N的矩阵A1;取序列L的第M×N+1001到第2×M×N+1000个元素,重新排列成大小为M×N的矩阵A2,利用矩阵A1和矩阵A2对图像矩阵I进行像素置乱得到图像矩阵I1;步骤五:取序列X的第1001到第4×M×N+1000个元素作为矩阵B的第一行,取序列Y的第1001到第4×M×N+1000个元素作为矩阵B的第二行;将矩阵B重新排列为大小为M×(8×N)的矩阵B′,并对矩阵B′中每个元素的第3到12位对256取模,得到新的矩阵B1;步骤六:利用矩阵B1计算DES算法加密过程中的密钥K1到K16;步骤七:将图像矩阵I1等分成左半部分L0和右半部分R0,利用密钥K1到K16代入DES算法进行置乱操作,将第13轮运算后的密文L13和密文R13组成密文图像C1,取第14轮运算后的密文L14和密文R14组成密文图像C2,取第15轮运算后的密文L15和密文R15组成密文图像C3,第16轮运算后的密文L16和R16组成密文图像C4;步骤八:采用像素扩散方法对密文图像C1、C2、C3和C4操作得到新的图像C′1、C′2、C′3和C′4,选择图像C′1、C′2、C′3和C′4中信息熵最大的图像作为加密后的密文图像C输出。2.根据权利要求1所述的基于DES结构与DNA编码的数字图像加密方法,其特征在于,所述2D-LSCM混沌系统的动力学方程为:其中,θ为2D-LSCM混沌系统的参数、取值范围为区间(0,1);x(i)和x(i+1)分别表示2D-LSCM混沌系统序列X的第i次和第i+1次的迭代值;y(i)和y(i+1)分别表示2D-LSCM混沌系统的序列Y的第i次和第i+1次的迭代值;所述Logistic映射的动力学方程为:a(i+1)=μa(i)(1-a(i));其中,a(i)和a(i+1)分别为Logistic映射的第i次和第i+1次的迭代值,μ为Logistic映射的参数,当μ=...

【专利技术属性】
技术研发人员:张勋才田二林凌丹王凌飞牛莹赵凯崔光照周航宇王延峰孙军伟焦洋洋
申请(专利权)人:郑州轻工业学院
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1