安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

基于二维超混沌序列的图象加密算法

更新时间:2022-10-28 15:43:38


本文简介:图象加密日益受到重视,许多加密算法被提出,其中一维混沌加密算法由于利用了混沌序列的良好复杂性、伪随机性和对初值的敏感特性而具有较好的加密性能,但与其他方法比较。其最大的缺陷是密钥空间太小,为此,我们提出了一种基于二维超混沌系统的图象文件加密方法,设计了若干个形式简单的二维超混沌模型,把它们生成的混沌序列变换成加密因子序列,采用纵横两重逐位模2加运算来加密、解密图象。一、混沌序列与二维混沌离散系统模

基于二维超混沌序列的图象加密算法

图象加密日益受到重视,许多加密算法被提出,其中一维混沌加密算法由于利用了混沌序列的良好复杂性、伪随机性和对初值的敏感特性而具有较好的加密性能,但与其他方法比较。其最大的缺陷是密钥空间太小,为此,我们提出了一种基于二维超混沌系统的图象文件加密方法,设计了若干个形式简单的二维超混沌模型,把它们生成的混沌序列变换成加密因子序列,采用纵横两重逐位模2加运算来加密、解密图象。

一、混沌序列与二维混沌离散系统模型

混沌(chaos)定义为:设X为一个度量空间,f:X→X称为在X上是混沌的,如果:

(1)f对初始条件的敏感依赖性:如存在 δ>0,对任何z∈X和r的任何邻域N,存在y∈N和自然数n≥0。使得d(fn(x),fn(y))>δ。

(2)f是拓扑传递的:如对任何一对开集U,yUX,存在k>0,使得fk(u)∩v≠Φ。

(3)周期点在y中稠密。

Lyapunov指数(简称李氏指数)是刻画非线性系统混沌特性的有效方法之一,李氏指数的个数与系统状态空间的维数n相同,若只有一个李氏指数大于零,则系统是混沌的;若至少有两个李氏指数大于零,则系统是超混沌的,大于零的李氏指数个数愈多,系统不稳定的程度愈高。一般来说,系统的状态量个数越多(如高维系统,对离散系统来说,n>2),它可能出现不稳定的程度会越高。

目前被广泛研究的一维混沌系统是Logistic映射,即:

基于二维超混沌序列的图象加密算法

其中,O≤μ≤4称为分枝参数,xk∈(0,1)。混沌动力系统的研究工作指出,当3. 569 945 6…<μ≤4.000 0时,Logistic映射工作处于混沌态。也就是说,由初始条件x0在Logistic映射的作用下所产生的序列{xk;k=0,1,2,3...)是非周期的、不收敛的并对初始值非常敏感的。

Logistic映射的另一种形式为:

基于二维超混沌序列的图象加密算法
其中,λ∈[0,2],n的定义区间是(-1,1).当1. 401 15<λ<2.000 00时,Logistic映射工作处于混沌态。

不失一般性,二维混沌离散系统有如下形式:

基于二维超混沌序列的图象加密算法

其中:

基于二维超混沌序列的图象加密算法

式中,ai(i=1,2,…,1 2)均为待定常系数。

采用高维系统产生超混沌,由于系统较之低维情况复杂,产生超混沌时序的时间增长,将有可能直接影响保密通讯实时性的要求,因此,如何在系统状态变量个数尽可能少而正性李氏指数又尽可能多的条件下,寻找到非线性形式简单的系统,是十分实际而又有意义的工作。为了寻找简单形式的二维离散超混沌系统,需进一步简化(3)式,使部分非线性项前的系数为零,然后通过计算该系统的李氏指数,即有两个或两个以上大于零的李氏指数,可认为该系统是超混沌特性的二维离散系统.通过计算,最后得到一些形式简单且具有超混沌特性的二维离散系统如表1所示。

基于二维超混沌序列的图象加密算法

以离散系统1为例,用它生成数字图象加密的加密变换的因子序列.先分析其简单分岔特性(如图1,图2所示),为选取合适的参数值和密钥空间做好准备。假若a5=1.3,a8= -1.1,a10=0.1先固定。

基于二维超混沌序列的图象加密算法

基于二维超混沌序列的图象加密算法

验发现a4=0.91时,离散系统1进入准周期运动(图3),而a4=1. 66时,该系统已经是超混沌态了(图4),同时可以计算出此时序列区间为-1. 577 702<xn< 0. 529 923;- 0. 634 822<yn <1. 862 664。

基于二维超混沌序列的图象加密算法

基于二维超混沌序列的图象加密算法

二、二维混沌系统应用于图象置乱加密

基于混沌序列图象加密和解密模型可以用图5表示。

基于二维超混沌序列的图象加密算法显然,图象加密算法和对应的解密算法是需研究和解决的核心问题,除此之外,由混沌实数序列生成直接应用于加密变换的因子序列的变换(映射1)。以及密钥与用来决定密钥的初值和模型参数之间的映射2也是需要研究解决的问题。

映射1设计的原则是让加密因子序列尽量保持原混沌序列的伪随机性,同时适于后续加密算法的操作。目前,常用的映射1大体上分为实数值序列、位序列和二值序列3种。

(1)实数值序列,即{Xk;k=0,1,2,3...},是混沌映射的轨迹点所形成的序列。显然不宜直接应用于加密图象,而且理论研究表明:这种无误差的平凡混沌加密方法是可破解的。

(2)位序列:同样由实数值混沌序列得到,所不同的是,位序列是通过对{Xk;k=0,1,2,3...}中的Xk改写为L-bit的浮点数形式得到的:

基于二维超混沌序列的图象加密算法
其中,bi(xk)是|xk|的第i位,所需序列即为bi(xk);i=0,1,2.….L;k=0,1,2,3…)。显然该位序列bi(xk)的取值范围是[O,9],不适合直接作用于8bit和24bit的图象数据。

(3)二值序列,即将原混沌序列阈值化后生成的二值序列,混沌序列阈值化后,其混沌伪随机性损失较大,通过实验发现,加密后的图象轮廓依稀可见。

针对数字图象的特点,结合加密效果和效率指标要求,提出一种新的方法,即将混沌实数序列在其最大值和最小值之间,按256级等级线性映射,得到8位二进制序列,作为加密因子序列,二维超混沌模型的多个参数和两个初始条件都可以设计为密钥.由于采用的是私钥方式,为方便用户使用。

一般来说,密钥空间的连续性是首先必须保障的,如是8位密码的话,密钥最好可以从00000000~99999999连续取值,其次,从密钥到初值和(或)模型参数的映射2可以有多种形式,在此推荐分节线性变换方法,该方法既保证密钥与初值或参数的一一对应性和同步相异性(在一定计算精度范围内),又充分利用了系统可提供的密钥空间大小,更重要的是它可以有效地防止初值区间超出混沌迭代序列的区间而使密钥无效这种致命问题的出现。

以18位十进制密钥为例,它可被分为3节(长度可以相等或不等),3节分别通过线性映射,映射为用于解密的初值x0,y0,和模型参数户。

基于二维超混沌序列的图象加密算法
一位X的取值范围是0到9)。

基于二维超混沌序列的图象加密算法
基于纵横两重异或(模2加)运算的图象加密新方法,其优点是计算速度快,加密效果好,容易程序实现,可以抵御一定程度的攻击,纵横两重异或加密、解密算法描述如下:

加密算法/过程为

(1)给定需要加密的原图象,I={O≤fk(i,j)≤255,若图象为彩色图象,k=1,2,3代表3种颜色分量;若图象为灰度图象,k=1,i=O,1,2,…,M-1;j=0,1,2,…,N一1}和密钥P,图象分辨率为M×N;

(2)由密钥P映射出混沌系统的初值和模型参数;

(3)生成二维混沌序列;

(4)由实数值混沌序列通过线性变换映射到0~255的整数序列作为加密因子序列};

(5)在横向上用生成的加密因子序列对原图象进行异或加密,对于彩色图象,每个像素的多个颜色分量可以采用同一加密因子序列或紧邻的加密因子序列加密;

(6)在纵向上用生成的加密因子序列对原图象进行异或加密;

(7)将加密后的图象在公共通道上传输;

(8)将密钥P在安全通道上传输。

解密算法/过程为:

(1)从公共通道上得到加密图象;

(2)用从安全通道上得到的密钥P;

(3)由密钥P映射出混沌系统的初值和模型参数;

(4)生成二维混沌序列;

(5)由实数值混沌序列通过线性变换映射到0~255的整数序列作为加密因子序列;

(6)在纵向上用生成的加密因子序列对原图象进行异或解密;

(7)在横向上用生成的加密因子序列对原图象进行异或解密;

(8)生成恢复后的图象。

三、实验结果

上述加密解密算法用Visual C++编程实现,分别对灰度图象和24位彩色图象加密和解密,并进行了测试,实际计算中去掉了前5 137次暂态过程,选取离散系统中的初始条件T。和yo来产生密钥,图6~图1 0给出了以离散系统1为模型的实验结果。

从实验测试结果可以看出:

(1)对图象进行X或Y单个方向的混沌加密,如图6、图7所示,可以看到:原图象的轮廓依稀可见,置乱效果欠佳.但纵横两重异或加密后,图象变得杂乱无章,置乱效果明显,有良好的保密性。

基于二维超混沌序列的图象加密算法

基于二维超混沌序列的图象加密算法

(2)由于混沌系统对初始值的敏感性,当改变密钥11415927(原密钥11415926),不但不能恢复原图象,而且还原出的图象依旧很混乱,如图8。

基于二维超混沌序列的图象加密算法

(3)局部破损实验中对加密后的图象进行部分破损,还原后,可以看出:破损部分没有扩散,其余部分能正确地还原,如图9所示。

基于二维超混沌序列的图象加密算法

(4)从表2的加密、解密时间来看,虽然二维超混沌系统比一维系统计算复杂,但加密的速度还是相当快的。

基于二维超混沌序列的图象加密算法

实验系统配置:CPU毒龙750r内存128MB,主频133MHZ;操作系统:Windows XP。

(5)网络传输的需要,往往会对原图象进行有损压缩(如JPEG),到达目的地后再将其转换为BMP格式,再去乱还原。如图10所示实验结果表明:压缩的品质因子quality大于5时,还原效果较好,当品质因子小于5时,去乱后的图象是不可用的。

基于二维超混沌序列的图象加密算法

小知识之混沌

混沌是一种确定系统中出现的无规则的运动。混沌的离散情况常常表现为混沌时间序列,混沌时间序列是由混沌模型生成的具有混沌特性的时间序列,混沌时间序列中蕴涵着系统丰富的动力学信息,混沌时间序列是混沌理论通向现实世界的一个桥梁,是混沌的一个重要应用领域。

立即下载试用

基于3DES加密算法的研究

关于加密方法,我们之前有介绍过很多,最近大出风头的秀尔算法和DES、MD5等等一直占据鳌头,今天我们来介绍一个小众的加密算法——就是3DES。

加密算法主要通过软件和硬件两种方式来实现,软件的实现方式具有灵活方便的优点,同时也具有加密速度受限制的缺点。采用硬件实现加密算法是实际应用中必须要考虑到的问题。目前经常采用硬件FPGA等来实现,该种实验方式具有处理速度快的特点,但是对系统的复杂度要求较高。

嵌入式微处理器具有实现简单,系统集成度高,体积小,易于移植等众多优点,因此有必要研发基于嵌入式微处理器的加密算法硬件设备,在此提出一种基于ARM处理器的3DES的硬件实现方法。

3DES算法原理

DES是美国国家标准局颁布的数据加密算法,作为世界范围内的公开加密标准已经使用了20多年。随着计算机处理速度的提高,DES算法面临着一些安全威胁,DES采用56位密钥,曾经有人用穷举搜索法对DES进行过密钥搜索攻击。

近年来也有人提出了差分和线性攻击方案,该方案的实施必须有超高速计算机的支持。为了增强DES算法应对差分或线性攻击的可能性,人们提出了一系列改进方案,采用增加密钥长度是一种可行的途径。

为了增加密钥的长度,可将分组密码进行级联,在不同的密钥作用下,连续多次对一组明文进行加密。其中,最有效的方法是使用三重DES加密,它可使加密密钥长度扩展到128位,在提高加密强度的同时,足以应付目前的各种攻击。

DES是一个分组加密算法,它以64位为分组对数据加密。64位的分组明文序列作为加密算法的输入,经过16轮加密得到64位的密文序列。加密的密钥为64位,实际长度为56位,DES算法的保密性取决于密钥。DES对64位的明文分组进行操作。

首先通过一个初始置换IP,将64位的明文分成各32位长的左半部分和右半部分,该初始置换只在16轮加密过程进行之前进行一次。在经过初始置换操作后,对得到的64位序列进行16轮加密运算,这些运算被称为函数f,在运算过程中,输入数据与密钥结合。经过16轮运算后,左、右两部分合在一起得到一个64位的输出序列,该序列再经过一个末尾置换IP-1,获得最终的加密结果。过程如图1所示。

在每一轮加密过程中,函数厂的运算包括以下四个部分:

首先进行密钥序列移位,从移位后的56位密钥序列中选出48位;

然后通过一个扩展置换将输入序列32位的右半部分扩展成48位,再与48位的轮密钥进行异或运算;

再者通过8个s盒将异或运算后获得的48位序列替代成一个32位序列;

最后对32位序列应用置换P进行置换变换,得到-厂的32位输出序列。将函数厂的输出与输入序列的左半部分进行异或运算后的结果作为新一轮加密过程输入序列的右半部分,当前输入序列的右半部分作为新一轮加密过程输入序列的左半部分。

上述过程重复操作16次,便实现了DES的16轮加密运算。

假设Bi是第i轮计算的结果,则Bi为一个64位的序列,Li和Ri分别是Bi的左半部分和右半部分,Ki是第i轮的48位密钥,且f是实现代换、置换及密钥异或等运算的函数,那么每一轮加密的具体过程为:

以上操作的详细过程如图2所示。

在3DES加密算法中,加密过程用两个不同的密钥K1和K2对一个分组消息进行三次DES加密。首先使用第一个密钥进行DES加密,然后使用第二个密钥对第一次的结果进行DES解密,最后使用第一个密钥对第二次的结果进行DES加密。

解密过程首先使用第一个密钥进行DES解密,然后使用第二个密钥对第一次的结果进行DES加密,最后再使用第一个密钥对第二次的结果进行DES解密。

DES算法的密钥长度是56位,三重DES算法的密钥长度是112位,加密强度显著增强,可以很好地应付各种攻击,目前尚没有可行的攻击方法,应用3DES的加密系统具有很大的实用价值。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16281.html