[发明专利]基于提升方案和跨分量置乱的彩色图像加密方法有效
申请号: | 202110561302.6 | 申请日: | 2021-05-22 |
公开(公告)号: | CN113076551B | 公开(公告)日: | 2022-10-18 |
发明(设计)人: | 柴秀丽;陈绣辉;宋世平;付江豫;甘志华;路杨 | 申请(专利权)人: | 河南大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06N7/08;G06T1/00 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 张立强 |
地址: | 475001 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 提升 方案 分量 彩色 图像 加密 方法 | ||
1.基于提升方案和跨分量置乱的彩色图像加密方法,其特征在于,包括:
步骤1:根据大小为M×N的彩色明文图像的哈希值和预设的外部密钥计算得到洛伦兹-哈肯激光混沌系统的3个初始值;
步骤2:采用洛伦兹-哈肯激光混沌系统生成三个长度均为M×N的混沌序列O、P、Q;
步骤3:将彩色明文图像进行RGB分解,得到三个大小均为M×N的矩阵IR、IG、IB;
步骤4:分别采用混沌序列O、P、Q基于提升方案的图像预处理策略对矩阵IR、IG、IB进行预处理,得到三个长度均为M×N的序列CR、CG、CB;步骤4具体包括:
步骤4.1:将矩阵IR、IG、IB分别从二维转化成一维大小为1×MN的序列R_1、G_1、B_1;对混沌序列O、P、Q进行升序排列,得到对应的索引向量O_1、P_1、Q_1;分别利用索引向量O_1、P_1、Q_1对三个序列R_1、G_1、B_1进行排列,得到三个长度为M×N的序列R_2、G_2、B_2;
步骤4.2:利用序列G_2对序列R_2进行预测,获取新的序列NR:
其中,mod函数表示取模运算,floor函数表示向下取整运算,分别表示序列NR、G_2、R_2中的第i1个数值,i1为整数且i1∈[1,M×N],G_20=0;
步骤4.3:利用序列G_2和P对序列NR进行干扰,获取新的序列CR:
其中,分别表示序列CR、P、NR中的第i1个数值;
步骤4.4:利用序列CR对序列G_2进行更新,获取新的序列NG:
其中,表示序列NG中的第i1个数值,CR0=0;
步骤4.5:利用序列CR对序列B_2进行预测,获取新的序列NB:
其中,分别表示序列NB、B_2中的第i1个数值;
步骤4.6:利用序列CR和Q对序列NB进行干扰,获取新的序列CB:
其中,分别表示序列CB、Q中的第i1个数值;
步骤4.7:利用序列CB对序列NG进行更新,获取新的序列CG:
其中,表示序列CG中的第i1个数值,CB0=0;
步骤5:利用混沌序列O、P、Q对三个序列CR、CG、CB进行跨分量置乱,得到三个大小为M×N的矩阵VR、VG、VB;步骤5具体包括:
步骤5.1:将三个序列CR、CG、CB进行重组,得到三个大小为M×N的矩阵PR、PG、PB;分别从矩阵PR、PG、PB中选取三个大小为L2×L2的矩阵,分别记为PR_2、PG_2、PB_2;将矩阵PR_2、PG_2、PB_2依次分为L2个块,每个块的大小为L×L;其中,按照公式(9)计算得到L的值:
步骤5.2:分别从序列O、P、Q中选取前L2个数据,通过公式(10)计算得到四个新的序列T、H、Y、Z,然后分别对T、H、Y、Z进行升序排列得到对应的索引向量IT、IH、IY、IZ:
其中,Ti、Hi、Yi、Zi分别表示序列T、H、Y、Z中的第i个数值,i为整数且i∈[1,L2];
步骤5.3:初始化两个大小为L2×L2的矩阵S、W,将矩阵S的每一行依次按照索引向量IT中的数值设置,将矩阵W的每一行依次按照索引向量IH中的数值设置;然后依据索引向量IY中的数值对矩阵S中的每一行进行循环移位,依据索引向量IZ中的数值对矩阵W的每一行进行循环移位,最终得到两个新的矩阵S、W;
步骤5.4:根据矩阵S通过公式(11)生成一个大小为L2×L2的整数矩阵E:
E(i,j)=mod(S(i,j)+j,3) (11)
其中,mod函数表示取模运算,i∈[1,L2],j∈[1,L2],E(i,j)表示矩阵E中第i行第j列的数值且E(i,j)∈[0,2];
步骤5.5:生成三个大小为M×N的矩阵VR、VG、VB,用PR、PG、PB对VR、VG、VB进行初始化,使VR=PR,VG=PG,VB=PB;
步骤5.6:设置列索引j=1;
步骤5.7:利用矩阵E中的值分别确定矩阵PR、PG、PB中像素移动的目标位置;
步骤5.8:令j的值增加1,重复执行步骤5.7,直至j的值大于L2,结束循环
步骤6:利用混沌序列O、P、Q对三个矩阵VR、VG、VB进行扩散,得到三个大小为M×N的密文矩阵CIR、CIG、CIB;步骤6具体包括:
步骤6.1:按照公式(12)根据混沌序列O、P、Q生成三个长度为M×N的随机序列CO、CP、CQ;然后分别对随机序列CO、CP、CQ进行升序排列得到三个对应的索引向量XD、SD、CD;并按照公式(13)根据随机序列CO、CP、CQ生成序列K:
其中,mod函数表示取模运算,floor函数表示向下取整运算,||表示取绝对值,分别表示序列CO、CP、CQ、O、P、Q、K中的第i1个数值,i1为整数且i1∈[1,M×N];
步骤6.2:将矩阵VR、VG、VB转化成三个长度为M×N的序列VRR、VGG、VBB,采用序列XD、SD、CD、K按照公式(14)对序列VRR、VGG、VBB进行扩散,得到三个长度为M×N的序列RA、GA、BA:
其中,XD(i1)、SD(i1)、CD(i1)分别表示序列XD、SD、CD中第i1个数值,RA(XD(i1))、GA(XD(i1))、BA(XD(i1))分别表示序列RA、GA、BA中第XD(i1)个数值,VRR(SD(i1))、VGG(SD(i1))、VBB(SD(i1))分别表示序列VRR、VGG、VBB中第SD(i1)个数值,K(CD(i1))表示序列K中第CD(i1)个数值;i1为整数且i1∈[1,M×N];
步骤6.3:将三个序列RA、GA、BA进行重组,得到三个大小为M×N的矩阵CIR、CIG、CIB;
步骤7:对三个密文矩阵CIR、CIG、CIB进行合成,得到大小为M×N的密文图像。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南大学,未经河南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110561302.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动化控制仪表柜
- 下一篇:一种气压平衡雾化器及电子烟