CN103489151B - 基于混沌序列和超混沌系统的彩色图像加密方法 - Google Patents

基于混沌序列和超混沌系统的彩色图像加密方法 Download PDF

Info

Publication number
CN103489151B
CN103489151B CN201310412691.1A CN201310412691A CN103489151B CN 103489151 B CN103489151 B CN 103489151B CN 201310412691 A CN201310412691 A CN 201310412691A CN 103489151 B CN103489151 B CN 103489151B
Authority
CN
China
Prior art keywords
prime
image
sequence
mod
chaos
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.)
Expired - Fee Related
Application number
CN201310412691.1A
Other languages
English (en)
Other versions
CN103489151A (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.)
Henan University
Original Assignee
Henan University
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 Henan University filed Critical Henan University
Priority to CN201310412691.1A priority Critical patent/CN103489151B/zh
Publication of CN103489151A publication Critical patent/CN103489151A/zh
Application granted granted Critical
Publication of CN103489151B publication Critical patent/CN103489151B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本发明涉及一种基于混沌序列和超混沌系统的彩色图像加密方法,主要包括以下步骤:对原始彩色图像进行位级联合置乱,得到置乱图像;将置乱图像分解成R、G、B三基色分量,并利用超混沌系统生成用于加密置乱图像的加密矩阵;利用加密矩阵、并结合明文信息和三基色分量信息改变置乱图像的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量,从而得到最终的加密图像。上述方法大大增加了密钥空间,使得安全性、加密效果和密钥敏感性更高,抗攻击能力更强,并更易于硬件实现。

Description

基于混沌序列和超混沌系统的彩色图像加密方法
技术领域
本发明涉及一种基于混沌序列和超混沌系统的彩色图像加密方法。
背景技术
随着多媒体信息技术的广泛应用,多媒体数据日益广泛地在因特网间进行传播和存储,因此为有效的保护用户的信息不被非法者使用,所采取的根本措施就是信息保密传输和存储。传统加密算法如国际数据加密算法(international data encryption algorithm,IDEA)、高级加密标准(advanced encryption standard,AES)等都是针对一维数据流而设计,相对不适合于图像数据加密,其原因就是图像类信息具有数据量大、数据之间相关性强、冗余度高等特点,从而在采取上述传统加密算法进行加密时,造成了加密效率不高。
混沌是指一种由非线性确定系统产生的类随机行为,具有随机性、确定性、遍历性和对初值的高度敏感性等特点,可以设计出密钥空间大、加密流随机性高的加密算法,在图像加密场合有许多独特的优势。混沌加密一经提出,便迅速成为了研究的热点。
按照加密变换方式的不同,基于混沌的图像加密方法可分为图像像素位置变换(也称作位置置乱)和图像像素值变换(又称像素扩散)两类。图像像素位置变换方法是通过重排图像矩阵中的数据位置,但不改变图像像素值,使得图像杂乱无章,从而达到加密的目的。图像像素值变换是通过使用混沌系统生成密钥来掩盖明文,从而改变原始图像各像素点的像素值,使得窃密者无法辨认,从而实现图像加密的目的。在图像加密中,为了提高加密算法的安全性,这两种方法通常同时使用。
以往研究的混沌加密技术大多数基于单一的低维混沌系统或映射。虽然低维混沌系统由于形式简单而具有计算时间短的优点,但其密钥空间小,混沌序列的复杂度不高,导致密码系统安全性不高、难以抵抗穷举攻击。而高维混沌系统尤其是超混沌系统,具有两个以上的Lyapunov指数,其非线性行为更加复杂难以预测;另外,超混沌系统具有4个以上的状态变量,密钥空间更大。因此,超混沌系统用于图像加密,在增大加密算法的密钥空间的同时,必然会提高系统的安全性。
专利申请号为201210366647.7的对比文件公开了一种基于多分数阶混沌系统的彩色图像加密和解密方法,该方法利用多个分数阶混沌系统产生密钥矩阵,对彩色图像的R、G、B三基色分量分别进行置乱和扩散操作,但其忽略了明文信息和R、G、B三个分量像素之间的相互影响,从而在安全性上有待提高。
发明内容
为克服以上现有技术的不足,本发明要解决的技术问题是提供一种基于混沌序列和超混沌系统的彩色图像加密方法,从而大大增加了密钥空间,使得安全性、加密效果和密钥敏感性更高,抗攻击能力更强,并更易于硬件实现。
本发明的技术方案是:
一种基于混沌序列和超混沌系统的彩色图像加密方法,包括以下步骤:
(1)输入图像大小为M×N的原始彩色图像I,分离图像I的R、G、B三基色分量得到分量矩阵I_RMN、I_GMN和I_BMN,每个分量矩阵大小为M×N,像素值在0到255之间;
(2)利用一维混沌系统生成用于置乱的混沌序列,对原始彩色图像I进行位级联合置乱,得到置乱后大小为M×N的图像I6
(3)将置乱后的图像I6分解成R、G、B三基色分量I6_RMN、I6_GMN和I6_BMN,并转换成三个长度为M×N的序列I6_R、I6_G和I6_B;
(4)利用超混沌系统生成用于加密置乱图像I6的加密矩阵;
(5)利用步骤(4)中得到的加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而得到最终的加密图像I7
上述基于混沌序列和超混沌系统的彩色图像加密方法,其中步骤(2)中的一维混沌系统为PWLCM线性分段混沌映射系统:
x i + 1 = Fp ( x ) = x i p ; ( 0 &le; x i < p ) x i - p 0.5 - p ; ( p &le; x i < 0.5 ) Fp ( 1 - x i ) ; ( 0.5 &le; x i < 1 )
其中p为系统参数,并且,步骤(2)中利用一维混沌系统生成混沌序列、对原始彩色图像I进行位级联合置乱的具体步骤为:
2.1)把原始彩色图像I的三基色分量矩阵中的每个像素变为8位二进制的字符串,得到三个大小为M×8N的二进制矩阵I_R8MN、I_G8MN和I_B8MN,按照I_R8MN、I_G8MN和I_B8MN的顺序,从上到下纵向组合排列,得到一个大小为3M×8N的图像I1
2.2)利用PWLCM系统在不同初值x′0、y′0和不同参数px′、py′下产生实值混沌序列X0、Y0,其中x′0、px′分别是数列X0的初始值和系统参数,y′0、py′分别是数列Y0的初始值和系统参数,初始值x′0、y′0和系统参数px′、py′均为密钥;实值混沌序列X0的长度为
Figure GDA0000485044360000033
(t1≥1000),实值混沌序列Y0的长度为
Figure GDA0000485044360000034
(t2≥1000),抛弃前面的t1和t2个数值,得到实值混沌序列X′、Y′;
2.3)对X′、Y′按照升序重新排列,得到新的子序列,将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度为3M和8N的置乱序列INX′、INY′:
INX &prime; = { INX 1 &prime; , INX 2 &prime; , . . . . . . , INX 3 M &prime; } INY &prime; = { INY 1 &prime; , INY 2 &prime; , . . . . . . , INY 8 N &prime; }
并且,这两个序列中每个元素的元素值代表该位置上的数在所有元素中的位置;
2.4)根据置乱序列INX′、INY′对二进制图像I1进行处理:首先根据序列INX′对二进制图像I1进行行变换,即将矩阵I1的第INX′1行变换到第1行,第INX′2行变换到第2行,依次类推,直到所有行变换完毕,得到图像矩阵I2,再用序列INY′对二进制图像I2进行列变换,即将矩阵I2的第INY1′列变换到第1列,第INY2′列变换到第2列,依次类推,直到所有列变换完毕,得到二进制图像矩阵I3
2.5)把二进制图像矩阵I3从上到下分割成三个大小为M×8N的矩阵I3_RMN、I3_GMN和I3_BMN,再把三个矩阵按照I3_RMN、I3_GMN、I3_BMN的顺序从左到右横向排列,得到M行、24N列的二进制图像矩阵I4
2.6)设定初始值z′0和系统参数pz′,迭代PWLCM混沌系统得到长度为
Figure GDA0000485044360000035
(t3≥1000)的混沌序列Z0,抛弃前面的t3个数值,得到实值混沌序列Z′;设定初始值w′0和系统参数pw′,迭代PWLCM混沌系统得到长度为
Figure GDA0000485044360000036
(t4≥1000)的混沌序列W0,抛弃前面的t4个数值,得到实值混沌序列W′;
2.7)对实值混沌序列Z′、W′按照升序重新排列,得到新的子序列,然后将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度为M和24N的置乱序列INZ′、INW′:
INZ &prime; = { INZ 1 &prime; , INZ 2 &prime; , . . . . . . , INZ M &prime; } INW &prime; = { INW 1 &prime; , INW 2 &prime; , . . . . . . , INW 24 N &prime; }
2.8)根据置乱序列INZ′、INW′对二进制图像I4进行处理:首先根据序列INZ′对二进制图像I4进行行变换,即将矩阵I4的第INZ′1行变换到第1行,第INZ′2行变换到第2行,依次类推,直到所有行变换完毕,得到图像矩阵I41;再用序列INW′对二进制图像I41进行列变换,即将I41的第INW1′列变换到第1列,第INW2′列变换到第2列,依次类推,直到所有列变换完毕,得到M行、24N列的二进制图像矩阵I5
2.9)将二进制图像矩阵I5从左到右进行分割,分割成3个大小为M×8N的二进制矩阵,把像素值从二进制转换成十进制,得到3个大小为M×N的图像I5_RMN、I5_GMN和I5_BMN
2.10)将图像I5_RMN、I5_GMN和I5_BMN进行合并,即I6(1:M,1:N,1)=I5_RMN(1:M,1:N),I6(1:M,1:N,2)=I5_GMN(1:M,1:N),I6(1:M,1:N,3)=I5_BMN(1:M,1:N),从而得到置乱后的图像I6
上述基于混沌序列和超混沌系统的彩色图像加密方法,其中步骤(4)中的超混沌系统为超混沌Chen系统,其动力学方程如下:
x &CenterDot; 1 = a ( x 2 - x 1 ) x &CenterDot; 2 = - x 1 x 3 + dx 1 + cx 2 x &CenterDot; 3 = x 1 x 2 - bx 3 x &CenterDot; 4 = x 2 x 3 + ex 4
并且,利用该超混沌系统生成用于加密置乱图像I6的加密矩阵的具体步骤为:
3.1)选取系统参数a、b、c、d、e,初始值Xc0、Yc0、Zc0、Wc0,用四阶龙格-库塔法解超混沌Chen系统得到长度为
Figure GDA0000485044360000043
(t5≥2000)的4个实值混沌序列,舍弃掉前t5个值,得到实值序列x″′、y″′、z″′、w″′;
3.2)按照下式
x i &prime; &prime; = floor ( ( | x i &prime; &prime; &prime; | - floor ( | x i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 y i &prime; &prime; = floor ( ( | y i &prime; &prime; &prime; | - floor ( | y i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 z i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 w i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256
把4个实值序列的所有元素数值都转换到0到255之间,得到新的序列x″、y″、z″、w″,其中x″i∈x″、y″i∈y″、z″i∈z″、w″i∈w″,i代表序列中的第i个元素,i=1,2,3,…M×N;x″′i、y″′i、z″′i、w″′i代表序列x″′、y″′、z″′、w″′中的第i个元素,x″′i-1、y″′i-1、z″′i-1、w″′i-1代表序列x″′、y″′、z″′、w″′中的第i-1个元素,i=1,2,3,…M×N,当i=1时,令x″′0=y″′0=z″′0=w″′0=0。
3.3)对图像的像素值进行加密操作时,每次从x″i、y″i、z″i、w″i中选出3个加密Ri、Gi、Bi,设置中间密钥
Figure GDA0000485044360000051
(i=1,2,3,…M×N)为
x i &prime; &OverBar; = ( x i &prime; &prime; + y i &prime; &prime; + z i &prime; &prime; + w i &prime; &prime; ) mod 4
其中
Figure GDA0000485044360000053
的取值为[0,1,2,3],加密矩阵的选择方法为:
Figure GDA0000485044360000054
时,用(x″i,y″i,z″i)加密(Ri,Gi,Bi);
Figure GDA0000485044360000055
时,用(x″i,y″i,w″i)加密(Ri,Gi,Bi);
Figure GDA0000485044360000056
时,用(x″i,z″i,w″i)加密(Ri,Gi,Bi);
Figure GDA0000485044360000057
时,用(y″i,z″i,w″i)加密(Ri,Gi,Bi)。
上述基于混沌序列和超混沌系统的彩色图像加密方法,其中步骤(5)中利用加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散的具体步骤为:
4.1)当
Figure GDA0000485044360000058
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime;
Figure GDA00004850443600000510
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + G i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
Figure GDA00004850443600000512
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + B i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
Figure GDA00004850443600000514
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
其中当i=1时,设置R′i-1=0,G′i-1=0,B′i-1=0;上述公式中,R′i、G′i、B′i为当前密文像素值,Ri、Gi和Bi为当前明文像素值,R′i-1、G′i-1、B′i-1为前一个密文像素值;
4.2)所有像素扩散之后,得到3个长度为M×N的密文序列I7_R、I7_G和I7_B,将I7_R、I7_G和I7_B按行排列的方式转换为3个M×N的矩阵,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而最终得到加密图像I7
本发明的有益效果是:
(1)本发明通过采用PWLCM混沌序列和四维超混沌系统的组合,大大增加了密钥空间,进而具有密钥数目多、密钥空间大和密钥敏感性高的特点,能够有效地抵抗穷举攻击,使得图像加密算法的安全性更高;
(2)本发明通过利用明文信息对像素值进行扩散操作,使得算法依赖于明文,要攻击密文就必须知道当前密文的明文图像信息,从而可以有效抵抗选择明文和选择密文攻击,进一步提高了算法的安全性;
(3)本发明针对R、G、B三个分量像素之间的相互影响,通过对彩色图像R、G、B三基色分量首先在位级联合置乱,然后利用R、G、B分量之间的信息对像素值进行联合扩散,从而有效地降低了三个分量之间的相关性,增强了加密程度,更进一步提高了算法的安全性。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1为本发明的彩色图像加密方法流程图;
图2为本发明的位级联合置乱加密算法的流程图;
图3中,(a)为实施例1所用原始彩色图像,(b)为置乱后的图像,(c)为对置乱图像加密后的图像,(d)为密钥正确时的解密图像,(e)为密钥错误时的解密图像;
图4中,(a)为实施例1所用原始彩色图像,(b)为原始图像R分量的直方图,(c)为原始图像G分量的直方图,(d)为原始图像B分量的直方图;
图5中,(a)为实施例1利用本发明方法加密后的加密图像,(b)为加密图像R分量的直方图,(c)为加密图像G分量的直方图,(d)为加密图像B分量的直方图;
图6中,(a)为实施例1所用原始图像R分量水平方向上相邻像素的相关性分析图,图(b)为加密图像R分量水平方向上相邻像素的相关性分析图;
图7中,(a)为实施例2所用原始彩色图像,(b)为置乱后的图像,(c)为对置乱图像加密后的图像,(d)为密钥正确时的解密图像,(e)为密钥错误时的解密图像;
图8中,(a)为实施例2所用原始彩色图像,(b)为原始图像R分量的直方图,(c)为原始图像G分量的直方图,(d)为原始图像B分量的直方图;
图9中,(a)为实施例2利用本发明方法加密后的加密图像,(b)为加密图像R分量的直方图,(c)为加密图像G分量的直方图,(d)为加密图像B分量的直方图;
图10中,(a)为实施例2所用原始图像R分量水平方向上相邻像素的相关性分析图,图(b)为加密图像R分量水平方向上相邻像素的相关性分析图;
图11中,(a)为实施例3所用原始彩色图像,(b)为置乱后的图像,(c)为对置乱图像加密后的图像,(d)为密钥正确时的解密图像,(e)为密钥错误时的解密图像;
图12中,(a)为实施例3所用原始彩色图像,(b)为原始图像R分量的直方图,(c)为原始图像G分量的直方图,(d)为原始图像B分量的直方图;
图13中,(a)为实施例3利用本发明方法加密后的加密图像,(b)为加密图像R分量的直方图,(c)为加密图像G分量的直方图,(d)为加密图像B分量的直方图;
图14中,(a)为实施例3所用原始图像R分量水平方向上相邻像素的相关性分析图,图(b)为加密图像R分量水平方向上相邻像素的相关性分析图。
具体实施方式
实施例1:在本实施例中,采用的编程软件为Matlab7.0,选取附图3(a)所示的大小为256×256(M×N)的Lena标准彩色图像为实验对象,对Lena彩色图像加密的具体过程如下:
1.输入原始Lena彩色图像,用I=imread('Lena.bmp')读取图像信息。分离彩色图像I的R、G、B三基色分量得到3个图像矩阵I_RMN=I(1:256,1:256,1)、I_GMN=I(1:256,1:256,2)和I_BMN=I(1:256,1:256,3)。
2.把上述三基色分量矩阵中的每个像素变为8位二进制的字符串,得到3个大小为256×2048的二进制矩阵I_R8MN、I_G8MN和I_B8MN,然后把I_R8MN、I_G8MN和I_B8MN,按照I_R8MN、I_G8MN和I_B8MN的顺序从上到下纵向排列,得到一个新的大小为768×2048的二进制图像矩阵I1
3.选用如下的PWLCM混沌序列
x i + 1 = Fp ( x ) = x i p ; ( 0 &le; x i < p ) x i - p 0.5 - p ; ( p &le; x i < 0.5 ) Fp ( 1 - x i ) ; ( 0.5 &le; x i < 1 )
并选取初始值x′0=0.831194835269879,选择系统参数px′=0.2314124343892034,利用四阶龙格-库塔法迭代求解PWLCM混沌序列得到实值混沌序列X0;选取初始值y′0=0.9874335334345,选择系统参数py′=0.87342964283746,利用四阶龙格-库塔法迭代求解PWLCM混沌序列得到实值混沌序列Y0。选择t1=1000,t2=1200。这里将x′0、px′、y′0、py′、t1、t2作为密钥。
利用一维PWLCM混沌序列生成用于置乱的混沌序列X′、Y′的方法如下:
1)根据以上给定的初始值和系统参数,利用PWLCM混沌序列生成长度为
Figure GDA0000485044360000083
(t1≥1000)的实值混沌序列X0,抛弃前t1个值,从而得到长度为768的实值混沌序列X′;
2)根据以上给定的初始值和系统参数,利用PWLCM混沌序列生成长度为
Figure GDA0000485044360000084
(t2≥1000)的实值混沌序列Y0,抛弃前t2个值,从而得到长度为2048的实值混沌序列Y′。
4.由于X′、Y′的排列是杂乱无章的,对其按照升序重新排列,得到新的子序列,然后将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度分别为768和2048的置乱序列INX′、INY′为:
INX &prime; = { INX 1 &prime; , INX 2 &prime; , . . . . . . , INX 768 &prime; } INY &prime; = { INY 1 &prime; , INY 2 &prime; , . . . . . . , INY 2048 &prime; }
为进一步清楚阐述,举例如下:假设一个长度为7的序列P=[12 10 4 21 26 5 1],将其按照升序排列得到P=[1 4 5 10 12 21 26],然后再将原序列中每个元素所在位置序号替换新的子序列中的对应元素,从而得到置乱序列INP=[7 3 6 2 1 4 5]。
5.根据置乱序列INX′、INY′对二进制图像I1进行处理。首先根据序列INX′对二进制图像I1进行行变换,即将矩阵I1的第INX′1行变换到第1行,第INX′2行变换到第2行,依次类推,直到行变换完毕,得到768行、2048列的图像矩阵I2。再用序列INY′对图像I2进行列变换,即将矩阵I2的第INY1′列变换到第1列,第INY2′列变换到第2列,依次类推,直到列变换完毕,最终得到768行、2048列的二进制图像矩阵I3
6.把I3从上到下进行分割,分割成3个大小为256×2048的矩阵I3_RMN、I3_GMN、I3_BMN,把3个矩阵按照I3_RMN、I3_GMN、I3_BMN的顺序从左到右按横向排列,得到大小为256×6144的矩阵I4
7.选用上面步骤3所述的PWLCM混沌序列。选取初始值z′0=0.831194835269879、w′0=0.2456565758866,选择系统参数pz′=0.2314124343892034、pw′=0.463232444657,利用四阶龙格-库塔法迭代求解PWLCM混沌序列得到长度为
Figure GDA0000485044360000092
(t3≥1000)和
Figure GDA0000485044360000093
(t4≥1000)的序列,抛弃前面的t3和t4个数值,得到长度分别为256和6144的实值混沌序列Z′、W′,t3=1500,t4=2000。这里将z′0、w′0、pz′、pw′、t3、t4作为密钥。
8.按照与上面相同的方法,对实值混沌序列Z′、W′按照升序重新排列,得到新的子序列;然后将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度分别为256和6144的置乱序列INZ′、INW′:
INZ &prime; = { INZ 1 &prime; , INZ 2 &prime; , . . . . . . , INZ 256 &prime; } INW &prime; = { INW 1 &prime; , INW 2 &prime; , . . . . . . , INW 6144 &prime; }
9.根据置乱序列INZ′、INW′对二进制图像I4进行处理。首先根据序列INZ′对二进制图像I4进行行变换,即将矩阵I4的第INZ′1行变换到第1行,第INZ′2行变换到第2行,依次类推,直到所有行变换完毕,得到图像矩阵I41。再用序列INW′来对二进制图像I41进行列变换,即将矩阵I41的第INW1′列变换到第1列,第INW2′列变换到第2列,依次类推,直到所有列变换完毕,最终得到256行、6144列的二进制图像矩阵I5
10.将I5从左到右横向分割,分割成3个大小为256×2048的矩阵,矩阵中的元素从左到右从上到下,8位一组,从二进制转换成十进制,得到3个大小为256×256的图像I5_R256×256、I5_G256×256和I5_B256×256
11.将I5_R256×256、I5_G256×256和I5_B256×256进行合并,即I6(1:256,1:256,1)=I5_R256×256(1:256,1:256),I6(1:256,1:256,2)=I5_G256×256(1:256,1:256),I6(1:256,1:256,3)=I5_B256×256(1:256,1:256),从而得到置乱后的图像I6,见附图3(b)。至此,便完成了原始彩色图像的位(bit)级联合置乱操作。
12.将置乱后的图像I6分解成R、G、B三基色分量,得到三基色分量矩阵I6_R256×256、I6_G256×256和I6_B256×256,按行排列,转换成3个长度均为65536的实值序列I6_R、I6_G和I6_B:
I 6 _ R = { R 1 , R 2 , . . . . . . , R 65536 } I 6 _ G = { G 1 , G 2 , . . . . . . , G 65536 } I 6 _ B = { B 1 , B 2 , . . . . . . , B 65536 }
其中,Ri、Gi和Bi分别代表序列I6_R、I6_G和I6_B中的第i个元素,i=1,2,3,…65536。
13.选用超混沌Chen系统,其动力学方程为:
x &CenterDot; 1 = a ( x 2 - x 1 ) x &CenterDot; 2 = - x 1 x 3 + dx 1 + cx 2 x &CenterDot; 3 = x 1 x 2 - bx 3 x &CenterDot; 4 = x 2 x 3 + ex 4
其中选取系统参数a=35,b=3,c=12,d=7,e=0.108,系统是超混沌的。选择初始值为Xc0=0.12、Yc0=0.34、Zc0=0.56、Wc0=0.78。t5=2500。这里将a、b、c、d、e、Xc0、Yc0、Zc0、Wc0、t5作为密钥。
进一步地,利用超混沌系统生成用于加密置乱图像I6的加密矩阵的步骤为:
1)根据以上给定的系统参数和初始值,利用超混沌Chen系统生成长度为
Figure GDA0000485044360000104
(t5≥2000)的四个实值混沌序列,抛弃前t5个值,得到四个长度为65536的实值序列x″′、y″′、z″′、w″′;
2)按照下式
x i &prime; &prime; = floor ( ( | x i &prime; &prime; &prime; | - floor ( | x i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 , i = 1,2,3 , . . . 65536 y i &prime; &prime; = floor ( ( | y i &prime; &prime; &prime; | - floor ( | y i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 , i = 1,2,3 , . . . 65536 z i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 , i = 1,2,3 , . . . 65536 w i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 , i = 1,2,3 , . . . 65536
把四个实值序列的每个元素数值都转换到0到255之间,得到改进的实值序列x″、y″、z″、w″(其中,x″i∈x″、y″i∈y″、z″i∈z″、w″i∈w″,i代表序列中的第i个元素,i=1,2,3,…65536);x″′i、y″′i、z″′i、w″′i代表序列x″′、y″′、z″′、w″′中的第i个元素,x″′i-1、y″′i-1、z″′i-1、w″′i-1代表序列x″′、y″′、z″′、w″′中的第i-1个元素,i=1,2,3,…65536,当i=1时,令x″′0=y″′0=z″′0=w″′0=0。
3)对图像的像素值进行加密操作时,每次从x″i、y″i、z″i、w″i中选出3个加密Ri、Gi、Bi。设置中间密钥(i=1,2,3,…65536),且有:
x i &prime; &OverBar; = ( x i &prime; &prime; + y i &prime; &prime; + z i &prime; &prime; + w i &prime; &prime; ) mod 4
Figure GDA0000485044360000113
的取值为[0,1,2,3]。加密矩阵的选择方法如下:
14.利用得到的加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而得到最终的加密图像I7。具体方法为:
Figure GDA0000485044360000115
时,用下式对像素值逐一进行变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime;
Figure GDA0000485044360000117
时,用下式对像素值逐一进行变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + G i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
时,用下式对像素值逐一进行变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + B i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
Figure GDA00004850443600001111
时,用下式对像素值逐一进行变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
当i=1时,设置R′i-1=0,G′i-1=0,B′i-1=0。
式中,R′i、G′i、B′i为当前密文像素值,Ri、Gi和Bi为当前明文像素值,R′i-1、G′i-1、B′i-1为前一个密文像素值。
对序列中元素逐个进行上述操作,最终得到变换后的长度为65536的序列I7_R、I7_G和I7_B,将序列按行排列变为256×256的矩阵I7_R256×256、I7_G256×256和I7_B256×256。再将I7_R256×256、I7_G256×256和I7_B256×256进行合并,即I7(1:256,1:256,1)=I7_R256×256(1:256,1:256),I7(1:256,1:256,2)=I7_G256×256(1:256,1:256),I7(1:256,1:256,3)=I7_B256×256(1:256,1:256),即最终可得到大小为256×256的加密图像I7,见附图3(c)。
图像解密过程与加密过程类似,只须按照与加密过程相逆的顺序进行运算即可恢复出原始彩色图像I。解密过程中,各个步骤所用PWLCM混沌序列和四维超混沌Chen系统的系统参数、初始值和其它参数与加密过程中对应相同。当密钥正确时,解密图像见附图3(d),附图3(e)为错误密钥下的解密图像。从图3(e)难以辨认原始图像,由此可见本发明的图像加密算法具有很好的加密效果。
一个好的加密算法应该能够抵抗各种攻击,密钥空间足够大,密钥的敏感性足够高。下面对本发明的图像加密算法进行安全性分析。
1.密钥空间大,足以抵抗穷举攻击
混沌系统对初始值有很高的敏感性,需要足够大的密钥空间来抵御穷举攻击,因此混沌加密算法的安全性主要依赖于密钥空间的大小。在本发明的加密算法中,密钥包括:1)系统参数a、b、c、d、e、px′、py′、pz′、pw′;2)初始值x′0、y′0、z′0、w′0、Xc0、Yc0、Zc0、Wc0;3)t1、t2、t3、t4、t5。在Matlab7.0环境下,所有数据类型都采用精度为10位的双精度实数,则密钥空间至少为10100。因此,本发明的加密算法具有足够大的密钥空间,足以抵抗穷举攻击。
2.密钥敏感性高
对于附图3(c)所示的加密图像,附图3(d)所示为当采用正确密钥时得到的清晰解密图像,可以精确恢复出原始图像。保持其它密钥参数不变,当pz′改变+10-16,进行解密,附图3(e)所示为当pz′=0.23141243438920341时解密图像。从附图3(e)容易看出,即使密钥存在微小差异,解密图像依然是类似于噪声的均匀图像,无法辨认出原始图像的任何信息。由此可见,本发明的加密算法具有高度的密钥敏感性。
3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强。
直方图描述了数字图像中所有灰度级的像素出现的频率,一个好的图像加密算法加密得到的密文图像的灰度直方图应该平滑且均匀,以免信息的泄露。
附图4所示为原始彩色图像及其R、G、B分量的直方图,附图5所示为加密图像及其R、G、B分量的直方图。从图中可以看出,原始图像的像素分布很不均匀,图像像素主要分布在中间部分,而加密图像R、G和B分量的像素呈现均匀分布的特点,加密图像的像素值在[0,255]范围内取值概率均等。这使得攻击者难以通过统计的方法来攻击密文,从而提高了密文的安全性。由此可见,该加密算法具有良好的抵抗统计分析攻击的能力。
4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相关。
为了分析明文图像和密文图像相邻像素的相关性,引入相邻像素的相关系数。相关系数越大,说明相邻像素的相关性越大;反之,相邻像素的相关性越小。从图像中选取20000对水平方向相邻像素对,20000对垂直方向相邻像素对和20000对对角方向相邻像素对,用如下公式定量计算相邻像素的相关系数:
R x , y = cov ( xy ) D ( x ) D ( y )
E ( x ) = 1 N &Sigma; i = 1 N x i , D ( x ) = 1 N &Sigma; i = 1 N ( x i - E ( x ) ) 2
cov ( x , y ) = 1 N &Sigma; i = 1 N ( x i - E ( x ) ) ( y i - E ( y ) )
式中,x、y分别表示图像中相邻两个像素的像素值,D(x)表示像素值的均方差,E(x)表示像素值的平均值,cov(x,y)表示相关函数,Rx,y表示相邻两个像素的相关系数。
图6描述了原始彩色图像和密文图像的R分量水平方向上相邻像素的相关性,其中图6(a)为原始图像R分量水平方向上相邻像素的相关性分析图,图6(b)为加密图像R分量水平方向上相邻像素的相关性分析图。按照上述式子分别计算了明文图像和密文图像三基色分量在水平、垂直和对角方向上相邻像素的相关系数,结果如表1所示。从表1中容易看出,原始图像相邻像素高度相关,相关系数接近于1,而加密后的图像在各方向的相邻像素相关系数比明文图像要小得多,其相邻像素相关系数接近于0,相邻像素已基本不相关,明文的统计特征已被扩散到随机的密文中。
表1原始图像和加密图像相邻像素的相关系数
Figure GDA0000485044360000141
5.NPCRR,G,B都大于99%,UACIR,G,B都大于33%,抗差分攻击能力强。
算法对明文的敏感性越强,抵抗差分攻击的能力也就越强,可以用像素数改变率NPCR(Number of Pixels Change Rate)和归一化像素值平均改变强度UACI(Unified AverageChanging Intensity)度量加密算法对明文的敏感性。计算公式如下:
NPCR = &Sigma; i , j D ( i , j ) M &times; N &times; 100 %
UACI = 1 M &times; N [ &Sigma; i , j | C 1 ( i , j ) - C 2 ( i , j ) | 255 ] &times; 100 %
式中,M和N表示图像的行数和列数,C1表示原来的密文图像,C2表示改变明文后得到的密文图像,C1(i,j)表示明文图像在坐标(i,j)处的像素值,C2(i,j)表示密文图像在坐标(i,j)处的像素值。D表示和密文图像大小一样的矩阵,D(i,j)的值由C1(i,j)和C2(i,j)决定。若C1(i,j)=C2(i,j),那么D(i,j)=0;若C1(i,j)≠C2(i,j),那么D(i,j)=1。
本发明中,将原始明文图像的第一个像素值改为227后得到一个新的明文图像,然后将这两个图像用同样的密钥加密形成相应的密文图像C1和C2。根据上面式子计算密文图像的NPCR和UACI值如表2所示,可以看到NPCRR,G,B的值都大于99%,UACIR,G,B的值都大于33%。这表明,即使对原始图像做微小的变化,通过本算法进行加密后,密文图像也会有明显的差异。因此,本算法可以有效抵抗差分攻击。
表2密文图像的NPCR和UACI值
R分量 G分量 B分量
NPCR 0.99620 0.99644 0.99582
UACI 0.33201 0.33352 0.33345
6.密文图像R、G、B分量的信息熵非常接近理想值8,加密算法安全性好。
信息熵是反映信息随机性的重要度量指标,信息源m的信息熵计算公式如下:
H ( m ) = &Sigma; i = 0 2 n - 1 p ( m i ) log 1 p ( m i )
其中,p(mi)表示符号mi出现的概率,2n是信息源m的总状态数。信息加密之后,信息熵的期望值为8。如果加密图像信息熵非常接近8,则表明该密文图像接近随机分布。本发明对标准Lena图像用本发明算法进行加密,得到密文图像R、G、B分量的信息熵分别为7.99746、7.99708、7.99736,非常接近理想值8,这表明本发明提供的加密算法具有很好的安全性。
实施例2:在本实施例中,采用的编程软件为Matlab7.0,选取附图7(a)所示的大小为512×512(M×N)的Peppers标准彩色图像为实验对象,对Peppers彩色图像进行加密的基本过程为:
1)输入图像大小为512×512的原始彩色图像I,分离图像I的R、G、B三基色分量I_RMN、I_GMN和I_BMN,每个分量矩阵大小为512×512,像素值在0到255之间;
2)利用一维混沌系统生成用于置乱的混沌序列,对原始彩色图像I进行位(bit)级联合置乱,得到置乱后大小为512×512的图像I6,见附图7(b);
3)将置乱后的图像I6分解成R、G、B三基色分量I6_RMN、I6_GMN和I6_BMN,并转换成三个长度为512×512的序列I6_R、I6_G和I6_B;
4)利用超混沌系统生成用于加密置乱图像I6的加密矩阵;
5)利用加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而最终得到加密图像I7,见附图7(c)。
而对于加密过程中具体采用的混沌系统、加密步骤和相应步骤中的参数,则可完全参考实施例1,不再重述。
在对该实施例下的加密图像进行解密时,若密钥正确,则可得到如附图7(d)所示的解密图像。而附图7(e)则为错误密钥下的解密图像,从图7(e)难以辨认原始图像,可见本发明的图像加密算法具有很好的加密效果。
下面对该实施例下的图像加密算法进行安全性分析。
1.密钥空间大,足以抵抗穷举攻击
密钥与实施例1的密钥相同,具体包括:1)系统参数a、b、c、d、e、px′、py′、pz′、pw′;2)初始值x′0、y′0、z′0、w′0、Xc0、Yc0、Zc0、Wc0;3)t1、t2、t3、t4、t5。在Matlab7.0环境下,所有数据类型都采用精度为10位的双精度实数,则密钥空间至少为10100。因此,本发明的加密算法具有足够大的密钥空间,足以抵抗穷举攻击。
2.密钥敏感性高
对于附图7(c)所示的加密图像,附图7(d)所示为当采用正确密钥时得到的清晰解密图像,可以精确恢复出原始图像。保持其它密钥参数不变,当Yc0改变+10-16,进行解密,附图7(e)所示为当Yc0=0.3400000000000001时解密图像。从附图7(e)容易看出,即使密钥存在微小差异,解密图像依然是类似于噪声的均匀图像,无法辨认出原始图像的任何信息。由此可见,本发明的加密算法具有高度的密钥敏感性。
3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强。
附图8所示为原始彩色图像及其R、G、B分量的直方图,附图9所示为加密图像及其R、G、B分量的直方图。从图中可以看出,原始图像的像素分布很不均匀;而加密图像R、G和B分量的像素呈现均匀分布的特点,加密图像的像素值在[0,255]范围内取值概率均等。由此可见,该加密算法具有良好的抵抗统计分析攻击的能力。
4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相关。
从图像中选取20000对水平方向相邻像素对,20000对垂直方向相邻像素对和20000对对角方向相邻像素对,定量计算相邻像素的相关系数。
附图10描述了原始彩色图像和密文图像的R分量水平方向上相邻像素的相关性。图10(a)为原始图像R分量水平方向上相邻像素的相关性分析图,图10(b)为加密图像R分量水平方向上相邻像素的相关性分析图。按照实施例1中公式分别计算了明文图像和密文图像三基色分量在水平、垂直和对角方向上相邻像素的相关系数,结果如表3所示。从表3中容易看出,原始图像相邻像素高度相关,相关系数接近于1,而加密后的图像在各方向的相邻像素相关系数比明文图像要小得多,其相邻像素相关系数接近于0,相邻像素已基本不相关,明文的统计特征已被扩散到随机的密文中。
表3原始图像和加密图像相邻像素的相关系数
Figure GDA0000485044360000171
5.NPCRR,G,B都大于99%,UACIR,G,B都大于33%,抗差分攻击能力强。
本发明中,将原始明文图像的第一个像素值改为227后得到一个新的明文图像,然后将这两个图像用同样的密钥加密形成相应的密文图像C1和C2。计算密文图像的NPCR和UACI值如表4所示,可以看到NPCRR,G,B的值都大于99%,UACIR,G,B的值都大于33%。这表明,即使对原始图像做微小的变化,通过本算法进行加密后,密文图像也会有明显的差异。因此,本算法可以有效抵抗差分攻击。
表4密文图像的NPCR和UACI值
R分量 G分量 B分量
NPCR 0.99593 0.99606 0.99586
UACI 0.33531 0.33586 0.33401
6.密文图像R、G、B分量的信息熵非常接近理想值8,加密算法安全性好。
对标准Peppers图像用本发明算法进行加密,得到密文图像R、G、B分量的信息熵分别为7.99931、7.99936、7.99931,非常接近理想值8,这表明本发明提供的加密算法具有很好的安全性。
实施例3:在本实施例中,采用的编程软件同样为Matlab7.0,选取附图11(a)所示的大小为500×377(M×N)的彩色图像为实验对象,对该彩色图像加密的基本过程如下:
1)输入图像大小为500×377的原始彩色图像I,分离图像I的R、G、B三基色分量I_RMN、I_GMN和I_BMN,每个分量矩阵大小为500×377,像素值在0到255之间;
2)利用一维混沌系统生成用于置乱的混沌序列,对原始彩色图像I进行位(bit)级联合置乱,得到置乱后大小为500×377的图像I6,见附图11(b);
3)将置乱后的图像I6分解成R、G、B三基色分量I6_RMN、I6_GMN和I6_BMN,并转换成三个长度为500×377的序列I6_R、I6_G和I6_B;
4)利用超混沌系统生成用于加密置乱图像I6的加密矩阵;
5)利用加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而得到最终的加密图像I7,见附图11(c)。
加密过程中具体采用的混沌系统、加密步骤和相应步骤的参数同实施例1。
针对该实施例下的加密图像,当密钥正确时,解密图像如附图11(d)所示,当密钥错误时,则得到如附图11(e)所示的图像,从图11(e)中难以辨认原始图像,可见本发明的图像加密算法具有很好的加密效果。
下面对该实施例下的图像加密算法进行安全性分析。
1.密钥空间大,足以抵抗穷举攻击
密钥与实施例1和实施例2的密钥相同,具体包括:1)系统参数a、b、c、d、e、px′、py′、pz′、pw′;2)初始值x′0、y′0、z′0、w′0、Xc0、Yc0、Zc0、Wc0;3)t1、t2、t3、t4、t5。在Matlab7.0环境下,所有数据类型都采用精度为10位的双精度实数,则密钥空间至少为10100。因此,本发明的加密算法具有足够大的密钥空间,足以抵抗穷举攻击。
2.密钥敏感性高
对于附图11(c)所示的加密图像,附图11(d)所示为当采用正确密钥时得到的清晰解密图像,可以精确恢复出原始图像。保持其它密钥参数不变,当Yc0改变+10-16,进行解密,附图11(e)所示为当Yc0=0.3400000000000001时解密图像。从附图11(e)容易看出,即使密钥存在微小差异,解密图像依然是类似于噪声的均匀图像,无法辨认出原始图像的任何信息。由此可见,本发明的加密算法具有高度的密钥敏感性。
3.密文图像的灰度直方图平滑且均匀,抗统计分析攻击能力强。
附图12所示为原始彩色图像及其R、G、B分量的直方图,附图13所示为加密图像及其R、G、B分量的直方图。由图可知,原始图像的像素分布很不均匀,而加密图像R、G和B分量的像素呈现均匀分布的特点,加密图像的像素值在[0,255]范围内取值概率均等。由此可见,该加密算法具有良好的抵抗统计分析攻击的能力。
4.原始图像相邻像素高度相关,加密后图像相邻像素相关系数接近于0,基本不相关。
从图像中选取30000对水平方向相邻像素对,30000对垂直方向相邻像素对和30000对对角方向相邻像素对,定量计算相邻像素的相关系数。
附图14描述了原始彩色图像和密文图像的R分量水平方向上相邻像素的相关性。图14(a)为原始图像R分量水平方向上相邻像素的相关性分析图,图14(b)为加密图像R分量水平方向上相邻像素的相关性分析图。按照实施例1中公式分别计算了明文图像和密文图像三基色分量在水平、垂直和对角方向上相邻像素的相关系数,结果如表5所示。从表5中容易看出,原始图像相邻像素高度相关,相关系数接近于1,而加密后的图像在各方向的相邻像素相关系数比明文图像要小得多,其相邻像素相关系数接近于0,相邻像素已基本不相关,明文的统计特征已被扩散到随机的密文中。
表5原始图像和加密图像相邻像素的相关系数
Figure GDA0000485044360000191
5.NPCRR,G,B都大于99%,UACIR,G,B都大于33%,抗差分攻击能力强。
本实施例中,将原始明文图像的第一个像素值改为227后得到一个新的明文图像,然后将这两个图像用同样的密钥加密形成相应的密文图像C1和C2。计算密文图像的NPCR和UACI值如表6所示,可以看到NPCRR,G,B的值都大于99%,UACIR,G,B的值都大于33%。这表明,即使对原始图像做微小的变化,通过本算法进行加密后,密文图像也会有明显的差异。因此,本算法可以有效抵抗差分攻击。
表6密文图像的NPCR和UACI值
R分量 G分量 B分量
NPCR 0.99056 0.99125 0.99035
UACI 0.33527 0.33441 0.33469
6.密文图像R、G、B分量的信息熵非常接近理想值8,加密算法安全性好。
用本发明算法对实施例3原始彩色图像进行加密,得到密文图像R、G、B分量的信息熵分别为7.99900、7.99917、7.99906,非常接近理想值8,这表明本发明提供的加密算法具有很好的安全性。
综合上述实施例1、实施例2和实施例3可知,本发明提供的加密算法可对M=N或M≠N的彩色图像进行高安全的加密,在信息加密领域具有广阔的应用前景。
上面结合附图对本发明优选的具体实施方式和实施例作了详细说明,但是本发明并不限于上述实施方式和实施例,在本领域技术人员所具备的知识范围内,还可以在不脱离本发明构思的前提下作出各种变化。

Claims (3)

1.一种基于混沌序列和超混沌系统的彩色图像加密方法,其特征在于包括以下步骤:
(1)输入图像大小为M×N的原始彩色图像I,分离图像I的R、G、B三基色分量得到分量矩阵I_RMN、I_GMN和I_BMN,每个分量矩阵大小为M×N,像素值在0到255之间;
(2)利用一维混沌系统生成用于置乱的混沌序列,对原始彩色图像I进行位级联合置乱,得到置乱后大小为M×N的图像I6
(3)将置乱后的图像I6分解成R、G、B三基色分量I6_RMN、I6_GMN和I6_BMN,并转换成三个长度为M×N的序列I6_R、I6_G和I6_B;
(4)利用超混沌系统生成用于加密置乱图像I6的加密矩阵;
(5)利用步骤(4)中得到的加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而得到最终的加密图像I7
所述步骤(2)中的一维混沌系统为PWLCM线性分段混沌映射系统:
x i + 1 = Fp ( x ) = x i p ; ( 0 &le; x i < p ) x i - p 0.5 - p ; ( p &le; x i < 0.5 ) Fp ( 1 - x i ) ; ( 0.5 &le; x i < 1 )
其中p为系统参数,并且,步骤(2)中利用一维混沌系统生成混沌序列、对原始彩色图像I进行位级联合置乱的具体步骤为:
2.1)把原始彩色图像I的三基色分量矩阵中的每个像素变为8位二进制的字符串,得到三个大小为M×8N的二进制矩阵I_R8MN、I_G8MN和I_B8MN,按照I_R8MN、I_G8MN和I_B8MN的顺序,从上到下纵向组合排列,得到一个大小为3M×8N的图像I1
2.2)利用PWLCM系统在不同初值x′0、y′0和不同参数px′、py′下产生实值混沌序列X0、Y0,其中x′0、px′分别是数列X0的初始值和系统参数,y′0、py′分别是数列Y0的初始值和系统参数,初始值x′0、y′0和系统参数px′、py′均为密钥;实值混沌序列X0的长度为
Figure FDA0000485044350000012
(t1≥1000),实值混沌序列Y0的长度为(t2≥1000),抛弃前面的t1和t2个数值,得到实值混沌序列X′、Y′;
2.3)对X′、Y′按照升序重新排列,得到新的子序列,将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度为3M和8N的置乱序列INX′、INY′:
INX &prime; = { INX 1 &prime; , INX 2 &prime; , . . . . . . , INX 3 M &prime; } INY &prime; = { INY 1 &prime; , INY 2 &prime; , . . . . . . , INY 8 N &prime; }
并且,这两个序列中每个元素的元素值代表该位置上的数在所有元素中的位置;
2.4)根据置乱序列INX′、INY′对二进制图像I1进行处理:首先根据序列INX′对二进制图像I1进行行变换,即将矩阵I1的第INX′1行变换到第1行,第INX′2行变换到第2行,依次类推,直到所有行变换完毕,得到图像矩阵I2,再用序列INY′对二进制图像I2进行列变换,即将矩阵I2的第INY1′列变换到第1列,第INY2′列变换到第2列,依次类推,直到所有列变换完毕,得到二进制图像矩阵I3
2.5)把二进制图像矩阵I3从上到下分割成三个大小为M×8N的矩阵I3_RMN、I3_GMN和I3_BMN,再把三个矩阵按照I3_RMN、I3_GMN、I3_BMN的顺序从左到右横向排列,得到M行、24N列的二进制图像矩阵I4
2.6)设定初始值z′0和系统参数pz′,迭代PWLCM混沌系统得到长度为
Figure FDA0000485044350000023
(t3≥1000)的混沌序列Z0,抛弃前面的t3个数值,得到实值混沌序列Z′;设定初始值w′0和系统参数pw′,迭代PWLCM混沌系统得到长度为
Figure FDA0000485044350000024
(t4≥1000)的混沌序列W0,抛弃前面的t4个数值,得到实值混沌序列W′;
2.7)对实值混沌序列Z′、W′按照升序重新排列,得到新的子序列,然后将原子序列中每个元素所在位置序号替换新的子序列中的对应元素,最终得到长度为M和24N的置乱序列INZ′、INW′:
INZ &prime; = { INZ 1 &prime; , INZ 2 &prime; , . . . . . . , INZ M &prime; } INW &prime; = { INW 1 &prime; , INW 2 &prime; , . . . . . . , INW 24 N &prime; }
2.8)根据置乱序列INZ′、INW′对二进制图像I4进行处理:首先根据序列INZ′对二进制图像I4进行行变换,即将矩阵I4的第INZ′1行变换到第1行,第INZ′2行变换到第2行,依次类推,直到所有行变换完毕,得到图像矩阵I41;再用序列INW′对二进制图像I41进行列变换,即将I41的第INW1′列变换到第1列,第INW2′列变换到第2列,依次类推,直到所有列变换完毕,得到M行、24N列的二进制图像矩阵I5
2.9)将二进制图像矩阵I5从左到右进行分割,分割成3个大小为M×8N的二进制矩阵,把像素值从二进制转换成十进制,得到3个大小为M×N的图像I5_RMN、I5_GMN和I5_BMN
2.10)将图像I5_RMN、I5_GMN和I5_BMN进行合并,即I6(1:M,1:N,1)=I5_RMN(1:M,1:N),I6(1:M,1:N,2)=I5_GMN(1:M,1:N),I6(1:M,1:N,3)=I5_BMN(1:M,1:N),从而得到置乱后的图像I6
2.如权利要求1所述的基于混沌序列和超混沌系统的彩色图像加密方法,其特征在于:所述步骤(4)中的超混沌系统为超混沌Chen系统,其动力学方程如下:
x &CenterDot; 1 = a ( x 2 - x 1 ) x &CenterDot; 2 = - x 1 x 3 + dx 1 + cx 2 x &CenterDot; 3 = x 1 x 2 - bx 3 x &CenterDot; 4 = x 2 x 3 + ex 4
并且,利用该超混沌系统生成用于加密置乱图像I6的加密矩阵的具体步骤为:
3.1)选取系统参数a、b、c、d、e,初始值Xc0、Yc0、Zc0、Wc0,用四阶龙格-库塔法解超混沌Chen系统得到长度为
Figure FDA0000485044350000035
(t5≥2000)的4个实值混沌序列,舍弃掉前t5个值,得到实值序列x″′、y″′、z″′、w″′;
3.2)按照下式
x i &prime; &prime; = floor ( ( | x i &prime; &prime; &prime; | - floor ( | x i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 y i &prime; &prime; = floor ( ( | y i &prime; &prime; &prime; | - floor ( | y i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 z i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256 w i &prime; &prime; = floor ( ( | z i &prime; &prime; &prime; | - floor ( | z i - 1 &prime; &prime; &prime; | ) ) &times; 10 15 ) mod 256
把4个实值序列的所有元素数值都转换到0到255之间,得到新的序列x″、y″、z″、w″,其中x″i∈x″、y″i∈y″、z″i∈z″、w″i∈w″,i代表序列中的第i个元素,i=1,2,3,…M×N;x″′i、y″′i、z″′i、w″′i代表序列x″′、y″′、z″′、w″′中的第i个元素,x″′i-1、y″′i-1、z″′i-1、w″′i-1代表序列x″′、y″′、z″′、w″′中的第i-1个元素,i=1,2,3,…M×N,当i=1时,令x″′0=y″′0=z″′0=w″′0=0。
3.3)对图像的像素值进行加密操作时,每次从x″i、y″i、z″i、w″i中选出3个加密Ri、Gi、Bi,设置中间密钥
Figure FDA0000485044350000033
(i=1,2,3,…M×N)为
x i &prime; &OverBar; = ( x i &prime; &prime; + y i &prime; &prime; + z i &prime; &prime; + w i &prime; &prime; ) mod 4
其中
Figure FDA0000485044350000041
的取值为[0,1,2,3],加密矩阵的选择方法为:
Figure FDA0000485044350000042
时,用(x″i,y″i,z″i)加密(Ri,Gi,Bi);
Figure FDA0000485044350000043
时,用(x″i,y″i,w″i)加密(Ri,Gi,Bi);
Figure FDA0000485044350000044
时,用(x″i,z″i,w″i)加密(Ri,Gi,Bi);
Figure FDA0000485044350000045
时,用(y″i,z″i,w″i)加密(Ri,Gi,Bi)。
3.如权利要求2所述的基于混沌序列和超混沌系统的彩色图像加密方法,其特征在于:所述步骤(5)中利用加密矩阵,结合明文信息和I6_R、I6_G、I6_B三基色分量信息改变置乱图像I6的三基色分量的所有像素值,进行联合扩散的具体步骤为:
4.1)当时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime;
Figure FDA0000485044350000047
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; B i &prime; = ( ( B i + G i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
Figure FDA0000485044350000049
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; x i &prime; &prime; G i &prime; = ( ( G i + B i - 1 &prime; + R i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
Figure FDA00004850443500000411
时,对像素值进行以下变换
R i &prime; = ( ( R i + G i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; y i &prime; &prime; G i &prime; = ( ( G i + R i - 1 &prime; + B i - 1 &prime; ) mod 256 ) &CirclePlus; z i &prime; &prime; B i &prime; = ( ( B i + R i - 1 &prime; + G i - 1 &prime; ) mod 256 ) &CirclePlus; w i &prime; &prime;
其中当i=1时,设置R′i-1=0,G′i-1=0,B′i-1=0;上述公式中,R′i、G′i、B′i为当前密文像素值,Ri、Gi和Bi为当前明文像素值,R′i-1、G′i-1、B′i-1为前一个密文像素值;
4.2)所有像素扩散之后,得到3个长度为M×N的密文序列I7_R、I7_G和I7_B,将I7_R、I7_G和I7_B按行排列的方式转换为3个M×N的矩阵,得到联合扩散后图像的三基色分量I7_RMN、I7_GMN和I7_BMN,从而最终得到加密图像I7
CN201310412691.1A 2013-09-11 2013-09-11 基于混沌序列和超混沌系统的彩色图像加密方法 Expired - Fee Related CN103489151B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310412691.1A CN103489151B (zh) 2013-09-11 2013-09-11 基于混沌序列和超混沌系统的彩色图像加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310412691.1A CN103489151B (zh) 2013-09-11 2013-09-11 基于混沌序列和超混沌系统的彩色图像加密方法

Publications (2)

Publication Number Publication Date
CN103489151A CN103489151A (zh) 2014-01-01
CN103489151B true CN103489151B (zh) 2014-06-18

Family

ID=49829351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310412691.1A Expired - Fee Related CN103489151B (zh) 2013-09-11 2013-09-11 基于混沌序列和超混沌系统的彩色图像加密方法

Country Status (1)

Country Link
CN (1) CN103489151B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008520B (zh) * 2014-05-09 2015-05-13 河南大学 基于sha-384函数、时空混沌系统、量子混沌系统和神经网络的彩色图像加密方法
CN104680475A (zh) * 2015-02-27 2015-06-03 柳州职业技术学院 一种基于超混沌系统的图像混合加密方法
CN104700348B (zh) * 2015-03-13 2017-11-21 哈尔滨工程大学 一种基于高阶混沌系统的彩色图像自适应加密方法
CN104751401B (zh) * 2015-04-16 2018-07-03 大连大学 一种新型的分段线性混沌映射图像加密与编码方法
CN104881837B (zh) * 2015-05-21 2018-01-09 河南大学 基于超混沌系统的密钥动态选取的图像加密方法
CN105046161B8 (zh) * 2015-07-29 2018-07-06 河南大学 基于dna动态编码的彩色图像加密方法
CN105447809B (zh) * 2015-12-07 2018-05-04 中国矿业大学 基于杂草模型的加密域图像可逆水印方法
CN105681622B (zh) * 2015-12-31 2018-06-26 复旦大学 一种基于细胞神经网络超混沌和dna序列的彩色图像加密方法
CN105763763B (zh) * 2016-02-05 2018-08-31 重庆工商职业学院 一种图像加密方法
CN105913369B (zh) * 2016-04-08 2018-11-30 西安电子科技大学 基于三维猫脸变换与超混沌系统的分数域图像加密方法
CN106296560B (zh) * 2016-07-29 2020-02-07 广东工业大学 一种复合级联混沌的彩色图像加密算法
CN106296561B (zh) * 2016-08-05 2019-11-29 广东工业大学 基于超混沌系统的图像加密方法及装置、解密方法及装置
CN106570814B (zh) * 2016-10-17 2020-09-29 广东工业大学 一种超混沌图像加密方法
CN106600518B (zh) * 2016-11-23 2019-06-21 河南大学 基于压缩感知的视觉安全和数据安全的图像加密、解密方法
CN108133448A (zh) * 2016-12-01 2018-06-08 钦州市晶通科技有限公司 一种像素值双重置换与像素位置的混沌加密算法
CN106651737B (zh) * 2016-12-01 2019-12-17 大连理工大学 一种基于拼图策略和混沌系统的彩色图像加密方法
CN106791266B (zh) * 2016-12-08 2023-04-18 西南大学 一种基于光混沌的彩色图像加密传输的方法及其系统
CN107633474B (zh) * 2017-04-16 2019-09-27 东北大学 一种具有快速密钥流生成过程的混沌彩色图像加密方法
CN107341757B (zh) * 2017-06-23 2021-02-05 黑龙江大学 基于Lorenz系统最优序列和K-L变换的图像加密方法
CN108270944B (zh) * 2018-01-02 2019-12-24 北京邮电大学 一种基于分数阶变换的数字图像加密的方法及装置
CN108737685B (zh) * 2018-05-15 2020-11-10 聊城大学 一种基于混沌的自适应机制的图像加密方法
CN108986198B (zh) * 2018-06-20 2020-11-03 北京微播视界科技有限公司 图像映射方法、装置、硬件装置和计算机可读存储介质
CN109379510A (zh) * 2018-09-13 2019-02-22 桂林电子科技大学 一种基于二维Logistic混沌系统算法的图像加密方法
CN109993679B (zh) * 2018-10-12 2020-11-10 深圳市易图资讯股份有限公司 一种基于向量参数的数字水印加密方法
CN109586895B (zh) * 2018-11-30 2020-11-03 大连理工大学 一种新的彩色图像加密方法
CN109918922A (zh) * 2018-12-26 2019-06-21 重庆邮电大学 一种明文关联的分数阶混沌图像加密方法
CN110086601B (zh) * 2019-04-28 2020-03-10 郑州轻工业学院 基于像素值关联的约瑟夫遍历和超混沌系统图像加密方法
CN110197077B (zh) * 2019-05-31 2020-12-11 长春理工大学 基于信息熵更新密钥的感兴趣区域医学图像混沌加密方法
CN110602346B (zh) * 2019-07-26 2021-08-24 广东工业大学 一种基于超混沌系统的无损彩色图像加密方法
CN110417539B (zh) * 2019-08-02 2023-04-28 齐齐哈尔大学 一种动态混沌与矩阵卷积运算的彩色图像加密方法
CN111047495B (zh) * 2019-12-02 2023-05-26 深圳信息职业技术学院 基于超混沌与双随机相位编码的彩色图像加密方法及系统
CN111131656B (zh) * 2019-12-20 2021-11-02 长春理工大学 基于位级置乱和动态叠加扩散的图像加密方法
CN111382452B (zh) * 2020-02-25 2021-12-14 南通大学 一种汉字转图片的加密方法
CN111461951B (zh) * 2020-03-30 2023-10-31 三维通信股份有限公司 彩色图像加密方法、装置、计算机设备和可读存储介质
CN111756518B (zh) * 2020-06-02 2022-09-23 杭州电子科技大学 一种基于忆阻超混沌系统的彩色图像加密方法
CN111859436B (zh) * 2020-07-29 2023-10-17 贵州力创科技发展有限公司 一种车辆保险反欺诈平台的数据安全加密方法
CN113407955A (zh) * 2021-05-18 2021-09-17 武汉科技大学 基于四维超混沌系统的图像加密方法、介质、设备及终端
CN113726975B (zh) * 2021-08-11 2024-02-09 国网河北省电力有限公司保定供电分公司 基于混沌系统的图像加密方法、装置、介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982499A (zh) * 2012-09-28 2013-03-20 河南大学 基于多分数阶混沌系统的彩色图像加密和解密方法
CN103281504A (zh) * 2013-05-30 2013-09-04 东北大学 一种具有双向扩散机制的混沌图像加密方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982499A (zh) * 2012-09-28 2013-03-20 河南大学 基于多分数阶混沌系统的彩色图像加密和解密方法
CN103281504A (zh) * 2013-05-30 2013-09-04 东北大学 一种具有双向扩散机制的混沌图像加密方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《基于超混沌系统的彩色图像加密新算法》;柴秀丽等;《传感器与微系统》;20130831;第32卷(第8期);131-134, 138 *
柴秀丽等.《基于超混沌系统的彩色图像加密新算法》.《传感器与微系统》.2013,第32卷(第8期),131-14,138.

Also Published As

Publication number Publication date
CN103489151A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN103489151B (zh) 基于混沌序列和超混沌系统的彩色图像加密方法
CN102982499B (zh) 基于多分数阶混沌系统的彩色图像加密和解密方法
CN104008520B (zh) 基于sha-384函数、时空混沌系统、量子混沌系统和神经网络的彩色图像加密方法
CN111105339B (zh) 一种基于多维混沌系统和约瑟夫置乱的图像加密方法
CN109660696B (zh) 一种新的图像加密方法
CN108322622B (zh) 一种基于2d-vmd和八维超混沌系统的彩色数字图像加密方法
CN101706947B (zh) 基于dna序列与多混沌映射的图像融合加密方法
CN107094072B (zh) 一种基于广义Henon映射的混合混沌加密方法
CN104680476B (zh) 基于二维离散小波变换和时空混沌的彩色图像无损加密方法
CN105046161A (zh) 基于dna动态编码的彩色图像加密方法
CN107292184B (zh) 图像加密方法、装置及密钥流生成方法和密钥流生成器
CN103530571A (zh) 基于正弦映射和Logistic混沌序列的图像加密方法
CN107330338B (zh) 基于双混沌交叉扩散的彩色图像加密和解密方法及系统
CN107274457A (zh) 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法
CN103440613B (zh) 超混沌Rossler系统的彩色图像加密方法
CN103442157A (zh) 基于Arnold变换和Henon混沌系统的图像加密方法
CN102196320A (zh) 一种图像加解密系统
CN109803063A (zh) 一种基于五维超混沌系统的图像加密方法
CN105046634A (zh) 一种基于信息熵与时空混沌系统的图像加密方法
CN109361830B (zh) 一种基于明文的图像加密方法
CN104050617B (zh) 基于Liu混沌系统的图像加密方法
Elamrawy et al. An image encryption based on DNA coding and 2DLogistic chaotic map
CN109376793B (zh) 一种基于四维陈氏超混沌系统与K-means聚类的图像加密方法
Peng et al. A new 2D-ASC chaotic system and its image encryption applications
Ye et al. Information security analysis of deterministic encryption and chaotic encryption in spatial domain and frequency domain

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Chai Xiuli

Inventor after: Gan Zhihua

Inventor after: Zhu Changjiang

Inventor after: Kong Qingmei

Inventor after: Zhou Funa

Inventor after: Shi Chunxiao

Inventor after: Guo Junyan

Inventor after: Liu Yuan

Inventor after: Wang Yanna

Inventor before: Chai Xiuli

Inventor before: Wu Xiangjun

Inventor before: Zhou Funa

Inventor before: Kong Qingmei

Inventor before: Gan Zhihua

Inventor before: Shi Chunxiao

Inventor before: Guo Junyan

Inventor before: Liu Yuan

Inventor before: Wang Yanna

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: CHAI XIULI WU XIANGJUN ZHOU FUNA KONG QINGMEI GAN ZHIHUA SHI CHUNXIAO GUO JUNYAN LIU YUAN WANG YANNA TO: CHAI XIULI GAN ZHIHUA ZHU CHANGJIANG KONG QINGMEI ZHOU FUNA SHI CHUNXIAO GUO JUNYAN LIU YUAN WANG YANNA

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140618

Termination date: 20190911

CF01 Termination of patent right due to non-payment of annual fee