[发明专利]基于拉丁方置乱的彩色图像加密方法有效
申请号: | 201810469214.1 | 申请日: | 2018-05-16 |
公开(公告)号: | CN108696666B | 公开(公告)日: | 2019-06-21 |
发明(设计)人: | 柴秀丽;郑晓宇;袁科;张继通;武海洋;张苗辉;周福娜;路杨 | 申请(专利权)人: | 河南大学 |
主分类号: | H04N1/44 | 分类号: | H04N1/44;H04L9/00 |
代理公司: | 郑州大通专利商标代理有限公司 41111 | 代理人: | 周艳巧 |
地址: | 475001 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于拉丁方置乱的彩色图像加密方法,首先利用彩色明文图像的R、G、B三分量计算明文密钥r1、g1、b1,将由密钥计算得到的初始值和参数带入混沌系统中,产生三组混沌序列,然后利用基于明文和数字排列的混沌序列选取机制,选取用于置乱和扩散的混沌序列;接着,分别采用基于拉丁方和混沌序列的块置乱策略和依赖明文和置乱图像的扩散操作处理各分量,得到最终的密文图像。本发明的加密方法,与明文密切相关,增加抗明文攻击能力;所使用的混沌系统是一种改进的混沌系统,混沌特性好,随机性强,密钥空间大,进一步提高了安全等级;并通过仿真结果和安全分析表明,本发明加密方案可以满足图像完全加密,加密效率高,鲁棒性强。 | ||
搜索关键词: | 混沌序列 加密 明文 置乱 混沌系统 拉丁方 彩色图像 随机性 扩散 安全分析 操作处理 仿真结果 混沌特性 加密效率 密文图像 密钥计算 密钥空间 明文攻击 明文图像 数字排列 置乱图像 鲁棒性 三分量 密钥 图像 改进 安全 | ||
【主权项】:
1.一种基于拉丁方置乱的彩色图像加密方法,其特征在于,包含如下步骤:步骤1.将大小为M×N的明文图像I分成R、G、B三个分量,利用该三个分量和外加密钥生成混沌系统参数和初始值,将混沌系统参数和初始值依次带入LLS混沌映射系统、SSS混沌映射系统和CCS混沌映射系统,得到混沌序列;根据混沌序列,获取用于置乱的序列组一和用于扩散的序列组二;步骤2.利用序列组一构造三个拉丁方阵,分别对R、G、B三个分量进行分块置乱操作,得到大小为M×N的置乱矩阵R1、G1、B1;步骤3.依次将置乱矩阵R1、G1、B1转换为大小为1×MN的矩阵R2、G2、B2;步骤4.利用序列组二对矩阵R2进行扩散操作,得到大小为1×MN的扩散矩阵R3;基于序列组二和扩散矩阵R3对矩阵G2进行扩散操作,得到大小为1×MN扩散矩阵G3;基于序列组二和扩散矩阵G3对矩阵B2进行扩散操作,得到大小为1×MN扩散矩阵B3;步骤5.依次将扩散矩阵R3、G3、B3转换为大小为M×N的矩阵R4、G4、B4;组合矩阵R4、G4、B4,得到密文图像C,完成加密;一维混沌系统有Logistic映射xn+1=FL(u,xn)=u×xn×(1‑xn)、Sine映射xn+1=FS(r,xn)=r×sin(π×xn)和Chebyshev映射xn+1=FC(a,xn)=cos(a×arccosxn),式中,u∈(0,4]、r∈(0,1),a∈N,且当a﹥1时,Chebyshev map具有混沌行为;利用两个相同一维混沌映射的输出序列的差值构造新的混沌系统,公式如下:xn+1=F(u,xn,k)=Fch(u,xn)×G(k)‑floor(Fch(u,xn)×G(k)),其中,Fch(u,xn)是一维混沌映射,F(u,xn,k)是新得到的混沌映射,xn是混沌序列,n是迭代次数,G(k)=2k,8≤k≤20,且k值越大,其混沌性能越好,u的取值为(0,10],混沌系统的输出值范围为(0,1],利用Logistic映射、Sine映射、Chebyshev映射,根据公式得到三个新混沌系统:LLS混沌映射系统xn+1=u×xn×(1‑xn)×2k‑floor(u×xn×(1‑xn)×2k),SSS混沌映射系统xn+1=u×sin(π×xn)×2k‑floor(u×sin(π×xn)×2k)和CCS混沌映射系统xn+1=cos((u+1)×arccos(xn))×2k‑floor(cos((u+1)×arccos(xn))×2k),式子中x0是初始值,n是迭代次数,u∈(0,10];步骤1中,依据R、G和B三个分量中的元素,对应分量最大值和方差值,获取分量密钥r1、g1、b1;根据分量密钥计算得到混沌系统初始值x0和参数u0;将混沌系统初始值x0和参数u0,依次带入LLS混沌映射系统、SSS混沌映射系统和CCS混沌映射系统,分别迭代N0+MN次;并舍弃前N0个值,得到三个长度为1×MN的混沌序列X_l、X_s和X_c;根据混沌序列X_l、X_s和X_c,选取用于置乱的序列组一和用于扩散的序列组二;选取用于置乱的序列组一,包含如下内容:A1)从给定数字集合一中任取3个不同数字进行数字排列,得到大小为P1×3的排列矩阵final_result1;A2)从排列矩阵final_result1中选取第value1行的3个值,分别赋值给ind1、ind2、ind3:
,得到互不相同的ind1、ind2、ind3,其中,value1=mod(floor((r1×b1+tg×t3+t2)×1014),P1)+1,floor(x)表示取比x小的最大整数,tg、t2、t3为外加密钥,tg、t2、t3∈(0,+∞);A3)将三个长度为1×MN的混沌序列X_l、X_s和X_c两两组合,得到6个混沌序列组,记为:X1=[X_l;X_s],X2=[X_c;X_l],X3=[X_s;X_c],X4=[X_l;X_c],X5=[X_c;X_s],X6=[X_s;X_l];A4)按照如下公式分别从X1‑X6中选取用于置乱的序列组一CH_R1、CH_G1、CH_B1:
选取用于扩散的序列组二,包含如下内容:B1)从给定数字集合二中任取3个不同的数进行数字排列,得到大小为P2×3的排列矩阵final_result2;B2)从排列矩阵final_result2中选取第value2行的3个值,分别赋值给ind4、ind5、ind6:
,得到互不相同的ind4、ind5、ind6,其中,value2=mod(floor((tb×g1×ind3+t32+t2)×1014),P2)+1tb为外加密钥,且tb∈(0,+∞);B3)组合混沌序列X_l、X_s和X_c,得到3×MN的数组Ch2,Ch2=[X_l;X_s;X_c];根据如下公式分别选取用于扩散的序列组二CH_R2、CH_G2和CH_B2:
步骤2中利用序列组一构造三个拉丁方阵,从混沌序列CH_R1中取出2个序列Q1=CH_R1(1,1:p2)和Q2=CH_R1(2,1:p2),构造p2阶拉丁方Lat_R:Lat_R=LatinG(Q1,Q2);并分别利用CH_G1、CH_B1构造p2阶拉丁方阵Lat_G、Lat_B。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南大学,未经河南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810469214.1/,转载请声明来源钻瓜专利网。