法律状态公告日
法律状态信息
法律状态
2020-03-20
授权
授权
2019-09-13
实质审查的生效 IPC(主分类):H04L9/00 申请日:20190606
实质审查的生效
2019-08-20
公开
公开
技术领域
本发明涉及一种信息安全技术和数字图像处理领域,特别是图像的加密方法。
背景技术
数字图像具有数据容量大、相邻像素间相关性强、高冗余度的本质特征,这使得传统的数据加密方法难以奏效。尽管大量的图像加密算法被提出,但还面临着一些新问题如:快速实时加密系统、产生一次性密钥的安全机制、具有较强的抵御各种攻击的能力等。混叠与DNA结合的图像加密方法是近年来颇受关注的热点方向之一。DNA运算涉及DNA混淆和扩散。DNA混淆仅仅改变每个DNA单元的值,而不改变其位置,仅采用DNA混淆无法保障其加密系统的安全性。因此,DNA混淆往往是与DNA扩散组合使用。由于改变位置的DNA扩散会降低加密系统的鲁棒性;此外,传统的DNA加密方法中DNA的编码是静态的,而针对静态DNA加密方法的简单改进依然无法满足高安全性的要求。因此,基于DNA的图像加密方法面临着如何同时满足高安全性和鲁棒性的技术挑战。
发明内容
本发明要解决的技术问题是提供一种基于动态DNA和4D混沌的彩色图像加密方法。
解决上述技术问题采用如下技术措施:一种基于动态DNA和4D混沌的彩色图像加密方法按如下步骤进行:
(1)加密:
(i)初始秘钥和混合矩阵的生成:
(a) 待加密的图像表示为M,采用哈希算法产生原始秘钥Ko,表示为Ko=Ha(M),其中Ha()为哈希函数;将得到的原始秘钥Ko与加盐秘钥Ks进行首尾连接式的结合,并再次使用哈希算法得到初始秘钥Ki,表示为Ki=Ha(Ko||Ks);
(b) 使用初始秘钥Ki产生4D混沌系统的四个初始参数x0,>0,>0,>0,>c用于动态DNA编码,三种混沌矩阵Xc,>c,>c用于DNA混淆运算,四种混沌矩阵Xd,>d,>d,>d用于动态DNA扩散运算;
(c)将得到八种混沌矩阵Xc,>c,>c,>c,>d,>d,>d,>d进行排序,根据排序和得到的索引,可以得到两组索引矩阵Xci,>ci,>ci,>ci和Rd,>d,>d,>di;其中的Xci,>ci,>ci经过对4取模运算,得到矩阵X'ci,>ci,>ci,>ci经过对8取模运算,得到动态DNA编码的规则矩阵De,其中的Udi经过对3取模运算,得到动态DNA扩散运算的规则矩阵Dd;然后,其中的X'ci,>ci,>ci经过编码得到DNA混淆运算的矩阵Rc,>c,>c。
(ii)动态DNA编码:
(a) 将大小为m×n的待加密彩色图像分解为红绿蓝即R、G、B三个分量;
(b) 将R、G、B三个分量的每一个像素转化为8位的二进制数,表示为RB,>B,>B,其大小皆为m×8n;
(c) 结合动态编码的规则矩阵De,将RB,>B,>B动态地编码为RD,>D,>D。
(iii)动态DNA混淆与扩散运算:
(a) 使用混沌矩阵Rc,>c,>c对RD,>D,>D进行DNA混淆运算;
(b) 使用Dd来随机地决定哪些行分别用Rd,>d,>d规则进行动态DNA扩散运算;
(c) 将动态DNA扩散运算的结果,采用动态DNA编码的逆过程作为解码规则,还原为8位二进制形式;然后将其转化为8位十进制的形式,三个分量合并即得到密文图像。
(2)解密:由于该加密方法是完全对称和可逆的,解密过程是加密方法的逆过程。
本发明的有益效果在于:(1) 采用动态DNA编码,使密文的直方图分布更加均匀,能有效抵御统计分析攻击;(2)采用动态DNA扩散运算,提高加密方法安全性的同时增加其鲁棒性; (3)混沌初始值及产生的混沌矩阵与明文相关,能抵御最强的选择明文攻击,加密系统的安全性高。
附图的说明
附图1为本发明的加密流程图。
附图2为动态DNA混淆和扩散运算的矩阵产生过程示意图。
附图3为初始参数产生过程示意图。
附图4为DNA的编码规则。
附图5为DNA的XOR混淆运算规则。
附图6为加盐秘钥和4D混沌的初始参数、控制参数。
附图7为加解密结果,(a)-(d)为待加密图;(e)-(h)为加密的密文;(i)-(l)为解密图。
附图8为2个测试图像的动态和静态DNA加密方法的密文直方图。
附图9为2个测试图像的3种裁剪攻击测试结果。
注:上述附图只是示意性的,并没有按比例绘制。
具体实施方式
下面详细说明本发明一种基于动态DNA和4D混沌的彩色图像加密方法的一个典型实施例,对本发明进行进一步的具体描述。有必要在此指出的是,以下实施例只用于本发明做进一步的说明,不能理解为对本发明保护范围的限制,该领域技术熟练人员根据上述本发明内容对本发明做出一些非本质的改进和调整,仍属于本发明的保护范围。
本发明所述方法的具体实施方式如下:
(1)图像的加密过程(如图1所示)分如下几个步骤:
(i)初始秘钥和混合矩阵的生成:
(a) 待加密的图像表示为M,采用哈希算法产生原始秘钥Ko,表示为Ko=Ha(M),其中Ha()为哈希函数;将得到的原始秘钥Ko与加盐秘钥Ks进行首尾连接式的结合,并再次使用哈希算法得到初始秘钥Ki,表示为Ki=Ha(Ko||Ks);
(b) 使用初始秘钥Ki产生4D混沌系统的四个初始参数x0,>0,>0,>0,>c用于动态DNA编码,三种混沌矩阵Xc,>c,>c用于DNA混淆运算,四种混沌矩阵Xd,>d,>d,>d用于动态DNA扩散运算;
(c)将得到八种混沌矩阵Xc,>c,>c,>c,>d,>d,>d,>d进行排序,根据排序和得到的索引,可以得到两组索引矩阵Xci,>ci,>ci,>ci和Rd,>d,>d,>di;其中的Xci,>ci,>ci经过对4取模运算,得到矩阵X'ci,>ci,>ci,>ci经过对8取模运算,得到动态DNA编码的规则矩阵De,其中的Udi经过对3取模运算,得到动态DNA扩散运算的规则矩阵Dd;然后,其中的X'ci,>ci,>ci经过编码得到DNA混淆运算的矩阵Rc,>c,>c,该过程如图2所示。
(ii)动态DNA编码:
(a) 将大小为m×n的待加密彩色图像分解为红绿蓝即R、G、B三个分量;
(b) 将R、G、B三个分量的每一个像素转化为8位的二进制数,表示为RB,>B,>B,其大小皆为m×8n;
(c) 结合动态编码的规则矩阵De,将RB,>B,>B动态地编码为RD,>D,>D。
(iii)动态DNA混淆与扩散运算:
(a) 使用混沌矩阵Rc,>c,>c对RD,>D,>D进行DNA混淆运算;
(b) 使用Dd来随机地决定哪些行分别用Rd,>d,>d规则进行动态DNA扩散运算;
(c) 将动态DNA扩散运算的结果,采用动态DNA编码的逆过程作为解码规则,还原为8位二进制形式;然后将其转化为8位十进制的形式,三个分量合并即得到密文图像。
(2)解密:由于该加密方法是完全对称和可逆的,解密过程是加密方法的逆过程。
下面结合实施例和附图对本发明的内容进行进一步的解释:
在初始秘钥的生成过程中,哈希算法具体为SHA-512的哈希算法;初始秘钥Ki产生四个初始参数x0,>0,>0,>0的具体方法如图3所示,先将512比特分为8比特的64个块,再将64个块分为4块的16个组,块和组分别记为b和g,表示为:gj={b4j-3,b4j-2,b4j-1,b4j},其中1≤j≤16,接着,随机种子s的产生方法为sj=∏(b4j-m/128),>0=s1+s2+s3+s4,>0=s5+s6+s7+s8,>0=s9+s10+s11+s12,>0=s12+s14+s15+s16。
在动态DNA编码过程中,DNA的编码规则如图4所示,结合动态编码的规则矩阵,便能实现动态DNA编码。
在DNA混淆运算中,采用XOR的混淆运算,DNA的XOR规则如图5所示;Dd决定Rd,>d,Bd规则的具体方式为:if>d[i]=0,>d; if>d[i]=1, then>d; if>d[i]=2,>d,>
加盐秘钥和4D混沌的初始参数、控制参数如图6所示。
该方法实施的加解密结果如图7所示,测试图像的大小为256×256。图7(a)-(d)表示待加密4种图像,对应的加密密文如图7(e)-(h)所示,只有在所有秘钥都正确的情况下,才能够得到对应的图7(i)-(l)所示的正确解密结果。DNA加密方法的直方图结果如图8所示,图8(b)和8(b)分别表示图7(a)和7(b)所示的测试图像密文的直方图,图中左边的4个柱状图表示动态DNA方法的结果,图中右边的4个柱状图表示静态DNA方法的结果,从对比中可以看出动态DNA加密方法具有较高的抵御统计分析攻击的能力。图9是裁剪攻击的测试,结果表明动态DNA加密方法具有较高的抗裁剪攻击的能力,具有较高的鲁棒性;因此,该方法解决了传统静态DNA加密方法的安全性和鲁棒性问题。
机译: 基于DNA链交换模拟电路的彩色图像加密方法
机译: 基于DNA链位移模拟电路的彩色图像加密方法
机译: 一种基于动态直方图的粗糙模糊C均值的彩色图像分割方法