一种基于混沌序列和DNA编码的图像加密方法转让专利
申请号 : CN202110584919.X
文献号 : CN113225449B
文献日 : 2022-02-08
发明人 : 张勋才 , 李宝珍 , 马贺 , 牛莹 , 张曲遥 , 杨飞飞 , 狄佳丽 , 张焕龙 , 王延峰 , 张建伟 , 王时达
申请人 : 郑州轻工业大学
摘要 :
权利要求 :
1.一种基于混沌序列和DNA编码的图像加密方法,其特征在于,其步骤如下:步骤一:将灰度图像P转换成大小为M*N的图像矩阵P1,计算图像矩阵P1的哈希值并更新Bernoulli移位映射和Lorenz混沌系统的初始值;
步骤二:将图像矩阵P1转换成一维序列P2,根据Bernoulli移位映射的控制参数和更新后的初始值生成长度M*N的序列LW,序列LW作为Knuth‑Durstenfeld洗牌法的随机值,利用Knuth‑Durstenfeld洗牌法对一维序列P2进行置乱,并恢复成矩阵形式,得到图像矩阵P3;
步骤三:利用更新后的初始值对Lorenz混沌系统进行迭代,得到3个长度为4*M*N的混沌序列LX、混沌序列LY和混沌序列LZ;
步骤四:从混沌序列LX中分别截取两个序列,作为循环移位的位数对图像矩阵P3进行比特级置乱,得到图像矩阵P4;
步骤五:对混沌序列LY和LZ进行预处理分别得到序列LY'和序列LZ';序列LY'中元素用于DNA编码规则选择,根据DNA编码技术将图像矩阵P4编码为DNA序列P5;
步骤六:利用Mealy状态机将DNA序列P5作为输入,根据状态转移表和输出表进行状态转换,得到新的DNA序列P6;
步骤七:序列LZ'中元素用于DNA编码规则选择,根据DNA编码技术将DNA序列P6进行DNA解码,并恢复成矩阵形式,得到密文图像P7。
2.根据权利要求1所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述步骤一中计算图像矩阵P1的哈希值的方法为SHA‑256算法;更新Bernoulli移位映射和Lorenz混沌系统的初始值的方法为:使用SHA‑256算法对图像矩阵P1进行加密运算得到256位的二进制值即哈希值H,将哈希值H按字节划分为32个字节并表示为:h1,h2,…,h32,计算得到混沌系统的初始值为:其中, 为异或运算,∧为与运算,mod(,)为取模运算;w′0为Bernoulli移位映射的初值,x′0、y′0、z′0为Lorenz混沌系统的初值,w0为更新后的Bernoulli移位映射的初始值,x0、y0和z0为Lorenz混沌系统更新后的初始值。
3.根据权利要求1或2所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述Bernoulli移位映射为:
其中,λ为控制参数,且λ∈(0,0.5),第i个元素wi∈(0,1);所述Lorenz混沌系统的动力学方程为:
式中,α、β、γ均为系统参数, 分别为状态变量x、y、z的导数,在保持系统参数α和γ不变的情况下,系统参数β≥24.74时,Lorenz混沌系统进入混沌态;
利用更新后的初始值对Lorenz混沌系统进行迭代,舍弃一定次数的迭代值去除暂态效应,产生3个伪随机序列即是混沌序列LX、混沌序列LY和混沌序列LZ。
4.根据权利要求1所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述步骤二中序列LW作为Knuth‑Durstenfeld洗牌法的随机值前对序列LW进行预处理为:
14
lw′i=mod(floor(10 ×lwi),i)+1;
其中,lwi为序列LW的第i个元素,lw′i为序列LW预处理后的第i个元素,i=1,2,...,M*N,floor(,)为向下取整函数,mod(,)为取模运算;
所述步骤四中从混沌序列LX中分别截取长度为2*M和4*N个元素,并分别记为序列L1X和序列L2X进行预处理,对序列L1X和序列L2X进行预处理的方法是:其中,l1xi1为序列L1X的第i1个元素,l2xj为序列L2X的第j个元素,l1x′i1为预处理后序列L1X′的第i1个元素,l2x′j为预处理后序列L2X′的第j个元素;i1=1,2,...,2*M,j=1,
2,...,4*N;
所述步骤五对混沌序列LY和LZ进行预处理的方法是将序列LY和LZ的值转化为1~8之间的整数,即:
其中,lyi2、lzi2、ly′i2、lz′i2分别是混沌序列LY、混沌序列LZ、序列LY′和序列LZ′的第i2个元素,i2=1,2,...,4*M*N。
5.根据权利要求4所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述利用Knuth‑Durstenfeld洗牌法对一维序列P2进行置乱的方法为:将序列LW预处理后的序列LW′的第i个元素lw′i作为随机索引值,将一维序列P2的第lw′i个元素和(M*N‑i+1)个元素进行交换。
6.根据权利要求4或5所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述步骤四对图像矩阵P3进行比特级置乱的方法为是:对图像矩阵P3的八个位平面重新排序,并将图像矩阵P3的每个像素转换为二进制形式;然后,针对每一行,按顺序取每个元素的高四位和低四位,其中高四位组成一行,低四位组成一行,每行为4*N个bit位,这样大小为M*N的图像矩阵P3被转换成大小为(2*M)*(4*N)的矩阵P3';最后,序列L1X'和L2X'的元素分别作为行和列循环移位的位置数,对转换后的矩阵P3'的每一行和列分别进行循环移动,实现位置置乱;移位后重新恢复成大小为M*N的图像矩阵P4。
7.根据权利要求6所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述DNA编码技术按照A→00、C→01、G→10、T→11进行对应编码,共有8种编码规则满足互补配对规则,即:
编码规则 1 2 3 4 5 6 7 8
00 A A C G C G T T
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A每个像素的灰度值用8位二进制数表示,采用DNA编码需要编码4个碱基序列。
8.根据权利要求7所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述根据DNA编码技术将图像矩阵P4编码为DNA序列P5的方法为:将图像进行DNA编码过程中,对于图像矩阵P4中的每个像素,用序列LY'中对应位置的元素值作为DNA编码规则的选择,将图像矩阵P4的像素序列按从左到右,从上到下的顺序编码成DNA序列P5;
所述根据DNA编码技术将DNA序列P6进行DNA解码的方法为:用序列LZ'对应位置的元素值作为DNA编码规则的选择进行DNA解码,将DNA序列P6解码成像素序列,将像素序列恢复成矩阵形式即为密文图像P7。
9.根据权利要求7所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述Mealy状态机是一个6元组(S,S0,Σ,Λ,T,G),其中,S是状态的有限集合,S0∈S是初始状态,Σ是有限输入字母表的集合,Λ是有限输出字母表集合,T是状态转换函数:S×Σ→S,G是输出函数:S×Σ→Λ。
10.根据权利要求9所述的基于混沌序列和DNA编码的图像加密方法,其特征在于,所述步骤六中的Mealy状态机为:根据DNA分子碱基个数,Mealy状态机的状态集合S为{S0,S1,S2,S3},开始状态为S0,有限输入字母表的集合Σ为{A,C,G,T},有限输出字母表的集合Λ为{A,C,G,T},输出表为:
状态转移表为:
输入A 输入C 输入G 输入TS0 S1 S0 S3 S2
S1 S2 S1 S0 S3
S2 S3 S2 S1 S0
S3 S0 S3 S2 S1
Mealy状态机读取DNA序列P5中的每个DNA碱基,通过状态转换输出得到一个新的DNA序列P6。
说明书 :
一种基于混沌序列和DNA编码的图像加密方法
技术领域
背景技术
防机密图等。各个领域中数字图像的使用都面临着严峻的安全威胁。图像加密是保护图像
机密性的重要手段。为解决图像信息在公共信道传播过程中隐私内容泄漏问题,现阶段存
在许多成熟的分组加密方案,例如RSA、AES、国家密码算法SM4等,这些加密方案已经被广泛
应用于文本加密并取得了良好的加密效果。由于数字图像具备二维性、冗余性,且相邻像素
之间具有极高的相关性,因此传统的文本加密方案并不完全适用于数字图像。
应用到图像加密中。许多学者提出了基于Logistic映射的混沌加密算法和基于PWLCM(分段
线性混沌)映射的混沌加密算法,该类混沌加密算法虽然具有结构简单、产生的混沌序列短
等优点,但是密钥空间低,很容易受到外部因素破坏。因此,使用低维混沌系统实现的加密
算法是不够安全的,目前已经有很多攻击方法破解了这类混沌加密方案。
推动了数字图像在加密方面的发展。利用混沌系统和DNA计算的优良特性,国内外学者提出
了许多图像加密方案,但是多数方案中DNA编码规则对于图像加密系统中的所有像素都是
固定的,这样不同的普通图像可能具有相同的DNA编码规则,其编码规则和运算规则的单一
性、有限性使得加密算法容易受到统计攻击。
发明内容
编码规则提高加密算法的复杂性,使图像加密算法具备更高的伪随机性。
利用Knuth‑Durstenfeld洗牌法对一维序列P2进行置乱,并恢复成矩阵形式,得到图像矩阵
P3;
值,x0、y0和z0为Lorenz混沌系统更新后的初始值。
N‑i+1)个元素进行交换。
每个元素的高四位和低四位,其中高四位组成一行,低四位组成一行,每行为4*N个bit位,
这样大小为M*N的图像矩阵P3被转换成大小为(2*M)*(4*N)的矩阵P3';最后,序列L1X'和
L2X'的元素分别作为行和列循环移位的位置数,对转换后的矩阵P3'的每一行和列分别进
行循环移动,实现位置置乱;移位后重新恢复成大小为M*N的图像矩阵P4。
00 A A C G C G T T
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A
则的选择,将图像矩阵P4的像素序列按从左到右,从上到下的顺序编码成DNA序列P5;
复成矩阵形式即为密文图像P7。
×Σ→S,G是输出函数:S×Σ→Λ构成。
的集合Λ为{A,C,G,T},输出表为:
S0 T G C A
S1 G T A C
S2 C A T G
S3 A C G T
平面所含信息的不同置乱位平面,对像素进行比特级的信息分解与循环移位,实现位级混
淆与扩散;然后,结合混沌序列,利用DNA编码规则对图像进行随机编码,并通过Mealy状态
机转换实现编码图像的扩散,最后通过DNA随机解码得到密文图像。
发明比特置乱加密不仅保留了“置乱‑替代”加密算法的优点,同时强化了密码学性能,通过
比特置乱进一步改变像素值,更好掩盖明文统计特性,增加了密码系统的安全性和实用性;
同时,将混沌序列与明文产生关联,使得中间密钥随明文自适应变化,能较为有效地抵御选
择明(密)文攻击,极大提升了明文敏感性。本发明充分利用混沌的随机性和DNA编码与
Mealy状态转换的非线性,有效消除图像相邻像素的相关性,提高了密文图像的安全性。实
验结果验证了本发明的可行性和良好的加解密效果。实验结果还表明,本发明的密文分布
均匀、相邻相关性低、密钥空间大、足以抵御穷举攻击,性能分析表明,本发明不仅具有较高
的安全性,还对噪声攻击和数据丢失具有较好的鲁棒性,具有更好的应用前景。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
(d)为加密度为0.05噪声的加密图像及解密图像,(e)为(a)的解密图像,(f)为(b)的解密图
像,(g)为(c)的解密图像,(h)为(d)的解密图像。
具体实施方式
本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
次,对图像进行Bit级置换,将原始图像的8个位平进行重排,转化为二进制形式,实现循环
移位;最后,结合DNA编码技术,利用Mealy状态机进行状态转移,实现像素值扩散,具体步骤
如下:
哈希值都将完全不同。使用SHA‑256算法通过对明文图像的图像矩阵P1进行加密运算得到
256位的二进制值即哈希值H,用于产生混沌系统的初始值。将哈希值H按字节划分为32个字
节,并表示为:h1,h2,…,h32,计算得到混沌系统的初始值为:
值,x0、y0和z0为Lorenz混沌系统更新后的初始值。更新后的初始值w0、x0、y0和z0与明文关
联,具有随机性优势,能有效抵抗统计明文共计和已知明文攻击。
和扩散,使得中间密钥随明文自适应变化,能较为有效抵御选择明(密)文攻击。
预处理,作为Knuth‑Durstenfeld洗牌法的随机值,利用Knuth‑Durstenfeld洗牌法对图像
进行置乱,并恢复成矩阵形式,得到图像矩阵P3。
...M*N。
值,将密钥与明文图像建立联系。目前,很多混沌加密算法没有把明文和密钥关系考虑进
去,多张不同的图像采用相同的密钥加密,密码分析者可选择密文攻击或明文攻击。
性更好。两个混沌系统的初值敏感性能够有效地提高整个加密算法的安全性,初始值较大
的取值范围能够提供足够大的密钥空间。
要的随机值,序列LW按公式(3)进行预处理:
置乱。这些置乱方法极大促进了图像加密技术发展,但后来的研究又暴露了一些问题,如
Arnold变换具有明显的周期性,一些置乱方法存在全局置乱性差的缺点。
率的,该算法是无偏的、高效的,算法的时间正比于乱序的数组。给定一个从1到M*N的有序
序列,其核心思想是从1到M*N之间随机取出一个数和最后一个数交换,然后从1到M*N‑1之
间随机取出一个数和倒数第二个数交换,以此类推。由于每次的随机值不同,所以得到的置
乱序列也不同。当然,如果将算法直接应用于图像像素置乱,由于产生的随机数没有保存,
密文图像将无法正确解密。为此,本发明结合混沌映射的优势,利用混沌映射产生的伪随机
序列来替换每次生成的随机值,然后对算法中每个交换的元素进行有效控制。
24.74时,Lorenz混沌系统进入混沌态。以Lorenz混沌映射生成的混沌序列,系统结构较低
维复杂,可产生单变量或多变量组合的混沌序列,使得混沌序列的设计非常灵活。
序列数值类型与图像的数值类型不相符,不能直接用于加密系统,需要对混沌序列进行预
处理。由于得到的伪随机序列存在局部连续递增或递减问题,所以要对伪随机序列进行预
处理。
比特级置乱,得到图像矩阵P4。
平面,高四位位平面含有明文图像中大部分信息,低四位位平面占明文信息量较少。很多加
密算法没考虑8个位平面所占的信息量的不同,对8个位平面进行了同样的操作,使得置乱
效果不明显。本发明首先对图像矩阵P3的八个位平面重新排序(比如将原位平面的顺序P1,
P2,P3,P4,P5,P6,P7,P8重新排列成P1,P3,P5,P7,P2,P4,P6,P8);其次,将每个像素转换为
二进制形式;然后,针对每一行,按顺序取每个元素的高四位和低四位,其中高四位组成一
行,低四位组成一行,每行为4*N个bit位,这样大小为M*N的图像矩阵被转换成大小为(2*
M)*(4*N)的矩阵P3'。最后,序列L1X'和L2X'的元素分别作为行和列循环移位的位数,对转
换后的矩阵P3'的行和列分别进行循环移动一定位数,实现位置置乱;移位后,重新恢复成
大小为M*N的矩阵,即图像矩阵P4。
还具有扩散效果。
三个氢键配对。这一天然的四进制组合,正好与半导体通断所形成的二进制类似。因此,运
用碱基的排列组合可以进行信息的存储和计算。如果按照A→00、C→01、G→10、T→11进行
对应编码,则互补数字配对 及 与碱基对的互补配对 及 吻合,这
样共有8种编码组合满足互补配对规则,如表1所示。
00 A A C G C G T T
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A
的00,若使用表1中的规则1对其进行编码时,就会产生很多的A,明文的统计特性并没有被
掩盖,泄露了明文的比特信息分布。本发明将对像素进行随机的编码和解码。令混沌序列LY
和LZ的值分别决定图像的编码规则和解码规则,因为DNA编码一共有8种编码方式,因此将
序列LY和LZ的值按式(6)转化为1~8之间的整数,记处理后的序列为序列LY'和LZ':
编码成DNA序列。同理,对于Mealy状态机输出的DNA序列,用序列LZ'对应位置的元素值作为
DNA解码规则的选择,将DNA序列编码成像素序列。
机,它的状态图的每个转移边包括输入和输出,与输出只依赖于机器当前状态的摩尔有限
状态机不同,它的输出与当前状态和输入都有关。
Σ→S,G是输出函数:S×Σ→Λ构成。
的字符串(一系列输出)。然而,尽管可以使用Mealy状态机来描述Enigma(恩尼格玛密码
机),但状态图太复杂,无法提供设计复杂加密机器的可行方法。为此,本发明将结合DNA编
码技术,给出一种四个字母表的状态转换模型,对图像像素进行扩散。
出表如表2所示,状态转移表如表3所示。
S1 S2 S1 S0 S3
S2 S3 S2 S1 S0
S3 S0 S3 S2 S1
基序列;然后再根据表中的DNA编码方案,结合序列LZ’进行DNA解码,并恢复成像素值,进而
恢复成大小为M*N的矩阵形式。这样通过将图像序列转换为DNA编码序列,输入Mealy状态机
进行状态转换并输出新的DNA序列,进一步结合混沌序列进行DNA解码,实现了像素的扩散。
置乱;利用DNA编码规则和操作规则进行操作,进一步加强破坏相邻像素间的相关性,从而
达到混淆原图像的目的;结合Lorenz混沌系统生成的混沌序列对图像做进一步的扩散,来
增加图像的密钥空间,保证安全性。
果分别如4(c)所示。从实验结果可知,密文图像能够完全隐藏原始图像所包含的直观信息,
无法从中获取任何与明文图像相关的数据,可以清晰地说明该算法加密效果良好。
‑15 75
={w0、λ、x0、y0、z0},64位计算机的运算精度为10 ,则密钥空间的大小至少为10 。
变。例如,仅对密钥w0做微小改变w01=w0+10 ,其余密钥λ、x0、y0、z0不作改变。利用改动后
的密钥对图4(a)所示的Elaine密文图像进行解密,得到的解密图像如图5(a)所示。类似地,
依次改变密钥x0、y0、z0后,利用本发明所得到的解密图像分别如图5(b)~(d)所示,由图5可
知,当对密钥做微小改动后,利用本发明无法恢复出原始明文图像。
图像的直方图类似噪声分布,接近于理想均匀分布,与明文图像的直方图有着显著区别,能
够很好地隐藏明文的灰度值统计信息,具备很强的抵抗统计攻击的能力。
信息熵值计算方法如公式下:
可能性越小。Lena、Baboon、Boat、Peppers和Elaine明文图像和密文图像的信息熵如表4所
示,密文图像的信息熵接近于8,进一步说明了本发明的有效性。
Baboon 7.0092 7.9970
Boat 7.1572 7.9973
Elaine 7.4874 7.9971
Peppers 7.5797 7.9974
相关系数是衡量相邻像素相关性的一个显著指标,相关系数越小,像素值间的相关性越差,
随机性更强;相关系数趋近于1,像素间的相关性就越强。相关性计算公式如下:
相关系数如表5所示。由表5可知,明文图像在三个方向具有较强的线性相关性,而通过本发
明加密后,相关性已经得到很好的抑制。故加密前明文图像相邻的像素点相关性较强,而加
密后密文图像相邻的像素点间相关性很弱,这表明本发明遮掩了明文图像的全部特征,有
良好的均匀分布特性。
像,则该算法具有更强的抵抗差分攻击的能力,衡量密文图像差别的指标常用的是像素数
变化率(NPCR)和统一平均变化强度(UACI)。NPCR和UACI的计算公式如(10)‑(11)所示。
小。对于两幅随机的灰度图像,由于位置的任意性,其理想的NPCR值为255/256=
99.6094%,理想的UACI值为33.4635%。
之间存在着很强的关联性,即使原始图像发生1bit的微小改变,密文图像便会发生彻底的
变化。
Baboon 99.6185 33.3575
Boat 99.6475 33.3717
Elaine 99.635 33.6094
Pepper 99.6140 33.5051
利用本发明分别对受攻击后的密文图像进行解密,解密结果分别如图6(e)~(h)所示。当密
文图像出现部分数据丢失时,解密后的图像仍可看出明文大致轮廓;当密文图像受到椒盐
噪声噪声攻击后,解密图像依然保留了大量明文特征。即密文图像遭受噪声和剪切攻击后,
利用本发明仍能恢复出大部分明文信息。可见,解密图像依然足够清晰,保留了明文中的大
量信息,这表明本发明能够有效抵御数据丢失攻击、噪声攻击。
的密钥流结合洗牌方法对图像进行高效置乱;其次根据混沌序列生成循环移位数对矩阵的
行、列依次做循环移位操作,实现位级置乱与扩散,并根据混沌系统序列计算出相应的DNA
编码规则,保证的图像的每一像素点的编码具有随机性;最后通过结合状态转移规则对图
像进行扩散,消除加密系统中存在的线性关系。本发明通过两次使用DNA的随机编码规则提
高加密算法的复杂性,使图像加密算法具备更高的伪随机性。为抵御差分攻击、选择明文攻
击等,本发明建立明文图像与密文图像紧密的关联,以此提高加密算法对明文的敏感性,当
攻击者对明文图像进行微小扰动时,密钥随之更新,从而扩散编码图像的编码也将随之改
变,从而导致密文图像的混淆与扩散结果明显不同。