CN113378197A - 一种基于重卦编码解码规则的彩色数字图像加密方法 - Google Patents
一种基于重卦编码解码规则的彩色数字图像加密方法 Download PDFInfo
- Publication number
- CN113378197A CN113378197A CN202110694016.7A CN202110694016A CN113378197A CN 113378197 A CN113378197 A CN 113378197A CN 202110694016 A CN202110694016 A CN 202110694016A CN 113378197 A CN113378197 A CN 113378197A
- Authority
- CN
- China
- Prior art keywords
- chaotic
- matrix
- coding
- sequences
- color
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000000739 chaotic effect Effects 0.000 claims abstract description 105
- 239000011159 matrix material Substances 0.000 claims abstract description 92
- 230000008569 process Effects 0.000 claims description 37
- 238000010586 diagram Methods 0.000 claims description 35
- 238000009792 diffusion process Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000012163 sequencing technique Methods 0.000 claims description 14
- 230000001936 parietal effect Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000001174 ascending effect Effects 0.000 claims description 6
- 229910002056 binary alloy Inorganic materials 0.000 claims description 4
- 230000000694 effects Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000010219 correlation analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了基于重卦编码解码规则的彩色数字图像加密方法,首先,通过重卦编码分别对彩色图像的颜色通道进行编码,然后通过混沌系统分别对通道编码图像进行置乱,其次,对混沌系统生成的混沌矩阵进行重卦编码,然后与通道置乱图像进行异或运算。最后,再次进行重卦编码,合并颜色通道数据得到密文图像。本发明方法解决了现有方法中存在的密钥空间不够大、混沌特性不够好、抵抗各类攻击的能力不高的问题。
Description
技术领域
本发明属于数字图像加密技术领域,涉及一种基于重卦编码解码规则的彩色数字图像加密方法。
背景技术
随着社会生产力和互联网技术的不断发展,数字图像信息作为互联网信息的一种重要载体,在互联网信息的交互中起到了非常重要的作用。在涉及到个人隐私、商业秘密、国防机密、国家安全等诸多领域,数字图像信息的安全性要求也越来越高,因此数字图像加密技术也越来越重要。目前常用的数字图像加密技术已较为成熟,但其中大部分理论核心仍主要是由国外提出。纵观目前现有的彩色图像加密方案,存在着诸如:算法随机特性不够好、加密系统密钥空间不够大以及抵抗各类攻击能力不足等弱点。故此,综合改进并有所创新的提出一套更为完善且安全性更强的彩色数字图像加密方法,是非常迫切与必要的。
发明内容
本发明的目的是提供一种基于重卦编码解码规则的彩色数字图像加密方法,解决了现有方法中密钥空间小、抵抗各类攻击的能力差的问题。
本发明所采用的技术方案是,一种基于重卦编码解码规则的彩色数字图像加密方法,包括加密过程和解密过程;
所述加密过程包括如下步骤:
步骤1,将像素大小为M×N的彩色明文图像,分解成为R、G、B三个颜色通道的灰度图像矩阵,并用R1、G1、B1来表示;
步骤2,将步骤1得到的三个灰度图像矩阵R1、G1、B1的像素值转换为二进制数值序列,每个颜色通道二进制数值序列的个数为M×N×8,根据重卦编码解码规则,对三个颜色通道的二进制数值序列进行重卦编码,每个颜色通道生成M×N的重卦编码矩阵,得到3个M行N列的矩阵A1、A2、A3;
步骤3,通过Logistics-Logistics级联混沌系统,创建长度为M×N×3的级联混沌序列,并分为3组,每组长度为M×N,将每组混沌序列按照由大到小的原则进行升序排序,得到3组排序索引;
步骤4,将步骤3得到的排序索引分别与步骤2得到的3个重卦编码矩阵行混沌置乱操作,生成置乱后的新矩阵R2、G2、B2;
步骤5,初始化分数阶Qi混沌系统,通过迭代生成3个混沌矩阵,每个混沌矩阵的大小为M×N,并通过离散操作,将3个混沌矩阵内的值都归一化在0-255的范围内,得到混沌矩阵W1、W2、W3;
步骤6,将步骤5得到的混沌矩阵W1、W2、W3中的数值都转换为8位二进制数值,并根据重卦编码解码规则,将混沌矩阵W1、W2、W3进行重卦编码,得到3个重卦编码后的混沌矩阵E1、E2、E3;
步骤7,将步骤6得到的重卦编码后的混沌矩阵E1、E2、E3与步骤4得到的置乱后的新矩阵R2、G2、B2进行异或运算来实现扩散效果,生成新的灰度图层矩阵R3、G3、B3;
步骤8,对步骤7得到的新矩阵R3、G3、B3按照重卦编码解码规则进行重卦解码,生成R、G、B三个颜色通道且灰度值在0-255区间内的图像矩阵,合并R、G、B颜色通道后,生成彩色加密图像D(M,N,3);
所述解密过程包括如下步骤:
步骤A,将步骤8得到的彩色加密图像D(M,N,3)分割成R、G、B三个图层灰度图像;
步骤B,将步骤A中得到的三个灰度图像根据重卦编码解码规则进行重卦编码;
步骤C,将步骤B中重卦编码后的三个灰度图像与步骤6中重卦编码后的混沌矩阵B1、B2、B3分别做异或运算,得到去扩散后的三个图层矩阵;
步骤D,对步骤C得到的去扩散后的三个图层矩阵,用过bin2dec函数分别转化为二进制序列;
步骤E,将步骤D得到的3个二进制序列分别与步骤3得到的3组排序索引进行置乱操作;
步骤F,将步骤E中去置乱处理后的3个二进制序列,根据重卦编码解码规则进行重卦解码处理,得到3个重卦解码后序列;
步骤G,将步骤F中得到的3个重卦解码后序列,用reshape函数重新排列成M行N列的3个灰度图像矩阵;
步骤H,将步骤G中得到的3个灰度图像矩阵通过Matlab合并图层,得到解密后的彩色图像。
本发明的特征还在于,
重卦编码解码规则为:
步骤1的具体过程为:将像素大小为M×N的彩色明文图像通过imread函数读入Matlab中,通过Matlab分割成R(红)、G(绿)、B(蓝)3个灰度图像图层,再通过double函数将3个灰度图像图层浮点化,得到3个灰度图像矩阵R1、G1、B1。
步骤2的具体过程为:
步骤2.1,将步骤1得到的3个灰度图像矩阵R1、G1、B1的像素值通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列a1、a2、a3;
步骤2.2,用二进制中的0代表阴爻,1代表阳爻,根据重卦编码解码规则对二进制数值序列a1、a2、a3分别进行重卦编码,得到3个大小为M×N×8的新二进制数值序列b1、b2、b3;
步骤2.3,调用Matlab中bin2dec函数将二进制数值序列a1、a2、a3转化成十进制的序列c1、c2、c3,其大小为M×N;
步骤2.4,调用Matlab中reshape函数,将步骤2.3得到的序列c1、c2、c3重新排列成3个M行N列的矩阵A1、A2、A3。
步骤3的具体过程为:
步骤3.1,采用Runge-Kutta方法,将Logistics-Logistics级联混沌系统在Matlab中实现,
Logistics-Logistics级联混沌系统为:
在级联混沌系统(即式(1))中,Zn、φ1、φ2为系统参数,n为混沌系统迭代次数,当Zn∈[0,1],φ1∈[3.5699456,4],φ2∈[3.5699456,4]时,系统处于混沌状态。初始化Logistics-Logistics级联混沌系统,将Zn赋初值为0.1003,φ1赋初值为3.65,φ2赋初值为3.89,生成长度为M×N×3的级联混沌序列x1;
步骤3.2,将步骤3.1得到的级联混沌序列x1分成等长的三个新序列d1、d2、d3;
步骤3.3,将步骤3.2得到的三个新序列d1、d2、d3用sort函数分别进行升序排序,得到3组排序索引。
步骤4的具体过程为:
步骤4.1,将步骤2得到的矩阵A1、A2、A3一维化成三个长度为M×N的序列e1、e2、e3;
步骤4.2,根据步骤3中得到的3组排序索引,对步骤4.1得到的序列e1、e2、e3进行置乱操作,得到三个置乱后的序列f1、f2、f3;
步骤4.3,将步骤4.2得到的置乱后的序列f1、f2、f3用reshape函数重新排列成三个M行N列的矩阵R2、G2、B2。
步骤5的具体过程为:
步骤5.1,初始化分数阶Qi混沌系统:
式(2)中,O、P、Q为系统控制参数,r、s、t、e、d为系统状态参数,l1、l2、l3为混沌系统阶数;
初始值设置为:
系统状态参数:r=35、s=8/3、t=80、e=-1、d=1;
系统控制参数初始值:O0=35、P0=8/3、Q0=80;
混沌系统阶数:l1=0.98001000031、l2=0.9722104005001、l3=0.9920300110001;
步骤5.2,采用Runge-Kutta方法,在Matlab中实现并运行分数阶Qi混沌系统,得到3个大小均为M×N的混沌序列g1、g2、g3;
步骤5.3,将步骤5.2得到的混沌序列g1、g2、g3中的数值归一化到0-255范围内,再通过reshape函数重新排列为3个M行N列的混沌矩阵W1、W2、W3。
步骤6的具体过程为:
步骤6.1,将步骤5得到的混沌矩阵W1、W2、W3通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列h1、h2、h3;
步骤6.2,根据重卦编码解码原则,对步骤6.1得到的序列h1、h2、h3分别进行重卦编码,得到大小为M×N×8的二进制数值序列I1、I2、I3;
步骤6.3,调用Matlab中bin2dec函数将步骤6.2得到的二进制数值序列I1、I2、I3转化成大小为M×N的十进制的序列j1、j2、j3;
步骤6.4,调用Matlab中reshape函数,将步骤6.4得到的十进制序列j1、j2、j3重新排列成三个M行N列的矩阵E1、E2、E3。
步骤7的具体过程为:
步骤7.1,将步骤4得到的置乱后的新矩阵R2和步骤6得到的重卦编码后的混沌矩阵E1进行异或运算,得到扩散处理后的R灰度图层矩阵R3;
步骤7.2,将步骤4得到的置乱后的新矩阵G2和步骤6得到的重卦编码后的混沌矩阵E2进行异或运算,得到扩散处理后的B灰度图层矩阵G3;
步骤7.3,将步骤4得到的置乱后的新矩阵B2和步骤6得到的重卦编码后的混沌矩阵E3进行异或运算,得到扩散处理后的B灰度图层矩阵B3。
步骤8的具体过程为:
步骤8.1,将步骤7得到的灰度图层矩阵R3、G3、B3的像素值,通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列k1、k2、k3;
步骤8.2,根据重卦编码解码规则,对步骤8.1得到的序列k1、k2、k3进行重卦解码,得到解码后的3个大小为M×N×8的二进制序列x1、x2、x3;
步骤8.3,调用bin2dec函数将步骤8.2得到的二进制序列x1、x2、x3转化成大小为M×N的十进制的序列m1、m2、m3。
步骤8.4,调用reshape函数将步骤8.3得到的序列m1、m2、m3重新排列成三个M行N列的R、G、B三个图层通道灰度图像矩阵C1、C2、C3;
步骤8.5,通过Matlab将步骤8.4得到的矩阵C1、C2、C3进行图层合并,得到彩色加密图像D(M,N,3)。
本发明的有益效果是,
(1)本发明一种基于重卦编码解码规则的彩色数字图像加密方法,通过Logistics-Logistics级联混沌系统,有效弥补了Logistics混沌系统的密钥空间较小、迭代值越来越相近、混沌特性变差的缺点,具有密钥空间大、混沌特性好的特点;
(2)本发明一种基于重卦编码解码规则的彩色数字图像加密方法,利用Logistics-Logistics级联混沌系统与重卦编码解码规则,使得健壮性与抵抗各类攻击能力得到极大的提升。
附图说明
图1是本发明一种基于重卦编码规则的彩色数字图像加密方法的流程图;
图2是本发明一种基于重卦编码规则的彩色数字图像加密方法的周易六十四卦示意图;
图3是本发明一种基于重卦编码规则的彩色数字图像加密方法的爻变原理示意图;
图4是本发明一种基于重卦编码规则的彩色数字图像加密方法的原Logistics混沌系统密钥空间示意图;
图5是本发明一种基于重卦编码规则的彩色数字图像加密方法的Logistics-Logistics级联混沌密钥空间示意图;
图6是本发明一种基于重卦编码规则的彩色数字图像加密方法的分数阶Qi混沌系统的相轨迹图;
图7是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图的R分量灰度图;
图8是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图的G分量灰度图;
图9是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图的B分量灰度图;
图10是本发明一种基于重卦编码规则的彩色数字图像加密方法的加密后的BaGua密文图;
图11是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图R、G、B分量灰度图加密前后的直方图分析结果示意图;
图12是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图R分量图像相关性分析结果示意图;
图13是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图G分量图像相关性分析结果示意图;
图14是本发明一种基于重卦编码规则的彩色数字图像加密方法的BaGua图B分量图像相关性分析结果示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明提供一种基于重卦编码解码规则的彩色数字图像加密方法,如图1所示,包括加密过程和解密过程;
加密过程包括如下步骤:
步骤1,将像素大小为M×N的彩色明文图像,分解成为R、G、B三个颜色通道的灰度图像矩阵,并用R1、G1、B1来表示;
具体过程为:将像素大小为M×N的彩色明文图像通过imread函数读入Matlab中,通过Matlab分割成R(红)、G(绿)、B(蓝)3个灰度图像图层,再通过double函数将3个灰度图像图层浮点化,导入Matlab并分割得到3个灰度图像矩阵R1、G1、B1;
本实施例采用256×256像素的彩色BaGua图作为彩色明文图像,将彩色BaGua图通过imread函数读入Matlab中准备进行处理;再将BaGua图通过Matlab分割成红、绿、蓝3个灰度图像图层,如图7、8、9所示;
步骤2,将步骤1得到的三个灰度图像矩阵R1、G1、B1的像素值转换为二进制数值序列,每个颜色通道二进制数值序列的个数为M×N×8,根据重卦编码解码规则,对三个颜色通道的二进制数值序列进行重卦编码,每个颜色通道生成M×N的重卦编码矩阵,得到3个M行N列的矩阵A1、A2、A3;
具体过程为:
步骤2.1,将步骤1得到的3个灰度图像矩阵R1、G1、B1的像素值通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列a1、a2、a3;
步骤2.2,在《周易》中阴爻(--)与阳爻(—)间的相互转换称为爻变,与二进制中0、1相互转换相同,故用二进制中的0代表阴爻,1代表阳爻;
在《周易》中64卦一般用重卦(六爻)来表示,即上卦(上三爻)和下卦(下三爻)两部分来构成,如图2所示,例如:64卦中,否卦是由上卦(上三爻)乾卦和下卦(下三爻)坤卦所构成,观卦是由上卦巽卦和下卦坤卦所构成,故此,可将灰度图像每个像素点转化为8位二进制数值进行表示,根据二进制的换算原则,64个重卦卦象需要使用6位二进制数。因此,可以通过采用前6位二进制数值表示重卦卦象(上三爻代表第1、2、3位二进制位,下三爻代表第4、5、6位二进制位),再用后2位二进制数值表示变爻变卦校验位,就可以实现对每个8位二进制数值像素点进行编码;
根据重卦编码解码规则对二进制数值序列a1、a2、a3分别进行重卦编码,得到3个大小为M×N×8的新二进制数值序列b1、b2、b3;
重卦编码解码规则为:
步骤2.2.1,根据序列a1的前6位二进制数值(即卦象),将其替换成对应的卦象;
步骤2.2.2,将序列a1的后2位二进制数值分别拿出(即变爻变卦校验位)用来做异或运算,其结果为0或1,若结果是0,则上卦进行爻变运算,若结果是1,则下卦进行爻变运算;
步骤2.2.3,将序列a1的后两位二进制数值整体拿出(即变爻变卦校验位),有四种组合:00表示不进行爻变,01表示一爻变化,10表示二爻变化,11表示三爻变化;
步骤2.2.4,对序列a2、a3做同样的编码处理,得到3个新的二进制数值序列b1、b2、b3,其大小仍都为M×N×8;
步骤2.3,调用Matlab中bin2dec函数将二进制数值序列a1、a2、a3转化成十进制的序列c1、c2、c3,其大小为M×N;
步骤2.4,调用Matlab中reshape函数,将步骤2.3得到的序列c1、c2、c3重新排列成3个M行N列的矩阵A1、A2、A3;
步骤3,通过Logistics-Logistics级联混沌系统,创建长度为M×N×3的级联混沌序列,并分为3组,每组长度为M×N,将每组混沌序列按照由大到小的原则进行升序排序,得到3组排序索引;
具体过程为:
步骤3.1,采用Runge-Kutta方法,将Logistics-Logistics级联混沌系统在Matlab中实现,
Logistics-Logistics级联混沌系统为:
在级联混沌系统(即式(1))中,Zn、φ1、φ2为系统参数,n为混沌系统迭代次数,当Zn∈[0,1],φ1∈[3.5699456,4],φ2∈[3.5699456,4]时,系统处于混沌状态;如图4和图5所示,级联混沌系统映射空间区域成倍的扩展,由原本的[3.5699456,4]扩展至[1.53,4],是未级联之前的5.74倍,且级联混沌系统全映射的范围由φ=4提升至φ=1.7,即当φ=1.7时,级联混沌系统即可达到满映射状态,另外,在级联系统对初值敏感性极大增强,系统的Lyapunov指数提升显著;如图3所示,Logistics混沌系统存在密钥空间较小、难以抵抗穷举方式的攻击等问题;
初始化Logistics-Logistics级联混沌系统,将Zn赋初值为0.1003,φ1赋初值为3.65,φ2赋初值为3.89,生成长度为M×N×3的级联混沌序列x1;
步骤3.2,将步骤3.1得到的级联混沌序列x1分成等长的三个新序列d1、d2、d3;
步骤3.3,将步骤3.2得到的三个新序列d1、d2、d3用sort函数分别进行升序排序,得到3组排序索引;
步骤4,将步骤3得到的排序索引分别与步骤2得到的3个重卦编码矩阵行混沌置乱操作,生成置乱后的新矩阵R2、G2、B2;
具体过程为:
步骤4.1,将步骤2得到的矩阵A1、A2、A3一维化成三个长度为M×N的序列e1、e2、e3;
步骤4.2,根据步骤3中得到的3组排序索引,对步骤4.1得到的序列e1、e2、e3进行置乱操作,得到三个置乱后的序列f1、f2、f3;
步骤4.3,将步骤4.2得到的置乱后的序列f1、f2、f3用reshape函数重新排列成三个M行N列的矩阵R2、G2、B2;
步骤5,初始化分数阶Qi混沌系统,通过迭代生成3个混沌矩阵,每个混沌矩阵的大小为M×N,并通过离散操作,将3个混沌矩阵内的值都归一化在0-255的范围内,得到混沌矩阵W1、W2、W3;
具体过程为:
步骤5.1,初始化分数阶Qi混沌系统:
式(2)中,O、P、Q为系统控制参数,r、s、t、e、d为系统状态参数,l1、l2、l3为混沌系统阶数;当系统控制参数O=35、P=8/3、Q=80,且混沌系统阶数l1∈[0.91,1]、l2∈[0.91,1]、l3∈[0.91,1]时,该系统为混沌系统,其相轨迹如图6所示;
初始值设置为:
系统状态参数:r=35、s=8/3、t=80、e=-1、d=1;
系统控制参数初始值:O0=35、P0=8/3、Q0=80;
混沌系统阶数:l1=0.98001000031、l2=0.9722104005001、l3=0.9920300110001;
步骤5.2,采用Runge-Kutta方法,在Matlab中实现并运行分数阶Qi混沌系统,得到3个大小均为M×N的混沌序列g1、g2、g3;
步骤5.3,将步骤5.2得到的混沌序列g1、g2、g3中的数值归一化到0-255范围内,再通过reshape函数重新排列为3个M行N列的混沌矩阵W1、W2、W3;
步骤6,将步骤5得到的混沌矩阵W1、W2、W3中的数值都转换为8位二进制数值,并根据重卦编码解码规则,将混沌矩阵W1、W2、W3进行重卦编码,得到3个重卦编码后的混沌矩阵E1、E2、E3;
具体过程为:
步骤6.1,将步骤5得到的混沌矩阵W1、W2、W3通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列h1、h2、h3;
步骤6.2,根据重卦编码解码原则,对步骤6.1得到的序列h1、h2、h3分别进行重卦编码,得到大小为M×N×8的二进制数值序列I1、I2、I3;
步骤6.3,调用Matlab中bin2dec函数将步骤6.2得到的二进制数值序列I1、I2、I3转化成大小为M×N的十进制的序列j1、j2、j3;
步骤6.4,调用Matlab中reshape函数,将步骤6.4得到的十进制序列j1、j2、j3重新排列成三个M行N列的矩阵E1、E2、E3;
步骤7,将步骤6得到的重卦编码后的混沌矩阵E1、E2、E3与步骤4得到的置乱后的新矩阵R2、G2、B2进行异或运算来实现扩散效果,生成新的灰度图层矩阵R3、G3、B3;
具体过程为:
步骤7.1,将步骤4得到的置乱后的新矩阵R2和步骤6得到的重卦编码后的混沌矩阵E1进行异或运算,得到扩散处理后的R灰度图层矩阵R3;
步骤7.2,将步骤4得到的置乱后的新矩阵G2和步骤6得到的重卦编码后的混沌矩阵E2进行异或运算,得到扩散处理后的B灰度图层矩阵G3;
步骤7.3,将步骤4得到的置乱后的新矩阵B2和步骤6得到的重卦编码后的混沌矩阵E3进行异或运算,得到扩散处理后的B灰度图层矩阵B3;
步骤8,对步骤7得到的新矩阵R3、G3、B3按照重卦编码解码规则进行重卦解码,生成R、G、B三个颜色通道且灰度值在0-255区间内的图像矩阵,合并R、G、B颜色通道后,生成彩色加密图像D(M,N,3);
具体过程为:
步骤8.1,将步骤7得到的灰度图层矩阵R3、G3、B3的像素值,通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列k1、k2、k3;
步骤8.2,根据重卦编码解码规则,对步骤8.1得到的序列k1、k2、k3进行重卦解码,得到解码后的3个大小为M×N×8的二进制序列x1、x2、x3;
步骤8.3,调用bin2dec函数将步骤8.2得到的二进制序列x1、x2、x3转化成大小为M×N的十进制的序列m1、m2、m3;
步骤8.4,调用reshape函数将步骤8.3得到的序列m1、m2、m3重新排列成三个M行N列的R、G、B三个图层通道灰度图像矩阵C1、C2、C3;
步骤8.5,通过Matlab将步骤8.4得到的矩阵C1、C2、C3进行图层合并,得到彩色加密图像D(M,N,3);
解密过程包括如下步骤:
步骤A,将步骤8得到的彩色加密图像D(M,N,3)分割成R、G、B三个图层灰度图像;
步骤B,将步骤A中得到的三个灰度图像根据重卦编码解码规则进行重卦编码;
步骤C,将步骤B中重卦编码后的三个灰度图像与步骤6中重卦编码后的混沌矩阵B1、B2、B3分别做异或运算,得到去扩散后的三个图层矩阵;
步骤D,对步骤C得到的去扩散后的三个图层矩阵,用过bin2dec函数分别转化为二进制序列;
步骤E,将步骤D得到的3个二进制序列分别与步骤3得到的3组排序索引进行置乱操作;
步骤F,将步骤E中去置乱处理后的3个二进制序列,根据重卦编码解码规则进行重卦解码处理,得到3个重卦解码后序列;
步骤G,将步骤F中得到的3个重卦解码后序列,用reshape函数重新排列成M行N列的3个灰度图像矩阵;
步骤H,将步骤G中得到的3个灰度图像矩阵通过Matlab合并图层,得到解密后的彩色图像。
通过分析实例BaGua图的R、G、B分量直方图与加密后的R、G、B分量直方图,如图11所示,进行相应的比较就能够看出,加密后的图像与原始的图像相比R、G、B分量直方图明暗的分布更加的均匀,说明加密图像的R、G、B分量像素灰度值在规定的取值范围内,取值概率是相同的,这也证明本算法能够实现像素值扩散与混乱的效果,具有优异的统计及扰乱特性。
判断和衡量图像加密算法的指标有很多,其中抗差分攻击能力是非常重要的指标之一。这就需要对加密后的加密图像进行一定的测试比较,其中比较常用的测试主要包括NPCR测试和UACI测试,其公式如下:
其中,图像的行和列分别用M和N表示,而明文图像q1中(i,j)位置的像素数值用q1(i,j)进行表示,密文图像q2中(i,j)位置的像素数值用q2(i,j)表示,而q1(i,j)与q2(i,j)之间像素值之差仅仅为1。设C(i,j)为二值矩阵,且C(i,j)的大小与q1、q1相同,如果q1(i,j)与q2(i,j)相等,即q1(i,j)=q2(i,j),则C(i,j)=1;如果q1(i,j)与q2(i,j)不相等,即q1(i,j)≠q2(i,j),则C(i,j)=1。
通过变化原始明文绿色通道层(B层)的首个像素值,通过式(4)与式(5)计算可得:NPCR=94.28%,UACI=34.27%;在理想的图像加密算法中,NPCR值应尽可能越大越好,UACI值应越小越好,根据上文NPCR、UACI计算数据可见,图像中单个像素数据的变化,就造就了密文图像近乎全部像素值的变化,不难看出,本发明提出的算法具有极强的抗差分攻击能力;其BaGua图3个图层的NPCR与UACI值如下表所示:
加密图像 | 像素数目改变率(NPCR) | 平均强度变化率(UACI) |
BaGua R分量图 | 99.60% | 31.78% |
BaGua G分量图 | 99.57% | 31.98% |
BaGua B分量图 | 99.57% | 30.64% |
图像加密算法如果抵御攻击能力越强,图像在加密前后的相关性则应当越小。在本发明加密算法中,随即从加密前、加密后的图像中选出大量像素数据值,来测试相邻的像素数值之间的关联性。
设从需要考察的图像中取M对相邻的像素点,记它们的灰度值为(kj,lj),j=1,2,...,M,则向量k={kj}和l={lj}间的相关系数计算公式如下:
设kj的坐标为(xj、yj),如果lj的坐标为(xj+1、yj),则计算水平方向上的相关系数;如果lj的坐标为(xj、yj+1),则计算垂直方向上的相关系数;如果lj的坐标为(xj+1、yj+1),则计算正对角方向上的相关系数;如果lj的坐标为(xj-1、yj-1),则计算反对角方向上的相关系数;
通过上式的计算,相邻像素点间关联性系数Wkl可以得到如下结果:
由上表以及图12、图13、图14所呈现的测试数据结果不难看出,原始明文图像在不同方向的相关性系数趋近1,说明明文图像各个像素数据间高度关联;加密图像在不同方向的关联系数趋近0,这说明加密之后的图像中,相邻的像素与像素之间近乎没有关联性。这能够有效的说明该加密算法的扩展性能较好。
Claims (10)
1.一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,包括加密过程和解密过程;
所述加密过程包括如下步骤:
步骤1,将像素大小为M×N的彩色明文图像,分解成为R、G、B三个颜色通道的灰度图像矩阵,并用R1、G1、B1来表示;
步骤2,将步骤1得到的三个灰度图像矩阵R1、G1、B1的像素值转换为二进制数值序列,每个颜色通道二进制数值序列的个数为M×N×8,根据重卦编码解码规则,对三个颜色通道的二进制数值序列进行重卦编码,每个颜色通道生成M×N的重卦编码矩阵,得到3个M行N列的矩阵A1、A2、A3;
步骤3,通过Logistics-Logistics级联混沌系统,创建长度为M×N×3的级联混沌序列,并分为3组,每组长度为M×N,将每组混沌序列按照由大到小的原则进行升序排序,得到3组排序索引;
步骤4,将步骤3得到的排序索引分别与步骤2得到的3个重卦编码矩阵行混沌置乱操作,生成置乱后的新矩阵R2、G2、B2;
步骤5,初始化分数阶Qi混沌系统,通过迭代生成3个混沌矩阵,每个混沌矩阵的大小为M×N,并通过离散操作,将3个混沌矩阵内的值都归一化在0-255的范围内,得到混沌矩阵W1、W2、W3;
步骤6,将步骤5得到的混沌矩阵W1、W2、W3中的数值都转换为8位二进制数值,并根据重卦编码解码规则,将混沌矩阵W1、W2、W3进行重卦编码,得到3个重卦编码后的混沌矩阵E1、E2、E3;
步骤7,将步骤6得到的重卦编码后的混沌矩阵E1、E2、E3与步骤4得到的置乱后的新矩阵R2、G2、B2进行异或运算来实现扩散效果,生成新的灰度图层矩阵R3、G3、B3;
步骤8,对步骤7得到的新矩阵R3、G3、B3按照重卦编码解码规则进行重卦解码,生成R、G、B三个颜色通道且灰度值在0-255区间内的图像矩阵,合并R、G、B颜色通道后,生成彩色加密图像D(M,N,3);
所述解密过程包括如下步骤:
步骤A,将步骤8得到的彩色加密图像D(M,N,3)分割成R、G、B三个图层灰度图像;
步骤B,将步骤A中得到的三个灰度图像根据重卦编码解码规则进行重卦编码;
步骤C,将步骤B中重卦编码后的三个灰度图像与步骤6中重卦编码后的混沌矩阵E1、E2、E3分别做异或运算,得到去扩散后的三个图层矩阵;
步骤D,对步骤C得到的去扩散后的三个图层矩阵,用过bin2dec函数分别转化为二进制序列;
步骤E,将步骤D得到的3个二进制序列分别与步骤3得到的3组排序索引进行置乱操作;
步骤F,将步骤E中去置乱处理后的3个二进制序列,根据重卦编码解码规则进行重卦解码处理,得到3个重卦解码后序列;
步骤G,将步骤F中得到的3个重卦解码后序列,用reshape函数重新排列成M行N列的3个灰度图像矩阵;
步骤H,将步骤G中得到的3个灰度图像矩阵通过Matlab合并图层,得到解密后的彩色图像。
3.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤1的具体过程为:将像素大小为M×N的彩色明文图像通过imread函数读入Matlab中,通过Matlab分割成R、G、B3个灰度图像图层,再通过double函数将3个灰度图像图层浮点化,得到3个灰度图像矩阵R1、G1、B1。
4.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤2的具体过程为:
步骤2.1,将步骤1得到的3个灰度图像矩阵R1、G1、B1的像素值通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列a1、a2、a3;
步骤2.2,用二进制中的0代表阴爻,1代表阳爻,根据重卦编码解码规则对二进制数值序列a1、a2、a3分别进行重卦编码,得到3个大小为M×N×8的新二进制数值序列b1、b2、b3;
步骤2.3,调用Matlab中bin2dec函数将二进制数值序列a1、a2、a3转化成十进制的序列c1、c2、c3,其大小为M×N;
步骤2.4,调用Matlab中reshape函数,将步骤2.3得到的序列c1、c2、c3重新排列成3个M行N列的矩阵A1、A2、A3。
5.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤3的具体过程为:
步骤3.1,采用Runge-Kutta方法,将Logistics-Logistics级联混沌系统在Matlab中实现,
Logistics-Logistics级联混沌系统为:
式(1)中,Zn、φ1、φ2为系统参数,n为混沌系统迭代次数,当Zn∈[0,1],φ1∈[3.5699456,4],φ2∈[3.5699456,4]时,系统处于混沌状态。初始化Logistics-Logistics级联混沌系统,将Zn赋初值为0.1003,φ1赋初值为3.65,φ2赋初值为3.89,生成长度为M×N×3的级联混沌序列x1;
步骤3.2,将步骤3.1得到的级联混沌序列x1分成等长的三个新序列d1、d2、d3;
步骤3.3,将步骤3.2得到的三个新序列d1、d2、d3用sort函数分别进行升序排序,得到3组排序索引。
6.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤4的具体过程为:
步骤4.1,将步骤2得到的矩阵A1、A2、A3一维化成三个长度为M×N的序列e1、e2、e3;
步骤4.2,根据步骤3中得到的3组排序索引,对步骤4.1得到的序列e1、e2、e3进行置乱操作,得到三个置乱后的序列f1、f2、f3;
步骤4.3,将步骤4.2得到的置乱后的序列f1、f2、f3用reshape函数重新排列成三个M行N列的矩阵R2、G2、B2。
7.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤5的具体过程为:
步骤5.1,初始化分数阶Qi混沌系统:
式(2)中,O、P、Q为系统控制参数,r、s、t、e、d为系统状态参数,l1、l2、l3为混沌系统阶数;
初始值设置为:
系统状态参数:r=35、s=8/3、t=80、e=-1、d=1;
系统控制参数初始值:O0=35、P0=8/3、Q0=80;
混沌系统阶数:l1=0.98001000031、l2=0.9722104005001、l3=0.992030011 0001;
步骤5.2,采用Runge-Kutta方法,在Matlab中实现并运行分数阶Qi混沌系统,得到3个大小均为M×N的混沌序列g1、g2、g3;
步骤5.3,将步骤5.2得到的混沌序列g1、g2、g3中的数值归一化到0-255范围内,再通过reshape函数重新排列为3个M行N列的混沌矩阵W1、W2、W3。
8.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤6的具体过程为:
步骤6.1,将步骤5得到的混沌矩阵W1、W2、W3通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列h1、h2、h3;
步骤6.2,根据重卦编码解码原则,对步骤6.1得到的序列h1、h2、h3分别进行重卦编码,得到大小为M×N×8的二进制数值序列I1、I2、I3;
步骤6.3,调用Matlab中bin2dec函数将步骤6.2得到的二进制数值序列I1、I2、I3转化成大小为M×N的十进制的序列j1、j2、j3;
步骤6.4,调用Matlab中reshape函数,将步骤6.4得到的十进制序列j1、j2、j3重新排列成三个M行N列的矩阵E1、E2、E3。
9.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤7的具体过程为:
步骤7.1,将步骤4得到的置乱后的新矩阵R2和步骤6得到的重卦编码后的混沌矩阵E1进行异或运算,得到扩散处理后的R灰度图层矩阵R3;
步骤7.2,将步骤4得到的置乱后的新矩阵G2和步骤6得到的重卦编码后的混沌矩阵E2进行异或运算,得到扩散处理后的B灰度图层矩阵G3;
步骤7.3,将步骤4得到的置乱后的新矩阵B2和步骤6得到的重卦编码后的混沌矩阵E3进行异或运算,得到扩散处理后的B灰度图层矩阵B3。
10.根据权利要求2所述的一种基于重卦编码解码规则的彩色数字图像加密方法,其特征在于,步骤8的具体过程为:
步骤8.1,将步骤7得到的灰度图层矩阵R3、G3、B3的像素值,通过bin2dec函数将其转化为三个M×N×8大小的二进制数值序列k1、k2、k3;
步骤8.2,根据重卦编码解码规则,对步骤8.1得到的序列k1、k2、k3进行重卦解码,得到解码后的3个大小为M×N×8的二进制序列x1、x2、x3;
步骤8.3,调用bin2dec函数将步骤8.2得到的二进制序列x1、x2、x3转化成大小为M×N的十进制的序列m1、m2、m3。
步骤8.4,调用reshape函数将步骤8.3得到的序列m1、m2、m3重新排列成三个M行N列的R、G、B三个图层通道灰度图像矩阵C1、C2、C3;
步骤8.5,通过Matlab将步骤8.4得到的矩阵C1、C2、C3进行图层合并,得到彩色加密图像D(M,N,3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110694016.7A CN113378197A (zh) | 2021-06-22 | 2021-06-22 | 一种基于重卦编码解码规则的彩色数字图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110694016.7A CN113378197A (zh) | 2021-06-22 | 2021-06-22 | 一种基于重卦编码解码规则的彩色数字图像加密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113378197A true CN113378197A (zh) | 2021-09-10 |
Family
ID=77578411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110694016.7A Pending CN113378197A (zh) | 2021-06-22 | 2021-06-22 | 一种基于重卦编码解码规则的彩色数字图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113378197A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1106555A (zh) * | 1993-12-20 | 1995-08-09 | 范东波 | 八卦式条码 |
CN105046161A (zh) * | 2015-07-29 | 2015-11-11 | 河南大学 | 基于dna动态编码的彩色图像加密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN112052228A (zh) * | 2020-09-11 | 2020-12-08 | 赵小章 | 一种基于标准欧几里德空间与平面空间投影互为映射的二进制编码方法 |
-
2021
- 2021-06-22 CN CN202110694016.7A patent/CN113378197A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1106555A (zh) * | 1993-12-20 | 1995-08-09 | 范东波 | 八卦式条码 |
CN105046161A (zh) * | 2015-07-29 | 2015-11-11 | 河南大学 | 基于dna动态编码的彩色图像加密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN112052228A (zh) * | 2020-09-11 | 2020-12-08 | 赵小章 | 一种基于标准欧几里德空间与平面空间投影互为映射的二进制编码方法 |
Non-Patent Citations (2)
Title |
---|
白冰: "《基于周易八卦原理的图像加密算法研究》", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
赵凤: "基于混沌置乱与DNA计算的彩色图像加密算法", 《德州学院学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111050020B (zh) | 基于压缩感知和双随机加密机制的彩色图像压缩加密方法 | |
CN108537716B (zh) | 一种基于离散域的彩色图像加密嵌入方法 | |
CN109660696B (zh) | 一种新的图像加密方法 | |
CN108366181A (zh) | 一种基于超混沌系统和多级置乱的图像加密方法 | |
CN107292184B (zh) | 图像加密方法、装置及密钥流生成方法和密钥流生成器 | |
CN110086600B (zh) | 一种基于超混沌系统和变步长约瑟夫问题的图像加密方法 | |
CN110149200B (zh) | 一种基于动态dna和4d混沌的彩色图像加密方法 | |
CN115694784A (zh) | 一种数据安全存储方法 | |
CN113129196B (zh) | 一种基于dna序列和忆阻混沌的图像加密方法 | |
CN110889877A (zh) | 一种基于l-f级联混沌和3d比特置乱的图像加密方法 | |
CN114549266B (zh) | 基于dna置换规则和混沌系统的图像加密方法 | |
CN113691362B (zh) | 基于超混沌系统和dna编码的位平面图像压缩加密方法 | |
CN115834023B (zh) | 一种基于大数据的数据加密方法 | |
CN107590394A (zh) | 一种基于混沌映射和比特重组的图像加密方法 | |
CN114520714A (zh) | 一种基于dna序列与混沌系统的遥感彩色图像加密方法 | |
Almayyahi et al. | High-security image steganography technique using XNOR operation and fibonacci algorithm | |
Shakir et al. | A new four-dimensional hyper-chaotic system for image encryption | |
CN113300827B (zh) | 一种基于拉丁方的混沌图像加密方法 | |
CN112887509A (zh) | 一种基于多混沌系统的融合加密方法 | |
CN113378197A (zh) | 一种基于重卦编码解码规则的彩色数字图像加密方法 | |
CN115190216B (zh) | 基于预测误差图的加密图像可逆数据隐藏及解密方法 | |
CN114820268B (zh) | 一种基于离散超混沌系统和具有扩散性的动态dna编码的图像处理方法 | |
CN115408665A (zh) | 一种基于混沌理论的图像加密技术 | |
CN116016795A (zh) | 基于变步长抽取随机数和改进ZigZag变换的图像加密方法 | |
CN115103080A (zh) | 一种基于dna三倍体变异的图像加密方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210910 |
|
RJ01 | Rejection of invention patent application after publication |