CN106997606B - 一种基于超混沌系统投影同步的图像加密方法 - Google Patents

一种基于超混沌系统投影同步的图像加密方法 Download PDF

Info

Publication number
CN106997606B
CN106997606B CN201710078592.2A CN201710078592A CN106997606B CN 106997606 B CN106997606 B CN 106997606B CN 201710078592 A CN201710078592 A CN 201710078592A CN 106997606 B CN106997606 B CN 106997606B
Authority
CN
China
Prior art keywords
mrow
msub
mover
image
hyperchaos
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
CN201710078592.2A
Other languages
English (en)
Other versions
CN106997606A (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.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal 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 Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201710078592.2A priority Critical patent/CN106997606B/zh
Publication of CN106997606A publication Critical patent/CN106997606A/zh
Application granted granted Critical
Publication of CN106997606B publication Critical patent/CN106997606B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/001Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于超混沌系统投影同步的图像加密方法,包括步骤:明文图像量化处理,产生超混沌驱动系统的超混沌序列,图像行置乱,图像列置乱,图像扩散处理,循环图像行置乱、图像列置乱、图像扩散处理多轮,得到密文图像;密文图像量化处理,产生超混沌响应系统的超混沌序列,获取时刻、列置乱指标、行置乱指标的取值,图像逆扩散处理,图像逆列置乱,图像逆行置乱,循环图像逆扩散处理、图像逆列置乱、图像逆行置乱多轮,得到解密图像。本发明引入含有当前图像的反馈机制,每轮加密中行(列)置乱地址码和密钥矩阵动态变化。实验表明,本方法加密效果良好,安全性高,密钥空间大,能抵御选择明文攻击和已知明文攻击、及各种统计攻击。

Description

一种基于超混沌系统投影同步的图像加密方法
技术领域
本发明涉及信息技术安全领域,具体涉及基于超混沌系统投影同步的图像加密方法。
背景技术
网络通信技术、云计算及大数据的快速发展,对图像加密技术不断产生新的挑战。密码学特性与混沌系统特性之间的天然联系,使得基于混沌理系统的图像加密研究最近受到极大关注,这主要包括利用混沌理论的图像密码系统和基于混沌同步的图像密码系统。相对于基于混沌理论的图像加密技术,基于混沌同步的图像加密技术研究还非常有限。目前基于混沌同步的图像加密算法研究中,具有以下特点:(1)利用混沌同步序列简单地进行图像像素值改变,而缺失对图像像素位置的混淆操作,这将无法对安全性有效保障;(2)在扩散阶段利用混沌同步序列进行图像像素值替换,并在图像混淆阶段引入Cat映射、standard映射等对图像像素位置进行置乱,混淆过程中这些映射的引入,使得加密方式繁琐,并额外增大通信开支;(3)在置乱‐扩散的图像加密框架中,绝大多数加密算法中像素值的替换和像素位置混淆本质上都是线性运算,密钥流和置乱变换始终保持不变,这将无法抵御选择明文攻击和已知明文等攻击。随着密码分析技术的日趋成熟,一些图像加密算法正逐渐被破解,提高图像加密系统的安全性势在必行。
发明内容
鉴于上述现有图像加密技术的缺陷与不足,本发明的目的在于,提出一种基于超混沌系统同步的图像加密方法,该方法包括对原始明文图像进行加密和解密的过程:
加密过程,具体包括如下步骤:
1)、明文图像量化处理:对于像素为m×n、灰度级水平为G的原始明文图像,获得它的二维像素值矩阵A,将所述原始明文图像作为当前图像;
2)、产生超混沌序列:设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列;
3)、图像行置乱:结合当前图像计算行置乱指标zh;结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱;把行置乱后像素值矩阵A对应的图像作为当前图像;
4)、图像列置乱:结合当前图像计算列置乱指标zl;结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱;把列置乱后像素值矩阵A对应的图像作为当前图像;
5)、图像扩散处理:结合当前图像计算时刻zk;结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像扩散处理,得到扩散后的像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像;
6)、重复步骤3)-步骤5)R轮,将每轮得到的行置乱指标zh存入序列{zh},将每轮得到的列置乱指标zl存入序列{zl},将每轮得到的时刻zk存入序列{zk},同时得到最后一轮扩散后的像素值矩阵A,将像素值矩阵A按照图像标准格式保存,得到大小为m×n的密文图像;
解密过程,具体包括如下步骤:
7)、密文图像量化处理:对于步骤6)中得到的密文图像,获得它的二维像素值矩阵C,将密文图像作为当前图像;
8)、构造与超混沌驱动系统结构相异的超混沌响应系统,使用投影同步方法对超混沌响应系统和超混沌驱动系统达到投影同步,产生超混沌响应系统的超混沌序列;
9)、获取序列{zk},取其最后一个元素作为当前的时刻zk的取值;同时,获取序列{zl},取其最后一个元素作为当前的列置乱指标zl的取值;获取序列{zh},取其最后一个元素作为当前的行置乱指标zh的取值;
10)、图像逆扩散处理:结合当前的时刻zk的取值和超混沌响应系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像逆扩散处理,得到逆扩散后的像素值矩阵C;把逆扩散后像素值矩阵C对应的图像作为当前图像;
11)、图像逆列置乱:结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱;把逆列置乱后的像素值矩阵C对应的图像作为当前图像;
12)、图像逆行置乱:结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱;把逆行置乱后的像素值矩阵C对应的图像作为当前图像;
13)、重复步骤10)-步骤12)R轮,按照逆序依次取序列{zk}中元素作为每轮中当前的时刻zk的取值,按照逆序依次取序列{zl}中元素作为每轮中当前的列置乱指标zl的取值,按照逆序依次取序列{zh}中元素作为每轮中当前的行置乱指标zh的取值;同时得到最后一轮逆行置乱后的像素值矩阵C,将像素值矩阵C按照图像标准格式保存,得到大小为m×n的解密图像。
进一步的,所述步骤2中设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列,具体是指:
所述的超混沌驱动系统用式(1)表示:
式中,x1,x2,x3,x4,x5为超混沌驱动系统的状态变量,a,c,b,γ,λ12是为使得超混沌驱动系统具有超混沌行为的控制参数,输入初始条件xi(0)∈[0,1],i=1,......,5;使用欧拉数值方法、以步长h迭代式(1),h∈[0.0005,0.005],实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌驱动系统的超混沌序列{xi(j)},i=1,......,5,j=1,2,......,(n1+10);当(m×n)/4为整数时,n1=(m×n)/4,否则,n1=fix(m×n/4)+1,fix(·)表示取整运算,T为介于3000至300000之间的整数。
进一步的,所述步骤3)所述结合当前图像计算行置乱指标zh,具体是指:
zh=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱,具体是指:
根据行置乱指标zh的值为1、2、3、4时,对应取超混沌驱动系统的超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)};从取到的超混沌驱动系统的超混沌序列中提取前n个元素,记为{xh(1),xh(2),……,xh(n)},对超混沌序列{xh(1),xh(2),……,xh(n)}中的n个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xh(1),xh(2),……,xh(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn},利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵A的每一行进行置乱,具体是将像素值矩阵A的每一行的第hi列像素值置换至该行的第i列,i=1,2,......,n。
进一步的,所述步骤4所述结合当前图像计算列置乱指标zl,具体是指:
zl=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱,具体是指:
根据列置乱指标zl的值为1、2、3、4时,对应取超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)},从取到的超混沌序列中提取前m个元素,记为{xl(1),xl(2),……,xl(m)},对超混沌序列{xl(1),xl(2),……,xl(m)}中的m个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xl(1),xl(2),……,xl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵A的每一列进行置乱,具体是将像素值矩阵A的每一列的第lj行像素值置换至该列的第j行,j=1,2,......,m。
进一步的,所述步骤5具体包括如下步骤:
51)结合当前图像计算时刻zk=mod((sum(A)+G),10)+1,其中sum(·)表示求和运算;
52)结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生二维密钥矩阵K,具体如下:
对超混沌驱动系统的超混沌序列{x2(j)}从时刻zk起依次选取n1个元素:
x2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
abs(·)表示绝对值运算;
对超混沌驱动系统的超混沌序列{x3(j)}从时刻zk起依次选取n1个元素:
x3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌驱动系统的超混沌序列{x4(j)}从时刻zk起依次选取n1个元素:
x4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌驱动系统的超混沌序列{x5(j)}从时刻zk起依次选取n1个元素:
x5(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
53)利用步骤52)得到的二维密钥矩阵K,对当前图像的像素值矩阵A按位进行图像扩散处理,具体由(2)式实现:
B=bitxor(de2bi(A),de2bi(K)), (2)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵B中的二进制数据通过式(3)转化十进制数据,得到扩散后的像素值序列{Bc}:
Bc=bi2de(B) (3)
式中,bi2de(·)表示二进制转化为十进制运算;
54)依次将扩散后的像素值序列{Bc}的元素从左至右逐列存入像素值矩阵A,实现对像素值矩阵A的更新,得到扩散后像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像。
进一步的,所述步骤8)具体是指:
构造与超混沌驱动系统结构相异的超混沌响应系统,用式(4)表示:
式中,y1,y2,y3,y4为超混沌响应系统的状态变量,a1,d1,c1,b11是为使得超混沌响应系统具有超混沌行为的控制参数,u1,u2,u3,u4是自适应控制器;所述的自适应控制器由式(5)给出:
式中,k1,k2,k3,k4为自适应反馈增益,其演化规律由式(6)给出:
式中,σi,i=1,2,3,4为任意正常数;
式中,分别为控制参数c,b,γ,λ12的估计值,其演化规律由式(7)给出:
式中,分别为控制参数a1,d1,c1,b11的估计值,其演化规律由式(8)给出:
使用欧拉数值方法、以步长h迭代式(4)-式(8),h∈[0.0005,0.005],超混沌驱动系统与超混沌响应系统的状态变量误差yi-xi+1,i=1,2,3,4在投影同步时刻T后达到零,实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌响应系统的超混沌序列yi(j),i=1,2,......,4,j=1,2,......,(n1+10)。
进一步的,所述步骤10)具体包括如下步骤:
1001)产生二维密钥矩阵K:
对超混沌响应系统的超混沌序列{y1(j)}从当前的时刻zk起依次选取n1个元素
y1(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
abs(·)表示绝对值运算;
对超混沌响应系统的超混沌序列{y2(j)}从当前的时刻zk起依次选取n1个元素
y2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌响应系统的超混沌序列{y3(j)}从当前的时刻zk起依次选取n1个元素
y3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌响应系统的超混沌序列{y4(j)}中从当前的时刻zk起依次选取n1个元素
y4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
1002)对当前图像按位进行图像逆扩散处理:
利用步骤1001)得到的二维密钥矩阵K,对像素值矩阵C按位进行图像逆扩散处理,具体由式(9)实现:
D=bitxor(de2bi(C),de2bi(K)), (9)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵D中的二进制数据通过式(10)转化十进制数据,得到逆扩散后的像素值序列{Dc}:
Dc=bi2de(D), (10)
其中bi2de(·)表示二进制转化为十进制运算;
1003)像素值矩阵C更新:依次将逆扩散后的像素值序列{Dc}的元素从左至右逐列存入像素值矩阵C,对像素值矩阵C进行更新,得到逆扩散后的像素值矩阵C,把逆扩散后像素值矩阵C对应的图像作为当前图像。
进一步的,所述步骤11)中所述结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱,具体是指:
根据当前的列置乱指标zl的值为1、2、3、4时,对应取超混沌响应系统的超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌响应系统的超混沌序列中提取前m个元素,记为{yl(1),yl(2),……,yl(m)},对超混沌序列{yl(1),yl(2),……,yl(m)}中的m个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵C的每一列进行逆列置乱,具体是将像素值矩阵A的每一列的第j行像素值置换至该列的第lj行,j=1,2,......,m。
进一步的,所述步骤12)所述结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱,具体是指:
根据当前的行置乱指标zh的值取1、2、3、4时,对应取超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌序列中提取前n个元素,记为{yl(1),yl(2),……,yl(n)},对超混沌序列{yl(1),yl(2),……,yl(n)}中的n个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn};利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵C的每一行进行逆行置乱,具体是将像素值矩阵C的每一行的第i列像素值置换至该行的第hi列,i=1,2,......,n。
进一步的,如果所述的数字明文图像为彩色图像,在步骤1)之前还包括步骤0),从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵;分别对所述的三个颜色分量的像素值矩阵执行步骤1)-步骤6),得到加密处理后的红、黄、蓝三个颜色分量的密文图像;步骤6)与步骤7)之间还包括如下步骤:将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;从所述原始彩色图像的密文图像中提取红、黄、蓝三个颜色分量的像素值矩阵;对密文图像中提取的红、黄、蓝三个颜色分量的像素值矩阵执行步骤7)-步骤13),得到解密处理后的红、黄、蓝三个颜色分量的解密图像,将得到的解密处理的红、黄、蓝三个颜色分量的解密图像合成原始彩色图像的解密图像。
与现有技术相比,本发明的有益结果如下:
1.本发明通过构建超混沌系统的投影同步,其中驱动系统和响应系统均为超混沌系统、且具有不同结构和不同维数,从混沌系统本身和同步方式两方面提升混沌同步序列的复杂性,使得混沌同步序列伪随机性更强、更具有密码学特性,这极大提高了图像加密系统的安全性,而且使加密方法具有更大的密钥空间和更高的加密速度。
2.本发明在图像行置乱、图像列置乱、图像扩散的循环加密过程中,引入了含有当前图像信息的反馈机制,在每轮加密中行置乱地址码集合、列置乱地址码集合和密钥矩阵动态变化而互不相同,这使得密文对明文和密钥都非常敏感,从而加密算法能够有效地抵御已知明文攻击和选择明文等攻击。
3.本发明中图像行置乱、图像列置乱、图像扩散交替进行,像素位置置乱和像素值替换相互关联,这使得密文图像隐蔽性强,大大增加了破译的难度,而且使得加密算法能够抗各种统计攻击、暴力攻击和差分攻击。
4.本发明解密过程中消除图像扩散、消除图像列置乱、消除图像行置乱交替进行,每轮解密操作中密钥矩阵、列置乱地址码集合、行置乱地址码集合动态变化而不同,打破了已有图像加密系统中,置乱变换和密钥流保持不变的局限,使得本加密方法安全性提高、能够有效地抵御已知明文攻击和选择明文攻击。
附图说明
图1是本发明的方法的流程图。
图2是本发明中明文图像、密文图像、解密图像及其它们像素值分布的直方图。
图3是超混沌驱动系统和超混沌响应系统的状态变量误差的演化图。
图4是本发明中明文图像与密文图像分别在垂直方向相邻像素相关性分析图。
图5为本发明解密过程中密钥敏感性的测试图。
具体实施方式
实验环境:本试验的硬件测试平台是:Inter(R)Core(TM)i7-4500U CPU,主频1.8Ghz,内存8.0GB;软件平台为:Windows10操作系统和Matlab2012a。仿真图像采用灰度级为256,大小为256×256的Lena图像。
下面结合附图对本发明的实施例做进一步说明。
本发明基于超混沌系统投影同步的图像加密方法,包括对原始明文图像进行加密和解密的过程。
加密过程,具体包括如下步骤:
1)、明文图像量化处理:对于像素为m×n、灰度级水平为G的原始明文图像,获得它的二维像素值矩阵A,将所述原始明文图像作为当前图像;
本实施例中,m=n=256,G=256,图2(a)为原始明文图像。
2)、产生超混沌序列:设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列;具体操作如下:
所述的超混沌驱动系统用式(1)表示:
式中,x1,x2,x3,x4,x5为超混沌驱动系统的状态变量,a,c,b,γ,λ12是为使得超混沌驱动系统具有超混沌行为的控制参数,输入初始条件xi(0)∈[0,1],i=1,......,5;使用欧拉数值方法、以步长h迭代式(1),h∈[0.0005,0.005],实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌驱动系统的超混沌序列{xi(j)},i=1,......,5,j=1,2,......,(n1+10);当(m×n)/4为整数时,n1=(m×n)/4,否则,n1=fix(m×n/4)+1,fix(·)表示取整运算,T为介于3000至300000之间的整数。
本实施例中,n1=(256×256)/4,h=0.001,T=150000。取初始条件x1(0)=0.1,x2(0)=0.2,x3(0)=0.3,x4(0)=0.4,x5(0)=0.4。在数值仿真中取控制参数a=10,c=28,b=8/3,γ=-2,λ1=-0.09,λ2=8,此时超混沌驱动系统具有两个正的Lyapunov指数,超混沌驱动系统具有超混沌行为。
3)、图像行置乱:结合当前图像计算行置乱指标zh;结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱;把行置乱后像素值矩阵A对应的图像作为当前图像;具体操作如下:
所述的结合当前图像计算行置乱指标zh,具体是指:
zh=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述的结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱,具体是指:
根据行置乱指标zh的值为1、2、3、4时,对应取超混沌驱动系统的超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)},具体为:zh为1时,取超混沌驱动系统的超混沌序列{x2(j)},zh为2时,取超混沌驱动系统的超混沌序列{x3(j)},zh为3时,取超混沌驱动系统的超混沌序列{x4(j)},zh为4时,取超混沌驱动系统的超混沌序列{x5(j)};从取到的超混沌驱动系统的超混沌序列中提取前n个元素,记为{xh(1),xh(2),……,xh(n)},对超混沌序列{xh(1),xh(2),……,xh(n)}中的n个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xh(1),xh(2),……,xh(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn},{h1,h2,……,hn}遍历{1,2,……,n},利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵A的每一行进行置乱,具体是将像素值矩阵A的每一行的第hi列像素值置换至该行的第i列,i=1,2,......,n。
由于行置乱指标zh引入含有当前图像信息的反馈机制,从而行置乱地址码集合在每轮加密时自动更新,这使得密文对明文和密钥都非常敏感,从而加密算法能够有效地抵御已知明文攻击和选择明文攻击。
4)、图像列置乱:结合当前图像计算列置乱指标zl;结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱;把列置乱后像素值矩阵A对应的图像作为当前图像;具体操作如下:
所述的结合当前图像计算列置乱指标zl,具体是指:
zl=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述的结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱,具体是指:
根据列置乱指标zl的值为1、2、3、4时,对应取超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)},具体为:zl为1时,取超混沌驱动系统的超混沌序列{x2(j)},zl为2时,取超混沌驱动系统的超混沌序列{x3(j)},zl为3时,取超混沌驱动系统的超混沌序列{x4(j)},zl为4时,取超混沌驱动系统的超混沌序列{x5(j)};从取到的超混沌序列中提取前m个元素,记为{xl(1),xl(2),……,xl(m)},对超混沌序列{xl(1),xl(2),……,xl(m)}中的m个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xl(1),xl(2),……,xl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm},{l1,l2,……,lm}遍历{1,2,……,m};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵A的每一列进行置乱,具体是将像素值矩阵A的每一列的第lj行像素值置换至该列的第j行,j=1,2,......,m。
由于列置乱指标zl引入含有当前图像信息的反馈机制,从而列置乱地址码集合在每轮加密时自动更新,这使密文对明文和密钥都非常敏感,从而加密算法能够有效地抵御已知明文攻击和选择明文攻击。
5)、图像扩散处理:结合当前图像计算时刻zk;结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像扩散处理,得到扩散后的像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像;具体包括如下步骤:
51)结合当前图像计算时刻zk=mod((sum(A)+G),10)+1,其中sum(·)表示求和运算;
52)结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生二维密钥矩阵K,具体如下:
对超混沌驱动系统的超混沌序列{x2(j)}从时刻zk起依次选取n1个元素:
x2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
abs(·)表示绝对值运算;
对超混沌驱动系统的超混沌序列{x3(j)}从时刻zk起依次选取n1个元素:
x3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌驱动系统的超混沌序列{x4(j)}从时刻zk起依次选取n1个元素:
x4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌驱动系统的超混沌序列{x5(j)}从时刻zk起依次选取n1个元素:
x5(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
53)利用步骤52)得到的二维密钥矩阵K,对当前图像的像素值矩阵A按位进行图像扩散处理,具体由(2)式实现:
B=bitxor(de2bi(A),de2bi(K)), (2)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵B中的二进制数据通过式(3)转化十进制数据,得到扩散后的像素值序列{Bc}:
Bc=bi2de(B) (3)
式中,bi2de(·)表示二进制转化为十进制运算,序列{Bc}的长度为m×n;
54)依次将扩散后的像素值序列{Bc}的元素从左至右逐列存入像素值矩阵A,实现对像素值矩阵A的更新,得到扩散后像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像。
由于时刻zk引入含有当前图像信息的反馈机制,从而使得密钥矩阵在每轮加密时自动更新,这使密文对明文和密钥都非常敏感,从而加密算法能够有效地抵御已知明文攻击和选择明文攻击。
6)、重复步骤3)-步骤5)R轮,将每轮得到的行置乱指标zh存入序列{zh},将每轮得到的列置乱指标zl存入序列{zl},将每轮得到的时刻zk存入序列{zk},同时得到最后一轮扩散后的像素值矩阵A,将像素值矩阵A按照图像标准格式保存,得到大小为m×n的密文图像;
本实施例中,R=3,zh={3,1,2},zl={4,1,2},zk={1,1,5}。大小为256×256的密文图像如图2(b)所示。本加密方法中图像行置乱、图像列置乱、图像扩散交替进行,像素位置置乱和像素值替换相互关联,这使得密文图像隐蔽性强。
解密过程,具体包括如下步骤:
7)、密文图像量化处理:对于步骤6)中得到的密文图像,获得它的二维像素值矩阵C,将密文图像作为当前图像;
8)、构造与超混沌驱动系统结构相异的超混沌响应系统,使用投影同步方法对超混沌响应系统和超混沌驱动系统达到投影同步,产生超混沌响应系统的超混沌序列;具体操作如下:
构造与超混沌驱动系统结构相异的超混沌响应系统,用式(4)表示:
式中,y1,y2,y3,y4为超混沌响应系统的状态变量,a1,d1,c1,b11是为使得超混沌响应系统具有超混沌行为的控制参数,u1,u2,u3,u4是自适应控制器;所述的自适应控制器由式(5)给出:
式中,k1,k2,k3,k4为自适应反馈增益,其演化规律由式(6)给出:
式中,σi,i=1,2,3,4为任意正常数;
式中,分别为控制参数c,b,γ,λ12的估计值,其演化规律由式(7)给出:
式中,分别为控制参数a1,d1,c1,b11的估计值,其演化规律由式(8)给出:
使用欧拉数值方法、以步长h迭代式(4)-式(8),h∈[0.0005,0.005],超混沌驱动系统与超混沌响应系统的状态变量误差yi-xi+1,i=1,2,3,4在投影同步时刻T后达到零,实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌响应系统的超混沌序列yi(j),i=1,2,......,4,j=1,2,......,(n1+10)。
本实施例中,取以下初始条件:
y1,y2,y3,y4的初始条件分别为y1(0)=0.4,y2(0)=0.6,y3(0)=0.2,y4(0)=0.9;
k1,k2,k3,k4的初始条件分别为k1(0)=0.2,k2(0)=0.5,k3(0)=0.6,k4(0)=0.3;
的初始条件分别为
的初始条件分别为
取σi=100,i=1,2,3,4,n1=(256×256)/4,h=0.001,T=150000。在数值仿真中取控制参数a1=35,d1=7,c1=12,b1=3,γ1=0.16,此时超混沌响应系统具有两个正的Lyapunov指数,超混沌响应系统具有超混沌行为。大小为256×256的密文图像如图2(b)所示。
根据微分方程的Lyapunov定理和Barbalat引理能够证明,在自适应控制器u1,u2,u3,u4作用下,超混沌响应系统与超混沌驱动系统的状态变量误差yi-xi+1,i=1,2,3,4在同步时刻T后能够为零,即超混沌响应系统与超混沌驱动系统达到投影同步,超混沌驱动系统和超混沌响应系统的状态变量误差的演化图参见图3。
通过构建超混沌系统的投影同步,其中驱动系统和响应系统均为超混沌系统、且具有不同结构和不同维数,从混沌系统本身和同步方式两方面提升混沌同步序列的的复杂性。通过设计自适应控制器,超混沌响应系统和超混沌驱动系统快速达到投影同步,从而获得解密过程中所需要的超混沌序列。这避免了传统的基于混沌理论的图像加密方法中,将混沌系统初始值和控制参数作为密钥通过通信信道传输时被窃取的可能,同时节约了额外通信传输开销。
9)、获取序列{zk},取其最后一个元素作为当前的时刻zk的取值;同时,获取序列{zl},取其最后一个元素作为当前的列置乱指标zl的取值;获取序列{zh},取其最后一个元素作为当前的行置乱指标zh的取值;
本实施例中,zh={3,1,2},zl={4,1,2},zk={1,1,5}。
10)、图像逆扩散处理:结合当前的时刻zk的取值和超混沌响应系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像逆扩散处理,得到逆扩散后的像素值矩阵C;把逆扩散后像素值矩阵C对应的图像作为当前图像;具体包括如下步骤:
1001)产生二维密钥矩阵K:
对超混沌响应系统的超混沌序列{y1(j)}从当前的时刻zk起依次选取n1个元素y1(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
表示绝对值运算;
对超混沌响应系统的超混沌序列{y2(j)}从当前的时刻zk起依次选取n1个元素y2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌响应系统的超混沌序列{y3(j)}从当前的时刻zk起依次选取n1个元素y3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
对超混沌响应系统的超混沌序列{y4(j)}中从当前的时刻zk起依次选取n1个元素y4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
1002)对当前图像按位进行图像逆扩散处理:
利用步骤1001)得到的二维密钥矩阵K,对像素值矩阵C按位进行图像逆扩散处理,具体由式(9)实现:
D=bitxor(de2bi(C),de2bi(K)), (9)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵D中的二进制数据通过式(10)转化十进制数据,得到逆扩散后的像素值序列{Dc}:
Dc=bi2de(D), (10)
其中bi2de(·)表示二进制转化为十进制运算,Dc的长度为m×n;
1003)像素值矩阵C更新:依次将逆扩散后的像素值序列{Dc}的元素从左至右逐列存入像素值矩阵C,对像素值矩阵C进行更新,得到逆扩散后的像素值矩阵C,把逆扩散后像素值矩阵C对应的图像作为当前图像。
11)、图像逆列置乱:结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱;把逆列置乱后的像素值矩阵C对应的图像作为当前图像;具体操作如下:
根据当前的列置乱指标zl的值为1、2、3、4时,对应取超混沌响应系统的超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},具体为:zl为1时,取超混沌驱动系统的超混沌序列{y1(j)},zl为2时,取超混沌驱动系统的超混沌序列{y2(j)},zl为3时,取超混沌驱动系统的超混沌序列{y3(j)},zl为4时,取超混沌驱动系统的超混沌序列{y4(j)};从取到的超混沌响应系统的超混沌序列中提取前m个元素,记为{yl(1),yl(2),……,yl(m)},对超混沌序列{yl(1),yl(2),……,yl(m)}中的m个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm},{l1,l2,……,lm}遍历{1,2,……,m};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵C的每一列进行逆列置乱,具体是将像素值矩阵A的每一列的第j行像素值置换至该列的第lj行,j=1,2,......,m;把逆列置乱后的像素值矩阵C对应的图像作为当前图像。
12)、图像逆行置乱:结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱;把逆行置乱后的像素值矩阵C对应的图像作为当前图像;具体操作如下:
根据当前的行置乱指标zh的值取1、2、3、4时,对应取超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},具体为:zh为1时,取超混沌驱动系统的超混沌序列{y1(j)},zh为2时,取超混沌驱动系统的超混沌序列{y2(j)},zh为3时,取超混沌驱动系统的超混沌序列{y3(j)},zh为4时,取超混沌驱动系统的超混沌序列{y4(j)};从取到的超混沌序列中提取前n个元素,记为{yl(1),yl(2),……,yl(n)},对超混沌序列{yl(1),yl(2),……,yl(n)}中的n个元素做升(降)序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn};利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵C的每一行进行逆行置乱,具体是将像素值矩阵C的每一行的第i列像素值置换至该行的第hi列,i=1,2,......,n;把逆行置乱后的像素值矩阵C对应的图像作为当前图像。
13)、重复步骤10)-步骤12)R轮,按照逆序依次取序列{zk}中元素作为每轮中当前的时刻zk的取值,按照逆序依次取序列{zl}中元素作为每轮中当前的列置乱指标zl的取值,按照逆序依次取序列{zh}中元素作为每轮中当前的行置乱指标zh的取值;同时得到最后一轮逆行置乱后的像素值矩阵C,将像素值矩阵C按照图像标准格式保存,得到大小为m×n的解密图像。
本实施例中,R=3,zh={3,1,3},zl={3,4,3},zk={1,5,10}。大小为256×256的解密图像如图2(c)所示。
解密过程中消除图像扩散、消除图像列置乱、消除图像行置乱交替进行,每轮解密操作中密钥矩阵、列置乱地址码集合、行置乱地址码集合动态变化而不同,这使得本发明提出的加密方法安全性高、能够有效地抵御已知明文攻击和选择明文攻击。
如果所述的数字明文图像为彩色图像,在步骤1)之前还包括步骤0),从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵;分别对所述的三个颜色分量的像素值矩阵执行步骤1)-步骤6),得到加密处理后的红、黄、蓝三个颜色分量的密文图像;步骤6)与步骤7)之间还包括如下步骤:将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;从所述原始彩色图像的密文图像中提取红、黄、蓝三个颜色分量的像素值矩阵;对密文图像中提取的红、黄、蓝三个颜色分量的像素值矩阵执行步骤7)-步骤13),得到解密处理后的红、黄、蓝三个颜色分量的解密图像,将得到的解密处理的红、黄、蓝三个颜色分量的解密图像合成原始彩色图像的解密图像。
为了更好的说明该加密方法的安全性,本发明分别从抗统计攻击测试、抗差分攻击分析、密钥空间分析及密钥敏感性测试三方面进行分析。
1)抗统计攻击测试
1.1)灰度直方图
灰度直方图能够直观地描述一幅图像中像素值的分布情况。图2(a)、2(d)分别为明文图像及其像素值分布的直方图,图2(b)、2(e)分别为密文图像及其像素值分布的直方图,图2(c)、2(f)分别为解密图像及其像素值分布的直方图。对比图2(d)与2(e)可以看出,与明文图像相比,密文图像的直方图呈现平坦而均匀的分布,说明经加密后的密文图像的像素值分布具有良好的均衡性和随机性,可以将明文图像信息特征完全隐藏起来,攻击者从中无法得到任何明文与密文之间关系的信息。对比图2(d)与2(f)可以看出,解密图像的直方图与明文图像的直方图完全相同,说明经解密后的解密图像能够完全恢复明文图像。
1.2)相邻像素间的相关性
为了比较明文图像和密文图像相邻像素的相关性,本发明分别从明文图像和密文图像中随机地选取水平方向、垂直方向以及对角方向3000对相邻像素,然后利用如下公式计算像素间的相关性:
其中xj和yj分别是图像中两个相邻点的像素值,N为采样点的个数。
表1列出了明文图像和密文图像分别在水平、垂直以及对角线方向的相关系数。从表1中可以看出,明文图像的相邻像素具有高度相关性,ρ接近1,而本发明算法所得密文图像相邻像素的相关性几乎接近于0,说明了本方法在打破相邻像素相关性方面具有较强的优越性,本方法具有很强的抗统计攻击能力。
将两相邻像素的像素值作为(x,y)坐标并以点的形式绘制于平面上,明文图像与密文图像相邻像素相关性的可视化结果见图4。图4(a)和4(b)分别对应于垂直方向上明文图像与密文图像的情形。可以看出,明文图像相邻像素间的相关性呈明显线性关系,而密文图像相邻像素间的相关性呈现随机关系。水平方向和对角方向上明文图像与密文图像相邻像素相关性也有类似结果。
表1
方向 水平方向 垂直方向 对角方向
明文图像 0.9682 0.9331 0.9047
密文图像 0.00005 ‐0.0075 0.00012
1.3)Shannon信息熵
Shannon信息熵能够刻画信息源的不可预测性和随机性,它可以由平均信息量来描述,具体由公式(14)表示:
其中{yi},i=1,2,…,N,表示信息源Y的N种取值,P(yi)表示yi出现的概率;信息源的随机性越大,熵也就越大;对于一个灰度水平为256的密文图像,其信息熵的理论值为8。利用公式(14),计算得出明文图像(图2(a))与密文图像(图2(b))的信息熵分别为H=7.4532和H=7.9974。可见,本发明所得密文图像的信息熵非常接近于理论值8,这说明密文图像的像素值分布具有极高的随机性,很难被攻击者破译。
2)抗差分攻击分析
像素变化比率(NPCR)常作为对图像加密算法差分攻击分析的测评指标,具体计算公式如下:
其中C1(i,j),C2(i,j)分别为密文图像C1、C2位于(i,j)点的像素值,密文图像C1、C2所对应的明文图像仅存在一个像素点的差异。当两个明文图像仅在像素点(80,90)的像素值相差为1时,NPCR的计算结果如表2。可见,本发明提出的加密发法,NPCR能够很快接近理论值99.61%,这说明本方法具有良好的抗差分攻击性能。
表2
轮数 1 2 3
NPCR 99.58% 99.64% 99.62%
3)密钥空间分析及密钥敏感性测试
3.1)密钥空间分析
为满足实际应用的抗暴力破解需求,图像加密方案应具有尽可能大的密钥空间。本发明的密钥除了包括超混沌驱动系统的初始值和控制参数共11个,还包括步长h,因此该方法的密钥空间足够大,足以抵御密钥穷举攻击。
3.2)解密过程对密钥的敏感性
为验证本发明解密过程中密钥的敏感性,在解密时,仅改变某一密钥的值,使其与加密时密钥仅相差10-15
将密钥由λ1=-0.09改为λ1=-0.09+10-15,得到错误的解密图像如5(a)所示;
将密钥由x1(0)=0.1改为x1(0)=0.1+10-15,得到错误的解密图像如5(b)所示;
将密钥由h=0.001改为h=0.001+10-15,得到错误的解密图像如5(c)所示。
可以看出错误解密后的图像与明文图像(图2(a))差别甚大,完全看不出明文图像所隐含的任何信息,说明本发明的加密方法具有极强的密钥敏感性,即使使用一个与加密密钥具有极其微小差异的解密密钥,也不能解密得到任何与明文相关的信息;解密时对其它密钥改变时,也得到错误的解密图像。
3.3)加密过程对密钥的敏感性
为验证本发明加密过程中密钥的敏感性,在加密时,仅改变某一密钥的值,使两次加密时密钥仅相差10-15,做如下测试:
测试1:将密钥由b=8/3改为b=8/3+10-15
测试2:将密钥由λ2=8改为λ2=8+10-15
测试3:将密钥由h=0.001改为h=0.001+10-15
测试4:将密钥由x2(0)=0.2改为x2(0)=0.2+10-15
测试5:将密钥由x5(0)=0.4改为x5(0)=0.4+10-15
将以上5个测试中密钥变化前后得到密文图像的差异用NPCR刻画,其中与式(15)相关的密文图像C1、C2所对应的加密密钥仅相差10-15,具体结果如表3所示。可以看出,加密算法对密钥非常敏感,密钥的微小变化将会得到完全不同的密文图像,使得攻击者很难获得正确的明文图像。
表3
测试 测试1 测试2 测试3 测试4 测试5
NPCR 99.65% 99.63% 99.64% 99.62% 99.63%

Claims (10)

1.一种基于超混沌系统投影同步的图像加密方法,包括对原始明文图像进行加密和解密的过程,其特征在于:
加密过程,具体包括如下步骤:
1)、明文图像量化处理:对于像素为m×n、灰度级水平为G的原始明文图像,获得它的二维像素值矩阵A,将所述原始明文图像作为当前图像;
2)、产生超混沌序列:设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列;
3)、图像行置乱:结合当前图像计算行置乱指标zh;结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱;把行置乱后像素值矩阵A对应的图像作为当前图像;
4)、图像列置乱:结合当前图像计算列置乱指标zl;结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱;把列置乱后像素值矩阵A对应的图像作为当前图像;
5)、图像扩散处理:结合当前图像计算时刻zk;结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像扩散处理,得到扩散后的像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像;
6)、重复步骤3)-步骤5)R轮,将每轮得到的行置乱指标zh存入序列{zh},将每轮得到的列置乱指标zl存入序列{zl},将每轮得到的时刻zk存入序列{zk},同时得到最后一轮扩散后的像素值矩阵A,将像素值矩阵A按照图像标准格式保存,得到大小为m×n的密文图像;
解密过程,具体包括如下步骤:
7)、密文图像量化处理:对于步骤6)中得到的密文图像,获得它的二维像素值矩阵C,将密文图像作为当前图像;
8)、构造与超混沌驱动系统结构相异的超混沌响应系统,使用投影同步方法对超混沌响应系统和超混沌驱动系统达到投影同步,产生超混沌响应系统的超混沌序列;
9)、获取序列{zk},取其最后一个元素作为当前的时刻zk的取值;同时,获取序列{zl},取其最后一个元素作为当前的列置乱指标zl的取值;获取序列{zh},取其最后一个元素作为当前的行置乱指标zh的取值;
10)、图像逆扩散处理:结合当前的时刻zk的取值和超混沌响应系统的超混沌序列,产生密钥矩阵K;利用密钥矩阵K对当前图像按位进行图像逆扩散处理,得到逆扩散后的像素值矩阵C;把逆扩散后像素值矩阵C对应的图像作为当前图像;
11)、图像逆列置乱:结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱;把逆列置乱后的像素值矩阵C对应的图像作为当前图像;
12)、图像逆行置乱:结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱;把逆行置乱后的像素值矩阵C对应的图像作为当前图像;
13)、重复步骤10)-步骤12)R轮,按照逆序依次取序列{zk}中元素作为每轮中当前的时刻zk的取值,按照逆序依次取序列{zl}中元素作为每轮中当前的列置乱指标zl的取值,按照逆序依次取序列{zh}中元素作为每轮中当前的行置乱指标zh的取值;同时得到最后一轮逆行置乱后的像素值矩阵C,将像素值矩阵C按照图像标准格式保存,得到大小为m×n的解密图像。
2.根据权利要求1所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤2)中设定超混沌驱动系统的控制参数和初始条件,迭代超混沌驱动系统,产生超混沌驱动系统的超混沌序列,具体是指:
所述的超混沌驱动系统用式(1)表示:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mi>a</mi> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>cx</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>3</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>bx</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>4</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&amp;gamma;x</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>x</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>5</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&amp;lambda;</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>&amp;lambda;</mi> <mn>2</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>
式中,x1,x2,x3,x4,x5为超混沌驱动系统的状态变量,a,c,b,γ,λ12是为使得超混沌驱动系统具有超混沌行为的控制参数,输入初始条件xi(0)∈[0,1],i=1,......,5;使用欧拉数值方法、以步长h迭代式(1),h∈[0.0005,0.005],实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌驱动系统的超混沌序列{xi(j)},i=1,......,5,j=1,2,......,(n1+10);当(m×n)/4为整数时,n1=(m×n)/4,否则,n1=fix((m×n)/4)+1,fix(·)表示取整运算,T为介于3000至300000之间的整数。
3.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤3)所述结合当前图像计算行置乱指标zh,具体是指:
zh=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述结合行置乱指标zh和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行行置乱,具体是指:
根据行置乱指标zh的值分别为1、2、3、4时,对应取超混沌驱动系统的超混沌序列{x2(j)},{x3(j)},{x4(j)},{x5(j)};从取到的超混沌驱动系统的超混沌序列中提取前n个元素,记为{xh(1),xh(2),……,xh(n)},对超混沌序列{xh(1),xh(2),……,xh(n)}中的n个元素做升或降序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xh(1),xh(2),……,xh(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn},利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵A的每一行进行置乱,具体是将像素值矩阵A的每一行的第hi列像素值置换至该行的第i列,i=1,2,......,n。
4.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤4)所述结合当前图像计算列置乱指标zl,具体是指:
zl=1+mod((A(1,1)+A(1,n)+A(m,1)+A(m,n)),4),
其中mod(·,·)表示求余运算;
所述结合列置乱指标zl和超混沌驱动系统的超混沌序列,对当前图像的像素值矩阵A进行列置乱,具体是指:
根据列置乱指标zl的值分别为1、2、3、4时,对应取超混沌序列{x2(j)}、{x3(j)}、{x4(j)}、{x5(j)}从取到的超混沌序列中提取前m个元素,记为{xl(1),xl(2),……,xl(m)},对超混沌序列{xl(1),xl(2),……,xl(m)}中的m个元素做升或降序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{xl(1),xl(2),……,xl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵A的每一列进行置乱,具体是将像素值矩阵A的每一列的第lj行像素值置换至该列的第j行,j=1,2,......,m。
5.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤5)具体包括如下步骤:
51)结合当前图像计算时刻zk=mod((sum(A)+G),10)+1,其中sum(·)表示求和运算;
52)结合时刻zk的取值和超混沌驱动系统的超混沌序列,产生二维密钥矩阵K,具体如下:
对超混沌驱动系统的超混沌序列{x2(j)}从时刻zk起依次选取n1个元素:
x2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow>
abs(·)表示绝对值运算;
对超混沌驱动系统的超混沌序列{x3(j)}从时刻zk起依次选取n1个元素:
x3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> </mrow>
对超混沌驱动系统的超混沌序列{x4(j)}从时刻zk起依次选取n1个元素:x4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> </mrow>
对超混沌驱动系统的超混沌序列{x5(j)}从时刻zk起依次选取n1个元素:x5(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>x</mi> <mo>~</mo> </mover> <mn>5</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>5</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>5</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>;</mo> </mrow>
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
53)利用步骤52)得到的二维密钥矩阵K,对当前图像的像素值矩阵A按位进行图像扩散处理,具体由(2)式实现:
B=bitxor(de2bi(A),de2bi(K)), (2)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵B中的二进制数据通过式(3)转化十进制数据,得到扩散后的像素值序列{Bc}:
Bc=bi2de(B) (3)
式中,bi2de(·)表示二进制转化为十进制运算;
54)依次将扩散后的像素值序列{Bc}的元素从左至右逐列存入像素值矩阵A,实现对像素值矩阵A的更新,得到扩散后像素值矩阵A;把扩散后像素值矩阵A对应的图像作为当前图像。
6.根据权利要求2所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤8)具体是指:
构造与超混沌驱动系统结构相异的超混沌响应系统,用式(4)表示:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>+</mo> <msub> <mi>u</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>c</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>u</mi> <mn>2</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>b</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>u</mi> <mn>3</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mi>y</mi> <mo>&amp;CenterDot;</mo> </mover> <mn>4</mn> </msub> <mo>=</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>&amp;gamma;</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>+</mo> <msub> <mi>u</mi> <mn>4</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
式中,y1,y2,y3,y4为超混沌响应系统的状态变量,a1,d1,c1,b11是为使得超混沌响应系统具有超混沌行为的控制参数,u1,u2,u3,u4是自适应控制器;所述的自适应控制器由式(5)给出:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>=</mo> <mover> <mi>c</mi> <mo>&amp;OverBar;</mo> </mover> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>-</mo> <msub> <mover> <mi>a</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <mover> <mi>b</mi> <mo>&amp;OverBar;</mo> </mover> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mover> <mi>d</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mover> <mi>c</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>3</mn> </msub> <mo>=</mo> <mo>-</mo> <mover> <mi>&amp;gamma;</mi> <mo>&amp;OverBar;</mo> </mover> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mover> <mi>b</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>u</mi> <mn>4</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mover> <mi>&amp;lambda;</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mover> <mi>&amp;lambda;</mi> <mo>&amp;OverBar;</mo> </mover> <mn>2</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mover> <mi>&amp;gamma;</mi> <mo>&amp;OverBar;</mo> </mover> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
式中,k1,k2,k3,k4为自适应反馈增益,其演化规律由式(6)给出:
<mrow> <msub> <mover> <mi>k</mi> <mo>&amp;CenterDot;</mo> </mover> <mi>i</mi> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&amp;sigma;</mi> <mi>i</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>x</mi> <mrow> <mi>i</mi> <mo>+</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>
式中,σi为任意正常数,i=1,2,3,4;
式中,分别为控制参数c,b,γ,λ12的估计值,其演化规律由式(7)给出:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mover> <mover> <mi>c</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mo>=</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mover> <mi>b</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mo>=</mo> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mover> <mover> <mi>&amp;gamma;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mo>=</mo> <mo>-</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>&amp;lambda;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>&amp;lambda;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>7</mn> <mo>)</mo> </mrow> </mrow>
式中,分别为控制参数a1,d1,c1,b11的估计值,其演化规律由式(8)给出:
<mrow> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>a</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>d</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>c</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>b</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mover> <mover> <mi>&amp;gamma;</mi> <mo>&amp;OverBar;</mo> </mover> <mo>&amp;CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>8</mn> <mo>)</mo> </mrow> </mrow>
使用欧拉数值方法、以步长h迭代式(4)-式(8),h∈[0.0005,0.005],超混沌驱动系统与超混沌响应系统的状态变量误差yi-xi+1在投影同步时刻T后达到零,i=1,2,3,4,实现超混沌驱动系统与超混沌响应系统投影同步时刻T后的第j次迭代时,产生超混沌响应系统的超混沌序列yi(j),i=1,2,......,4,j=1,2,......,(n1+10)。
7.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤10)具体包括如下步骤:
1001)产生二维密钥矩阵K:
对超混沌响应系统的超混沌序列y1(j)从当前的时刻zk起依次选取n1个元素y1(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>y</mi> <mo>~</mo> </mover> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow>
abs(·)表示绝对值运算;
对超混沌响应系统的超混沌序列{y2(j)}从当前的时刻zk起依次选取n1个元素y2(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>y</mi> <mo>~</mo> </mover> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow>
对超混沌响应系统的超混沌序列{y3(j)}从当前的时刻zk起依次选取n1个元素y3(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>y</mi> <mo>~</mo> </mover> <mn>3</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>2</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow>
对超混沌响应系统的超混沌序列{y4(j)}中从当前的时刻zk起依次选取n1个元素y4(zk+(j-1)),j=1,2,......,n1,并做如下加工处理:
<mrow> <msub> <mover> <mi>y</mi> <mo>~</mo> </mover> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mi>mod</mi> <mo>(</mo> <mrow> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>-</mo> <mi>f</mi> <mi>i</mi> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mi>a</mi> <mi>b</mi> <mi>s</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>y</mi> <mn>4</mn> </msub> <mrow> <mo>(</mo> <mrow> <mi>z</mi> <mi>k</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msup> <mn>10</mn> <mn>10</mn> </msup> <mo>,</mo> <mi>G</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>...</mo> <mo>,</mo> <msub> <mi>n</mi> <mn>1</mn> </msub> <mo>,</mo> </mrow>
依次将加工处理得到的超混沌序列 由左至右逐列存至二维密钥矩阵K中,使得二维密钥矩阵K的大小为m×n,如果超混沌序列的元素多余,则将多余元素舍去;
1002)对当前图像按位进行图像逆扩散处理:
利用步骤1001)得到的二维密钥矩阵K,对像素值矩阵C按位进行图像逆扩散处理,具体由式(9)实现:
D=bitxor(de2bi(C),de2bi(K)), (9)
其中de2bi(·)表示十进制转化为二进制运算,bitxor(.,.)表示位异或运算;
将矩阵D中的二进制数据通过式(10)转化十进制数据,得到逆扩散后的像素值序列{Dc}:
Dc=bi2de(D), (10)
其中bi2de(·)表示二进制转化为十进制运算;
1003)像素值矩阵C更新:依次将逆扩散后的像素值序列{Dc}的元素从左至右逐列存入像素值矩阵C,对像素值矩阵C进行更新,得到逆扩散后的像素值矩阵C,把逆扩散后像素值矩阵C对应的图像作为当前图像。
8.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤11)中所述结合当前的列置乱指标zl的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆列置乱,具体是指:
根据当前的列置乱指标zl的值分别为1、2、3、4时,对应取超混沌响应系统的超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌响应系统的超混沌序列中提取前m个元素,记为{yl(1),yl(2),……,yl(m)},对超混沌序列{yl(1),yl(2),……,yl(m)}中的m个元素做升或降序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(m)}中的位置,形成列置乱地址码集合{l1,l2,……,lm};利用列置乱地址码集合{l1,l2,……,lm}对像素值矩阵C的每一列进行逆列置乱,具体是将像素值矩阵A的每一列的第j行像素值置换至该列的第lj行,j=1,2,......,m。
9.根据权利要求6所述的基于超混沌系统投影同步的图像加密方法,其特征在于,所述步骤12)所述结合当前的行置乱指标zh的取值和超混沌响应系统的超混沌序列,对当前图像的像素值矩阵C进行逆行置乱,具体是指:
根据当前的行置乱指标zh的值分别取1、2、3、4时,对应取超混沌序列{y1(j)}、{y2(j)}、{y3(j)}、{y4(j)},从取到的超混沌序列中提取前n个元素,记为{yl(1),yl(2),……,yl(n)},对超混沌序列{yl(1),yl(2),……,yl(n)}中的n个元素做升或降序排列,得到有序排列确定有序排列中的每一个元素在超混沌序列{yl(1),yl(2),……,yl(n)}中的位置,形成行置乱地址码集合{h1,h2,……,hn};利用行置乱地址码集合{h1,h2,……,hn}对像素值矩阵C的每一行进行逆行置乱,具体是将像素值矩阵C的每一行的第i列像素值置换至该行的第hi列,i=1,2,......,n。
10.根据权利要求1所述的基于超混沌系统投影同步的图像加密方法,其特征在于,如果所述的原始明文图像为彩色图像,在步骤1)之前还包括步骤0),从彩色图像中提取红、黄、蓝三个颜色分量的像素值矩阵;分别对所述的三个颜色分量的像素值矩阵执行步骤1)-步骤6),得到加密处理后的红、黄、蓝三个颜色分量的密文图像;步骤6)与步骤7)之间还包括如下步骤:将得到的加密处理的红、黄、蓝三个颜色分量的密文图像合成原始彩色图像的密文图像;从所述原始彩色图像的密文图像中提取红、黄、蓝三个颜色分量的像素值矩阵;对密文图像中提取的红、黄、蓝三个颜色分量的像素值矩阵执行步骤7)-步骤13),得到解密处理后的红、黄、蓝三个颜色分量的解密图像,将得到的解密处理的红、黄、蓝三个颜色分量的解密图像合成原始彩色图像的解密图像。
CN201710078592.2A 2017-02-14 2017-02-14 一种基于超混沌系统投影同步的图像加密方法 Active CN106997606B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710078592.2A CN106997606B (zh) 2017-02-14 2017-02-14 一种基于超混沌系统投影同步的图像加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710078592.2A CN106997606B (zh) 2017-02-14 2017-02-14 一种基于超混沌系统投影同步的图像加密方法

Publications (2)

Publication Number Publication Date
CN106997606A CN106997606A (zh) 2017-08-01
CN106997606B true CN106997606B (zh) 2018-03-30

Family

ID=59430921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710078592.2A Active CN106997606B (zh) 2017-02-14 2017-02-14 一种基于超混沌系统投影同步的图像加密方法

Country Status (1)

Country Link
CN (1) CN106997606B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270944B (zh) * 2018-01-02 2019-12-24 北京邮电大学 一种基于分数阶变换的数字图像加密的方法及装置
CN108234813A (zh) * 2018-01-11 2018-06-29 重庆邮电大学 基于超混沌Chen系统的明文关联图像加密算法
CN109150492B (zh) * 2018-08-17 2021-09-21 中国矿业大学 基于三维置乱模型和混沌的多图像加密方法
CN108931917B (zh) * 2018-09-04 2021-06-01 东北大学 一种三阶严反馈混沌投影同步方法
CN110149200B (zh) * 2019-06-06 2020-03-20 四川大学 一种基于动态dna和4d混沌的彩色图像加密方法
CN110430435B (zh) 2019-08-09 2022-04-19 广东工业大学 一种图像加密方法、装置、传感器及可读存储介质
CN113052286A (zh) * 2021-04-02 2021-06-29 南通大学 一种基于置乱加密的商品防伪二维码生成方法
CN113470126A (zh) * 2021-04-16 2021-10-01 兰州现代职业学院 一种新的基于超混沌的置乱与明文像素动态相关的图像加密方法
CN114915400A (zh) * 2022-05-11 2022-08-16 集美大学 同步时间可调节的异构分数阶超混沌系统图像加解密方法
CN115834788B (zh) * 2022-11-16 2023-06-09 安阳师范学院 面向可视化dna支点介导链置换反应的彩色图像加密方法
CN115883056B (zh) * 2023-03-02 2023-05-12 山东科技大学 基于混沌系统采样同步通信的抗欺骗攻击图像加解密方法
CN117201687B (zh) * 2023-07-03 2024-05-28 盐城工学院 基于惯性忆阻神经网络投影同步的图像加密方法及系统
CN117812196B (zh) * 2024-02-28 2024-05-14 广东工业大学 基于虹膜特征验证的一维混沌映射的医学图像保护方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501224A (zh) * 2013-09-23 2014-01-08 长春理工大学 基于量子细胞神经网络系统的非对称图像加密解密方法
CN104050617A (zh) * 2013-09-25 2014-09-17 上海理工大学 基于Liu混沌系统的图像加密方法
CN106296561A (zh) * 2016-08-05 2017-01-04 广东工业大学 基于超混沌系统的图像加密方法及装置、解密方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103501224A (zh) * 2013-09-23 2014-01-08 长春理工大学 基于量子细胞神经网络系统的非对称图像加密解密方法
CN104050617A (zh) * 2013-09-25 2014-09-17 上海理工大学 基于Liu混沌系统的图像加密方法
CN106296561A (zh) * 2016-08-05 2017-01-04 广东工业大学 基于超混沌系统的图像加密方法及装置、解密方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"一种基于 TLM 超混沌细胞神经网络图像加密新算法";底晓强 等;《红外与激光工程》;20141231;第43卷(第12期);第4170-4176页 *
"一种新的三维Arnold变换和混沌序列相结合的图像加密算法";杜翠霞 等;《数据通信》;20140131;第51-54页 *
"基于超混沌的快速图像加密算法";葛滨 等;《系统工程与电子技术》;20160331;第38卷(第3期);第699-705页 *

Also Published As

Publication number Publication date
CN106997606A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN106997606B (zh) 一种基于超混沌系统投影同步的图像加密方法
Hua et al. Image encryption using Josephus problem and filtering diffusion
Wang et al. Cryptanalysis and enhancements of image encryption using combination of the 1D chaotic map
Chai et al. A fast chaos-based image encryption scheme with a novel plain image-related swapping block permutation and block diffusion
Raza et al. A novel bit permutation-based image encryption algorithm
Hu et al. Cryptanalysis of a chaotic image cipher using Latin square-based confusion and diffusion
Huang et al. An efficient self-adaptive model for chaotic image encryption algorithm
Zhu et al. A chaos-based symmetric image encryption scheme using a bit-level permutation
Wong et al. An efficient diffusion approach for chaos-based image encryption
Fu et al. A novel chaos-based bit-level permutation scheme for digital image encryption
Zhang et al. A symmetric color image encryption algorithm using the intrinsic features of bit distributions
Ye A novel chaos-based image encryption scheme with an efficient permutation-diffusion mechanism
Patidar et al. Modified substitution–diffusion image cipher using chaotic standard and logistic maps
Chen et al. Reusing the permutation matrix dynamically for efficient image cryptographic algorithm
US9975037B2 (en) Sudoku arrays
Zhang et al. A chaos-based image encryption scheme using 2D rectangular transform and dependent substitution
CN107147487B (zh) 对称密钥随机分组密码
CN106228504B (zh) 基于明文和密钥构造加密参数的数字图像加密方法
CN106327414A (zh) 一种基于明文自身特性的双混沌图像加密方法
CN107220923A (zh) 基于映像网络的数字图像反馈加密方法
CN105631796A (zh) 基于比特置乱的量子混沌图像加密方法
CN107274457A (zh) 基于dna序列运算和变形耦合映像格子的双彩色图像加密方法
CN110663216A (zh) 密码设备和方法
CN104881837B (zh) 基于超混沌系统的密钥动态选取的图像加密方法
CN107633474A (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