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

基于合成混沌序列的图像加密算法

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


本文简介:基于合成混沌序列的图像加密算法是利用改进的logistic映射和具有一次耦合项的三维logistic映射两个混沌系统形成密钥对图像文件进行加密,从而达到隐藏信息的目的。一、混沌加密算法1、混沌的主要特征在传统的加密系统中,伪噪声序列即PN( Pseudo-Noise)序列得到了广泛应用。最常用的PN序列是最大长度线性码序列(Maximum length linear code sequences)

基于合成混沌序列的图像加密算法

基于合成混沌序列的图像加密算法是利用改进的logistic映射和具有一次耦合项的三维logistic映射两个混沌系统形成密钥对图像文件进行加密,从而达到隐藏信息的目的。

一、混沌加密算法

1、混沌的主要特征

在传统的加密系统中,伪噪声序列即PN( Pseudo-Noise)序列得到了广泛应用。最常用的PN序列是最大长度线性码序列(Maximum length linear code sequences),又称为m序列,是由线性反馈移位寄存器LFSR( Linear Feedback Shift Register)产生的。其特点是具有周期性和伪随机性。 LFSR方法在密码分析领域已经被认为是不可靠的。 混沌现象是在非线性动力学系统中出现确定性的、类随机的过程,这种过程非周期、不收敛但有界,并且对初始状态具有极其敏感的依赖性,即初始状态只要有微小的差别,两个混沌系统在较短的时间后就会产生丽组完全不同的、互不相关的混沌序列值。因此,混沌系统可以提供大量的密钥。

2、混沌加密算法分析

混沌序列在密码学方面的应用起源于20世纪80年代末期,由英国数学家Matthews首先提出,其后得到了一定发展。现有的混沌伪随机序列分为两类:实值混沌伪随机序列和在实值序列基础上得到的二进制混沌伪随机序列。 目前常用的有采用实值混沌伪随机序列和采用实值序列基础上得到的二进制混沌伪随机序列,二者都是基于一维logistic映射的加密算法。实验证明:基于一维logistic映射的一次加密图像的混沌特性不很明显,即原图的轮廓仍较明显,需进行多次加峦才达到较好的效果。而采用两种混沌映射交替产生二进制混沌伪随机序列对明文位串进行加密,由于明文文件加密结果很难通过明文位串间相关性解密,因此加密难度较小;而图像文件加密除要将原像素改变以外,还要在整个图像上不能看出原图的任何轮廓,因为在图像识别与处理方法中,都是利用图像景 物边缘轮廓和景物与背景在灰度上的区分来进行图像识别和处理的,因此加密要求相对较高,加密难度相对较大。

3、混沌序列遇到的障碍

混沌序列发生器总是用有限精度来实现,其特性会由于有限精度效应与理论结果大相径庭。因此,有限精度效应是混沌序列从理论走向应用的主要障碍。其次,一维logistic映射:

基于合成混沌序列的图像加密算法

当λ∈(3. 5699…,4)时,出现完全混沌现象。该混沌函数的两个问题:(1)函数的固定点(吸引子),即多次迭代而趋近某一固定值;(2)出现“稳定窗”,即某区间的点聚集,窗中产生的迭代序列不能提供作为密钥流所需的安全性。

二、基于合成混沌序列的加密算法

1、两种混沌映射

本文提出的新加密算法将采用以下两种混沌映射:

(1)改进的logistic映射:

基于合成混沌序列的图像加密算法

该系统的混沌性能比原系统好,克服了原系统中前面提到的两个问题。

(2)具有一次耦合项的二维logistic映射:

基于合成混沌序列的图像加密算法

其中,x,y,μ1,μ2,γ∈(0,1)。当控制参数μ1,μ2相差较大且其中一个较小时,μ1=0.8,μ2=0.2,随参数γ的增加,系统由Feigenbaum途径走向混沌,当γ=0.31时进入混沌。当控制参数μ1,μ2相差不很大时,如μ1=0.7,μ2=0.3,随参数γ的增加,系统由Pomeau-Maimeville途径走向混沌,当γ=0. 45时进入混沌。

2、加密算法描述

(1)为两个混沌映射置初始迭代值和相应参数,并先迭代若干次,使得加密时使用的数据混沌特性更好。

(2)判断图像是否处理完毕。若没有,密钥chaos置0,转(3);否则,转(5)。

(3)读取图像像素unchValue,迭代改进的logistic映射,对迭代结果取小数点后5位有效数字,并模16得k1,chaos=chaos∧k2;接着,迭代具有一次耦合项的二维logistic映射,对迭代结果取小数点后5位有效数字,并模16得k2,chdOS=(chaos<<4)∧k2。

三、基于合成混沌序列的图像加密算法分析

1、实验数据

实验以265×256 ×8的图像(图1)为被测对象,采用VC++6.0编程实现。图2为取以下初值和参数所得加密图像:改进的logistic映射x0=0.5,β=3. 835;具有一次耦合项的二维l0gistic映射x0=0.1,y0=0.11,γ=0.31,μ1=0.8,μ2=0.2。,从加密结果可以隐约看出原图像的一些轮廓。

基于合成混沌序列的图像加密算法

对原始图像直方图(图3)和一次加密图像直方图(图4)进行比较,可以看出一次加密后像素在(0,255)区间上的分布已经较原图像均匀。

基于合成混沌序列的图像加密算法

在此基础上,再取如下初值、参数得图5:改进的logistic映射x0 =0.7,β=3.7655;具有一次耦合项的二维logistic映射x0=0.5,y0=0. 55,γ=0.45,μ1=0.7,μ2=0.3。从加密后的图像已完全看不出原来的影子,再查看二次加密后的直方图(图6)。像素在(0,255)区间上的分布非常均匀。

基于合成混沌序列的图像加密算法

2、安全性分析

该加密算法为对称加密算法,即其解密算法为加密算法的逆过程。使用原始加密数据进行解密,解密结果如图7所示。该加密算法的安全性主要在于初值和参数的个数较多,即使其中几 个数据在解密精度范围内,也无法解密讲图8为只改变一个初值0.000001,其它数据均与原始数据相同进行解密所得结果。可以看出,解密是不成功的6可见,要想使用穷举法进行解密几乎是不可能的,所以其安全性是非常可靠的。

基于合成混沌序列的图像加密算法

小知识之LFSR

线性反馈移位寄存器(LFSR)是一个产生二进制位序列的机制。这个寄存器由一个初始化矢量设置的一系列信元组成,最常见的是,密钥。这个寄存器的行为被一个时钟调节。在每个定时时刻,这个寄存器信元的内容被移动到一个正确的位置,这个排外的或这个信元子集内的内容被放在最左边的信元中。输出的一个位通常来自整个更新程序。LFSR的应用包括产生伪随机数字,伪噪声序列,快速数字计算器和灰数序列。LFSR软件和硬件的执行是相同的。

立即下载试用

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