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

基于四维超混沌系统的数字图像加密算法

更新时间:2022-10-28 15:45:45


本文简介:随着网络技术的飞速发展,大量的敏感图像信息以不同的形式在网络上传输,这同时也为不法分子利用网络获得未授权的信息提供了方便。密码学是保障信息安全的核心技术,由于图像具有信息量大、相邻像素值相关性强等特点,传统的文本加密算法DES、IDEA、RSA等不能完全满足图像加密需要,而混沌系统的遍历性、混合性、确定性、结构复杂、对初值和参数的极端敏感性等很好地对应于密码学所要求的混淆、扩散、确定的伪随机、攻击

基于四维超混沌系统的数字图像加密算法

随着网络技术的飞速发展,大量的敏感图像信息以不同的形式在网络上传输,这同时也为不法分子利用网络获得未授权的信息提供了方便。密码学是保障信息安全的核心技术,由于图像具有信息量大、相邻像素值相关性强等特点,传统的文本加密算法DES、IDEA、RSA等不能完全满足图像加密需要,而混沌系统的遍历性、混合性、确定性、结构复杂、对初值和参数的极端敏感性等很好地对应于密码学所要求的混淆、扩散、确定的伪随机、攻击复杂、密钥敏感性等相关特性,因此混沌理论的发展为图像加密提供了新思路。

低维的混沌系统只有一个正的Lyapunov指数,可提供的密钥空间相对较小,无法抵抗当前的蛮力攻击。而超混沌系统有2个正的Lyapunov指数,有更强的混沌性,因此,研究超混沌系统已成为当前研究热点。为解决低维混沌系统因可提供的密钥空间太小而无法抵抗蛮力攻击的问题,本文通过引入一个新变量w。在三维Lorenz系统上增加一个微分方程,使其组成四维微分方程组,并引入一个非线性项来增加系统运动的复杂性,由此构造一个新的四维超混沌Lorenz系统,再基于该系统设计出一种保密性更强、适应现代密码体制要求的数字图像加密算法。

一、四维超混沌Lorenz系统

本文在三维Lorenz系统刚的基础上通过引入一个新变量w。增加一个微分方程,使其成为一个四维微分方程组:

基于四维超混沌系统的数字图像加密算法

式(1)即本文构造的四维超混沌Lorenz系统,其中的非线性项用于增加系统运动的复杂性,a、b、c、d为系统参数,且a、b、c的取值与经典三维Lorenz系统中的β、σ、ρ取值一样。

本文应用了提出的计算微分方程组Lyaponov指数的方法,得到当a=10,b=8/3,c=28,d=2时,式(1)的Lyapunov指数为λ1=2.043 8,λ2=1.973 5,λ3=-2.191 8,λ4=-35.492 7,有2个大于0的Lyapunov指数,此时式(1)产生了超混沌运动,本文称其为新的超混沌Lorenz系统。

图1是四维超混沌Lorenz系统所对应的Lyapunov指数。

基于四维超混沌系统的数字图像加密算法

当a=10、b=8/3、c=28、d=2时,该系统的运动轨迹如图2~图5所示,实验结果表明,x、y、z、w各序列值均具有随机性、遍历性、确定性和对初值极其敏感等特点。

基于四维超混沌系统的数字图像加密算法

基于四维超混沌系统的数字图像加密算法

二、基于四堆超混沌系统的数字图像加密算法

加密算法过程如图6所示。

基于四维超混沌系统的数字图像加密算法

具体步骤如下:

Step1采用龙格库塔法求解新四维超混沌Lorenz系统,生成xi,Yi,Zi、wi4个序列。

Step2用:

基于四维超混沌系统的数字图像加密算法

的方式取序列日个值以后的n(n=MxN)个值。在本文算法中,H=10000组成M序列。

Step3 m=mod(mxK,256)。为保证混沌序列的混沌性不退化,K取值一般大子10 000。对256取模是为了保证M值在灰度图像的有效值范围内。

Step4 e=m+x。混沌序列与原始图像进行相加运算。

Step5 当e大于255时就一直减256,直到e小于256,从而保证加密后的各像素值在O~255之间。

在本文算法中,x表示待加密的MxN大小的原始图像,e表示加密后图像,聊表示新超混沌Lorenz系统产生的混沌序列,4个初始值(x0,y0,z0,wo)作为密钥。

三、加密算法安全性分析与实验仿真

在一个加密算法中,安全性是首要的问题。下面将对本文加密算法的安全性进行验证。实验采用一个512x512像素的灰度图像Lena作为加密图像。

1、统计直方圈分析

根据Shannon理论,一个密码系统在抗统计攻击方面应该具有很好的性能。图7、图8给出原始图像和密文图像的统计直方图。可以看出,加密前图像的直方图分布不均匀,图像的主要信息聚集在某一区域内,而加密后的密文图像统计直方图是均匀分布的,统计特性良好,有着很好的扰乱性,可以有效抵抗已知明文攻击或者选择明文攻击。

基于四维超混沌系统的数字图像加密算法

2、相邻像素相关性分析

本文在原图和密图中分别随机选取了1 000个像素对(可以选取所有的像素对),然后分别测试其水平方向、垂直方向和对角方向的像素相关性,并应用式(2)计算出3个方向的相关系数。

基于四维超混沌系统的数字图像加密算法

其中,x,y分别表示图像中2个相邻像素的灰度值;Rxy即相邻像素的相关系数。

表1为利用本文加密算法加密图像前后相邻像素的相关性对比,从中可以看出,原始图像垂直方向、水平方向和对角线方向的相关系数均接近1,而加密后的密图3个方向上的相关系数均在0附近,而且非常接近O,说明加密后破坏了相邻像素的相关性。所以,加密算法具有良好的扩散性,能抵抗统计攻击。

基于四维超混沌系统的数字图像加密算法

3、密钥分析

一个好的加密算法应该对密钥非常敏感,而且密钥空间应该足够大以抵抗穷举攻击。

(1)密钥敏感性测试与分析

从密码学的观点来看,所设计的加密算法对密钥应该足够敏感,必须保证能产生雪崩效应。雪崩效应是指即使密钥发生微小的变化,对应的加密密文数据也会发生剧烈变化。在理想的情况下,希望至少一半的密文发生了变化。

本文加密算法将4个初值xo、yo、z0、wo均设为子密钥,合在一起作为算法的密钥。xo、Yo、zo、w0均为实数且它们的最佳取值范围是:xo∈[-10,10l,Yo∈[-20,20],zo∈[1O,60],wo∈[-50,50]。取初始密钥为:

xo=0.284 954 698 754 12

Yo=11.012 345 678 911 23

zo=14.123 456 789 123 42

wo=5.123 456 789 123 42

为测试算法对密钥的敏感性,稍微改变密钥中任一子密钥的值(改变10-14),再进行加密,比较前后加密2幅图像对应的不同像素个数。当初始值为:

xo=0.284 954 698 754 12

yo=11.012 345 678 911 23

z0=14.123 456 789 123 42

wo=5.123 456 789 123 42

时,2幅加密后图像的像素比p=99.60%,当初始值为:

xo=0.284 954 698 754 12

Yo=II.OL2 345 678 911 24

z0=14.123 456 789 123 42

wo=5.123 456 789 123 42

时,p=99.68%,当初始值为:

xo=0.284 954 698 754 12

yo=11.012 345 678 911 23

zo=14.123 456 789 123 43

wo=5.123 456 789 123 42

时,p=99.62%,当初始值为:

xo=0.284 954 698 754 12

Yo=11.012 345 678 911 23

zo=14.123 456 789 123 42

wo=5.123 456 789 123 43

时,p=99.67%。

结果表明,即使加密密钥相差10-14,得到的加密后图像约有99.6%以上的像素不同。

图9给出用与正确密钥相差10-14的密钥对加密后的Lena图像进行解密后的结果,可以看出完全无法正确解密,而且不透露原图信息。因此,本文的加密算法对密钥非常敏感。

基于四维超混沌系统的数字图像加密算法

(2)密钥空间分析

本文采用4个均为实数的初始值作为密钥,所以,理论上可提供无限大的密钥空间。但实际上由于受计算机有效位数的限制,无法提供无限大的空间。设加密系统采用双精双浮点型,则各初始值均取得15位有效数。4个15位实数一起作为密钥,则加密算法的密钥空间为1015x14=1060 =2200。为了能抵抗蛮力攻击,密钥空间K应该大于2100,所以,本文设计的加密算法足以抵抗当前的蛮力攻击。

小知识之雪崩效应

雪崩效应就是一种不稳定的平衡状态也是加密算法的一种特征,它指明文或密钥的少量变化会引起密文的很大变化。对于Hash码,雪崩效应是指少量消息位的变化会引起信息摘要的许多位变化。

立即下载试用

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