CN111105339B - 一种基于多维混沌***和约瑟夫置乱的图像加密方法 - Google Patents

一种基于多维混沌***和约瑟夫置乱的图像加密方法 Download PDF

Info

Publication number
CN111105339B
CN111105339B CN201911340562.XA CN201911340562A CN111105339B CN 111105339 B CN111105339 B CN 111105339B CN 201911340562 A CN201911340562 A CN 201911340562A CN 111105339 B CN111105339 B CN 111105339B
Authority
CN
China
Prior art keywords
image
sequence
matrix
scrambling
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911340562.XA
Other languages
English (en)
Other versions
CN111105339A (zh
Inventor
张勋才
丁莉芬
***
牛莹
王延峰
孙军伟
李盼龙
黄春
栗三一
王妍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN201911340562.XA priority Critical patent/CN111105339B/zh
Publication of CN111105339A publication Critical patent/CN111105339A/zh
Application granted granted Critical
Publication of CN111105339B publication Critical patent/CN111105339B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0092Payload characteristic determination in a watermarking scheme, e.g. number of bits to be embedded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

本发明提出了一种基于多维混沌***和约瑟夫置乱的图像加密方法,其步骤为:PWLCM映射和2D‑LSCM映射初始化,得到序列X、序列Y和序列Z;将原始图像按照索引均匀分成子矩阵,对子矩阵中的像素进行Gray曲线置乱并按照顺序重组,得到重组图像矩阵;取出序列X中的元素作为交叉算子,对重组图像矩阵进行比特交叉运算到图像矩阵;取出序列Y中伪随机值作为定步长约瑟夫置乱的步长值,对图像矩阵进行约瑟夫置乱运算,得到矩阵;取出序列Z中的伪随机值与矩阵中的元素像素值进行异或密文反馈,得到最终的加密图像。本发明可以有效加密图像,具有很大的密钥空间,对待加密图像和初始密钥具有很高的敏感性,在抵御各种攻击方式时均具有良好的防御能力。

Description

一种基于多维混沌***和约瑟夫置乱的图像加密方法
技术领域
本发明涉及图像加密的技术领域,尤其涉及一种基于多维混沌***和约瑟夫置乱的图像加密方法。
背景技术
在当今时代,科学技术得到了空前的高速发展,信息数据安全发挥着越来越重要的作用。如何保护信息安全已经成为众多学者不可忽视的重要课题。为了保证信息的完整性和安全性,许多加密算法和通用标准被用于保护网络信息安全,如DES、AES等,并将其应用于文本结构的数据加密中。Shannon为密码学和加密算法***奠定了坚实的基础并提出了著名的加密***理论。许多基于混沌***的加密算法应运而生。Mishra利用伪随机数发生器和非线性函数提出了一种文本加密算法,但是只能应用于纯文本加密。Babaei基于DNA计算提出了一种新的加密算法,可以实现大量数据执行和并行运算,并可以同时应用于文本加密。Singh利用椭圆曲线密码提出了一种新的加密算法,以更小的密钥长度提供了更高的安全性能,降低了高成本的映射运算。
由于图像信息具有相邻元素之间的强关联性等特征,当图像或者视频信息进行数据传输时,已有的加密算法很难满足日益增长的加密性能需求。因此需要加密性能更强的算法来对图像信息进行加密和保护。随着混沌理论的发展,越来越多的学者将目光转移至基于混沌***的加密算法。基于混沌图像的加密算法因其具有遍历性、高敏感度和伪随机等特性,更适用于图像加密。Pareek等人提出了一种使用外部密钥和逻辑混沌映射的图像加密算法,使用了八种不同类型的操作来加密图像像素;Mao等人基于经典的可逆Baker混沌映射提出了一种加密算法,在保证安全性的前提下提升了加密速度;Wu等人基于Tent混沌映射并结合矩形变换提出了一种新的图像加密算法,可以同时对图像的三个通道进行加密。
随着计算机运算能力的不断提高和互联网背景下对信息安全要求的不断提升,图像加密算法需要具有更复杂的结构、更高的敏感性且更加难以破解。Wang提出了一种可以破解MD5函数的碰撞算法,且对其他混沌***也具备较强的攻击能力。破解算法的提出和计算机硬件的更新换代对加密***的威胁越来越大,单一结构的混沌***较为容易遭受攻击破解导致信息丢失泄露。多维混沌***的参数较多,结构也更为复杂,其遍历性、敏感度等特性更为良好,因此基于多维混沌***的加密算法通常拥有较大的密钥空间和较强的安全性能。Chin-Chen提出了一个可逆的基于边缘匹配矢量量化的算法,通过将图像数据进行可逆的隐藏转换,实现了图像文件的压缩和加密。Sorina提出了一种基于数字媒体的最低有效位(LSB)隐写术加密算法,用于对数字图像信息的加密。Mohammad提出了一种新的基于量子的彩色图像加密算法,将图像信息中的各个颜色分量同时进行扩散和置乱,使三组图像数据互相影响,获得对彩色图像的优秀加密效果。Som和Dutta等人基于多混沌映射和伪随机二进制数发生器(PRBNG),提出了一种彩色图像的对称密钥加密算法,该算法具有非常大的密钥空间来提高加密***的安全性。Zhang和Wang等人基于混合线性-非线性耦合混沌映射提出了一种新的时空混沌图像加密算法,采用比特级像素排列策略,使得像素的低比特平面和更高的位平面相互置换而不需要任何额外的存储空间,大幅提高了计算速度以降低计算成本。J.S.基于线性丢番图方程(LDE)的解的排序,提出了一种快速生成大置换和扩散密钥的一轮加密方案,克服了产生伪随机序列需要大量耗时等缺陷,实现了高安全性和低计算复杂性。为了进一步复杂化加密算法的混沌特性,增强对破解攻击的防御能力,多种混沌映射耦合使用具备更好的使用前景。
发明内容
针对传统图像加密方法管理复杂、运算速度慢的技术问题,本发明提出一种基于多维混沌***和约瑟夫置乱的图像加密方法,基于多维混沌***即PWLCM映射和2D-LSCM映射产生的伪随机序列,结合Gray曲线置乱、约瑟夫置乱等加密方式,实现了对图像文件的有效加密和保护,且计算速度快,安全性强并具有很好的防御性能。
为了达到上述目的,本发明的技术方案是这样实现的:一种基于多维混沌***和约瑟夫置乱的图像加密方法,其步骤如下:
步骤一、PWLCM映射和2D-LSCM映射的混沌初始化:根据大小为M*N的原始图像P生成PWLCM映射和2D-LSCM映射的控制参数,哈希算法根据原始图像P和时间戳生成PWLCM映射和2D-LSCM映射的初始值,将2D-LSCM映射的初始值输入2D-LSCM映射得到伪随机序列X0和伪随机序列Y0,将PWLCM映射的初始值输入PWLCM映射得到伪随机序列Z0,将伪随机序列X0、Y0和Z0分别放大和取模,得到序列X、序列Y和序列Z;
步骤二、将原始图像P的矩阵按照索引均匀分成大小相同的子矩阵,分别对子矩阵中的像素进行Gray曲线置乱,将置乱后的分块矩阵按照顺序重组,得到重组图像矩阵P1
步骤三、取出步骤一中序列X中的前(M-1)*N+M*(N-1)个元素作为交叉算子,对重组图像矩阵P1中的元素进行比特交叉运算到图像矩阵P2
步骤四、取出序列Y中M+N个伪随机值作为定步长约瑟夫置乱的步长值,对图像矩阵P2进行约瑟夫置乱运算,得到矩阵P3
步骤五、取出序列Z中的M*N个伪随机值与矩阵P3中的元素像素值进行异或密文反馈,并转化为大小为M*N矩阵,得到最终的加密图像P4
所述步骤一中根据原始图像P生成PWLCM映射和2D-LSCM映射的控制参数的方法为:使用与原始图像P的像素灰度平均值有关的变量计算混沌***的控制参数,得到混沌映射的控制参数σ和τ:
Figure BDA0002332145470000031
其中,п表示圆周率符号,M和N为原始图像P的矩阵的行数和列数,Pi,j为原始图像P的像素矩阵位置(i,j)处的灰度值,i∈[1,M],j∈[1,N],q1、q2、q3、q4为计算的中间变量,τ为PWLCM映射的控制参数,σ为2D-LSCM的控制参数。
所述哈希算法为SHA-384算法,SHA-384算法通过原始图像P及时间戳计算得到长度为384位二进制的序列H,取序列H的前64位作为数值h1,计算PWLCM映射的初始值
Figure BDA0002332145470000032
将序列H的第65位到128位作为数值h2,第129位到192位作为数值h3,分别计算2D-LSCM映射的初始值
Figure BDA0002332145470000033
Figure BDA0002332145470000034
Figure BDA0002332145470000035
其中,floor表示向下取整,时间戳为运行时的年、月、日、时、分和秒的值;
所述PWLCM映射为:
Figure BDA0002332145470000036
其中,F(x)为PWLCM映射的映射函数,自变量x∈[0,1],控制参数τ∈(0,0.5);
所述2D-LSCM映射为:
Figure BDA0002332145470000041
其中,xt、xt+1别表示第t和t+1次迭代伪随机序列X0的元素值,、yt和yt+1分别表示第t和t+1次迭代伪随机序列Y0的元素值,控制参数σ∈(0,1)。
所述伪随机序列X0、Y0和Z0分别放大和取模的方法为:
Figure BDA0002332145470000042
其中,k=1,2,…2M*N,M和N分别为原始图像P的矩阵的行数和列数,X0(k)、Y0(k)、Z0(k)、X(k)、Y(k)、Z(k)分别为伪随机序列X0、伪随机序列Y0、伪随机序列Z0、序列X、序列Y和序列Z的第k个元素。
所述得到重组图像矩阵P1的方法为:对原始图像P矩阵进行索引,将原始图像P分块为四个规格相等的子矩阵K1、K2、K3和K4:其中,元素P(2a-1,2b-1)组成子矩阵K1,元素P(2a-1,2b)组成子矩阵K2,元素P(2a,2b-1)组成子矩阵K3,元素P(2a,2b)组成子矩阵K4,其中,a=1,2…M/2,b=1,2…N/2;如果行数M或列数N为奇数,则在原始图像P的边缘添加噪声矩阵;分别对子矩阵K1、K2、K3和K4中的像素进行Gray曲线置乱;置乱后的四个分块矩阵按照分别放在左上角、右上角、左下角和右下角重组,得到重组图像矩阵P1
所述Gray曲线置乱的方法为:
(1)仿真生成Gray码:将待转换的图像矩阵中像素的坐标值的二进制数的最高位保留并将其作为Gray码的最高位,将二进制数的最高位与次高位进行异或运算并将结果作为Gray码的次高位,则待转换的二进制数为XnXn-1Xn-2…X1,编码后的Gray码为YnYn-1Yn-2…Y1,则有:
Yn=Xn
Yl=xor(Xl,Xl-1)l=2,3…n;
其中,xor为异或运算;n的取值范围为M*N;
(2)在Gray码的基础上获得Gray曲线:将图像矩阵的子矩阵K1、K2、K3、K4像素的X轴、Y轴转换成坐标值对应的二进制值,计算得到他们对应的Gray码;将纵轴和横轴的编码两两交叉并以新得到的编码为基础计算Gray码,然后从小到大连接这些编码所在的像素点位置,得到相应的Gray曲线;各个子矩阵的每个元素的坐标值转换为Gray码后,按Gray码升次排列将每个元素依次取出,得到一个长度为M*N/4的序列,再将序列重组为子矩阵即获得了Gray曲线置乱后的加密图像矩阵。
所述步骤三中比特交叉运算的实现方法为:使用序列X中的第1到N个元素作为交叉算子,对重组图像矩阵P1中第一行和第二行的第1到第N对元素进行交叉运算,交叉算子为X1、X2、X3、…、XN;使用序列X中的第N+1到第2N个元素作为交叉算子,对重组图像矩阵P1中第二行和第三行的第1到第N对元素进行交叉运算,交叉算子为XN+1、XN+2、XN+3、…、X2N;以此类推直至重组图像矩阵P1的第M-1行与M行,交叉算子为X(M-2)N+1、X(M-2)N+2、X(M-2)N+3、…、X(M-1)N;然后按列对重组图像矩阵P1进行交叉运算:使用序列X中的第(M-1)N+1到(M-1)N+M个元素作为交叉算子,对重组图像矩阵P1中第一列和第二列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+1、X(M-1)N+2、X(M-1)N+3、…、X(M-1)N+M;使用序列X中的第(M-1)N+M+1到第(M-1)N+2M个元素作为交叉算子,对重组图像矩阵P1中第二列和第三列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+M+1、X(M-1)N+M+2、X(M-1)N+M+3、…、X(M-1)N+2M;以此类推直至重组图像矩阵P1的第N-1列到第N列,交叉算子为X(M-1)N+(N-2)M+1、X(M-1)N+(N-2)M+2、X(M-1)N+(N-2)M+3、…、X(M-1)N+(N-1)M
所述步骤四中约瑟夫置乱运算的方法为:使用序列Y的第一个数作为定步长对图像矩阵P2的第一行元素进行约瑟夫置乱;使用序列Y的第二个数作为定步长对图像矩阵P2的第二行元素进行约瑟夫置乱;以此类推,对图像矩阵P2的所有行进行一次约瑟夫置乱,共进行M次约瑟夫置乱;接下来使用序列Y的第M+1个数作为定步长对图像矩阵P2的第一列进行约瑟夫置乱;使用序列Y的第M+2个数作为定步长对图像矩阵P2的第二列进行约瑟夫置乱;以此类推,直至对图像矩阵P2的所有列进行一次约瑟夫置乱。
所述步骤五的实现方法为:将序列Z中的M*N个伪随机值与矩阵P3中的元素像素值进行异或密文反馈,将得到的矩阵转换为序列并自首至尾进行异或密文反馈,按照正序反序循环往复2次,并转化为M*N矩阵,得到最终的加密图像P4
所述异或密文反馈是按照一定的方向,使图像中相邻元素依次互相影响和混淆其灰度值的操作;异或密文反馈的实现方法为:将待加密的图像矩阵展开为长度为M*N的序列,与序列Z中的M*N个元素按所在位置依次按位异或,然后自首至尾依次将每个元素和与其相邻的下一个元素进行按位异或计算:
Figure BDA0002332145470000051
其中,B(d)为获得的密文一维序列的第d个元素的值,M*N为矩阵P3的大小,P(d)为矩阵P3的一维序列的第d个元素的值,bitxor表示按位异或。
本发明的有益效果:基于多维混沌映射***、哈希散列算法和约瑟夫问题实现,混沌***的初始化由原始图像和时间戳生成,具备很高的初始值敏感性;将图像矩阵进行分块处理,再通过对像素位置进行约瑟夫定步长置乱和Gray曲线置乱,充分扰乱像素的分布;通过像素间的位平面交叉运算,实现了像素灰度值的扩散;对像素二进制数值进行交叉运算和密文反馈并扩散了每个像素的值,打破了图像数据的强相关性;仿真实验结果表明,本发明可以有效加密图像,具有很大的密钥空间,对待加密图像和初始密钥具有很高的敏感性,并且加密结果在各项分析指标中表现优秀,在抵御各种攻击方式时均具有良好的防御能力,可以用于图像信息加密和保护信息安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的结构示意图。
图2为本发明PWLCM混沌***的仿真图。
图3为本发明2D-LSCM映射的仿真图。
图4为本发明2D-LSCM映射的李雅普诺夫指数。
图5为本发明Gray曲线的示意图。
图6为本发明8*8图像矩阵Gray置乱的示意图。
图7为本发明步长为7的约瑟夫置乱效果示意图。
图8为本发明异或密文反馈的流程示例图。
图9为本发明交叉运算的加密示意图。
图10为本发明分块规则的处理示意图。
图11为本发明加密图像和解密图像的对比示意图,其中,(a)为Lena原始图像,(b)为Lena加密图像,(c)为Lena解密图像,(d)为Baboon原始图像,(e)为Baboon加密图像,(f)为Baboon解密图像,(g)为Boat原始图像,(h)为Boat加密图像,(i)为Boat解密图像,(j)为Brain原始图像,(k)为Brain加密图像,(l)为Brain解密图像。
图12为本发明密钥改变10-15后图像的解密结果示意图,其中,(a)为正确的Face图像,(b)为正确的Elaine图像,(c)为正确的Hill图像,(d)为密钥改变10-15后(a)的解密图像,(e)为密钥改变10-15后(b)的解密图像,(f)为密钥改变10-15后(c)的解密图像。
图13为本发明原始图像和对应加密图像的直方图,其中,(a)为Lena原始图像的直方图,(b)为Lena加密图像的直方图,(c)为Cameraman原始图像的直方图,(d)为Cameraman加密图像的直方图,(e)为Fingerprint原始图像的直方图,(f)为Fingerprint加密图像的直方图。
图14为本发明遭受裁剪攻击后的密文图像和与其对应的解密图像,其中,(a)为加Lena密图像,(b)为解密图像,(c)为裁剪面积1/64的加密图像,(d)为裁剪面积1/64的解密图像,(e)为裁剪面积1/16的加密图像,(f)为裁剪面积1/16的解密图像。
图15为本发明遭受噪声攻击后的密文图像和与其对应的解密图像,其中,(a)为攻击比率1%的密文图像,(b)为攻击比率4%的密文图像,(c)为攻击比率10%的密文图像,(d)为(a)的解密图像,(e)为(b)的解密图像,(f)为(c)的密文图像。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于多维混沌***和约瑟夫置乱的图像加密方法,其步骤如下:
步骤一:PWLCM映射和2D-LSCM映射的混沌初始化:根据原始图P和时间戳生成PWLCM映射和2D-LSCM映射的控制参数,通过哈希算法生成PWLCM映射和2D-LSCM映射的初始值,将2D-LSCM映射的初始值输入2D-LSCM映射得到伪随机序列X0和伪随机序列Y0,将PWLCM映射的初始值输入PWLCM映射得到伪随机序列Z0,将伪随机序列X0、Y0和Z0分别放大和取模,得到序列X、序列Y和序列Z。
本发明使用分段线性映射来产生约瑟夫置乱所需要的伪随机序列。分段线性映射简称PWLCM,其定义如公式(1)所示。
Figure BDA0002332145470000071
其中,F(x)为PWLCM映射的映射函数,自变量x∈[0,1],控制参数τ∈(0,0.5)。该混沌***可以进入稳定的混沌状态,控制参数τ是密钥的一部分。通过一个初始值得到一个结果,将第一个结果作为自变量x进行第二次计算得到第二个结果;将第二个结果作为自变量x进行第三次计算得到第三个结果;以此类推,可以得到伪随机序列Z0。PWLCM混沌***的分布具有均匀不变的特性且其遍历性、混淆性和确定性较强,因此选用PWLCM混沌***来为约瑟夫置乱提供必要的伪随机序列。PWLCM混沌***的仿真图像如图2所示,由图2可以看出PWLCM混沌***具有良好的混沌特性,可以用于图像加密算法的使用。
加密算法所应用的混沌***可分为一维混沌***和多维混沌***。一维混沌***结构较为简单,易于实现,但其混沌行为较差,密钥空间较小。因此基于一维混沌***的加密算法对各种攻击方式的抵抗能力较弱。而多维混沌***的参数较多,结构也更为复杂,因此,基于多维混沌***的加密算法拥有较大的密钥空间和较强的安全性能。
本发明使用的是一种新型二维混沌映射,二维逻辑正弦耦合映射,简称2D-LSCM。2D-LSCM是由两个现有的一维混沌映射,即逻辑映射和正弦映射推导而来的。因此,讨论2D-LSCM的混沌特性。逻辑映射的定义为:
xi+1=4γxi(1-xi) (2)
其中,xi,xi+1为混沌映射的迭代。比如由初始值x1生成x2;再由x2生成x3;以此类推,控制参数γ∈(0,1)。而正弦映射的定义为:
xi+1=μsin(πxi) (3)
其中,控制参数μ∈(0,1)。
在以往的算法中,如果使用单独的逻辑映射或者正弦映射进行加密运算,会因为其混沌特性不够强、遍历性不足等原因导致加密算法的安全性较差。因此,为了获得更加符合加密算法需求的伪随机序列,将逻辑映射和正弦映射进行耦合得到一个新的混沌映射,称为2D-LSCM映射,2D-LSCM映射的定义为:
Figure BDA0002332145470000081
其中,xi和xi+1表示X0序列的第i和i+1次迭代,yi和yi+1表示Y0序列的第i和i+1次迭代,控制参数σ∈(0,1)。同上述PWLCM映射,xi为x的第i个结果,yi为y的第i个结果;xi+1为x的第i+1个结果,yi+1为y的第i+1个结果,i为迭代次数。xi、xi+1、yi、yi+1分别表示第i、i+1次迭代伪随机序列X0和伪随机序列Y0的元素值,元素值即为x1,x2,x3…xi和y1,y2,y3…yi。通过两种基础混沌映射的耦合,将逻辑映射获得的变量进行正弦函数映射以将序列扩展为二维形式,这样就获得了2D-LSCM序列。在这种耦合方式下,得到的序列拥有比两种基础序列更为优秀的复杂度和混沌特性。在此基础之上的加密算法将具有密钥空间更大、安全性更高且具有更佳的抵抗攻击能力的特点。对得到的2D-LSCM映射进行仿真后,得到仿真图如图3所示。根据仿真结果可知,经过耦合的二维混沌映射显著地提高了混沌***的特性,其遍历性和敏感度较强。
对2D-LSCM映射的混沌轨道、李雅普诺夫指数等混沌特性进行仿真实验,以检测其是否符合加密算法的条件。
Figure BDA0002332145470000091
其中,n为迭代次数,f′(xi)表示自变量xi微小改变时的因变量变化值。
多维***具有不止一个李雅普诺夫指数,而其中的最大值则决定了***是否具有优秀的混沌特性。如果某一个李雅普诺夫指数为正,则说明其轨迹在每一个节点发散并将最终演化为完全不同的轨迹。而当多维混沌***的最大李雅普诺夫指数为正数,则证明其具有混沌性质,并且越大越好。若能获得多个正的李雅普诺夫指数,则***会向多个方向发散,继而具备更为复杂的超混沌行为。本发明所使用的2D-LSCM***具有两个李雅普诺夫指数,对其进行了仿真实验,其结果如图4所示。图4中表示了随着控制参数σ的变化,李雅普诺夫指数的变化情况。根据仿真结果可以得出,控制参数σ在适当的取值范围之内时,2D-LSCM***的两个李雅普诺夫指数均为正且较大,因此2D-LSCM***具有很好的混沌特性和复杂的遍历轨道,可以满足应用于图像加密算法的要求。
本发明使用与明文图像像素灰度平均值有关的变量qi计算混沌***的控制参数,以使***具备对密钥和初始图像的高度敏感性。设明文图像像素的灰度值为Pi,j,其中i∈[1,M],j∈[1,N],按照式(6)计算得到混沌映射的控制参数σ和τ。
Figure BDA0002332145470000092
其中,π为圆周率,即3.1415926,M和N为图像长宽的大小,Pi,j为像素矩阵相应位置的灰度值,q1、q2、q3、q4为计算中间变量,τ为分段线性映射的控制参数,σ为逻辑正弦映射的控制参数,式(6)使用两次三角函数的目的是使控制参数位于正李雅普诺夫指数的要求区间中。加密***以初始图像为混沌初始化初始值,当初始图像产生微小的误差时,混沌***的参数和加密结果会产生很大的变化。因此经过初始化的混沌***显然具有对初始图像很强的敏感性。
混沌***的初始值则由哈希算法产生。将待加密的原始图像P以及运行时的年、月、日、时、分和秒的值作为输入,通过SHA-384算法计算得到长度为384位二进制的哈希序列H,取序列H的前64位作为数值h1,并按式(8)计算得到c1,将c1作为PWLCM映射的初始值;将序列H第65位到128位作为数值h2;第129位到192位作为数值h3,并按式(7)计算得到c2和c3,将c2和c3作为2D-LSCM***的初始值。
Figure BDA0002332145470000101
floor()表示向下取整,即取不大于自变量的最大整数。
该混沌***初始值的生成由原始图像决定,因此具有很大的密钥空间,且对原始图像具有很高的敏感性,可以有效地抵御攻击。
将伪随机序列X0、Y0和Z0分别放大和取模的方法为:
Figure BDA0002332145470000102
其中,k=1,2,…2M*N,M和N分别为原始图像矩阵P的行数和列数,明文图像规格为M*N,为满足置乱加密的序列长度要求,k选择前2*M*N个元素。X0(k)、Y0(k)、Z0(k)、X(k)、Y(k)、Z(k)分别为伪随机序列X0、伪随机序列Y0、伪随机序列Z0、序列X、序列Y和序列Z的第k个元素。
步骤二、将原始图像P的矩阵按照索引均匀分成大小相同的子矩阵,分别对子矩阵总分的像素进行Gray曲线置乱,将置乱后的四个分块矩阵按照分别放在左上角、右上角、左下角和右下角的顺序重组,得到重组图像矩阵P1
对原始图像P矩阵进行索引,其中元素P(2a-1,2b-1)组成子矩阵K1,元素P(2a-1,2b)组成子矩阵K2,元素P(2a,2b-1)组成子矩阵K3,元素P(2a,2b)组成子矩阵K4,其中,a=1,2…M/2,b=1,2…N/2,a的最大值为M/2的上限取整,b的最大值为N/2的上限取整,目的为图像矩阵可以整分块为4个矩阵。如果行数M或列数N为奇数,则在原始图像边缘添加合适数量的噪声矩阵,灰度值为0的像素是胡椒噪声,灰度值为255的像素是盐噪声。Matlab程序可以使用imnoise函数生成指定大小的椒盐噪声图像,然后与待加密图像矩阵组合,使其可以分块为四个规格相等的子矩阵,分块处理方式如图10所示。分别对子矩阵K1、K2、K3和K4中的像素进行Gray曲线置乱。
分形几何是由Mandelbrot提出的一种基于许多客观存在,具有自相似性且高度重复的自然现象的设想。分形几何不同于欧式几何,它具有不规则性,但是又具有所有尺度的构造。分形几何结构能够在它的每一种尺度上被观察到。分形几何具有自相似性、高度复杂的精细结构、高度重复性和迭代性等特征。一般的分形几何有比较经典的Mandelbrot集合、Julia集合、Koch曲线、Cantor集合以及Sierpinski集合等。分形几何可以应用于图像加密的置乱操作中,取得较好的混淆效果。Gray曲线由Baodot提出的Gray码演变生成,由于其相邻位间只有一位产生变化,因此极大地减小了两个状态之间变化时产生的逻辑混淆,在数模转换时避免了数字电路中产生的脉冲干扰,使错误产生最小化。Gray曲线属于分形几何中的一种,其表现形式如图5所示。图5的连线即为将像素坐标值转换为Gray码之后按从小到大的排列顺序。
Gray曲线由Gray码演化而来,其迭代规则如表1所示。首先生成一组一维Gray码,其值为0和1。然后在一维Gray码的基础上生成二维Gray码,其值为00,01,11,10。即当生成n+1维的序列时,其前2n个元素为第n维序列的全体元素按顺序排列,并添加前缀0;其后2n个元素为第n维序列的全体元素按逆序排列,并添加前缀1。使用计算机仿真生成Gray码可以通过以下方式得到:将待转换的自然二进制数的最高位保留并将其作为Gray码的最高位;将二进制码的最高位与次高位进行异或运算并将结果作为Gray码的次高位;其余位的计算以相同的方式迭代获得。设待转换的二进制数为XnXn-1Xn-2…X1,所求编码为YnYn-1Yn-2…Y1,则有:
Yn=Xn
Yi=xor(Xi+1,Xi)i=1,2…n-1 (9)
其中,xor为异或运算。
得到n维的Gray码之后,就可以得到在该码的基础上的Gray曲线:将图像像素的X轴、Y轴转换成其坐标值对应的二进制值,且计算得到他们对应的Gray码;将纵轴和横轴的编码两两交叉并以新得到的编码为基础计算Gray码,然后从小到大连接这些编码所在的像素点位置,得到了相应的Gray曲线。
表1 Gray曲线的编码规则
Figure BDA0002332145470000111
Gray曲线在加密***中的作用为通过Gray编码变换,取出不同位置的像素以达到打乱灰度值分布的目的。8*8图像的Gray置乱效果如图6所示。按曲线走向沿途依次取出各个像素点并按序排列重组为矩阵,即获得了Gray曲线置乱后的加密图像矩阵。
步骤三、取出X序列中的前(M-1)*N+M*(N-1)个元素并以其为交叉算子,对图像矩阵P1中的元素进行比特交叉运算到图像矩阵P2
交叉运算属于遗传算法的一种,旨在通过两个父代的“遗传信息”按照一定的新规则重新排列从而生成新的子代。将这种思想运用到图像加密运算中就产生了在比特平面上混淆的效果。在本发明中,将2D-LSCM映射得到的伪随机序列中的数对256进行取模运算后作为交叉算子,对加密图像矩阵中的数进行交叉运算。将每两个父代像素灰度值以及交叉算子以8位二进制数表示,则每一对父代的比特位上的值根据其交叉算子的值决定交换位置或者保持不变,其原理类似于生物学上遗传信息的交叉互换。如果交叉算子的某一位数值为0,则父代的相应比特位上的数值交换位置,新个体分别继承不同位置的比特值;如果值为1,则父代的相应比特位上的数值各自保持不变,其子代也继承相同位置父代的比特值。交叉运算通过比特重组排列产生新元素的算法原理如表2所示。例如,假设参与交叉运算的两个父代A和B分别为10111010和01000101,交叉算子为10010110。交叉结果为A′和B′。
表2交叉运算规则
Figure BDA0002332145470000121
在本发明中,首先使用序列X中的第1到N个数作为交叉算子,对第一行和第二行的第1到第N对元素进行交叉运算,交叉算子为X1、X2、X3、…、XN;使用序列X中的第N+1到第2N个数作为交叉算子,对第二行和第三行的第1到第N对元素进行交叉运算,交叉算子为XN+1、XN+2、XN+3、…、X2N;以此类推直至图像矩阵的第M-1行与M行,交叉算子为X(M-2)N+1、X(M-2)N+2、X(M-2)N+3、…、X(M-1)N。然后按列对重组图像矩阵P1进行交叉运算:使用序列X中的第(M-1)N+1到(M-1)N+M个元素作为交叉算子,对重组图像矩阵P1中第一列和第二列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+1、X(M-1)N+2、X(M-1)N+3、…、X(M-1)N+M;使用序列X中的第(M-1)N+M+1到第(M-1)N+2M个元素作为交叉算子,对重组图像矩阵P1中第二列和第三列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+M+1、X(M-1)N+M+2、X(M-1)N+M+3、…、X(M-1)N+2M;以此类推直至重组图像矩阵P1的第N-1列到第N列,交叉算子为X(M-1)N+(N-2)M+1、X(M-1)N+(N-2)M+2、X(M-1)N+(N-2)M+3、…、X(M-1)N+(N-1)M。按行加密应使用(M-1)N个元素,按列加密应使用(N-1)M个元素。对4*4矩阵进行交叉运算的加密规则如图9所示。然后以相同规则按列对图像矩阵进行交叉运算。
通过交叉运算,各个像素的灰度值很好的混淆影响了与其相邻的元素,继而通过不停地迭代运算,扩散至该图像所有其他元素的灰度值中。
由于图像数据的像素间的高相关性或噪声因素,在经受裁剪攻击、统计攻击等方式的攻击时,优秀的图像加密***应该能很好地克服这些障碍。基于多维混沌***产生的伪随机序列,将图像像素位置进行了Gray置乱、约瑟夫置乱等置乱操作;并对每个像素灰度值信息进行了交叉运算、异或密文反馈等扩散操作。
步骤四、取出序列Y中M+N个伪随机值,将其用作定步长约瑟夫置乱的步长值,对图像矩阵P2进行约瑟夫置乱运算,得到矩阵P3
约瑟夫置乱是从一个古老典故衍生而来的算法。在反抗罗马军队的战争中,在乔塔帕特被罗马占领后,约瑟夫与他的一个朋友和39个犹太人逃亡到一个藏身处。这些犹太人宁死也不愿成为俘虏,约定按照一种报数方式依次***:所有人围成一圈,由首个报数者开始,每报到第三人,该人就必须***。紧接着下一个人重新报数。直到所有人都***为止。将约瑟夫问题转换为数学问题并简化后,可以描述为将若干个元素围成一个圆,自首至尾循环检查每个元素并计数,将第k个元素取出。然后从被取出元素相邻的后一个元素重新开始计数,循环以上运算,直到最后一个元素被取出。而按照被取出的顺序,将各个元素依次排列,就得到了预期中对序列的约瑟夫置乱结果。
f(x,k)=kmod(x-t+1) (10)
其中,x为参与置乱的元素序列长度,k为事先规定“***”的序号,即为步长,t为执行操作的次序。在提出的加密算法中,首先使用序列Y的第一个数作为定步长对图像矩阵的第一行元素进行约瑟夫置乱;使用序列Y的第二个数作为定步长对图像矩阵的第二行元素进行约瑟夫置乱;按照这个规则对图像矩阵的行元素进行M次约瑟夫置乱。接下来使用序列Y的第M+1个数作为定步长对图像矩阵的第一列进行约瑟夫置乱;使用序列Y的第M+2个数作为定步长对图像矩阵的第二列进行约瑟夫置乱;直至对图像矩阵的所有列进行N次约瑟夫置乱。对长度为8的元素序列进行步长为7的约瑟夫置乱规则如图7所示,其中,有底纹标注的元素为下一次计数的起始位置。
在对图像进行置乱操作的仿真模拟时,发现如果采用变步长约瑟夫遍历置乱,则加密***会对裁剪攻击和噪声攻击抵抗能力较弱。尽管只有很少一部分像素遭到攻击破坏而改变灰度值,那么解密***将无法解密出原有图像,而是整体呈现为黑白噪声式图像。而如果采用定步长约瑟夫置乱,则会导致在某一个灰度值区间中的元素得不到充分的置乱。与Gray曲线置乱进行混合加密很好地解决了单次约瑟夫加密的缺陷,同时又弥补了Gray曲线置乱密钥空间较低的缺点,因此使用这两种方案来充分地混淆各个像素点的位置,且***具有较强的抵御噪声攻击和裁剪攻击的能力。
步骤五、取出序列Z中的M*N个伪随机值,并与矩阵P3中的元素像素值进行异或密文反馈,并转化为M*N矩阵,得到最终的加密图像P4
异或密文反馈是一种按照一定的方向,使图像中相邻元素依次互相影响和混淆其灰度值的操作,以增强算法的扩散效果。在单次计算中,一般位次靠前的元素会影响到位次靠后的元素,因此异或密文反馈过程会循环往复且按照不同的顺序运算多次,以保证所有的元素都尽可能地经历异或密文反馈,使加密方案达到较为理想的扩散效果。异或密文反馈的流程为:首先将待加密的图像矩阵展开为长度为M*N的序列,与混沌***生成的伪随机序列Z中的M*N个元素按所在位置依次按位异或,然后自首至尾依次将每个元素和与其相邻的下一个元素进行按位异或计算:
Figure BDA0002332145470000141
其中,M*N为待加密图像的大小,I(i)为待加密图像一维序列的各个元素的值,B(i)为获得的密文一维序列的各个元素的值,bitxor表示按位异或。图8为异或密文反馈的流程示例。异或密文反馈的加密步骤使图像像素的灰度值互相混淆且与混沌***生成的伪随机序列之间充分混淆。
将序列Z中的M*N个伪随机值与矩阵P3中的元素像素值进行异或密文反馈;将得到的矩阵转换为序列并自首至尾进行异或密文反馈,按照正序反序循环往复2次,并转化为M*N矩阵,得到最终的加密图像P4
将经过异或密文反馈后得到的一维序列重组为M*N矩阵,就获得了加密后的图像矩阵。异或密文反馈不仅将密钥所携带的噪声信息与原始图像相互混淆,也将图像内部不同的像素点的灰度值之间进行了扩散,因此攻击者很难从加密图像中获取信息。
解密算法为加密算法的逆操作,此处不再赘述。
检测一个图像加密算法的安全性能是评价其可行性的标准,从各个方面分析加密***,其分析指标为密钥空间、直方图分析、信息熵分析、NPCR(像素改变率)和UACI(统一平均变化强度)等项目。为了检验本发明的加密效果,对加密方法进行了仿真实验。实验环境如下:CPU:Intel(R)Pentium(R)G3220,3.00GHz;内存:4.00GB;操作***:Windows 7;核心工具:Matlab 2017。首先使用.bmp格式的原始Lena、Baboon、Boat和Brain图像进行了加密运算,其仿真结果如图11所示。可以看出,本发明可以有效地对原文图像进行加密,且解密图像没有损失,不会破坏待加密文件所包含的的原有信息。接下来对本发明进行各个指标的检验。
在所有针对加密信息的攻击中,穷举破解是最常见和最简单的破解方式。攻击者试图通过逐个尝试每个密钥来破解密码文本图像。因此,只要加密算法的密钥空间足够大,就可以有效地抵御暴力破解的攻击方式。在本发明中,密钥包括分段线性映射、SHA-384算法和2D-LSCM映射的初始值,其密钥空间大小约为5*1089。可以看出本发明的密钥空间足够大,使用现有的计算机很难使用穷举法找出加密方使用的初始密钥,因此可以有力地抵御穷举攻击的破解。
在应对黑客攻击时,好的初始密钥灵敏性可以让加密***具备更强的抵御能力。在保持其他各项参数不变的情况下,将某一位密钥改变极微小的数值,然后进行尝试解密,对其结果进行仿真,就可以得到加密方法的密钥灵敏性分析。将密钥的差值设为10-15,并使用解密算法进行模拟,得到的结果如图12所示。由图12可知,即使初始密钥只改变极微小的量,攻击者也只能得到与原图像相差甚远的噪音图像,因此对攻击的防御力较强。
直方图是图像数据像素点分布规律的直观表现形式。在直方图中,横坐标为1至255,其含义为256个灰度值;纵坐标为像素个数,意即灰度值为x的像素点一共存在的个数。因此在直方图中每个灰度值出现过多少个像素点可以得到很直观的数据,它直接反应了图像矩阵元素的分布均匀与否。对于明文图像,其像素点分布一般十分规律且像素间相关性较强,关键信息十分容易获得,而加密过后的密文图像将呈现噪声似的分布,无法直接获取其内部包含的信息。在加密算法中,一般认为加密结果越平均,其分布越为噪声化,则说明其加密效果越优秀。图13显示了本发明的仿真结果中,加密图像和原始图像的直方图数据对比。从直方图分析中可以看出,加密后的图像使原始图像的像素分布已经被有效地打乱,各个像素之间的相关性也被打破,其像素分布达到了非常均匀平滑的效果。
经过加密算法的密文图像,其各个相邻元素的相关性应该尽可能地小,其中包括水平方向相关性、垂直方向相关性和对角线方向相关性。当相邻元素相关性质被完全打破时,攻击者就难以通过统计分析破解密文图像。相邻元素相关性的计算如式(12)所示。表4中显示了原始图像和加密图像的所有方向上的相邻元素相关性计算结果。
Figure BDA0002332145470000151
其中,x和y表示图像中两个相邻像素的灰度值,N为选取的像素数,E(x)、D(x)分别为期望和方差,Cov(x,y)为x与y的协方差,rxy为两个相邻像素的相关系数。
本发明从各个方向随机选取2500对像素,并与参考文献的相邻像素相关性进行了比对,其中,文献[1]为文献[Yi G,Li-Ping S,Lu Y.Bit-level image encryptionalgorithm based on Josephus and Henon chaotic map[J].Application Research ofComputers,2015.],文献[2]为文献[Mozaffari S.Parallel image encryption withbitplane decomposition and genetic algorithm[J].Multimedia Tools andApplications,2018,77(10):1-21.],文献[3]为文献[Lv X,Liao X,Yang B.Bit-levelplane image encryption based on coupled map lattice with time-varying delay[J].Modern Physics Letters B,2018,32(10):1850124.],文献[4]为文献[Liu L,MiaoS.A new simple one-dimensional chaotic map and its application for imageencryption[J].Multimedia Tools and Applications,2018,77(1):1-18.]。计算结果中像素之间的相关性如下:
表3相关系数
原始图像 加密图像 文献[1] 文献[2] 文献[3] 文献[4]
水平方向 0.9655 -0.0048 -0.0072 0.0617 -0.0061 0.0012
垂直方向 0.9310 -0.0036 0.0062 0.0033 0.0094 0.0021
对角线 0.9358 -0.0041 0.0120 0.0022 0.0081 0.0115
从表3可以看出,本发明很好地打破了相邻像素之间的相关性,并且比参考文献中的加密效果均更为良好。因此,本发明的加密效果非常好,能够有效抵抗攻击。
信息熵是衡量加密算法加密效果的重要指标,一个优秀的加密算法的信息熵的理想值应接近8。信息熵的计算过程如式(13)所示:
Figure BDA0002332145470000161
其中,P(xi)表示各个灰度值xi出现的概率,H(X)表示信息熵,H(X)、x∈χ表示灰度值xi从1到255的取值。对于使用的仿真图像Lena.bmp,在经过本发明的加密方法后,如果其信息熵接近于8,则说明其加密效果是有效的。表4给出了由所提出的加密算法得到的密文图像的信息熵,并与参考文献[1-4]的信息熵进行了比对。
表4信息熵
Figure BDA0002332145470000162
由表4可以看出,本发明得到的密文图像的信息熵接近8,并且比参考文献[1-4]中的信息熵效果更为优秀。因此,本发明具有很好的抗统计分析攻击的能力。
在抵御差分攻击时,评价加密算法安全性的重要指标是UPCR和UACI。抵抗差分攻击最重要的一点是比较两个加密图像之间的差异。UPCR是指是像素个数的变化率,而UACI则是指统一的平均变化强度。上述两个指标的计算过程如式(14)所示。
Figure BDA0002332145470000171
其中,M,N为图像的大小规格,P1(i,j)和P2(i,j)分别表示两个图像矩阵中相同位置的像素灰度值,C(i,j)的计算原理为:当两个图像矩阵中相同位置的像素灰度值不同时,其值为0;两个图像矩阵中相同位置的像素灰度值相同时,其值为1,参与计算的两个图像仅在对应位置有一处元素不同。在抵御差分攻击时,UPCR的理想值应该为100%,UACI的理想值应该为33%。表5给出了仿真实验结果并与参考文献[1-4]的差分攻击分析结果进行了比对。
表5差分攻击分析
Figure BDA0002332145470000172
实验结果表明,本发明的UPCR和UACI结果非常接近抵御差分攻击的理想值,并且比文献[1-4]中的仿真结果更为优秀。因此可以认为其加密效果在抵抗差分攻击时具有良好的性能。
当遭受裁剪攻击时,一个良好的加密***应该能够尽可能的复原其明文图像。即使密文图像因被攻击而损失一部分数据时,经过解密***的还原,得到的解密图像也理应能表达出原始图像的主要信息。因此加密方法的抗裁剪攻击能力越强,则说明其对加密图像像素的打乱程度越优秀。裁剪攻击分析是指在仿真实验中,人为地破坏加密图像中某一区域的像素点,再将其作为解密图像的输入值进行运算,然后检测解密图像的恢复程度并将其与原始图像进行比对。分别将待检测密文图像的1/64和1/16剪去,并进行解密操作,结果如图14所示。由图14可知,当加密图像遭受一定程度的裁剪攻击,损失一定比例的像素点的信息时,仍能通过解密***恢复足够的明文图像信息。得出的解密结果图像中的相邻像素相关性与原始图像的对比可以作为检测结果的定量分析,其结果如表6所示。相邻像素相关性的计算如式(12)所示。通过对比可以得到,本发明可以较为有效地恢复原始图像的信息特征。因此,本发明提出的加密方法具有优秀的抗裁剪攻击能力。
表6裁剪攻击分析
Figure BDA0002332145470000181
图像信息在传输通道通常会遭受各种干扰如脉冲干扰等,导致密文图像矩阵中出现若干明暗相间的杂质,称之为噪声。噪声的出现会破坏图像信息中的原有数据,导致解密方计算出的解密图像信息遭受一定程度的丢失。图像信息一般遭受离散脉冲信号、椒盐噪声和高斯噪声等因素的破坏较为普遍。本发明讨论椒盐噪声对加密方法的攻击效果。当外界干扰表现为白色,即灰度值为255时,将该噪声称为盐噪声;反之当其为黑色,即灰度值为0时,则称之为胡椒噪声。椒盐噪声攻击比率表示了外界干扰对图像数据的攻击强度,即在每100个像素点中进行椒盐杂色点替换的数量。抗噪声攻击能力是指加密图像经过噪声攻击之后通过解密***,是否可以最大程度的还原原始图像的关键信息。将测试用的加密图像经过人为添加一定攻击强度的椒盐噪声,并通过解密***进行计算,将得到的解密图像与原始图像进行对比,并以相邻像素相关性为参考指标进行定量分析。经过仿真实验,结果如图15所示。由图15可知,当加密图像遭受一定比例的噪声攻击时,仍能通过解密***恢复足够的明文图像信息。解密图像的相邻像素相关性分析如表7所示。可以得到结论,本发明在遭受椒盐噪声攻击时依旧保留良好的恢复原始图像数据的能力。
表7椒盐噪声分析
Figure BDA0002332145470000182
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,其步骤如下:
步骤一、PWLCM映射和2D-LSCM映射的混沌初始化:根据大小为M*N的原始图像P生成PWLCM映射和2D-LSCM映射的控制参数,哈希算法根据原始图像P和时间戳生成PWLCM映射和2D-LSCM映射的初始值,将2D-LSCM映射的初始值输入2D-LSCM映射得到伪随机序列X0和伪随机序列Y0,将PWLCM映射的初始值输入PWLCM映射得到伪随机序列Z0,将伪随机序列X0、Y0和Z0分别放大和取模,得到序列X、序列Y和序列Z;
哈希算法通过原始图像P及时间戳计算得到长度为384位二进制的序列H,取序列H的前64位作为数值h1,计算PWLCM映射的初始值
Figure FDA0002660766690000011
将序列H的第65位到128位作为数值h2,第129位到192位作为数值h3,分别计算2D-LSCM映射的初始值
Figure FDA0002660766690000012
Figure FDA0002660766690000013
其中,floor表示向下取整,时间戳为运行时的年、月、日、时、分和秒的值;
通过初始值得到第一个结果,将第一个结果作为自变量进行第二次计算得到第二个结果;将第二个结果作为自变量进行第三次计算得到第三个结果;以此类推,得到伪随机序列X0、Y0和Z0
步骤二、将原始图像P的矩阵按照索引均匀分成大小相同的子矩阵,分别对子矩阵中的像素进行Gray曲线置乱,将置乱后的分块矩阵按照顺序重组,得到重组图像矩阵P1
所述Gray曲线置乱的方法为:
(1)仿真生成Gray码:将待转换的图像矩阵中像素的坐标值的二进制数的最高位保留并将其作为Gray码的最高位,将二进制数的最高位与次高位进行异或运算并将结果作为Gray码的次高位,则待转换的二进制数为AnAn-1An-2...A1,编码后的Gray码为BnBn-1Bn- 2...B1,则有:
Bn=An
Bl=xor(Al,Al-1) l=2,3...n;
其中,xor为异或运算;n的取值范围为M*N;
(2)在Gray码的基础上获得Gray曲线:将图像矩阵的子矩阵K1、K2、K3、K4像素的X轴、Y轴转换成坐标值对应的二进制值,计算得到他们对应的Gray码;将纵轴和横轴的编码两两交叉并以新得到的编码为基础计算Gray码,然后从小到大连接这些编码所在的像素点位置,得到相应的Gray曲线;各个子矩阵的每个元素的坐标值转换为Gray码后,按Gray码升次排列将每个元素依次取出,得到一个长度为M*N/4的序列,再将序列重组为子矩阵即获得了Gray曲线置乱后的加密图像矩阵;
步骤三、取出步骤一中序列X中的前(M-1)*N+M*(N-1)个元素作为交叉算子,对重组图像矩阵P1中的元素进行比特交叉运算到图像矩阵P2
步骤四、取出序列Y中M+N个伪随机值作为定步长约瑟夫置乱的步长值,对图像矩阵P2进行约瑟夫置乱运算,得到矩阵P3
所述步骤四中约瑟夫置乱运算的方法为:使用序列Y的第一个数作为定步长对图像矩阵P2的第一行元素进行约瑟夫置乱;使用序列Y的第二个数作为定步长对图像矩阵P2的第二行元素进行约瑟夫置乱;以此类推,对图像矩阵P2的所有行进行一次约瑟夫置乱,共进行M次约瑟夫置乱;接下来使用序列Y的第M+1个数作为定步长对图像矩阵P2的第一列进行约瑟夫置乱;使用序列Y的第M+2个数作为定步长对图像矩阵P2的第二列进行约瑟夫置乱;以此类推,直至对图像矩阵P2的所有列进行一次约瑟夫置乱;
步骤五、取出序列Z中的M*N个伪随机值与矩阵P3中的元素像素值进行异或密文反馈,并转化为大小为M*N矩阵,得到最终的加密图像P4
2.根据权利要求1所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述步骤一中根据原始图像P生成PWLCM映射和2D-LSCM映射的控制参数的方法为:使用与原始图像P的像素灰度平均值有关的变量计算混沌***的控制参数,得到混沌映射的控制参数σ和τ:
Figure FDA0002660766690000021
其中,Π表示圆周率符号,M和N为原始图像P的矩阵的行数和列数,Pi,j为原始图像P的像素矩阵位置(i,j)处的灰度值,i∈[1,M],j∈[1,N],q1、q2、q3、q4为计算的中间变量,τ为PWLCM映射的控制参数,σ为2D-LSCM的控制参数。
3.根据权利要求1或2所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述哈希算法为SHA-384算法;
所述PWLCM映射为:
Figure FDA0002660766690000031
其中,F(x)为PWLCM映射的映射函数,自变量x∈[0,1],控制参数τ∈(0,0.5);
所述2D-LSCM映射为:
Figure FDA0002660766690000032
其中,xt、xt+1别表示第t和t+1次迭代伪随机序列X0的元素值,yt和yt+1分别表示第t和t+1次迭代伪随机序列Y0的元素值,控制参数σ∈(0,1)。
4.根据权利要求3所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述伪随机序列X0、Y0和Z0分别放大和取模的方法为:
Figure FDA0002660766690000033
其中,k=1,2,...2M*N,M和N分别为原始图像P的矩阵的行数和列数,X0(k)、Y0(k)、Z0(k)、X(k)、Y(k)、Z(k)分别为伪随机序列X0、伪随机序列Y0、伪随机序列Z0、序列X、序列Y和序列Z的第k个元素。
5.根据权利要求1或4所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述得到重组图像矩阵P1的方法为:对原始图像P矩阵进行索引,将原始图像P分块为四个规格相等的子矩阵K1、K2、K3和K4:其中,元素P(2a-1,2b-1)组成子矩阵K1,元素P(2a-1,2b)组成子矩阵K2,元素P(2a,2b-1)组成子矩阵K3,元素P(2a,2b)组成子矩阵K4,其中,a=1,2...M/2,b=1,2...N/2,如果行数M或列数N为奇数,则在原始图像P的边缘添加噪声矩阵;分别对子矩阵K1、K2、K3和K4中的像素进行Gray曲线置乱;置乱后的四个分块矩阵按照分别放在左上角、右上角、左下角和右下角重组,得到重组图像矩阵P1
6.根据权利要求1所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述步骤三中比特交叉运算的实现方法为:使用序列X中的第1到N个元素作为交叉算子,对重组图像矩阵P1中第一行和第二行的第1到第N对元素进行交叉运算,交叉算子为X1、X2、X3、...、XN;使用序列X中的第N+1到第2N个元素作为交叉算子,对重组图像矩阵P1中第二行和第三行的第1到第N对元素进行交叉运算,交叉算子为XN+1、XN+2、XN+3、...、X2N;以此类推直至重组图像矩阵P1的第M-1行与M行,交叉算子为X(M-2)N+1、X(M-2)N+2、X(M-2)N+3、...、X(M-1)N;然后按列对重组图像矩阵P1进行交叉运算:使用序列X中的第(M-1)N+1到(M-1)N+M个元素作为交叉算子,对重组图像矩阵P1中第一列和第二列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+1、X(M-1)N+2、X(M-1)N+3、...、X(M-1)N+M;使用序列X中的第(M-1)N+M+1到第(M-1)N+2M个元素作为交叉算子,对重组图像矩阵P1中第二列和第三列的第1到第M对元素进行交叉运算,交叉算子为X(M-1)N+M+1、X(M-1)N+M+2、X(M-1)N+M+3、...、X(M-1)N+2M;以此类推直至重组图像矩阵P1的第N-1列到第N列,交叉算子为X(M-1)N+(N-2)M+1、X(M-1)N+(N-2)M+2、X(M-1)N+(N-2)M+3、...、X(M-1)N+(N-1)M
7.根据权利要求1或6所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述步骤五的实现方法为:将序列Z中的M*N个伪随机值与矩阵P3中的元素像素值进行异或密文反馈,将得到的矩阵转换为序列并自首至尾进行异或密文反馈,按照正序反序循环往复2次,并转化为M*N矩阵,得到最终的加密图像P4
8.根据权利要求7所述的基于多维混沌***和约瑟夫置乱的图像加密方法,其特征在于,所述异或密文反馈是按照一定的方向,使图像中相邻元素依次互相影响和混淆其灰度值的操作;异或密文反馈的实现方法为:将待加密的图像矩阵展开为长度为M*N的序列,与序列Z中的M*N个元素按所在位置依次按位异或,然后自首至尾依次将每个元素和与其相邻的下一个元素进行按位异或计算:
Figure FDA0002660766690000041
其中,B(d)为获得的密文一维序列的第d个元素的值,M*N为矩阵P3的大小,P(d)为矩阵P3的一维序列的第d个元素的值,bitxor表示按位异或。
CN201911340562.XA 2019-12-23 2019-12-23 一种基于多维混沌***和约瑟夫置乱的图像加密方法 Active CN111105339B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911340562.XA CN111105339B (zh) 2019-12-23 2019-12-23 一种基于多维混沌***和约瑟夫置乱的图像加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911340562.XA CN111105339B (zh) 2019-12-23 2019-12-23 一种基于多维混沌***和约瑟夫置乱的图像加密方法

Publications (2)

Publication Number Publication Date
CN111105339A CN111105339A (zh) 2020-05-05
CN111105339B true CN111105339B (zh) 2020-11-03

Family

ID=70423339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911340562.XA Active CN111105339B (zh) 2019-12-23 2019-12-23 一种基于多维混沌***和约瑟夫置乱的图像加密方法

Country Status (1)

Country Link
CN (1) CN111105339B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737712B (zh) * 2020-06-17 2023-06-13 北京石油化工学院 一种基于三维动态整数帐篷映射的彩色图像加密方法
CN112084517B (zh) * 2020-09-15 2022-02-08 郑州轻工业大学 一种基于混沌映射和比特级置换的图像加密方法
CN112272262B (zh) * 2020-10-23 2021-09-03 北京邮电大学 一种图像加密、解密方法及装置
CN112422266B (zh) * 2020-10-28 2022-07-15 郑州轻工业大学 一种基于约瑟夫遍历和位平面重构的超混沌加密方法
CN112422268B (zh) * 2020-11-10 2021-08-20 郑州轻工业大学 一种基于分块置乱与状态转换的图像加密方法
CN114650342A (zh) * 2020-12-17 2022-06-21 Tcl商用信息科技(惠州)有限责任公司 一种图像加密方法、智能终端及计算机可读存储介质
CN112714235B (zh) * 2020-12-22 2021-10-26 郑州轻工业大学 一种基于填充曲线和相邻像素比特置乱的图像加密方法
CN112600663B (zh) * 2021-01-05 2022-09-06 电子科技大学 一种重构混沌序列多层加密方法
CN113645367B (zh) * 2021-07-14 2022-04-29 河南大学 批量图像组合加密方法及装置
CN113763493B (zh) * 2021-09-02 2023-08-04 国网湖北省电力有限公司检修公司 输电线路图像数据加密和解密方法
CN114239037B (zh) * 2021-12-27 2024-06-04 中国矿业大学 基于沙路法则的多图像加密方法
CN114697671B (zh) * 2022-06-01 2022-09-02 济宁明珠建筑工程有限公司 一种建筑工程质量管理***
CN115134475B (zh) * 2022-08-31 2022-11-08 智联信通科技股份有限公司 一种衡器鉴重智能管理***
CN115278181B (zh) * 2022-09-27 2022-12-20 中科金勃信(山东)科技有限公司 一种用于智能安防监控***的图像处理方法
CN115643110B (zh) * 2022-12-22 2023-03-10 河北新龙科技集团股份有限公司 基于运行数据的应用软件安全检测方法
CN115865308B (zh) * 2023-03-03 2023-06-16 深圳市川世达科技有限公司 一种用于半导体设备维修的图像数据处理方法
CN117459322B (zh) * 2023-12-22 2024-03-08 济南工程职业技术学院 基于物联网的计算机软件数据加密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107659751A (zh) * 2017-09-19 2018-02-02 中国矿业大学 基于dna编码和混沌的多图像加密方法
CN108898025A (zh) * 2018-06-25 2018-11-27 河南大学 基于双重置乱和dna编码的混沌图像加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912212B2 (en) * 2006-01-31 2011-03-22 The Board Of Trustees Of The University Of Illinois Symmetric cryptosystem using cascaded chaotic maps
CN104244011A (zh) * 2014-09-18 2014-12-24 陕西高新实业有限公司 一种基于混沌的图像压缩加密算法
CN108174053B (zh) * 2017-12-27 2020-05-12 陕西师范大学 一种有向面积和扑克牌映射的解密区域限定图像加密方法
CN108650434B (zh) * 2018-05-08 2019-08-20 吉林大学 一种图像加密的方法
CN109756322B (zh) * 2018-11-28 2020-08-18 郑州轻工业学院 基于des结构与dna编码的数字图像加密方法
CN110086600B (zh) * 2019-04-28 2020-11-06 郑州轻工业学院 一种基于超混沌***和变步长约瑟夫问题的图像加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107659751A (zh) * 2017-09-19 2018-02-02 中国矿业大学 基于dna编码和混沌的多图像加密方法
CN108898025A (zh) * 2018-06-25 2018-11-27 河南大学 基于双重置乱和dna编码的混沌图像加密方法

Also Published As

Publication number Publication date
CN111105339A (zh) 2020-05-05

Similar Documents

Publication Publication Date Title
CN111105339B (zh) 一种基于多维混沌***和约瑟夫置乱的图像加密方法
Zhu et al. 2D logistic-modulated-sine-coupling-logistic chaotic map for image encryption
Man et al. Double image encryption algorithm based on neural network and chaos
CN112084517B (zh) 一种基于混沌映射和比特级置换的图像加密方法
Hua et al. Image encryption using Josephus problem and filtering diffusion
Chai et al. Combining improved genetic algorithm and matrix semi-tensor product (STP) in color image encryption
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
CN109102452B (zh) 一种基于拉丁方阵置乱和双向扩散的图像加密方法
Wang et al. Pixel-level and bit-level image encryption method based on Logistic-Chebyshev dynamic coupled map lattices
CN112199690B (zh) 基于混合时滞的分数阶复杂***同步实现的图像加密方法
CN107590842B (zh) 基于像素和dna交叉动态混沌密码的图像加密方法和装置
Hraoui et al. A new cryptosystem of color image using a dynamic-chaos hill cipher algorithm
Zhu et al. Image encryption algorithm with an avalanche effect based on a six-dimensional discrete chaotic system
CN112202545B (zh) 基于y型填充曲线和变步长约瑟夫遍历的图像加密方法
CN107274457A (zh) 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法
CN107292805B (zh) 一种基于多参数分数阶离散Tchebichef变换的图像加密方法
CN107590394A (zh) 一种基于混沌映射和比特重组的图像加密方法
CN115580687B (zh) 基于变参数超混沌***与s形扩散的多图像加密方法
Liu et al. A color image encryption scheme based on a novel 3d chaotic mapping
Fang et al. A secure chaotic block image encryption algorithm using generative adversarial networks and DNA sequence coding
CN110225222B (zh) 一种基于3d正交拉丁方和混沌***的图像加密方法
Shakir et al. A new four-dimensional hyper-chaotic system for image encryption
Chong et al. Block color image encryption algorithm based on elementary cellular automata and DNA sequence operations
CN114374775A (zh) 基于Julia集和DNA编码的图像加密方法
CN112769545B (zh) 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant