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

基于三维混沌系统的彩色图像文件加密算法

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


本文简介:一维混沌加密算法由于利用了混沌序列的良好复杂性、伪随机性和对初值的敏感特性而具有较好的加密性能,但与其它加密方法比较,其缺点是密钥空间较小。为此,我们提出了一种基于三维混沌系统的图像文件加密方法,这样即扩大了密钥空间,又提高了加密系统的抗破译强度。一、基于三维混沌系统的彩色图像文件加密算法和解密算法设计1、基于三维混沌系统的彩色图像文件加密算法思想一幅24位的真彩色图像由RGB三原色组成,可以表示

基于三维混沌系统的彩色图像文件加密算法

一维混沌加密算法由于利用了混沌序列的良好复杂性、伪随机性和对初值的敏感特性而具有较好的加密性能,但与其它加密方法比较,其缺点是密钥空间较小。为此,我们提出了一种基于三维混沌系统的图像文件加密方法,这样即扩大了密钥空间,又提高了加密系统的抗破译强度。

一、基于三维混沌系统的彩色图像文件加密算法和解密算法设计

1、基于三维混沌系统的彩色图像文件加密算法思想

一幅24位的真彩色图像由RGB三原色组成,可以表示为M×N×3三维数组的形式,且相邻像素的三原色值在空间域上具有很强的相关性。所以,本文所采用的方法就是利用混沌系统产生的密钥序列分别作用于RGB三原色,扰乱三原色在空间域中的相关性,从而使得原彩色图像变成一幅杂乱无章的图像,达到良好的图像文件加密效果。

2、密钥产生

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

基于三维混沌系统的彩色图像文件加密算法
其中,0≤u≤4称为分枝参数,fk∈(0,1)。混沌动力系统的研究工作指出,当35699456时,Logistic映射处于混沌状态。

本文所采用的三维混沌系统形式如下:

基于三维混沌系统的彩色图像文件加密算法

其中,a,b,c为参数。当a=35, b=3,c∈[20, 28, 4]时,系统处于混沌状态,如图1所示。

基于三维混沌系统的彩色图像文件加密算法

即初始条件x0、yo、z0在三维混沌系统的作用下所产生的序列{xk,yk,zk;k=0,1,2…}是非周期的、不收敛的,并对初始值非常敏感。实验结果表明,由此产生的混沌序列值随着重复次数的增加而增加,最后会超出计算机的精度范围。由于从彩色图像中提取出的R色、G色和B色的取值范围都是0— 255。因此,就需要对所产生的密钥作适当的修正。所采用的方法为:

基于三维混沌系统的彩色图像文件加密算法

其中,fabs(x)是x的绝对值,round(x)是取fabs(x)靠近零的整数。经过这样处理后,所产生的混沌序列值{xk,yk,zk;k=0,1,2…}…)∈(0,1)。

另外,本文为了增强抗破译强度还将扩散函数的思想应用到密钥当中,将密文中的像素值嵌入到密钥发生器当中,其具体的形式为:

基于三维混沌系统的彩色图像文件加密算法

其中,KR、KG和KB分别表示密文中一个像素的R、G和B分量值,是LogisDc映射式(1)所产生的混沌序列值。由式(4)可将密文当中的像素分量R、G和B值嵌入到密钥发生器中,可以达到大大增强扩散函数影响的目的,将密文当中每一位像素的影响扩散到整个密文当中去。

3、基于三维混沌系统的彩色图像文件加密算法和解密算法

对一幅大小为M×N×3的24位真彩色图像文件加密解密处理的统框图如图2所示,具体过程描述如下:

基于三维混沌系统的彩色图像文件加密算法

(1)加密过程

步骤1 输入原始图像I'M×N,混沌系统初始值x0、y0和z0。

步骤2利用三维混沌系统生成混沌序列{xk,yk,zk;k=0,1,2…},取该序列的某连续片断(如100 0<k≤1 000+3MN),该片断元素个数为3MN.同时利用上述(式(4))密钥产生法生成最终用来加密图像的混沌序列{xk,yk,zk}。

步骤3利用生成的混沌序列{xk,yk,zk}加密原始图像I'M×N,具体加密方法如下:

基于三维混沌系统的彩色图像文件加密算法

其中,KR、KG和KB分别表示待加密像素点的R、G和B分量值,K'R、K‘G和K’B分别表示已加密像素点的R、G和B分量值,K'R-1、K‘G-1和K’B-1分别表示前一个加密像素点的R、G和B分
量值。

步骤4输出加密图像I'M×N。

(2)解密过程

步骤1输入加密图像I'M×N,与加密过程相同的混沌系统初始值xo、y0和z0。

步骤2同加密过程的步骤2生成与其相同的混沌序列xt、yt和zt。

步骤3利用生成的混沌序列{xt、yt和zt}解密原始图像I'M×N,具体解密方法如下:

基于三维混沌系统的彩色图像文件加密算法

步骤4输出解密图像。

二、基于三维混沌系统的彩色图像文件加密算法特点

(1)本文所采用的三维混沌映射对初始值xo、y0和z0具有很强的敏感依赖性,三者只要其中一个有微小的变化就无法得到正确的解密结果。因此,采用本加密算法进行图像文件加密是非常安全的,其密钥空间大,可达到10的54次方。

(2)应用本加密算法对图像文件进行加密处理后,原始图像已失去了它本来的面目,变得杂乱无章,无法辨认,因此本文提出的基于三维混沌系统的彩色图像文件加密算法算法有很好的加密效果。

(3)由于本文采用的算法仅在空域对图像数据进行整数运算处理,处理操作(异或及加法运算)比较简单,所以加密效率很高。

基于三维混沌系统的彩色图像文件加密算法

基于三维混沌系统的彩色图像文件加密算法

(4)从图5和表1可以看出,密文的R、G和B分量的直方图与原始图像相比很均匀,且加密和错误解密后的R、G、B三色系的变化率都已经达到了99%以上,因此可以有效地抵抗统计攻击和唯密文攻击。

(5)本文加密算法是分别对图像的R、G和B分量进行加密的,数据量没有发生数据膨胀,它能克服基于秘密共享加密算法的缺陷。

小知识之秘密共享

秘密共享的思想是将秘密以适当的方式拆分,拆分后的每一个份额由不同的参与者管理,单个参与者无法恢复秘密信息,只有若干个参与者一同协作才能恢复秘密消息。更重要的是,当其中任何相应范围内参与者出问题时,秘密仍可以完整恢复。

立即下载试用

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