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

基于混合反馈的混沌图像加密算法

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


本文简介:针对现有基于混沌分组密码的图像加密算法中,扩散函数扩散速度慢、需要多轮迭代才能抵抗差分攻击的缺点,一种新的基于密文和输出混合反馈的混沌图像加密算法应运而生。该加密算法利用密文扰动混沌系统的初始值,既改善了数字混沌的退化,又能使扩散函数具有非常快的扩散速度。一、输出和密文混合反馈混沌分组加密的设计1、混沌加密系统设计由于混沌系统是确定性的,混沌理论中一些工具可以用来辨别混沌系统,一旦密码分析者获得了

基于混合反馈的混沌图像加密算法

针对现有基于混沌分组密码的图像加密算法中,扩散函数扩散速度慢、需要多轮迭代才能抵抗差分攻击的缺点,一种新的基于密文和输出混合反馈的混沌图像加密算法应运而生。该加密算法利用密文扰动混沌系统的初始值,既改善了数字混沌的退化,又能使扩散函数具有非常快的扩散速度。

一、输出和密文混合反馈混沌分组加密的设计

1、混沌加密系统设计

由于混沌系统是确定性的,混沌理论中一些工具可以用来辨别混沌系统,一旦密码分析者获得了足够的混沌轨道信息,就可能利用这些信息降低获得密码系统密钥的复杂度。输出和密文混合反馈混沌加密系统可以弥补上述缺陷,使密码分析者不能从密文,或者明文—密文对获得足够的混沌轨道来攻击加密系统。

基于混合反馈的混沌图像加密算法

设图像像素矩阵为N=m×n。图中F1,F2都是式(2)所示的同一个混沌映射,x(0)为F1的初始值,p0为F1的参数,qj为F2的参数,q(j)=Lx(j)/2,x(j)为F1产生的混沌序列(j=1,2,…,N);p(i+1)为明文(图像的第i+1个像素值),i=1,2,…,N-1;c(i+1)为密文(加密后图像的第i+1个像素值),x(i+1)为混沌系统的输出值。

2、加密函数和解密函数

输出—密文混合反馈混沌分组密码以图像一个像素(8bit)为单位,对每一个图像的像素进行逐位异或运算,其数学表达式如下:

加密:

c(i+1)=p(i+1)+[FK((c(i)+x(i))mod(2n0-1),qj)mod256]+c(i) _ (1)

解密:

p(i+1)=c(i+1)+c(i)+[FK((c(i)+x(i))mod(2n0-1),qj)mod256] _ (2)

3、加解密步骤

加密算法步骤如下:

步骤1:密钥的产生

选择一个192bit的序列作为密钥,将这192bit分成6组,每组为32bit。将这6组比特流分别映射为6个整数:k1,k2,…,k6。

步骤2:产生扰动系统参数的序列qj(j=1,2,…,N)

令x(0)=k1,p0=k2,其中x(0)为F1的初始值,p0为F1的参数。为了保持混沌序列qj有较好的混沌特性,取F1迭代1000次以后的N个数除以2再取整得到的数作为qj序列(q1,q2,…,qN)。

步骤3:选择初始向量

将明文图像像素矩阵变为1×N的矩阵p。在F1迭代产生的序列中任意选择(比如选择迭代100次)一个数作为初始向量X,将明文图像的第一个像素p(1)与(Xmod256)进行逐位异或运算得到c(1)。

步骤4:令x(1)=k3,x(1)为F2的初始值

将x(1)、c(1)、p(i)、q(i)代入式(3),对明文图像数据进行第一轮加密,得到第一轮加密后的图像数据。

步骤5:令x(0)=k4,p0=k5,x(1)=k6

重复步骤1~4,对图像数据进行第二轮加密,在第二轮加密中步骤3略有不同,为了使加密算法对明文非常敏感,第二轮迭代必须从最后一个像素开始,然后是倒数第二个像素,最后一直到第一个像素。

步骤6:将两轮加密后的图像数据1×N,变回到m×n的图像数据矩阵

解密算法和加密算法相似,按式(2)进行。

二、基于混合反馈的混沌图像加密算法安全性分析

与其他图像加密方案相比,本加密算法具有高的安全性,能抵抗诸如已知明文攻击、统计分析、差分攻击等多种攻击,并具有大的密钥空间,更为重要的是,在具有高安全性的同时,该加密算法只需要两轮迭代,加解密速度也非常快。

1、密钥空间分析

本加密方案为192bit的加密,密钥空间达2192≈10115。本方案采用的精度是32bit,如果采用64bit精度,密钥空间可达。显然,对于如此大的密钥空间采用穷举搜索法进行攻击是不现实的。

2、密钥敏感性测试

(1)对密钥极其敏感,设加、解密密钥为:[123,456,789,369,258,147],对其中任一个子密钥,即使相差1都不能够正确解密。

(2)密钥有很小的改变所得到的加密图像有很大的差异。

3、差分攻击(明文敏感性测试)

攻击者通常会通过改变图像中很小的一点,比如只改变一个像素,来观察加密后图像的变化情况,通过这种方式,攻击者可能破解加密图像。

通过大量的实验研究证明,该加密算法实现简单,只需正反两轮迭代,就能达到高的安全性和较快的加解密速度。

小知识之混沌理论

混沌理论(Chaos theory)是一种兼具质性思考与量化分析的方法,用以探讨动态系统中(如:人口移动、化学反应、气象变化、社会行为等)无法用单一的数据关系,而必须用整体、连续的数据关系才能加以解释及预测之行为。

立即下载试用

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