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

基于魔方变换的图像加密算法

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


本文简介:随着信息网络化飞速发展,图像网络交互在诸多领域得到应用,图像交互的安全问题倍受人们关注,目前解决这一问题,最好的办法,就是将图像加密。那么,我今天就给大家推荐一个新的图像加密算法——基于魔方变换的图像加密算法。一、魔方变换原理魔方变换的原理来源于魔方玩具,魔方玩具是一个分割成若干子块的立方体结构,转动子块可以在魔方的表面上拼凑成特定的图案,也可以把拼好的图案打乱。基于这个思想,可以对数字图像进行类

基于魔方变换的图像加密算法

随着信息网络化飞速发展,图像网络交互在诸多领域得到应用,图像交互的安全问题倍受人们关注,目前解决这一问题,最好的办法,就是将图像加密。那么,我今天就给大家推荐一个新的图像加密算法——基于魔方变换的图像加密算法。

一、魔方变换原理

魔方变换的原理来源于魔方玩具,魔方玩具是一个分割成若干子块的立方体结构,转动子块可以在魔方的表面上拼凑成特定的图案,也可以把拼好的图案打乱。基于这个思想,可以对数字图像进行类似的置乱变换。一幅二维数字图像可以看成是一个矩阵IM*X,矩阵中各个元素Ikl(k=1,2,...,M;l=1,2,....,N)表示图像中象素点(k,l)的灰度值。

按照魔方玩具的规则,对图像矩阵的各行各列进行“转动”,考虑到图像矩阵的二维性,引入循环移位的思想,“转动”某一行Ik可以看作是对该行按某个方向循环移动hk位。为方便起见,称_hk为移位参数,hk可以由特定的算法确定。对图像矩阵的各列可以同样处理。当每一行每一列都进行了一次循环移位后完成一次变换操作,得到一幅新的图像I'M*N,即:I'M*N=p(IM*N),p表示从IM*N到I’M*N的变换映射。我们将这种变换称为魔方变换。实际应用中可以按上述步骤进行多次迭代以得到期望的加密效果。

二、基于魔方变换的图像加密算法

1、加密算法描述

传统的加密方法中用于对明文进行置乱的算子是事先确定的,不仅会带来密文数据量的膨胀,而且容易受到差分密码分析的攻击。本文采用由密钥控制产生的序列对图像文件加密,增强了安全性。

首先由输入的X0按(2)式生成混沌序列并处理成为自然数序列,以该序列中的各元素作为移位参数对图像矩阵IM*N进行n次魔方变换。其中输入的X0和n共同组成密钥。

加密算法只是对图像象素点的位置加以重新排列,并没有改变象素点的灰度值,故加密后的图像与原图拥有相同的灰度直方图。但直方图与图像本身没有严格的一一对应关系,即仅凭直方图无法推知图像本来面目,所以这一点不会影响加密的安全性。

考虑到文件加密和解密的速度问题,基于魔方变换的图像加密算法仅在空域对图像进行处理,这样就避免了图像从空域到频域的变换及其逆变换的操作,从而减少了程序的时间复杂度,提高了处理速度。

2、用混沌序列生成移位参数

对一幅数字图像IM*N进行n次迭代的魔方变换,置乱算法中有移位参数hk的确定问题,这也是图像文件加密中的一个重要的问题。经研究表明非线性动力学系统在一定的控制参数范围内会出现混沌现象,产生的混沌序列具有确定性、伪随机性、非周期性和不收敛等性质,并且对初始值有极其敏感的依赖性。这些特性对于图像文件加密很有意义,可以把初始值作为密钥的一部分,把生成的混沌序列适当处理后作为移位参数集合H。

一个一维离散时间非线性动力学系统定义如下:

Xk+1=τ(xk)       (1)

其中Xk∈V,k=0,1,2,...,称之为状态。τ:V→V是一个映射,将当前状态Xk映射到下一个状态Xk+1。从初始值X0开始反复应用(1)式即可得到序列{Xk|k=0,1,2,...,},称之为离散时间动力学系统的一条轨迹。

一类非常简单却被广泛研究和应用的动力学系统是Logistic映射,定义如下:

Xk+1=μxk(1-Xk)

其中0≤μ≤4称为分支参数。当μ=4时该映射的概率分布函数为:

魔方变换及其在数字图像加密中的应用

则可以计算混沌序列轨迹点的均值为:

魔方变换及其在数字图像加密中的应用

独立取两个初始值x0和y0,则序列的互相关函数为:

魔方变换及其在数字图像加密中的应用

序列的联合概率分布函数ρ(x,y)=ρ(x)*ρ(y),序列的自相关函数等于delta函数δ(l)。这些统计特性表明:混沌序列的遍历统计特性等同于白噪声,这一点正是图像文件加密所需要的。经过简单的变量代换,Logistic映射可以在区间(-1,1)上定义,形式如下:

Xk+1=1-λ*X2k           (2)

其中λ∈[0,2],当λ=2时称为满映射。

3、加密算法步骤

Step1、输入参数:

(1)输入图像文件InImage,矩阵表示为IM*N,图像宽为N,高为M;

(2)输入初始值X0和迭代次数n。

Step2、参数计算:

(1)取λ=2,由(2)式生成混沌序列{xk|k=0,1,2,...,(M+N)*n-1};

(2)对上述序列进行适当处理,得到自然数混沌序列,即混沌映射的轨迹点所形成的序列{hk|k=0,1,2,...,(M+N)*n-1},作为魔方变换移位参数集合H。

Step3、加密操作:

(1)对图像逐行进行参数为hk的循环移位,然后再逐列进行移位。各行列的移位参数不同;

(2)重复(1)操作n次。

Step4、得到加密输出图像文件OutImage。

4、解密算法步骤

在得到加密图像文件和正确的密钥X0、n的情况下,只需进行加密过程的逆操作即可得到正确的解密图像。

基于魔方变换的图像加密算法用来给图像加密以增强加密的效果和安全性。

小知识之矩阵:

矩阵用来表示统计数据等方面的各种有关联的数据。这个定义很好地解释了Matrix代码制造世界的数学逻辑基础。

立即下载试用

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