基于超混沌系统和dna编码的位平面图像压缩加密算法

文档序号:1878174 发布日期:2021-11-23 浏览:21次 >En<

阅读说明:本技术 基于超混沌系统和dna编码的位平面图像压缩加密算法 (Bit plane image compression encryption algorithm based on hyperchaotic system and DNA coding ) 是由 王丽丹 石航 于 2021-09-07 设计创作,主要内容包括:本发明提供了一种新的基于超Lorenz系统,同时结合了二维压缩感知算法,图像的位平面分解法以及DNA编码的多过程图像压缩加密算法。该方法的主要步骤包括:根据压缩比,采用压缩感知算法对明文图像进行采样:基于压缩后的图像,通过超Lorenz系统得到指定长度的4组伪随机序列:对压缩后的图像进行分解得到8个位平面,结合整数化伪随机序列分别对其进行置乱,将置乱后的8个位平面重组得到置乱图像:对置乱图像以及整数化伪随机序列进行DNA编码,对两者应用基于DNA编码的异或运算,得到密文图像。本发明所提供的加密算法具有很强的明文相关性,在保证安全性的同时也提高了算法的执行效率。(The invention provides a novel super-Lorenz-based system, which is combined with a two-dimensional compressed sensing algorithm, an image bit plane decomposition method and a DNA coding multi-process image compression encryption algorithm. The method mainly comprises the steps of sampling a plaintext image by adopting a compressed sensing algorithm according to a compression ratio, obtaining 4 groups of pseudo-random sequences with specified length through a hyper-Lorenz system based on the compressed image, decomposing the compressed image to obtain 8 bit planes, scrambling the 8 bit planes by combining with an integer pseudo-random sequence, recombining the 8 bit planes after scrambling to obtain a scrambled image, carrying out DNA coding on the scrambled image and the integer pseudo-random sequence, and carrying out XOR operation based on the DNA coding on the scrambled image and the integer pseudo-random sequence to obtain a ciphertext image. The encryption algorithm provided by the invention has strong plaintext correlation, and the execution efficiency of the algorithm is improved while the security is ensured.)

基于超混沌系统和DNA编码的位平面图像压缩加密算法

技术领域

本发明设计图像加密技术领域,特别是一种基于超混沌系统和DNA编码的位平面图像压缩加密方法。

背景技术

自上世纪90年代以来,基于计算机的信息科学技术的快速发展给人们的生活带来了极大的改变,与此同时,信息储存、传播的媒介也在逐渐朝着多样化、便利化的方向发展,而数字图像凭借其丰富的信息存储能力,直观的信息表达能力以及便于网络传输等特性逐渐取代了文本成为了当下社会重要的信息存储、传输的方式之一。

因此,在计算机科学技术高速发展的今天,针对数字图像的加密算法逐渐成为了研究热点。

然而,近年来不断有个人以及组织机构因为图像信息的泄露而蒙受了损失,这是由于数字图像与文本在存储方式、文件编码等方面存在巨大的差异,像AES、DES以及RSA这类传统的加密标准或技术无法为存储在数字图像中的信息提供有效的保护。同时,由于计算机算力的限制以及与数字图像加密相关的理论和标准发展缓慢,一些陈旧的数字图像加密算法往往存在安全性不足,无法抵御来自外部的破译攻击等缺陷。

发明内容

为了解决上述问题,特地引入一种基于超混沌系统和DNA编码的位平面图像压缩加密算法(使用超混沌系统中的超Lorenz系统),既能保证加密过程安全且随机,又能简化运算方法。

以灰度图像P作为明文图像,采用二维压缩感知算法对明文图像P的一组对称边进行压缩,生成压缩后的像素矩阵t1,压缩公式如下:

t1=Φ×P

由于压缩后t1中元素的取值存在大范围跳变的问题,不利于之后的处理,需要对t1进行规范化处理,使得其中元素的取值始终位于[0,255]这一区间范围内,生成规范化像素矩阵t2,其规范化过程为:

其中,表示向下取整运算,t2为t1经过规范化处理后的像素矩阵;

结合结合明文图像P的哈希值以及外部密钥信息,利用超Lorenz系统,生成4组伪随机序列s1、s2、s3和s4,其中超Lorenz系统的表达式为:

其中,a、b、c、d为系统参数,a=10,b=8/3,c=28,r=–1,w、x、y、z为系统变量,其初始值w0、x0、y0、z0可人为设定,通过将扰动后的w0、x0、y0、z0代入上述方程进行迭代,迭代次数大于等于所述规范像素矩阵t2的像素点数,得到4组等长的伪随机序列s1、s2、s3和s4

将所述规范像素矩阵t2中的每一个像素值转化为8位无符号二进制数,将它们由最低位到最高位,按照对应的坐标依次放到8个矩阵中,这8个矩阵即为t2对应的8个位平面图像,再对这8个位平面图像Bi(i=1,2,…,8)的像素位置置乱,具体做法为:

选取伪随机序列s1、s2,运用公式对s1的前项取整数化,对s2的前N项取整数化,公式如下:

其中,||表示绝对值运算,得出整数伪随机序列S1和S2

步骤4、利用整数伪随机序列S1和S2按照公式来对8个位平面图像的行列进行位置置乱,生成8个置乱位平面图像,最后再将8个置乱位平面重新组合成一个新的像素矩阵,具体方法以及公式如下:

其中Bi(j,:)表示第i个位平面图像的第j行,《表示循环左移位操作,》表示循环下移位操作,S1(j)(或者S1(k))的值则代表该行循环左(下)移位的位数;

将8个置乱位平面图像重新组合为置乱后的像素矩阵t3,组合方法为步骤2的逆运算,将第一平面到第八平面的对应位置处的每一个二进制数组合起来并转化为十进制像素值;

然后将置乱后的像素矩阵t3重新排列为1维的长度为的序列t4,具体方法为:将第二行置于第一行的尾后,再将第三行置于第二行的尾后,第四行置于第三行的尾后,以此类推,直至第最后一行置于倒数第二行尾后,以此形成一维序列t4

对4组伪随机序列s1、s2、s3、s4进行整数化处理得到I1、I2、I3、I4,整数化公式如下:

其中I1、I2、I3的取值范围是1~8,而I4的取值范围是0~255;

在生物学中,DNA序列由“A”、“T”、“G”和“C”4种含氮碱基组成。另一方面,由于灰度图像的像素可以由8位无符号2进制数表示,而在2进制数中,“0”与“1”是互补的,那么“00”与“11”以及“01”与“10”也是互补的。因此,灰度图像的像素值可以由长度为4的碱基序列表示,而将图像像素值映射为完全由碱基构成的序列的过程即为DNA编码过程。然而,与灰度图像的像素的二进制数表示相对应,且同时满足DNA碱基互补原则的编码规则却仅有8种,选取I2作为t4的规则选取项,选取I3作为I4的规则选取项,分别得到t5和R4,其中t5和R4均由碱基构成,运算公式和碱基序列编码与解码规则为:

8种标准的DNA序列编码与解码规则

其中I2的值表示选用几号规则来进行DNA编码;

按照碱基序列的异或运算规则,将碱基序列t5和R4进行运算得到新的碱基序列R,运算公式与异或运算规则如下:

R=bitxor(t5,R4)

将整数伪随机序列I1作为碱基序列R的解码规则,运算得到二进制序列bR,解码运算公式如下:

bR=decode(R,rule(I1))

碱基序列R按照DNA序列的解码规则进行解码,I1的值作为解码规则选取项,重新得到一个二进制编码的序列bR

将明文图形P所有像素点相加得到常数t,并将其转化成8位无符号二进制常数tb,再将tb与二进制序列bR进行位异或运算,相关公式如下:

具体运算方法为:二进制数值相加,同为0,异为1,规则如下:

异或运算规则表

求出明文图像P的像素点数之和t,将十进制数t转换成8位无符号二进制数,然后在与二进制序列bR进行异或运算得到二进制序列t6,再将t6转换为十进制序列t7,最后将一维的序列t7重新排列为矩阵形式,得到密文图像C。

有益效果为:引入混沌系统产生伪随机序列以取代传统的伪随机序列算法,在简化了算法流程的同时获得了更强的随机性。将混沌系统的强随机性引入到图像序列中,有效地实现了针对数字图像的加密,将分子生物学的概念引入到密码学中,通过结合伪随机序列对图像像素进行编码、运算,进一步强化安全性。

附图说明

图1为本发明的方法流程图。

图2为基于压缩感知理论的图像压缩过程示意图。

图3为超Lorenz系统随参数a变化的李氏指数分岔图,其中3(a)展示了该系统随参数a变化的前3个李氏指数,3(b)展示了随参数a变化的分岔图。

图4为以Lena图像为例的灰度图像的8-bit位平面分解示意图。

图5为本发明用于仿真实验的图像,其中,5(a)为Lena,5(b)为Pepper,5(c)Cameraman。

图6为压缩比为0.5的前提下,Lena、Pepper以及Cameraman图像对应的密文图像,其中,6(a)为Lena的密文图像,6(b)为Pepper的密文图像,6(c)位Cameraman的密文图像。

图7为图6中各密文图像对应的解密图像,其中,7(a)为Lena的解密图像,7(b)为Pepper的解密图像,7(c)为Cameraman的解密图像。

图8为图5、6、7中各子图的灰度直方图,其中,图8(a)为Lena的明文图像、压缩比为0.5时的密文以及解密图像的灰度直方图,图8(b)为Pepper的明文图像、压缩比为0.5时的密文以及解密图像的灰度直方图,图8(c)为Cameraman的明文图像、压缩比为0.5时的密文以及解密图像的灰度直方图。

图9位图5、6、7中各子图的相关性图,其中,图9(a)、图9(b)以及图9(c)分别为Lena的明文图像、压缩比为0.5时的密文图像以及解密图像在水平、竖直以及斜线3个方向上的相关性图,图9(d)、图9(e)以及图9(f)分别为Pepper的明文图像、压缩比为0.5时的密文图像以及解密图像在水平、竖直以及斜线3个方向上的相关性图,图9(g)、图9(h)以及图9(i)分别为Lena的明文图像、压缩比为0.5时的密文图像以及解密图像在水平、竖直以及斜线3个方向上的相关性图。

具体实施方式

为了更好地说明本发明的技术方案,以下结合附图以及本发明的具体实施方式进行描述。

本发明为一种基于超混沌系统和DNA编码的位平面图像压缩加密方法,其流程图如图1所示,它大体上可分为4个部分。第1部分是基于压缩感知算法的图像压缩过程;第2部分为使用密钥以及超Lorenz系统,迭代产生得到伪随机序列的过程;第3部分主要是使用上一部分中生成的2组伪随机序列,针对由明文图像分解得到的8个位平面图像的行、列分别进行置乱,并重组为完整图像的过程;第4部分为以DNA编码以及碱基级的按位异或运算为基础的像素扩散过程,将该过程的结果重组为矩阵形式即可得到最终的密文图像。

1.基于压缩感知理论的图像压缩算法

图2显示了以Lena图像为例,在压缩比为0.5的前提下,采用基于压缩感知理论的图像压缩算法进行压缩的过程。对于尺寸为M×N的明文图像P,采用尺寸为(CR×M)×N的高斯随机矩阵作为测量矩阵Φ通过下式对P进行随机采样。

t1=Φ×P

其中,t1为压缩图像,其尺寸为CR∈[0.1,0.9]为预定义的压缩比。以压缩比CR=0.5为例对尺寸为512×512的Lena图像进行压缩采样,其简化后的过程以及压缩结果如图1所示。此外,考虑到t1中元素的取值跨度很大,不利于针对图像像素的算法处理,因此按照下式对t1进行规范化,将t1中元素的取值限制在区间[0,255]内。

其中,表示向下取整运算,t2为t1经过规范化处理后的像素矩阵;

2.基于外部密钥、明文哈希值以及超Lorenz系统的伪随机序列发生器

为了便于理解,分别用K、K1以及K2来表示完整的密钥,外部密钥以及内部密钥。其中,K1是长度为256的2进制序列(以64位16进制数形式输入),K2则是由SHA-256算法计算得来的明文图像的哈希值,而完整密钥K是由K1和K2直接拼接而来,其长度为512。将密钥K转化为10进制序列,得到长为64的10进制密钥d,使用d对超Lorenz系统的预设初值按照下式进行扰动。

其中,SUM()为求和函数。将上述经过扰动初值x0、y0、z0以及w0代入如下所示的超Lorenz系统方程中。

其中,a=10,b=8/3,c=28,r=-1,图3(a)显示了超Lorenz系统的前3个李氏指数图,表明该系统确实是一个超混沌系统,图3(b)则显示了该系统的分岔图。使用龙格—库塔法对上述系统进行迭代得到4组长度的伪随机序列s1,s2,s3以及s4。值得一提的是,由超Lorenz系统迭代得到的这4组伪随机序列均具有不错的随机性,以s1为例,它通过了如表1所示的NIST SP800-20随机性测试(其余3组同理)。

表1 NIST SP800-20随机性检测结果

注意到当p值>0.01即可认为序列通过了该项随机性测试,此外,“*”表示该项测试结果包含了2个以上的p值,但是由于它们均大于0.1,即序列通过了该项测试。

3.基于图像的位平面分解以及循环移位运算的像素置乱过程

如图4所示,以Lena图像为例,由它分解可以得到的8个仅由0和1组成的位平面图像,该像素置乱过程如下所示。

选取伪随机序列s1的前项以及s2的前N项,按照下式对其进行整数化:

其中,||表示绝对值运算。将规范化后的像素矩阵t2分解为8个位平面图像,每个位平面图像仅由0和1构成。针对位平面图像Bi(i=1,2...,8),根据下式,使用整数伪随机序列S1和S2对其分别进行行置乱和列置乱,公式如下:

其中Bi(j,:)表示第i个位平面图像的第j行,《表示循环左移位操作,而Bi(j)则代表该行循环左移位的位数。同理,其中Bi(:,k)表示第i个位平面图像的第k列,》表示循环右(下)移位操作,而Bi(k)则代表该列循环右(下)移位的位数。例如,当i=2,S1(10)=100时表示将第2个位平面图像的第10行向左循环移动100位;同理,当i=4,S2(100)=32时表示将第4个位平面图像的第100列向下循环移动32位。将经过行置乱和列置乱的8个位平面图像重组即可得到置乱后的图像t3

本实施例为循环左移位操作和循环下移位操作,但不排斥其他循环右移位操作和循环上移位操作方式。

4.基于DNA编码以及碱基运算的像素扩散过程

在生物学中,DNA序列由“A”、“T”、“G”和“C”4种含氮碱基组成。另一方面,由于灰度图像的像素可以由8位无符号2进制数表示,而在2进制数中,“0”与“1”是互补的,那么“00”与“11”以及“01”与“10”也是互补的。因此,灰度图像的像素值可以由长度为4的碱基序列表示,而将图像像素值映射为碱基序列的过程即为DNA编码过程。然而,与灰度图像的像素的2进制数表示相对应,且同时满足DNA碱基互补原则的编码规则却仅有8种,如表2所示。

表2 8种标准的DNA序列编码与解码规则

该像素扩散过程如下所示。根据下式重新对伪随机序列s1,s2,s3和s4进行整数化处理。

分别将I2和I3作为DNA编码过程中的规则选取序列,对t4和I4进行DNA编码得到碱基序列t5和R4,即仅由碱基“A”、“T”、“G”以及“C”的序列,其运算过程如下所示。

整数化不限于上述两种及其顺序。

I1、I2、I3以及I4均为整数伪随机序列,其中I1、I2和I3的取值范围为1~8,而I4的取值范围为0~255。将置乱后的图像t3重新排列为长度为的一维数组,其取值范围与I4相同。之后,将I2和I3分别作为DNA编码过程中的规则选取序列,对t4和I4进行DNA编码得到仅由碱基“A”、“T”、“G”以及“C”的序列构成的序列t5和R4,其运算过程如下。

其中,encode()表示针对二进制序列的DNA编码运算,例如,当t4(320)=124,I2(320)=4,那么encode(t4(320),I2(320))则表示按照规则4对位于第320位的像素值124(二进制值为01111100)进行编码,其结果为“GAAT”。此外,与2进制序列类似,碱基序列同样可以进行加、减以及异或运算,DNA序列的异或运算规则如表3所示。

表3DNA序列的异或运算规则

将碱基序列t5和R4按照碱基的按位异或运算的规则进行运算得到新的碱基序列R,其运算过程如下所示。

R=bitxor(t5,R4)

其中,bitxor()表示按位异或运算。例如,当t5(96)=“T”与R4(96)=“G”时,xor(t5(96),R4(96))表示t5(96)与R4(96)进行异或运算,其结果为碱基“C”。之后,将伪随机整数序列I1作为解码规则选取序列,对碱基序列R进行解码得到二进制序列bR,即:

bR=decode(R,rule(I1))

其中,decode()表示针对碱基序列的DNA解码运算,例如:假设R(127)=“A”,I1(127)=3,那么decode(R(127),I1(127))表示按照规则3对碱基“A”进行解码,即结果为2进制数组合“11”。之后,对bR按照下式执行进一步运算如下:

将明文图像P中所有像素点相加得到常数t,并将其转化成8位无符号二进制常数tb,再将tb与二进制序列bR进行位异或运算,相关公式如下:

具体运算方法为:二进制数值相加,同为0,异为1,规则如下:

异或运算规则表

求出明文图像P的像素点数之和t,将十进制数t转换成8位无符号二进制数,然后在与二进制序列bR进行异或运算得到二进制序列t6,再将t6转换为十进制序列t7,最后将一维的序列t7重新排列为矩阵形式,得到密文图像C。

图像的解密过程即为加密过程对应的逆过程,在此不再赘述。

为了进一步验证本发明的有效性,以Windows 10(Intel(R)Core(TM)i7-6700HQ,2.60GHz,RAM 16GB)和MATLAB 2020a为实验平台对本发明进行有效性测试。图5为仿真实验过程中所使用的到的明文图像:5(a)Lena,5(b)Pepper,5(c)Cameraman;图6为在取压缩比为0.5的前提下,图5中3幅明文图像对应的密文图像:6(a)Lena的密文图像,6(b)Pepper的密文图像,6(c)Cameraman的密文图像;图7为图6中3幅密文图像对应的解密图像:7(a)Lena的解密图像,7(b)Pepper的解密图像,7(c)Cameraman的解密图像;图8为图5、6、7中各子图对应的灰度直方图:a(1)为Lena的明文、a(2)为Lena的密文、a(3)为Lena的解密图像的灰度直方图,b(1)为Pepper的明文、b(2)为Pepper加密前、加密后以及解码后的密文、b(3)为Pepper的密图像的灰度直方图,c(1)为Cameraman的明文、c(2)为Cameraman的密文、c(3)为Cameraman的解密图像的灰度直方图;图9为图5、6、7中各子图对应的相关性图:a(1)、a(2)、a(3)为Lena加密前、加密后以及解码后的明文、b(1)、b(2)、b(3)为Lena加密前、加密后以及解码后的密文、c(1)、c(2)、c(3)为Lena加密前、加密后以及解码后的解密图像的相关性图,d(1)、d(2)、d(3)为Pepper加密前、加密后以及解码后的明文、e(1)、e(2)、e(3)为Pepper加密前、加密后以及解码后的密文、f(1)、f(2)、f(3)为Pepper加密前、加密后以及解码后的解密图像的相关性图,g(1)、g(2)、g(3)为Cameraman加密前、加密后以及解码后的明文、h(1)、h(2)、h(3)为Cameraman加密前、加密后以及解码后的密文、i(1)、i(2)、i(3)为Cameraman加密前、加密后以及解码后的解密图像的相关性图。结合图6-图9中的结果可以认为,通过结合高维本发明能够实现对输入的明文图像的压缩以及加密,它有效地扰乱了明文图像的像素分布以及相邻像素点之间的相关性等信息。同时,本发明在解密的过程中也能够实现对原明文图像信息的重构。综上,根据上述仿真实验的结果,可以证明本发明具备良好的压缩加密效果。

20页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种AES&SM4可重构掩码S盒硬件电路

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!