CN107239709A - 一种混沌图像加密的方法、装置及系统 - Google Patents

一种混沌图像加密的方法、装置及系统 Download PDF

Info

Publication number
CN107239709A
CN107239709A CN201710423695.8A CN201710423695A CN107239709A CN 107239709 A CN107239709 A CN 107239709A CN 201710423695 A CN201710423695 A CN 201710423695A CN 107239709 A CN107239709 A CN 107239709A
Authority
CN
China
Prior art keywords
image
sequence
matrix
relational expression
dimensional
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.)
Granted
Application number
CN201710423695.8A
Other languages
English (en)
Other versions
CN107239709B (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201710423695.8A priority Critical patent/CN107239709B/zh
Publication of CN107239709A publication Critical patent/CN107239709A/zh
Application granted granted Critical
Publication of CN107239709B publication Critical patent/CN107239709B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明实施例公开了一种混沌图像加密的方法、装置及系统,包括生成与明文图像唯一对应的控制参数S和迭代次数K;依据控制参数S、迭代次数K得到第一混沌序列;依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;将与第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对第一一维序列中的元素进行滑块加密,以得到第二一维序列;将第二一维序列进行二维转换,以得到加密后的密文图像。可见,本发明实施例在使用过程中增强了明密文之间的关联性,提高了图像加密的安全性。

Description

一种混沌图像加密的方法、装置及系统
技术领域
本发明实施例涉及图像加密技术领域,特别是涉及一种混沌图像加密的方法、装置及系统。
背景技术
随着数字通讯行业和数字多媒体技术的迅猛发展,图像信息的存储与在开放信道传输的安全性愈发引起人们的关注。对数字图像的未授权转载和侵权使用使得图像加密变得更加重要。我们可以通过诸如IDEA或AES等算法对数据信息进行加密。近年来,基于混沌的图像加密技术在图像加密中的应用越来越广泛。混沌系统具有伪随机性和敏感依赖性,初始值和控制参数的细微变化会引起最终状态发生显著的改变。也正是这些特点使得更多的密码学研究人员把混沌系统应用到图像加密中。
通常,基于混沌图像加密的方法一般遵循两个个基本原则,即混淆和扩散。也就是,先对图像进行像素位置的置乱,然后再对各像素点的值进行替代,最终实现图像加密。
现有技术中的混沌图像加密方法,首先通过计算明文图像所有像素点的和(sum),然后再根据sum进一步求出控制参数S和预迭代次数K。通过该控制参数S和预迭代次数K得到与明文图像对应的混沌序列,从而依据该混沌序列实现对明文图像进行加密。虽然,当对明文图像中的某一个像素点的值进行改变时,将导致像素和sum的变化,从而导致混沌序列的变化,从而抵御攻击,但是,当对明文图像中的一个像素点的值增加某一个数,将另一个像素点的值减少该数值,则最终得到的像素和sum不变,也即最终得到的混沌序列与原来的明文图像得到的混沌序列一样,并且最终产生的密文图像与原始明文图像对应的密文图像只会有两个点的像素值不同,而其他的像素点的值没有变化,明密文之间的关联性较低,从而导致加密图像容易受到攻击,使现有技术中的混沌图像加密方法的安全性降低。
因此,如何提供一种解决上述技术问题的混沌图像加密的方法、装置及系统成为本领域的技术人员目前需要解决的问题。
发明内容
本发明实施例的目的是提供一种混沌图像加密的方法、装置及系统,在使用过程中增强了明密文之间的关联性,提高了图像加密的安全性。
为解决上述技术问题,本发明实施例提供了一种混沌图像加密的方法,包括:
S11:生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K;
S12:依据所述控制参数S、所述迭代次数K得到第一混沌序列;
S13:依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
S14:按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
S15:将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列;
S16:将所述第二一维序列进行二维转换,以得到加密后的密文图像。
可选的,所述生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K的过程具体为:
S110:采用MD5算法对明文图像进行处理,生成与所述明文图像唯一对应的hash值H,所述明文图像为大小为m×n的灰度图像;
S111:依据所述H以及第一计算关系式和第二计算关系式计算出控制参数S和迭代次数K;所述第一计算关系式为S=H/1040,所述第二计算关系式为K=1000+mod(H,1000)。
可选的,所述依据所述控制参数S、所述迭代次数K得到第一混沌序列的过程具体为:
S120:依据所述控制参数S和所述迭代次数K以及第三计算关系式得到第一混沌序列L;其中,所述第三计算关系式为所述L={L1,L2,L3,…,Li,…,Lm×n},初始密钥为x0,n∈[0,m×n-1]。
可选的,所述依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度的过程具体为:
S130:对所述第一混沌序列L中的元素按照预定规则进行排序,得到第二混沌序列L',所述L'={L1',L2',L3',…,Li',…,Lm×n'},并得到用于记录所述第二混沌序列L'中的各个元素在所述第一混沌序列L种的位置的下标序列T,所述T={T1,T2,T3,…,Ti,…,Tm×n};
S131:依据下标序列T中的元素Ti、第四计算关系式、第五计算关系式以及第六计算关系式经计算得到与所述Ti对应的旋转子矩阵中的左上角元素的位置;其中:
所述第四计算关系式为rowi=[Ti/n],所述rowi表示所述左上角元素的行标;所述第五计算关系式为v=mod(Ti,n);所述第六计算关系式为所述coli表示所述左上角元素的列标;
S132:依据所述Ti、第七计算关系式以及第八计算关系式经计算得出所述Ti对应的旋转子矩阵的大小;其中:
所述第七计算关系式为r=m-rowi+1,c=n-coli+1,所述r表示行数,c表示列数;所述第八计算关系式为sizei表示所述旋转子矩阵的大小;
S133:依据所述第一混沌序列中的Li、第九计算关系式以及第十计算关系式经计算得出所述Ti对应的旋转子矩阵的旋转角度;其中:
所述第九计算关系式为ki=mod([108×Li],4);
所述第十关系式为
则,所述按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像的过程具体为:
S140:依据所述位置和所述大小确定所述旋转子矩阵在所述明文图像对应的像素矩阵中的位置,并按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素;
S141:重复S131-133直至i=m×n,得到经过全局位置置乱后的第二图像。
可选的,所述预设规则为从小到大的规则。
可选的,所述将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列的过程具体为:
将与所述第二图像对应的像素矩阵按照行优先的顺序进行一维转换得到第一一维序列。
可选的,所述对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列的过程具体为:
S150:计算得出与所述第二图像对应的第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};
S151:依据计算关系式β=mod(Wi,α)+1得到当前滑块长度;其中,所述第一一维序列为W,W={W1,W2,W3,…,Wi,…,Wm×n},α∈(0,m×n],且所述α为整数;
S152:将以Wi为起点、长度为β的滑块内的所有元素依次与Ji进行异或操作,并将每个元素的异或结果分别替代相应的原始元素;
S153:令i=i+1使滑块向后移动,并重复S23和S24,直至i=m×n,以得到第二一维序列W'。
可选的,所述计算得出与所述第二图像对应的第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n}的过程具体为:
依据所述第二图像得到Kent混沌系统的第二控制参数S'以及迭代次数K';
依据所述第二控制参数S'以及所述迭代次数K',得到第四混沌序列J'={J1',J2',J3',…,Ji',…,Jm×n'};
将所述第四混沌序列中的各个元素依次依据第十一计算关系式进行转换,使转换后的每个元素的取值范围为[0,255],以得到所述第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};其中:
所述第十一计算关系式为Ji=mod(Ji'×108,256),1≤i≤m×n。
为解决上述技术问题,本发明实施例提供了一种混沌图像加密的装置,包括:
生成模块,用于生成与明文图像唯一对应的控制参数S和迭代次数K;还用于依据所述控制参数S、所述迭代次数K得到第一混沌序列;
旋转子矩阵获取模块,用于依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
旋转置换模块,用于按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
滑块加密模块,用于将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列;
密文图像转换模块,用于将所述第二一维序列进行一维转换得到加密后的密文图像。
为解决上述技术问题,本发明实施例提供了一种混沌图像加密的系统,包括如上述所述的混沌图像加密的系统。
本发明实施例公开了一种混沌图像加密的方法、装置及系统,包括:生成与明文图像唯一对应的控制参数S和迭代次数K;依据控制参数S、迭代次数K得到第一混沌序列;依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;将与第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对第一一维序列中的元素进行滑块加密,以得到第二一维序列;将第二一维序列进行二维转换得到加密后的密文图像。
可见,本发明实施例通过与明文图像唯一对应的控制参数和迭代次数得到第一混沌序列,并依据该第一混沌序列找到旋转子矩阵,按照相应的选择角度进行旋转,以对明文图像进行全局旋转置乱;并将经全局旋转置乱后的第二图像相应的滑块加密,使每个像素点的加密结果都会影响到其他若干像素点的解密结果,从而实现对不同的明文图像加密会产生完全不同的密文图像,增强了明密文之间的关联性,提高了图像加密的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种混沌图像加密的方法的流程示意图;
图2为本发明实施例提供的一种混沌图像加密的装置的结构示意图。
具体实施方式
本发明实施例提供了一种混沌图像加密的方法、装置及系统,在使用过程中增强了明密文之间的关联性,提高了图像加密的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种混沌图像加密的方法的流程示意图。该方法包括:
S11:生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K;
S12:依据控制参数S、迭代次数K得到第一混沌序列;
S13:依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
S14:按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
S15:将与第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对第一一维序列中的元素进行滑块加密,以得到第二一维序列;
S16:将第二一维序列进行二维转换,以得到加密后的密文图像。
需要说明的是,本发明实施例在对明文图像进行加密的过程中一共包括两部分的加密,第一部分是对明文图像对应的像素矩阵进行矩阵旋转,以得到全局置乱的第二图像;第二部分是对经全局置乱后得到的第二图像进行滑块加密的像素值替代,进一步得到与明文图像相对应的密文图像。
具体的过程如下:
首先,对明文图像对应的像素矩阵进行矩阵旋转,以得到全局置乱的第二图像。
在步骤S11中生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K的过程,具体可以为:
S110:采用MD5算法对明文图像进行处理,生成与明文图像唯一对应的hash值H,明文图像为大小为m×n的灰度图像;
S111:依据H以及第一计算关系式和第二计算关系式计算出控制参数S和迭代次数K;第一计算关系式为S=H/1040,第二计算关系式为K=1000+mod(H,1000)。
可以理解的是,在实际应用中可以通过MD5算法对明文图像进行处理,并生成一个与该明文图像唯一对应的hash值,例如该hash值可以为一个32位的16进制数,此时需要将这个数转换为十进制的数H,即得到hash值H,进一步利用该H结合计算第一计算关系式为S=H/1040,第二计算关系式为K=1000+mod(H,1000)即可计算出与Kent混沌系统的、明文图像对应的控制参数S和迭代次数K。
需要说明的是,由于MD5算法具有抗修改性的特点,并且采用MD5算法对图像数据进行处理时,如果对原数据进行任何改动,哪怕只是修改1个字节,所得到的MD5值都将会有很大区别。故,我们把MD5算法应用到混沌系统控制参数的生成中,对于一个明文图像而言,只要有一个像素点被修改则所生成的与hash值将会发生改变,从而导致依据该hash值得到的混沌系统控制参数将完全不同,致使最终的密文图像也完全发生改变。所以,本发明实施例中优选的采用MD5算法对明文图像进行处理,当然,也可以采用其他的算法对该明文图像进行处理以得到与该明文图像唯一对应的hash值H,具体采用哪种方法本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。
在步骤S12中,依据控制参数S、迭代次数K得到第一混沌序列的过程,具体可以为:
S120:依据控制参数S和迭代次数K以及第三计算关系式得到第一混沌序列L;其中,第三计算关系式为L={L1,L2,L3,…,Li,…,Lm×n},初始密钥为x0,n∈[0,m×n-1]。
需要说明的是,预先设置相应的初始密钥x0,其取值范围为(0,1),并将控制参数S初始密钥x0代入第三计算关系式中,预迭代Kent混沌系统K次以消除暂态效应带来的不良影响,然后再继续迭代m×n次,从而产生长度为m×n的第一混沌序列L。
进一步,步骤S13中的依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度的过程,具体可以为:
S130:对第一混沌序列L中的元素按照预定规则进行排序,得到第二混沌序列L',L'={L1',L2',L3',…,Li',…,Lm×n'},并得到用于记录第二混沌序列L'中的各个元素在第一混沌序列L种的位置的下标序列T,T={T1,T2,T3,…,Ti,…,Tm×n};
具体的,可以按照从小到大的规则将第一混沌序列L中的各个元素进行排序,例如m×n=4,则第一混沌序列L={L1,L2,L3,L4},并且将L中的四个元素按照从小到大的顺序排序后得到的第二混沌序列L'={L3,L4,L2,L1},则下标序列T={3,4,2,1},也即L1'=L3、T1=3,表示L1'在L中的位置为第3个。
需要说明的是,本发明实施例中的预设规则,不仅限于采用从小到大的规则,也可以采用从大到小的规则将第一混沌序列L中的各个元素进行排序。当然,L中的各个元素也可以采用其他的规则进行排序,具体采用哪种规则,本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。
S131:依据下标序列T中的元素Ti、第四计算关系式、第五计算关系式以及第六计算关系式经计算得到与Ti对应的旋转子矩阵中的左上角元素的位置;其中:
第四计算关系式为rowi=[Ti/n],rowi表示左上角元素的行标;第五计算关系式为v=mod(Ti,n);第六计算关系式为coli表示左上角元素的列标;
需要说明的是,在确定旋转子矩阵时,可以先确定旋转子矩阵的位置,并且可以通过确定该旋转子矩阵中的左上角元素的位置以及旋转子矩阵的大小来确定该旋转子矩阵的位置,当然,也可以通过其他的方法确定旋转子矩阵的位置,本发明实施例对此不做特殊的限定,能实现本发明实施例的目的即可。
具体的,通过第四计算关系式rowi=[Ti/n],可以计算出与Ti相对于的旋转子矩阵中的左上角元素的行标,也即该左上角元素在明文图像对应的像素矩阵中位于哪一行,其中,[num]表示对数据num向上取整;通过第五计算关系式v=mod(Ti,n),计算出与Ti相对于的旋转子矩阵中的左上角元素的列标,以确定该左上角元素在明文图像对应的像素矩阵中位于哪一列,进一步通过行标和列标可以得到该左上角元素在明文图像对应的像素矩阵中的位置。
S132:依据Ti、第七计算关系式以及第八计算关系式经计算得出Ti对应的旋转子矩阵的大小;其中:
第七计算关系式为r=m-rowi+1,c=n-coli+1,r表示行数,c表示列数;第八计算关系式为sizei表示旋转子矩阵的大小;
进一步的,当计算出与Ti相对于的旋转子矩阵中的左上角元素的行标和列标后,即确定了左上角元素的位置,再将行标rowi和列标coli代入至第七计算关系式r=m-rowi+1,c=n-coli+1,中即可得到行数r和列数c;并进一步通过r、c和第八计算关系式确定该旋转子矩阵的大小,即该旋转子矩阵的大小等于r和c较小的一个。
S133:依据第一混沌序列中的Li、第九计算关系式以及第十计算关系式经计算得出Ti对应的旋转子矩阵的旋转角度;其中:
第九计算关系式为ki=mod([108×Li],4);
第十关系式为
则,按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像的过程具体为:
S140:依据位置和大小确定旋转子矩阵在明文图像对应的像素矩阵中的位置,并按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素;
S141:重复S131-133直至i=m×n,得到经过全局位置置乱后的第二图像。
需要说明的是,通过上述方法可以在明文图像对应的像素矩阵中确定T1对应的旋转子矩阵的位置及其旋转角度,并将T1对应的旋转子矩阵按照相应的旋转角度进行旋转,使旋转后的元素依次替换原来位置上的元素,得到一个新的像素矩阵;接着在上述新得到的像素矩阵的基础上确定T2对应的旋转子矩阵的位置及其旋转角度,并按照相应的旋转角度将该进行旋转,同样将旋转后的元素替换原来位置上的元素,并再次得到一个新的像素矩阵;如此循环进行直至i=m×n,并将Tm×n对应的旋转子矩阵按照相应的旋转角度进行旋转后,对相应的元素进行替换,最终得到经过全局位置置乱后的第二图像。
例如,对于大小为4×4的灰度图像A4×4而言,其像素矩阵为其中m=4,n=4,假设第一混沌序列对应的下标序列中的T1=7,旋转角度为90°,则T1对应的旋转子矩阵中左上角元素的行标row1=[7/4,]得出row1=2,并且由v=mod(7,4)≠0可以得到左上角元素的列标为coli=3。进一步,根据第七计算关系式和第八计算关系式可以得到r=3,c=2,由于c<r,所以T1对应的旋转子矩阵的大小为2。
由上述可以确定,T1对应的旋转子矩阵为则将该旋转子矩阵旋转90°之后,原来的像素矩形A将变换为
在上述基础上,接着对T2对应的旋转子矩阵进行相应的旋转,并用旋转后的元素替代原来位置上的元素,得到本次旋转置换后的像素矩阵,并再次基础上进一步依次对T3对应的旋转子矩阵进行旋转置换,直至对T4对应的旋转子矩阵进行旋转置换后得到最终经过全局位置置乱后的图像A'。
其次,在得到全局置乱的第二图像后,对经全局置乱后得到的第二图像进行滑块加密的像素值替代,进一步得到与明文图像相对应的密文图像。
具体过程如下:
在步骤S15中,将与第二图像对应的像素矩阵进行一维转换得到第一一维序列的过程,具体可以为:
将与第二图像对应的像素矩阵按照行优先的顺序进行一维转换得到第一一维序列。
当然,也可以按照列优先的顺序将与第二图像对应的像素矩阵进行转换以得到第一一维矩阵,具体如何将其转换为第一一维矩阵本发明实施例对此不作特殊的限定,能实现本发明实施例的目的即可。
进一步的,步骤S15中的对第一一维序列中的元素进行滑块加密,以得到第二一维序列的过程,具体可以为:
S150:计算得出与第二图像对应的第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};
具体的,首先可以依据第二图像得到Kent混沌系统的第二控制参数S'以及迭代次数K';可以设定Kent混沌系统的初始值为x0',且x0'的取值范围为(0,1),其具体数值可以根据实际情况而定。
再依据第二控制参数S'以及迭代次数K',得到第四混沌序列J'={J1',J2',J3',…,Ji',…,Jm×n'};
需要说明的是,通过将第二控制参数S'代入至第三计算关系式中,并经Kent混沌系统迭代K'次以消除暂态效应,并继续迭代m×n次,从而产生第四混沌序列J'。
因为,由Kent混沌系统计算得到的数据均为小数,所以需要将这些小数整数化,并且使第四混沌序列J'中的每个元素的取值范围在[0,255]之间。
具体的,可以将第四混沌序列中的各个元素依次依据第十一计算关系式进行转换,使转换后的每个元素的取值范围为[0,255],从而就可以得到第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};其中,第十一计算关系式为Ji=mod(Ji'×108,256),1≤i≤m×n。
S151:依据计算关系式β=mod(Wi,α)+1得到当前滑块长度;其中,第一一维序列为W,W={W1,W2,W3,…,Wi,…,Wm×n},α∈(0,m×n],且为整数;
可以理解的是,可以通过行优先的顺序将通过全局置乱后得到的第二图像进行转换,转换为长度为m×n的第一一维序列,例如该第一一维序列W,W={W1,W2,W3,…,Wi,…,Wm×n},并且可以依据β=mod(Wi,α)+1可以计算出相应的元素Wi对应的滑块长度βi。其中,预设常数α可以为滑块的最大长度,α的取值范围可以为(0,m×n],并且当α=30时,加解密效率最高,同时加密效果也比较好。
S152:将以Wi为起点、长度为β的滑块内的所有元素依次与Ji进行异或操作,并将每个元素的异或结果分别替代相应的原始元素;S153:令i=i+1使滑块向后移动,并重复S23和S24,直至i=m×n,以得到第二一维序列W'。
具体的,首先可以根据β=mod(Wi,α)+1计算出i=1时的W1对应的滑块长度β1,并且将元素W1为起点,长度为β1的滑块内部的各个元素长度与J1进行异或操作,并将每个元素的异或结果分别替代滑块中相应的原始元素;此时得到一个新的一维序列;在上述得到的新的一维序列的基础上,滑块向后移动一个单位,即滑块的起始位置移动至元素W2所在的位置,并可以根据β=mod(Wi,α)+1计算出i=2时的W2对应的滑块长度β2,然后将长度为β2、起始位置为W2的滑块内部的各个元素分别与J2进行异或操作,将每个元素的异或结果分别替代该滑块中相应的原始元素,进一步得到一个新的一维序列;如此循环进行,直至i=m×n,也即将长度为βm×n、起始位置为Wm×n的滑块内部的各个元素分别与Jm×n进行异或操作,并将每个元素的异或结果分别替代该滑块中相应的原始元素,以得到最终的一维序列(即第二一维序列W'),此时,滑块加密结束,再通过行优先的顺序将第二一维序列W'转换为加密后的密文图像即完成整个混沌图像的加密过程。
例如,假设第一一维序列W={3,4,10,7,5,8,9,3,9,2},第三混沌序列J={5,7,7,2,8,7,2,1,8,4},α=5。当i=1时,对于W1,β1=mod(3,5)+1=4,则第一个滑块中的元素为{3,4,10,7},该滑块中的元素分别与J1=5进行异或操作得到{6,1,15,2},则用异或结果分别代替原始元素{3,4,10,7},得到一个新的一维序列W1'={6,1,15,2,5,8,9,3,9,2};进一步在一维序列W1'的基础上计算W2对应的滑块长度β2=mod(1,5)+1=2,所以第二个滑块是以一维序列W1'中的第二个元素W2=1为起始位置,长度为2的滑块,第二个滑块中的元素为{1,15},则将第二个滑块中的每个元素分别与J2=7进行异或操作得到{6,8},则用异或结果6和8分别代替一维序列W1'中的第二和第三个元素,得到新的一维序列W2'={6,6,8,2,5,8,9,3,9,2},;依次按照上述方法进行循环操作,直至i=10,并得到最终的滑块加密后的第二一维序列W'。
还需要说明的是,对于本发明实施例中所提供的混沌图像加密的方法的解密过程也就是加密的逆过程,具体如下:
第一阶段的处理为像素值的反替代操作。先取出密文图像的第1个点的像素值C1,然后计算该点与混沌序列J的第一个元素J1异或的结果为该点解密后的值W1,然后计算β=mod(Wi,α),使第1个元素之后的β个元素均与W1进行异或。对于第2个元素,先使其与J2进行异或,以得到原始的W2,将已解密的元素组合成新序列W'={W1',W2'}。接下来继续求后面元素的值,首先,使用加密的原理,计算W2'的加密结果,并进一步求出β'=mod(W2',α),然后使第2个元素之后的β'个元素均与J2异或,替换原来的像素值。不断重复上述步骤,直到i值达到m×n。此时的序列W是经过全局置乱后的图像对应的第一一维序列。
第二阶段的处理为反全局像素位置置乱。首先,把第一阶段处理得到的第一一维序列W按行优先的顺序转化为大小为m×n的置乱矩阵A'。然后,计算下标序列T最后一个元素Tm×n的位置以及相应的旋转角度,使其对应的旋转子矩阵朝相反的方向旋转同样的角度,从后向前依次对序列Tm×n中的所有元素对应A'内的旋转子矩阵进行旋转。直到操作完T序列中的所有元素对应的旋转子矩阵为止。最后得到的矩阵则是明文图像对应的像素矩阵,从而就可以得到经过恢复的解密图像。
另外,本发明实施例中选择像素点位置置乱阶段混沌系统的初始密钥x0,像素点值替代阶段的混沌迭代初始值x0',以及控制参数S'为该加密算法的密钥。这三个参数的数值的取值范围都是0至1的任意浮点数。若不去考虑实际的限制条件,其均可以取小数点后面的任意位数,若考虑到实际存储的话,每个双精度数据最多都可以保留16位小数。那么本发明实施例中的加密方法可以使密钥空间达到1048,如此大的密钥空间,通过暴力破解的方法是无法还原图像的。
此外,如果初始密钥发送及其细微的改变(例如改变10-15)也无法得到正确的原始图像(既无法得到原来的明文图像)。同理,将其他的任意参数做细微改变均会使其得到与原来的明文图像完全不同的明文图像。由此可知,本发明实施例提供的混沌图像加密方法的敏感性较高。从而说明本发明实施例具有较高的安全性,并且敏感性越高,抗攻击能量越强(例如防止选择明密文攻击的能力越强)。
进一步,本申请中所提供的图像加密方法能够较好的实现破坏相邻像素点之间的相关性,使得密文图像的像素点具有了更好的随机分布特性,从而也提高了加密图像的安全性。
本发明实施例公开了一种混沌图像加密的方法,包括:生成与明文图像唯一对应的控制参数S和迭代次数K;依据控制参数S、迭代次数K得到第一混沌序列;依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;将与第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对第一一维序列中的元素进行滑块加密,以得到第二一维序列;将第二一维序列进行二维转换得到加密后的密文图像。
可见,本发明实施例通过与明文图像唯一对应的控制参数和迭代次数得到第一混沌序列,并依据该第一混沌序列找到旋转子矩阵,按照相应的选择角度进行旋转,以对明文图像进行全局旋转置乱;并将经全局旋转置乱后的第二图像相应的滑块加密,使每个像素点的加密结果都会影响到其他若干像素点的解密结果,从而实现对不同的明文图像加密会产生完全不同的密文图像,增强了明密文之间的关联性,提高了图像加密的安全性。
相应的,本发明实施例还公开了一种混沌图像加密的装置,具体请参照图2,图2为本发明实施例提供的一种混沌图像加密的装置的结构示意图。
该装置包括:
生成模块1,用于生成与明文图像唯一对应的控制参数S和迭代次数K;还用于依据控制参数S、迭代次数K得到第一混沌序列;
旋转子矩阵获取模块2,用于依据第一混沌序列得到明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
旋转置换模块3,用于按照旋转角度将旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
滑块加密模块4,用于将与第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对第一一维序列中的元素进行滑块加密,以得到第二一维序列;
密文图像转换模块5,用于将第二一维序列进行一维转换得到加密后的密文图像。
需要说明的是,本发明实施例在使用的过程中增强了明密文之间的关联性,提高了图像加密的安全性。另外,对于本发明实施例中涉及到的方法的具体介绍请参照上述实施例,本申请在此不再赘述。
在上述实施例的基础上,本发明实施例提供了一种混沌图像加密的系统,包括如上述的混沌图像加密的系统。
需要说明的是,本发明实施例在使用的过程中增强了明密文之间的关联性,提高了图像加密的安全性。另外,对于本发明实施例中涉及到的方法的具体介绍请参照上述方法实施例,本申请在此不再赘述。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种混沌图像加密的方法,其特征在于,包括:
S11:生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K;
S12:依据所述控制参数S、所述迭代次数K得到第一混沌序列;
S13:依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
S14:按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
S15:将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列;
S16:将所述第二一维序列进行二维转换,以得到加密后的密文图像。
2.根据权利要求1所述的混沌图像加密的方法,其特征在于,所述生成与明文图像唯一对应的、Kent混沌系统的控制参数S和迭代次数K的过程具体为:
S110:采用MD5算法对明文图像进行处理,生成与所述明文图像唯一对应的hash值H,所述明文图像为大小为m×n的灰度图像;
S111:依据所述H以及第一计算关系式和第二计算关系式计算出控制参数S和迭代次数K;所述第一计算关系式为S=H/1040,所述第二计算关系式为K=1000+mod(H,1000)。
3.根据权利要求2所述的混沌图像加密的方法,其特征在于,所述依据所述控制参数S、所述迭代次数K得到第一混沌序列的过程具体为:
S120:依据所述控制参数S和所述迭代次数K以及第三计算关系式得到第一混沌序列L;其中,所述第三计算关系式为所述L={L1,L2,L3,…,Li,…,Lm×n},初始密钥为x0,n∈[0,m×n-1]。
4.根据权利要求3所述的混沌图像加密的方法,其特征在于,所述依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度的过程具体为:
S130:对所述第一混沌序列L中的元素按照预定规则进行排序,得到第二混沌序列L',所述L'={L1',L2',L3',…,Li',…,Lm×n'},并得到用于记录所述第二混沌序列L'中的各个元素在所述第一混沌序列L种的位置的下标序列T,所述T={T1,T2,T3,…,Ti,…,Tm×n};
S131:依据下标序列T中的元素Ti、第四计算关系式、第五计算关系式以及第六计算关系式经计算得到与所述Ti对应的旋转子矩阵中的左上角元素的位置;其中:
所述第四计算关系式为rowi=[Ti/n],所述rowi表示所述左上角元素的行标;所述第五计算关系式为v=mod(Ti,n);所述第六计算关系式为所述coli表示所述左上角元素的列标;
S132:依据所述Ti、第七计算关系式以及第八计算关系式经计算得出所述Ti对应的旋转子矩阵的大小;其中:
所述第七计算关系式为r=m-rowi+1,c=n-coli+1,所述r表示行数,c表示列数;所述第八计算关系式为sizei表示所述旋转子矩阵的大小;
S133:依据所述第一混沌序列中的Li、第九计算关系式以及第十计算关系式经计算得出所述Ti对应的旋转子矩阵的旋转角度;其中:
所述第九计算关系式为ki=mod([108×Li],4);
所述第十关系式为
则,所述按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像的过程具体为:
S140:依据所述位置和所述大小确定所述旋转子矩阵在所述明文图像对应的像素矩阵中的位置,并按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素;
S141:重复S131-133直至i=m×n,得到经过全局位置置乱后的第二图像。
5.根据权利要求4所述的混沌图像加密的方法,其特征在于,所述预设规则为从小到大的规则。
6.根据权利要求4所述的混沌图像加密的方法,其特征在于,所述将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列的过程具体为:
将与所述第二图像对应的像素矩阵按照行优先的顺序进行一维转换得到第一一维序列。
7.根据权利要求1-6任意一项所述的混沌图像加密的方法,其特征在于,所述对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列的过程具体为:
S150:计算得出与所述第二图像对应的第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};
S151:依据计算关系式β=mod(Wi,α)+1得到当前滑块长度;其中,所述第一一维序列为W,W={W1,W2,W3,…,Wi,…,Wm×n},α∈(0,m×n],且所述α为整数;
S152:将以Wi为起点、长度为β的滑块内的所有元素依次与Ji进行异或操作,并将每个元素的异或结果分别替代相应的原始元素;
S153:令i=i+1使滑块向后移动,并重复S151和S152,直至i=m×n,以得到第二一维序列W'。
8.根据权利要求5所述的混沌图像加密的方法,其特征在于,所述计算得出与所述第二图像对应的第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n}的过程具体为:
依据所述第二图像得到Kent混沌系统的第二控制参数S'以及迭代次数K';
依据所述第二控制参数S'以及所述迭代次数K',得到第四混沌序列J'={J1',J2',J3',…,Ji',…,Jm×n'};
将所述第四混沌序列中的各个元素依次依据第十一计算关系式进行转换,使转换后的每个元素的取值范围为[0,255],以得到所述第三混沌序列J={J1,J2,J3,…,Ji,…,Jm×n};其中:
所述第十一计算关系式为Ji=mod(Ji'×108,256),1≤i≤m×n。
9.一种混沌图像加密的装置,其特征在于,包括:
生成模块,用于生成与明文图像唯一对应的控制参数S和迭代次数K;还用于依据所述控制参数S、所述迭代次数K得到第一混沌序列;
旋转子矩阵获取模块,用于依据所述第一混沌序列得到所述明文图像对应的像素矩阵中的旋转子矩阵及相应的旋转角度;
旋转置换模块,用于按照所述旋转角度将所述旋转子矩阵进行旋转,将旋转后的元素替换原来位置上的元素,得到经过全局位置置乱后的第二图像;
滑块加密模块,用于将与所述第二图像对应的像素矩阵进行一维转换得到第一一维序列,并对所述第一一维序列中的元素进行滑块加密,以得到第二一维序列;
密文图像转换模块,用于将所述第二一维序列进行一维转换得到加密后的密文图像。
10.一种混沌图像加密的系统,其特征在于,包括如权利要求9所述的混沌图像加密的系统。
CN201710423695.8A 2017-06-07 2017-06-07 一种混沌图像加密的方法、装置及系统 Active CN107239709B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710423695.8A CN107239709B (zh) 2017-06-07 2017-06-07 一种混沌图像加密的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710423695.8A CN107239709B (zh) 2017-06-07 2017-06-07 一种混沌图像加密的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107239709A true CN107239709A (zh) 2017-10-10
CN107239709B CN107239709B (zh) 2020-08-11

Family

ID=59986100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710423695.8A Active CN107239709B (zh) 2017-06-07 2017-06-07 一种混沌图像加密的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107239709B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944286A (zh) * 2017-12-01 2018-04-20 河海大学 一种基于明文特征的图像置乱方法
CN108875389A (zh) * 2018-06-04 2018-11-23 河南师范大学 一种基于混沌映射的动态s盒构造与图像加密方法
CN108986198A (zh) * 2018-06-20 2018-12-11 北京微播视界科技有限公司 图像映射方法、装置、硬件装置和计算机可读存储介质
CN109145624A (zh) * 2018-08-29 2019-01-04 广东工业大学 一种基于Hadoop平台的多混沌文本加密算法
CN111447054A (zh) * 2020-05-28 2020-07-24 北京邮电大学 基于五维超混沌的fbmc无源光网络物理层加密方法及装置
CN112968762A (zh) * 2021-04-12 2021-06-15 中国矿业大学 基于混沌和块旋转的多图像置乱方法
CN113612596A (zh) * 2021-07-02 2021-11-05 重庆邮电大学 一种基于超混沌系统的图像自解密方法
CN115664639B (zh) * 2022-12-09 2023-03-03 深圳迅策科技有限公司 一种金融资产交易数据传输加密方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931175A (zh) * 2016-04-28 2016-09-07 广西师范大学 一种基于混沌技术的新型图像置乱方法
CN106570815A (zh) * 2016-10-21 2017-04-19 广东工业大学 一种基于双混沌系统和分块的图像加密方法
CN106651735A (zh) * 2016-09-08 2017-05-10 广东工业大学 一种基于混沌理论的数字图像并行加密方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105931175A (zh) * 2016-04-28 2016-09-07 广西师范大学 一种基于混沌技术的新型图像置乱方法
CN106651735A (zh) * 2016-09-08 2017-05-10 广东工业大学 一种基于混沌理论的数字图像并行加密方法
CN106570815A (zh) * 2016-10-21 2017-04-19 广东工业大学 一种基于双混沌系统和分块的图像加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吴新亚等: "应用水印旋转角度加密的双水印算法", 《华侨大学学报(自然科学版)》 *
李婵媛: "基于混沌理论的自适应参数图像加密算法", 《科技资讯》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107944286A (zh) * 2017-12-01 2018-04-20 河海大学 一种基于明文特征的图像置乱方法
CN107944286B (zh) * 2017-12-01 2021-06-01 河海大学 一种基于明文特征的图像置乱方法
CN108875389B (zh) * 2018-06-04 2021-04-16 河南师范大学 一种基于混沌映射的动态s盒构造与图像加密方法
CN108875389A (zh) * 2018-06-04 2018-11-23 河南师范大学 一种基于混沌映射的动态s盒构造与图像加密方法
CN108986198A (zh) * 2018-06-20 2018-12-11 北京微播视界科技有限公司 图像映射方法、装置、硬件装置和计算机可读存储介质
CN108986198B (zh) * 2018-06-20 2020-11-03 北京微播视界科技有限公司 图像映射方法、装置、硬件装置和计算机可读存储介质
CN109145624A (zh) * 2018-08-29 2019-01-04 广东工业大学 一种基于Hadoop平台的多混沌文本加密算法
CN109145624B (zh) * 2018-08-29 2021-10-19 广东工业大学 一种基于Hadoop平台的多混沌文本加密算法
CN111447054B (zh) * 2020-05-28 2021-05-14 北京邮电大学 基于五维超混沌的fbmc无源光网络物理层加密方法及装置
CN111447054A (zh) * 2020-05-28 2020-07-24 北京邮电大学 基于五维超混沌的fbmc无源光网络物理层加密方法及装置
CN112968762A (zh) * 2021-04-12 2021-06-15 中国矿业大学 基于混沌和块旋转的多图像置乱方法
CN112968762B (zh) * 2021-04-12 2022-04-01 中国矿业大学 基于混沌和块旋转的多图像置乱方法
CN113612596A (zh) * 2021-07-02 2021-11-05 重庆邮电大学 一种基于超混沌系统的图像自解密方法
CN115664639B (zh) * 2022-12-09 2023-03-03 深圳迅策科技有限公司 一种金融资产交易数据传输加密方法

Also Published As

Publication number Publication date
CN107239709B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN107239709A (zh) 一种混沌图像加密的方法、装置及系统
Ye et al. An efficient symmetric image encryption algorithm based on an intertwining logistic map
Zhan et al. Cross-utilizing hyperchaotic and DNA sequences for image encryption
Ye et al. An efficient chaotic image encryption algorithm based on a generalized Arnold map
Ismail et al. A digital image encryption algorithm based a composition of two chaotic logistic maps.
Wu et al. A new color image encryption scheme using CML and a fractional-order chaotic system
Sun et al. A new cryptosystem based on spatial chaotic system
CN106327414B (zh) 一种基于明文自身特性的双混沌图像加密方法
CN109889686B (zh) 基于h分形结构和动态自可逆矩阵的图像加密方法
CN109800585B (zh) 一种图像插值空间完全可逆可分离密文域信息隐藏算法
CN102196320A (zh) 一种图像加解密系统
Hanchinamani et al. An efficient image encryption scheme based on a Peter De Jong chaotic map and a RC4 stream cipher
CN112800444B (zh) 基于二维混沌映射的彩色图像加密方法
CN105184115A (zh) 用于将隐式完整性或可信性检查包括到白箱实现中的方法
CN104268825A (zh) 一种针对图像的加密及密文处理方法
CN109618073A (zh) 一种基于超混沌Chen系统的多图加密方法
Huynh et al. Quadri-directional searching algorithm for secret image sharing using meaningful shadows
Yang et al. Dual embedding model: a new framework for visually meaningful image encryption
Hassan Proposed hyperchaotic system for image encryption
Mohammed et al. Cryptosystems using an improving hiding technique based on latin square and magic square
CN107578363A (zh) 基于多混沌链式算法和位平面的数字图像加解密方法
CN113076551B (zh) 基于提升方案和跨分量置乱的彩色图像加密方法
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
Sun et al. An image encryption algorithm utilizing Mandelbrot set
CN107590843B (zh) 基于构造的二维可逆元胞自动机的图像加密方法

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