基于新型超混沌系统和DNA编码的图像加密算法

文档序号:38332884发布日期:2024-06-19 11:47阅读:8来源:国知局
基于新型超混沌系统和DNA编码的图像加密算法

本发明属于dna编码图像加密,具体为基于新型超混沌系统和dna编码的图像加密算法。


背景技术:

1、由于信息时代的到来和计算机技术的快速发展,网络社交已经成为人们日常生活中不可或缺的部分。这使得视频、图像和声音等媒体越来越多的在社交网络上共享。由于数字图像可以包含个人隐私和机密信息,未经授权的访问和滥用这些信息已成为了一个严峻的挑战。图像加密是提供安全性和确保图像信息机密性的最重要方法之一。经典的加密算法有如用于文本信息的数据加密标准(des)、高级加密标准(aes)等。

2、但是由于图像具有信息量大、冗余度高和相邻像素之间相关性高等特点,这些方法不适用于图像加密。


技术实现思路

1、本发明的目的在于:为了解决上述提出的问题,提供基于新型超混沌系统和dna编码的图像加密算法。

2、本发明采用的技术方案如下:基于新型超混沌系统和dna编码的图像加密算法,所述图像加密方法包括以下步骤:

3、s1:先计算出原始图像r、g、b三通道的信息熵he_r、he_g、he_b以及过渡初值x0、y0、z0、w0。

4、

5、其中,ai、bi、ci表示像素值,p(ai)、p(bi)、p(ci)表示像素值ai、bi、ci出现的概率;

6、s2:将is作为sha-256哈希函数的初值,利用其生成64位十六进制数d,再将d分为32组,即d=d1d2…d32,取出下标为奇数的小组,即d=d1d3…d29d31,每组分别有两个十六进制数,最后将每组十六进制数di转换为对应的十进制数di(i=1,2…,16)

7、s3:更新cubic混沌映射的初始值,公式如下:

8、

9、其中,sum(i1(:))、sum(i2(:))、sum(i3(:))分别表示待加密图像r、g、b三通道各通道的数据之和。

10、更新新型超lorenz混沌系统的初始值,公式如下:

11、

12、其中,表示二进制按位异或运算

13、s4:之后进行加密计算,假设彩色明文图像为i,其大小为m×n。

14、将彩色图像i分为r、g、b三个通道且均为二维矩阵,记为i1、i2、i3,公式如下:

15、

16、s5:根据式(9)设定cubic映射的初值x0’和参数,连续迭代cubic映射得到长度为m×n+800的一维序列{pi}(i=1,2,…,m×n+800),为了使序列有更好的随机性,舍弃前800项元素得到子序{pi}(i=801,802,…,m×n+800)

17、s6:通过式(13)使得序列中的所有元素都在[0,255]内,并将序列转化为大小为m×n的随机矩阵r。

18、pi=mod(ceil(pi×103),256)   (13)

19、其中,ceil(x)表示不小于x的最小整数。

20、s7:对矩阵i1、i2、i3和随机矩阵r均匀分块,每个块的大小均设为t×t

21、s8:根据初值生成方案设置新超lorenz混沌系统的初值和根据1.3.1节设置系统参数,通过使用四阶龙格-库塔算法对超lorenz混沌系统进行求解,得到四个混沌序列{xi}、{yi}、{zi}和{wi}(i=1,2,…,m/t+n/t)

22、s9:矩阵i1、i2、i3和随机矩阵r各子块的dna编码方式由{xi}、{yi}控制。以随机矩阵r为例,编码方式的选择过程如下:首先利用公式(14)对{yi}中的所有元素进行变换,即

23、yi=mod(floor(yi×104),8)+1   (14)

24、其中,floor(y)表示不超过y的最大整数

25、s10:按照从左到右,从上到下的顺序,即第i个子块的编码方式的第yi种方式决定。将子块中的所有像素点的值转化成二进制数,并按第yi种方式进行编码

26、s11:矩阵i1、i2、i3和随机矩阵r之间的dna运算由{zi}决定。运算方式的选择过程如下:首先利用公式(15)对{zi}中的所有元素进行变换,即

27、zi=mod(floor(zi×104),3)   (15)

28、s12:dna解码方式由{wi}决定,将解码后的三个通道的矩阵合并成一个矩阵,即可得到加密图像。

29、在一优选的实施方式中,所述步骤s1中,过渡初值x0,y0,z0,w0生成方案为:将i1表示为8个比特面的组合{i1i2i3i5i6i7i8},对比特面两两组合得到q1={i1i2},q2={i3i4},q3={i5i6},q4={i7i8}这4个子平面,根据下面公式得到过渡初值x0,y0,z0,w0。

30、

31、其中,sum(qi(:))(i=1,2,3,4)表示待加密图像r通道的所有位置的数据总和。

32、根据下式计算得到值is。

33、

34、在一优选的实施方式中,所述步骤s4中,为了增加算法的适用性,填充图像使其大小满足式(12)。填充的像素点设灰度值为0。

35、

36、其中,mod(x,y)表示x对y取余。

37、在一优选的实施方式中,所述步骤s11中,当zi=0时,则矩阵矩阵i1的第i个子块和随机矩阵r的第i个子块内对应的像素编码进行加运算;当zi=1时,则进行减运算;当zi=2时,则进行异或运算。

38、在一优选的实施方式中,所述步骤s12中,解密算法的具体步骤如下:假设加密图像为i,其大小为m×n。

39、步骤1:按照公式(11)将加密图像i分为r、g、b三个通道且均为二维矩阵,记为i1、i2、i3。

40、步骤2:获得一个cubic混沌映射序列{pi},设置μ=2.595,得到初值x0’为密钥,与加密算法采用参数值一致,并将{pi}转化成一个二维矩阵r。

41、步骤3:利用matlab内置的龙格-库塔函数ode45计算超lorenz混沌系统,得到四个长度均为(m×n)/t2的序列{xi}、{yi}、{zi}和{wi},{x0}、{y0}、{z0}和{w0}为密钥,需要与初始值一致。

42、步骤4:对矩阵进行dna编码。由于加密时图像最后是由wi决定的dna解码方式,因此这里同样需要采用wi决定密文图像的dna编码方式。步骤(2)生成的矩阵r则和加密时保持一致,采用yi决定其dna编码方式。

43、步骤5:分块进行dna逆运算,运算法则由zi决定。但与加密不同的是,若加密时采用加法运算,这里就要采用减法运算,反之亦然。

44、步骤6:解除子块间的关联。必须要从最后一个子块向前开始运算,解密时与前一子块的dna运算法则由zi序列决定,同时要注意加减法的互相调换。

45、步骤7:对运算后的三个二维矩阵进行dna解码,采用xi决定其dna解码规则。

46、步骤8:去除加密时为加强算法普适性补上的0像素。将去除零后的三个矩阵合并为一个三维矩阵,即得到解密后的彩色数字图像。

47、综上所述,由于采用了上述技术方案,本发明的有益效果是:

48、本发明中,提出了一个新型四维超lorenz混沌系统,并且将其与cubic混沌系统和dna编码结合应用到彩色图像加密中,利用超混沌序列动态地对明文图像和随机矩阵的子块进行dna编码、运算和解码,获得最终加密图像。除此之外,本发明还提出了一种明文关更新初值方案,利用sha-256哈希函数、明文图像的信息熵和混沌系统生成伪随机序列和密钥流,使得本发明算法可抵抗已知明文攻击和选择明文攻击。实验仿真与分析表明,通过本发明加密算法得到的密文图像像素分布均匀,相邻像素间相关性接近于0,并且有较强的的抵御多种攻击的能力。除此之外,该算法具有较大的密钥空间和良好的密钥敏感性,运用到实际通信中较高的安全性、保密性以及实用价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1