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

一种具有与明文相关密钥流生成机制的混沌图像加密方法技术

技术编号:15747851 阅读:60 留言:0更新日期:2017-07-03 06:11
本发明专利技术公开一种具有与明文相关密钥流生成机制的混沌图像加密方法。该方法基于“置乱—扩散”架构实现。置乱算法基于像素点交换机制,交换目标的位置由logistic混沌映射生成。扩散密钥流基于广义Lorenz‑like系统生成,并引入了一种与明文相关的密钥流元素量化机制。该机制增强了加密系统抵御已知明文和选择明文攻击的能力,同时加速了扩散过程,可减小达到理想扩散性能所需的扩散轮数。与现有密钥流与明文相关技术相比,本发明专利技术解决了混沌序列无法在多轮加密中重用的问题,因此具有更低的计算负载。密码学分析结果表明,本发明专利技术所提出的加密方法具有良好的安全性。

【技术实现步骤摘要】
一种具有与明文相关密钥流生成机制的混沌图像加密方法
本专利技术涉及混沌图像加密
,具体说是一种具有与明文相关密钥流生成机制的混沌图像加密方法。
技术介绍
近年来,随着多媒体与计算机网络技术的飞速发展,数字图像作为最直观的信息载体已成为人们进行信息交流的重要手段。越来越多的数字图像在以Internet、无线网络等为代表的开放性网络中传播,极大地方便了信息的访问与共享。与此同时,商业、金融、医疗、科研、军事、政治等诸多敏感领域的图像信息在开放网络环境下的传输存在着巨大的安全隐患,经常会遭遇到各种潜在的人为攻击,包括信息的非法获取、篡改与发布等,给信息拥有者造成巨大的损失。因此对图像信息进行加密至关重要。近年来混沌理论的发展为图像加密提供了一个全新的思路。自上世纪90年代中期以来,很多学者发现混沌学与密码学之间存在着天然的联系。混沌系统具有的初值与系统参数极端敏感性、遍历性、轨道不可预测性以及良好的伪随机性等一系列特性,使其能够很好地满足构建一个安全性能良好的密码系统的需求。基于混沌动力学构造的加密系统,提供了安全性与加密效率的一个良好的平衡,其既具有很高的安全性保证,又具有软、硬件实现简单,速度较快的特点,特别适合对数据量较大的数字图像进行加密,实现数字图像的实时、安全传输。目前,混沌图像加密算法已成为图像信息安全的主流技术和研究热点,具有极大的应用潜力。1998年,美国学者JessicaFridrich首次提出了一种通用的图像加密架构,如图1所示。该架构通过“置乱”(confusion)与“扩散”(diffusion)两个核心模块来实现一个安全的加密系统。在置乱阶段,图像中每个像素点的位置以一种伪随机的方式被打乱,但像素值通常保持不变。对于扩散过程,除了改变每个点的像素值以外,其另一个核心功能是将每个像素点的影响扩散至整个密文图像,从而保证加密系统可有效抵御差分攻击。在其后十余年间,世界各国学者以Fridrich所提出的架构为基础,对基于混沌的数字图像加密技术已经进行了广泛深入的研究,取得了诸多成果。与此同时,针对此项技术的密码学分析工作也蓬勃展开。近年来学者们相继发现在现有的很多方案中,用于扩散的密钥流仅与密钥相关,即如果密钥不加以更改,相同的密钥流将用于加密不同的明文图像。此类设计方法在单轮加密的情况下,极易受到选择明文或已知明文攻击。例如,攻击者可构造一幅由特殊像素值构成的明文图像(例如全白或全黑图像),应用加密系统对该图像进行加密。现代密码学的一个基本要求是密码算法本身是完全公开的。攻击者基于对加密算法的掌握,通过将密文图像与明文图像相比较,可得到所使用的密钥流。而基于实现代价考虑,在绝大部分实际应用中,加密系统一般不采用一次一密机制,因此密钥流的破解意味着加密系统的失效。解决该问题的有效策略是将密钥流元素与明文相关。目前主流的方法是利用明文影响混沌系统的迭代过程,例如,利用明文扰动混沌系统的轨道。混沌加密过程一般由多轮完成,由于混沌迭代过程与明文的相关性,混沌序列不再能够被不同轮的加密操作所重用。这是因为对于第二轮加密而言,第一轮加密生成的中间密文相当于第二轮加密所操作的明文,因此每一轮加密都需要重新迭代混沌系统以产生独立的密钥流,否则无法完成解密操作。这在一定程度上降低了系统的运行效率。为解决以上问题,本专利技术方法设计了一种与明文相关的密钥流元素量化机制。该方法基于“置乱—扩散”实现,置乱算法基于像素点交换机制,交换目标的位置由logistic混沌映射生成。扩散密钥流基于广义Lorenz-like系统生成,在密钥流元素量化过程中,由明文像素值决定参与密钥流元素量化的混沌状态变量的有效数字位数,从而实现了密钥流与明文图像的相关。由于密钥流与明文相关机制是在量化过程而不是迭代过程引入的,混沌序列可以在多轮加密中重用,因此提高了加密系统的运行效率。此外,密钥流与明文相关技术的采用,还可有效加速扩散过程,降低达到理想扩散效果所需要的整体加密轮数。密码学分析结果表明,本专利技术所提出的加密方法具有良好的安全性。
技术实现思路
本加密系统基于“置乱—扩散”架构实现,可根据安全性要求,进行不同轮数的加密,即加密轮数越多,安全性越高。本方法对图像进行加密分为置乱和扩散两个过程,置乱过程基于logistic映射产生一维伪随机坐标位置,并采用像素交换机制;扩散过程采用广义Lorenz-like映射产生密钥流。不失一般性,设待加密图像为一幅24位真彩色图像,其大小为H×W。本专利技术的具体实现方法如下:步骤1:将待加密图像像素按由左至右、由上至下的顺序展开为一个一维数组,记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推。步骤2:对明文图像实施置乱操作。基本思路为:将明文图像数组imgData中的每一个像素(最后一个像素不需要交换),与其后面的某一个像素相交换,交换对象的坐标由logistic混沌映射产生。logistic映射的状态变量初值x'0(即置乱密钥)由加密者设定。具体方法为:步骤2-1:生成一个长度Lperm=len(imgData)-1的伪随机序列。其中,len(imgData)返回明文图像数组imgData的长度。具体操作方法为:步骤2-1-1:预迭代logistic映射N0次(N0为常量,一般取N0≥200),使logistic映射充分进入混沌状态。logistic映射如公式(1)所示。x'n+1=μx'n(1-x'n),x'n∈[0,1],μ∈[0,4](1)其中μ和x'分别为控制参数和状态变量,x'n代表第n次迭代值,其初始值x'0作为置乱密钥,由加密者设定。当μ∈[3.57,4]时,logistic映射处于混沌状态。这里将μ设为4,使其工作在满射状态。需要说明的是:当μ=4时,映射存在两个“不良点”:0.5和0.75,会使状态变量在后续迭代中恒定为“不动点”0与0.75。如果该情况出现,则对x'的值做一个微小的扰动,例如增加或减小0.001。步骤2-1-2:在步骤2-1-1的基础上迭代logistic映射Lperm次,将每次迭代得到的当前状态变量值x'n+1依次放入一维数组logSeq={ls0,ls1,…,ls3×H×W-2}中。步骤2-1-3:按照下式(2)对logistic映射状态变量数组logSeq进行量化,得到伪随机置乱序列perm={r0,r1,…,r3×H×W-2}。其中,pos(rn)函数返回rn在logistic映射状态变量数组perm中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数。本加密系统在实现时,所有的状态变量均被定义为双精度浮点数(64位double型),根据计算机表达精度,m设为15。由式(2)可知,rn的取值范围为[(n+1),(len(imgData)-1)],即:明文图像数组imgData中每一个像素的交换目标从其后面的所有像素中(伪)随机选择。步骤2-2:将明文图像数组imgData中的每一个像素pn(最后一个像素除外)与位于rn本文档来自技高网
...
一种具有与明文相关密钥流生成机制的混沌图像加密方法

【技术保护点】
一种具有与明文相关密钥流生成机制的混沌图像加密方法,其特征在于:对一幅国际标准测试图像库中的常用图像进行加密,具体加密算法如下:步骤1:将待加密图像像素按由左至右、由上至下的顺序展开为一个一维数组,记为imgData={p

【技术特征摘要】
1.一种具有与明文相关密钥流生成机制的混沌图像加密方法,其特征在于:对一幅国际标准测试图像库中的常用图像进行加密,具体加密算法如下:步骤1:将待加密图像像素按由左至右、由上至下的顺序展开为一个一维数组,记为imgData={p0,p1,…,p3×H×W-1},其中p0,p1,p2代表第一个点的红、绿、蓝三种颜色分量的像素值,p3,p4,p5代表第二个点的红、绿、蓝三种颜色分量的像素值,以此类推;步骤2:对明文图像实施置乱操作;基本思路为:将明文图像数组imgData中的每一个像素,最后一个像素不需要交换,与其后面的某一个像素相交换,交换对象的坐标由logistic混沌映射产生;logistic映射的状态变量初值x'0(即置乱密钥)由加密者设定;具体方法为:步骤2-1:生成一个长度Lperm=len(imgData)-1的伪随机序列;其中,len(imgData)返回明文图像数组imgData的长度;具体操作方法为:步骤2-1-1:预迭代logistic映射N0次,其中N0为常量,一般取N0≥200,使logistic映射充分进入混沌状态;logistic映射如公式(1)所示;x'n+1=μx'n(1-x'n),x'n∈[0,1],μ∈[0,4](1)其中μ和x'分别为控制参数和状态变量,x'n代表第n次迭代值,其初始值x'0作为置乱密钥,由加密者设定;当μ∈[3.57,4]时,logistic映射处于混沌状态;这里将μ设为4,使其工作在满射状态;需要说明的是:当μ=4时,映射存在两个“不良点”:0.5和0.75,会使状态变量在后续迭代中恒定为“不动点”0与0.75;如果该情况出现,则对x'的值做一个微小的扰动,例如增加或减小0.001;步骤2-1-2:在步骤2-1-1的基础上迭代logistic映射Lperm次,将每次迭代得到的当前状态变量值x'n+1依次放入一维数组logSeq={ls0,ls1,…,ls3×H×W-2}中;步骤2-1-3:按照下式(2)对logistic映射状态变量数组logSeq进行量化,得到伪随机置乱序列perm={r0,r1,…,r3×H×W-2};其中,pos(rn)函数返回rn在logistic映射状态变量数组perm中的位置,即n;abs(x)函数返回x的绝对值;sig(x,m)函数返回x的前m位有效数字;mod(x,y)函数返回x除以y的余数;本加密系统在实现时,所有的状态变量均被定义为双精度浮点数,采用64位double型,根据计算机表达精度,m设为15;由式(2)可知,rn的取值范围为[(n+1),(len(imgData)-1)],即:明文图像数组imgData中每一个像素的交换目标从其后面的所有像素中(伪)随机选择;步骤2-2:将明文图像数组imgData中的每一个像素pn,最后一个像素除外,与位于rn处的像素相交换;步骤3:对置乱后的图像实施扩散操作;具体方法为:步骤3-1:生成长度为Lks=len(imgData)的扩散密钥流序列;具体操作方法为:步骤3-1-1:预迭代广义Lorenz-like系统N0次,其中N0为常量,一般取N0≥200,使其充分进入混沌状态;所使用的广义Lorenz-like系统数学定义如下:其中x,y,z为状态变量,t代表时间,a,b,c为系统参数;当a=-10,b=-4,c=0时,系统处于混沌状态;采用四阶龙格库塔法对方程(3)进行求解,其公式为:

【专利技术属性】
技术研发人员:付冲郑宇何兴文
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

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

1