欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2021105613026
申请人: 河南大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

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;分别

2 2

从矩阵PR、PG、PB中选取三个大小为L×L的矩阵,分别记为PR_2、PG_2、PB_2;将矩阵PR_2、2

PG_2、PB_2依次分为L个块,每个块的大小为L×L;其中,按照公式(9)计算得到L的值:2

步骤5.2:分别从序列O、P、Q中选取前L个数据,通过公式(10)计算得到四个新的序列T、H、Y、Z,然后分别对T、H、Y、Z进行升序排列得到对应的索引向量IT、IH、IY、IZ:2

其中,Ti、Hi、Yi、Zi分别表示序列T、H、Y、Z中的第i个数值,i为整数且i∈[1,L];

2 2

步骤5.3:初始化两个大小为L×L的矩阵S、W,将矩阵S的每一行依次按照索引向量IT中的数值设置,将矩阵W的每一行依次按照索引向量IH中的数值设置;然后依据索引向量IY中的数值对矩阵S中的每一行进行循环移位,依据索引向量IZ中的数值对矩阵W的每一行进行循环移位,最终得到两个新的矩阵S、W;

2 2

步骤5.4:根据矩阵S通过公式(11)生成一个大小为L×L的整数矩阵E:E(i,j)=mod(S(i,j)+j,3) (11)

2 2

其中,mod函数表示取模运算,i∈[1,L],j∈[1,L],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中像素移动的目标位置;

2

步骤5.8:令j的值增加1,重复执行步骤5.7,直至j的值大于L,结束循环步骤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的密文图像。

2.根据权利要求1所述的彩色图像加密方法,其特征在于,步骤1具体包括:步骤1.1:将大小为M×N的彩色明文图像作为SHA256函数的输入值,获得彩色明文图像的256位哈希值H,将256位哈希值H的每16位分为一组,转化为16个十进制数,记为h1,h2,h3,…,h15,h16;

步骤1.2:通过公式(1)计算得到洛伦兹‑哈肯激光混沌系统的3个初始值x(0)、y(0)、z(0):其中,t1、t2、t3、t4∈(0,+∞)为外部密钥, 表示异或运算,mod函数表示取模运算。

3.根据权利要求1所述的彩色图像加密方法,其特征在于,步骤2具体包括:将计算得到的3个初始值代入公式(2)所示的洛伦兹‑哈肯激光混沌系统,迭代N0次,舍弃前k个值,生成三个长度为M×N的混沌序列O、P、Q:其中,x、y、z为系统状态变量;σ、γ、b为系统参数;N0≥1000+M×N,k≥500。

4.根据权利要求1所述的彩色图像加密方法,其特征在于,步骤5.7中的所述利用矩阵E中的值确定矩阵PR中像素移动的目标位置具体包括:当E(i,j)=0时,表明要用矩阵PR中第i行第j列的像素替换矩阵VR中第S(i,j)个块的第W(i,S(i,j))个像素;

当E(i,j)=1时,表明要用矩阵PR中第i行第j列的像素替换矩阵VG中第S(i,j)个块的第W(i,S(i,j))个像素;

当E(i,j)=2时,表明要用矩阵PR中第i行第j列的像素替换矩阵VB中第S(i,j)个块的第W(i,S(i,j))个像素;

其中,块的位置和块内像素的位置均按行优先进行排列,S(i,j)表示矩阵S中第i行第j2

列的数值,W(i,S(i,j))表示矩阵W中第i行第S(i,j)列的数值,且S(i,j)∈[1,L],W(i,j)2

∈[1,L]。

5.根据权利要求1所述的彩色图像加密方法,其特征在于,步骤5.7中的所述利用矩阵E中的值确定矩阵PG中像素移动的目标位置具体包括:当mod(E(i,j)+1,3)=0时,表明要用矩阵PG中第i行第j列的像素替换矩阵VR中第S(i,j)个块的第W(i,S(i,j))个像素;

当mod(E(i,j)+1,3)=1时,表明要用矩阵PG中第i行第j列的像素替换矩阵VG中第S(i,j)个块的第W(i,S(i,j))个像素;

当mod(E(i,j)+1,3)=2时,表明要用矩阵PG中第i行第j列的像素替换矩阵VB中第S(i,j)个块的第W(i,S(i,j))个像素;

其中,块的位置和块内像素的位置均按行优先进行排列,S(i,j)表示矩阵S中第i行第j2

列的数值,W(i,S(i,j))表示矩阵W中第i行第S(i,j)列的数值,且S(i,j)∈[1,L],W(i,j)2

∈[1,L]。

6.根据权利要求1所述的彩色图像加密方法,其特征在于,步骤5.7中的所述利用矩阵E中的值确定矩阵PB中像素移动的目标位置具体包括:当mod(E(i,j)+2,3)=0时,表明要用矩阵PB中第i行第j列的像素替换矩阵VR中第S(i,j)个块的第W(i,S(i,j))个像素;

当mod(E(i,j)+2,3)=1时,表明要用矩阵PB中第i行第j列的像素替换矩阵VG中第S(i,j)个块的第W(i,S(i,j))个像素;

当mod(E(i,j)+2,3)=2时,表明要用矩阵PB中第i行第j列的像素替换矩阵VB中第S(i,j)个块的第W(i,S(i,j))个像素;

其中,块的位置和块内像素的位置均按行优先进行排列,S(i,j)表示矩阵S中第i行第j2

列的数值,W(i,S(i,j))表示矩阵W中第i行第S(i,j)列的数值,且S(i,j)∈[1,L],W(i,j)2

∈[1,L]。