[发明专利]一种具有快速密钥流生成过程的混沌彩色图像加密方法有效
申请号: | 201710246740.7 | 申请日: | 2017-04-16 |
公开(公告)号: | CN107633474B | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 付冲;王嘉诚;李辛悦;杨尹豪 | 申请(专利权)人: | 东北大学 |
主分类号: | G06T1/00 | 分类号: | G06T1/00;G06F21/60;G06N7/08 |
代理公司: | 沈阳优普达知识产权代理事务所(特殊普通合伙) 21234 | 代理人: | 俞鲁江 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明设计了一种具有快速密钥流生成过程的混沌彩色图像加密方法。该方法基于“置乱—替代”架构构建,“置乱”与“替代”过程共享由Chen混沌系统迭代产生的混沌序列,并独立量化生成各自所需的密钥流。置乱操作基于像素点交换机制实现。在替代操作中,通过将每个像素的影响扩散至其后所有像素点,保证了加密系统可有效抵御选择明文攻击。本发明方法所需的混沌系统迭代次数为传统方法的一半,因此提高了加密系统的计算效率。实际加密速度测试结果表明,本发明方法加密一幅图像所需时间显著低于传统方法。同时,密码学分析与测试结果表明,本发明所提出的加密方法具有良好的安全性。 | ||
搜索关键词: | 一种 具有 快速 密钥 生成 过程 混沌 彩色 图像 加密 方法 | ||
【主权项】:
1.一种具有快速密钥流生成过程的混沌彩色图像加密方法,其特征在于:加密过程由置乱和替代两个阶段构成;置乱操作用于打乱图像中各像素点的排列次序,其基于像素交换机制实现;替代操作用于改变每个像素的像素值,并且将每个像素的影响扩散至其后所有的像素中;置乱过程与替代过程所使用的密钥流均基于Chen混沌系统迭代产生的序列量化生成;加密系统可根据安全性要求,实施不同轮数的加密操作,即加密轮数越多,安全性越高;采用对称密钥机制,Chen混沌系统状态变量的初始值作为加/解密密钥;实现步骤如下:步骤1:将待加密图像像素按由左至右、由上至下的顺序读入一个一维数组中,记为imgData={p0,p1,…,p3×H×W‑1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的子像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推;步骤2:生成一个长度Lcs=len(imgData)的混沌序列;其中,len(imgData)返回明文图像数组imgData的长度;具体操作方法为:步骤2‑1:预迭代Chen混沌系统N0次;N0为常量,取N0≥200,使其充分进入混沌状态;Chen混沌系统的数学定义如下:
其中x,y,z为状态变量,t代表时间,a,b,c为系统参数;当a=35,b=3,c=28时,系统处于混沌状态;采用四阶龙格库塔法对方程(1)进行求解,其公式为:
其中![]()
![]()
h为步长,这里取0.005,xn,yn,zn代表第n次迭代值,其初始值(x0,y0,z0)作为加密或解密密钥,由加密者设定;步骤2‑2:在步骤2‑1的基础上对方程(1)迭代H×W次;对于每次迭代,将3个状态变量的当前值xn+1,yn+1,zn+1顺序写入一维数组ChenSeq={cs0,cs1,cs2,…,cs3×H×W‑1};步骤3:按照下式(3)对数组ChenSeq进行量化,得到置乱密钥流permKstr={pk0,pk1,…,pk3×H×W‑2};
其中,pos(pkn)函数返回pkn在数组permKstr中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数;本加密系统在实现时,所有的状态变量均被定义为双精度浮点数,64位double型,依据计算机表达精度,m设为15;步骤4:按照下式(4)对数组ChenSeq进行量化,得到替代密钥流subKstr={sk0,sk1,sk2,…,sk3×W×H‑1};skn=mod[sig((abs(csn),m),CL], (4)其中,CL为输入图像的灰度级数,对于24位真彩色图像,CL=256;步骤5:对明文图像实施置乱操作;置乱策略为:将明文图像数组imgData中的每一个子像素,与其后面的某一个子像素相交换,交换对象的坐标由置乱密钥流permKstr决定;其中最后一个子像素除外,无需交换;具体方法为:依次将明文图像数组imgData中的每一个子像素pn,与位于pkn处的子像素相交换;由式(3)可知,pkn的取值范围为[(n+1),(len(imgData)‑1)],保证了每个子像素的交换目标从其后面选取,最后一个子像素除外;步骤6:对置乱后的图像实施替代操作;具体方法为:利用替代密钥流subKstr对置乱后的图像数组imgData中的每一个子像素实施加密,加密公式为:
其中,cn为对子像素pn加密得到的密文值,cn‑1为前一个子像素的密文值,其初始值c‑1可由加密者设为一取值范围在[0,CL]的整型常量,⊕代表按位异或操作;在对子像素的加密过程中,由于cn‑1的引入,每一个子像素的影响都能被有效地扩散至后续所有的子像素中;用于解密的公式(5)的逆变换为:
步骤7:可根据安全级别要求,进行多轮加密,即反复执行步骤5与步骤6;步骤8:将数组imgData重排为一个H行、3×W列的矩阵,作为加密图像输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710246740.7/,转载请声明来源钻瓜专利网。