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

基于三维Arnold混沌系统的图像加密算法

更新时间:2022-10-28 15:44:58


本文简介:混沌系统是一种非线性动力学行为,基于混沌系统产生的混沌序列具有很好的初值敏感性、遍历性和伪随机的特点。由于混沌序列具有这些优良特性,因此近年来基于混沌的加密技术日益成为密码学的研究热点之一。我们利用三维Arnold混沌系统对图像进行置乱与异或,从而实现同时改变图像的像素的位置与像素值。一、三维Arnold混沌系统经典的二维Arnold混沌系统形式为:引入两个参数来加以推广得到更一般的形式:进一步地

基于三维Arnold混沌系统的图像加密算法

混沌系统是一种非线性动力学行为,基于混沌系统产生的混沌序列具有很好的初值敏感性、遍历性和伪随机的特点。由于混沌序列具有这些优良特性,因此近年来基于混沌的加密技术日益成为密码学的研究热点之一。我们利用三维Arnold混沌系统对图像进行置乱与异或,从而实现同时改变图像的像素的位置与像素值。

一、三维Arnold混沌系统

经典的二维Arnold混沌系统形式为:

基于三维Arnold混沌系统的图像加密算法

引入两个参数来加以推广得到更一般的形式:

基于三维Arnold混沌系统的图像加密算法

进一步地,将(2)式推广到三维空间,得到三维Arnold混沌系统:

基于三维Arnold混沌系统的图像加密算法

其中:

基于三维Arnold混沌系统的图像加密算法

基于三维Arnold混沌系统的图像加密算法

取ax=bx=ay=by=ax=bx=1,得:

基于三维Arnold混沌系统的图像加密算法

通过计算容易得出A的三个特征值,δ1_=7. 184 2>1,0.2 =0.243 0<1,δ3=0.572 8<1。

因此对应最大Lyapunov指数为Inδ1 =1. 971 9>1,与对应二维Amold混沌系统最大Lyapunov指数比较,可知三维Amold混沌系统具有更强的混沌性质。

二、基于三维Arnold混沌系统的图像加密算法

1、把二维矩阵数据重构为三维矩阵数据:设二维图像矩阵A的大小为M×N,按矩阵的列(行)顺序依次读取A的元素并依次放至三维矩阵B中,矩阵B的大小为J×K×3,满足条件:M×N=J×K×3。当肘,N都不能被3整除,则可通过边界填充n行(列)0(黑色)使M+n(N+n)得能被3整除。

2、取初始点(xo,y0,zo),其中xo,y0,zo∈(0,1),由三维混沌系统(3)迭代映射To次后,将得到的XT0,Yro与赋给初始值xo,y0,zo。用这三个新的初始值分别迭代映射J×K次,得到三条长度为的混沌序列{xi|i=1,2,…,J×K}、 {yi|i=1,2,…,J×K}与{zi|i=1,2,…,J×K}。按照式(2.1)对这两个序列进行改迸:

基于三维Arnold混沌系统的图像加密算法

其中XI可以是xi,Yi或zi,k=3,round(.)为取最近整数运算, 得到_{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}与{wi|i=1,2,…,J×K}。

3、对图像进行空间置乱,应用{u}i、{v}i和{w}i构造置乱矩阵。选择{u}i、{v}i和{w}i的前J个元素,生成3个行变换序列,再对它们进行排序,得到索引序列,然后构造3个J×J的零矩阵,将每行中对应的索引序列元素值的列的值变为1,构造出3个行置乱矩阵M1,M2,M3.同理,在{u}i、{v}i和{w}i中抽取3个长度为K的序列,构造出3个列置乱矩阵N1,N2,N3。对三维矩阵的每一层按式(2.2)进行置乱:

基于三维Arnold混沌系统的图像加密算法

4、应用{ui|i=1,2,…,J×K}、{vi|i=1,2,…,J×K}与{wi|i=1,2,…,J×K}重构一个三维矩阵C,矩阵C的大小为J×K×3,与置乱后的三维矩阵B进行异或运算得到三维矩阵H。

5、把三维矩阵N重构成二维矩阵D,输出加密后的图像。

解密方法为上述过程的逆。

三、基于三维Arnold混沌系统的图像加密算法实验结果及分析

1、实验结果

在MATLAB7.O编程环境下利用本文提出的加密算法对一幅256×256图像进行了加密和解密实验,设置参数分别为ax =bx=by=ax=bx=1,设置系统初始值分别为x0=0.01,y0 =0.01,z0 =0.1及To =2 000。错误密钥为xo=0.01,yo=0.01,zo =0.100000000 000001,图像加密解密效果如图1。

基于三维Arnold混沌系统的图像加密算法

由图1可见,由于混沌序列对初始值非常敏感,即使初始值有微小的变化也无法对图像进行正确解密。

2、分析

(1)密钥空间

一个好的图像文件加密方案应该使其密钥空间足够大从而使得强行攻击不可行,在本文提出的加密算法中,三维超混沌系统的参数与初始值用作密钥,其中xo,yo,z0为双精度型,精度为10 -16,To,zx,bx,ay,by,az,bz为8bit整数型,所以密钥空间为:

基于三维Arnold混沌系统的图像加密算法

因此使用穷举攻击解密图像几乎是不可能成功的。

(2)统计分析

对于一些加密算法通过统计分析就可能被破译,因此一个好的加密系统应该具有比较好的统计特性。下面通过比较原图象与加密图象的直方图来分析该系统的统计特性。比较图2可知,变换前后的直方图发生了明显的变化,变化后的直方图呈均匀分布,它掩盖了变化前的分布规律,具有很强的伪随机性,这大大增加了破译者的工作量和工作难度,因此该密码可有效地抵抗统计和已知密文攻击。

基于三维Arnold混沌系统的图像加密算法

分别从原图和加密图随机选取1000个相邻(垂直、水平、对角)像素点判断其相关性,表1列出了两图在水平,竖直和对角方向的相关性,图3(a)是原图相邻像素在垂直方向相关性,图3(b)是密图相邻像素在垂直方向相关性。可见加密后图像的相关性大大降低。

基于三维Arnold混沌系统的图像加密算法

基于三维Arnold混沌系统的图像加密算法

(4)抗干扰能力分析

为了验证文中加密算法的抗干扰能力,下面对LeM图像改变密图质量,使加密图像受到噪声污染和几何失真以及JPEG压缩的攻击,然后进行解密。图4(a)对Lena密图的中心进行大小面积为128×128剪切。图4(b)为剪切后的密图的解密图像,图4(c)为密图添加Gaussian噪音后的解密图像,噪音强度为2%。图4(d)为密图添加椒盐噪音后的解密图像,噪音强度为4%。图(e)为对Lena密图进行压缩的品质因子为80的JPEG压缩后的解密图像,图4(f)对密图添加文字,图4(g)为添加文字后的解密图像,实验的结果表明此算法具有较强的抗干扰能力。

基于三维Arnold混沌系统的图像加密算法

小知识之非线性动力学

非线性动力学联系到许多学科,如力学、数学、物理学、化学,甚至某些社会科学等。 非线性动力学的三个主要方面:分叉、混沌和孤立子,事实上,这不是三个孤立的方面,混沌是一种分叉过程,孤立子有时也可以和同宿轨或异宿轨相联系,同宿轨和异宿轨是分叉研究中的两种主要对象。

立即下载试用

基于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/16376.html