当前位置: 首页 > 专利查询>河南大学专利>正文

基于拉丁方置乱的彩色图像加密方法技术

技术编号:19242811 阅读:32 留言:0更新日期:2018-10-24 05:27
本发明专利技术涉及一种基于拉丁方置乱的彩色图像加密方法,首先利用彩色明文图像的R、G、B三分量计算明文密钥r1、g1、b1,将由密钥计算得到的初始值和参数带入混沌系统中,产生三组混沌序列,然后利用基于明文和数字排列的混沌序列选取机制,选取用于置乱和扩散的混沌序列;接着,分别采用基于拉丁方和混沌序列的块置乱策略和依赖明文和置乱图像的扩散操作处理各分量,得到最终的密文图像。本发明专利技术的加密方法,与明文密切相关,增加抗明文攻击能力;所使用的混沌系统是一种改进的混沌系统,混沌特性好,随机性强,密钥空间大,进一步提高了安全等级;并通过仿真结果和安全分析表明,本发明专利技术加密方案可以满足图像完全加密,加密效率高,鲁棒性强。

【技术实现步骤摘要】
基于拉丁方置乱的彩色图像加密方法
本专利技术涉及图像加密
,特别涉及一种基于拉丁方置乱的彩色图像加密方法。
技术介绍
随着数字技术和网络技术的迅猛发展,越来越多的多媒体数据产生,通过网络传输和在云服务器等平台进行存储。数字图像包含大量信息,例如,一张军事油库图片不仅可以告诉我们它的尺寸和数量,而且还可以给出它的大概位置;一幅人脸照片不仅可以暴露他或她的长相,还可以给出大概的年龄和身体状况。因此,在医学图像系统、军事图像系统和视频会议中,保护图像数据的安全引起了广泛的关注,图像加密是一种可以有效保护数据安全的方法。当前,彩色图像加密算法主要存在两个问题:一是算法与明文相关性低,抗选择明文等攻击能力较差;另一个是一些算法没有考虑R,G和B分量之间的相关性,所提出的算法易被统计分析破解。因此,许多学者一直在寻找更有效的方法来保护图片,Sun等人提出的算法中加密过程和密钥均与明文无关,被刘等人利用已知明文攻击破解;张等人通过改进的Cat映射分别对彩色明文图像的三个分量加密,但被Liu等人用选择明文和已知明文攻击破解;Pak等人将彩色图像三分量合并为一个大数组进行整体置乱,但该算法与明文相关性低,容易受到攻击。因此,增加算法和明文之间的关联,有助于进一步提升算法的安全性。
技术实现思路
针对现有技术中的不足,本专利技术提出一种基于拉丁方置乱的彩色图像加密方法,将彩色明文图像分为R、G、B三分量,利用混沌序列构造拉丁方阵置乱明文各分量,接着利用混沌序列扩散R、G、B分量,并在扩散G、B分量时引入预处理操作,减少三分量之间的相关性,加密效率高、随机性强,增强抗攻击能力。按照本专利技术所提供的设计方案,一种基于拉丁方置乱的彩色图像加密方法,包含如下步骤:步骤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,完成加密。上述的,步骤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中的分块置乱操作,包含如下内容:步骤21)将各分量进行分块处理,分为p2块,每块大小为p×p,其中,步骤22)从序列组一中取出2个序列,构造p2阶拉丁方阵Lat_R、Lat_G、Lat_B;步骤23)若则执行步骤24);否则,计数器初始化,执行步骤25);步骤24)分别利用拉丁方阵Lat_R、Lat_G、Lat_B,对R、G、B分量进行相应置乱操作,得到置乱矩阵R1、G1、B1,进入步骤3;步骤25)分别利用拉丁方阵Lat_R、Lat_G、Lat_B,对R、G、B各分量进行置乱操作,得到相应置乱矩阵,计数器累加计数;步骤26)判断计数器数值是否达到设定阈值,若达到,则将步骤25)最新得到的各分量的置乱矩阵,记为置乱矩阵R1、G1、B1,并进入步骤3;否则,将步骤25)最新得到的各分量的置乱矩阵顺时针旋转,并返回步骤25)循环执行。上述的,步骤4具体包含如下内容:步骤41)利用外加密钥和三分量的置乱矩阵计算各分量的中间密钥sumR_a、sumG_a、sumB_a;步骤42)修正序列组二中的每个元素,得到序列CH_R3、CH_G3、CH_B3;步骤43)对矩阵R2中的每个像素进行扩散操作,得到扩散后的矩阵R3;步骤44)利用矩阵R3对矩阵G2进行预处理操作,然后对矩阵G2中的每个像素进行扩散操作,得到扩散后的矩阵G3;步骤45)利用矩阵G3对矩阵B2进行预处理操作,然后对矩阵B2中的每个像素进行扩散操作,得到扩散后的矩阵B3。优选的,步骤41中,利用外加密钥和三分量的置乱矩阵计算各分量的中间密钥sumR_a、sumG_a、sumB_a,其中计算R分量的中间密钥sumR_a的公式表示为:,计算中间密钥sumG_a、sumB_a时,分别将公式中的R2(i)和tr依次替换成G2(i)和tg、B2(i)和tb,其中,ind1、ind2分别为序列组一中的赋值变量,t2、tr、tg、tb均为外加密钥,且t2、tr、tg、tb∈(0,+∞)。优选的,步骤42)中,序列组二中序列CH_R2、CH_G2、CH_B2的每一个元素的修正公式表示为:,其中,CH_R本文档来自技高网...

【技术保护点】
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,完成加密。

【技术特征摘要】
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,完成加密。2.根据权利要求1所述的基于拉丁方置乱的彩色图像加密方法,其特征在于,步骤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,选取用于置乱的序列组一和用于扩散的序列组二。3.根据权利要求2所述的基于拉丁方置乱的彩色图像加密方法,其特征在于,选取用于置乱的序列组一,包含如下内容: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:4.根据权利要求3所述的基于拉丁方置乱的彩色图像加密方法,其特征在于,选取用于扩散的序列组二,包含如下内容: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:5.根据权利要求1所述的基于拉丁方置乱的彩色图像加密方法,其特征在于,步骤2中的分块置乱操作,包含如下内容:步骤21)将各分量进行分块处理,分为p2块,每块大小为p×p,其中,步骤22)从序列组一中取出2个序列,构造p2阶拉丁方阵Lat_R、Lat_G、Lat_B;步骤23)若则执行步骤24);否则,计数器初始化,执行步骤25);步骤24)分别利用拉丁方阵Lat_R、Lat_G、Lat_B,对R、G、B分量进行相应置乱操作,得到置乱矩阵R1、G1、B1,进入步骤3...

【专利技术属性】
技术研发人员:柴秀丽郑晓宇袁科张继通武海洋张苗辉周福娜路杨
申请(专利权)人:河南大学
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1