基于最小粒度全置乱图像加密算法是通过对图像比特全排列,同时完成全矩阵范围内像素比特位置置乱和像素值替换两个操作。图像比特全排序的驱动是依赖非线性混沌动力系统来完成的。在众多的混沌映射中,依据混沌置乱信息熵选择用于比特全排列的混沌映射。
一、选择混沌映射
常见的混沌很多,如一维Logistc映射、二维的Henon映射、三维的Lorenz映射和Chua映射等。在众多的混沌映射中,选择哪一个混沌序列才能使图像全排列加密算法安全性好,本文提出应用混沌置乱熵选择标准。
从置乱信息熵定义可知,置乱信息熵越大,图像全排列加密强度越高,安全性越好。依据置乱信息熵的定义,实验测得常见混沌置乱信息熵如表所示。
表第一行数字代表窗口宽度。从实验数据可见,Lorenz混沌整体置乱信息熵高于Logistc映射、Henon映射和Chua映射,而Lorenz混沌分量x的置乱信息熵强于分量y、z的置乱信息熵。故本文图像比特全排列使用Lorenz混沌分量x驱动。
二、混沌加密算法
1、 图像比特全排列算法
对于一幅任意大小的灰度图像I,设其大小为M×N。
a)依据混沌置乱信息熵,选择合适的混沌动力学方程,给出与密钥相关的初始值x1或初始向量V1,并令K=1。
b)应用选择的混沌方程迭代m=m×n×8次,生成混沌实值序列{x1,x2,…,xm}或向量序列{V1,V2,V3,…,Vm},依据置乱信息熵,选择置乱信息熵最大的一行,成为实值序列{x1,x2,…,xm}。
c)从小到大把混沌实值序列{x1,x2,…,xm}排序,得到排序后的序列{y1,y2,…,ym}。
d)计算置乱地址码集{t1,t2,…,tm},ti∈{1,2,…,m}。ti是xi在排序后的序列{y1,y2,…,ym}中的下标。
e)把二维图像变成一维数组,再把每个数组元素变成二进制比特序列,顺序连接形成长度为M×N×8的比特序列,利用置乱地址码集进行扰乱,然后还原成一维十进制数组,完成图像比特全置乱。
2、图像替换算法
虽然上述图像最小粒度(比特)全排列已使图像像素值和位置发生改变,具有很好的加密信息熵,但仅仅全排列加密并不安全,不能抵御差分攻击能力。为了增加图像抗差分攻击能力,我们又进行了像素值替换算法。
基本思想如下:仿照混沌拉伸和折叠的运行机理,首先把要替换的像素放到更大的运算空间进行;为了增大轨道回归周期,把当前像素尽可能地与前面已经加密的像素进行运算,最后折叠回像素空间。
a)给出种子元素seed,选择合适的混沌。
b)设Ei,Ei+1分别代表第i个和第i+1个已经加密元素,Pi+2代表顺序号为i+2的欲加密元素,分别把Ei,Ei+1转换为二进制串并进行连接,作为hash函数的输入值。若采用MD5加密算法,输出长度为32个十六进制串,转化为十进制类型的数值,然后作为混沌参数输入。迭代一次的输出值转换为uint64类型的数值,与当前欲加密像素做相加或异或操作,把得到的结果模256折叠回像素值区间。
其中:hash()为哈希函数;chaosfunction()为生成混沌序列的混沌映射;F()为把哈希函数输出的32个十六进制串转换为十进制类型的数值。
c)重复上述过程直到最后一个元素。
d)把一维数组转换为表示图像的二维矩阵。
说明:
a)对于第一个元素的加密,w值由用户给定,对于生成第二个元素w值过程中,因为没有E0,可由用户指定任意一个长度为8的十六进制串。
b)数组元素转换为二进制序列的方法。pt(i,j)代表数组元素p(i,j)变换成二进制后的第t个数字。
式中,可以把灰度图像变换成由0,1组成的比特矩阵。相反,运用下面公式可以把pt(i,j)变成灰度像素p(i,j)。
3、解密算法
a)给定相同的初始值,先进行图像替换算法的逆操作,把密文图像转换为一维数组,从最后一个加密元素开始向前解密,直到第一个元素。
b)根据图像比特全排列算法进行操作,不同的是i从1到m,把第i列的比特值用第ti列的比特值替换。
三、基于最小粒度全置乱图像加密算法安全性分析
1、密钥空间
一个安全可靠的加密算法应拥有足够大的密钥空间。而对于基于混沌映射的加密算法,参数(包括初始值)往往用作密钥,因此控制参数越多就意味着密钥越多,参数空间大才能保证密钥空间大。本文提出的加密算法分两步:
a)图像比特全置乱,密钥为选择混沌的初始值及参数,Lorenz的密钥初值为x0=10e-15,yo=10e-15,zo=10e-14;
b)图像比特置换,密钥为初始种子,用于哈希函数输入的Eo、混沌参数。在这样一个足够大的密钥空间中,采用穷举法进行攻击是没有意义的。
2、统计分析
统计分析包括直方图分析和相邻像素点的相关性分析。
1)原始图像及密文图像数字特征
下表给出了密文图像及其直方图的各种数字特征。
从实验结果可见,建议算法的密文信息熵、密文均值、方差、直方图方差较Huang算法、Ye算法更加优越。具有更强的抗攻击能力。
2)相邻像素点的相关性分析
以水平相关性为例,从图像中随机选择1000对两个水平邻接像素,选择1000次,运用下面公式计算每一对相邻像素的平均相关系数。
x,y图像中两个邻接像素灰度值,在数值计算中使用下面的离散公式。
原始图像和加密图像相关性分析如表所示。由表可知,原始图像相邻像素相关系数接近1,加密图像相邻像素相关系数接近0。经文件加密,图像相邻像素间相关度很低。同时,比较建议算法和Ye算法、Huang算法可知,建议算法比Ye算法优越,与Huang算法具有同等的去相关性能。这说明攻击者很难通过统计攻击方法破解加密图像。
3)密文对密钥的敏感性分析
密文对密钥的依赖性可以采用计算两幅图像间的相关系数进行验证。用上文公式进行计算,不同的是x,y代表使用不同密钥加密后密文图像的像素值,像素为整个图像。根据密文对密钥的敏感性定义可知,如果加密方法对密钥具有敏感性,那么微小差异的密钥对同一幅图像进行加密后得到的结果应具有很大差异,具有很小的相关性。本文选择Lorenz分量x0密钥先后两次相差10的-10次方,测试相关系数结果为1.263862e-4,从该数据可以得知,算法对密钥具有很高的敏感性。这主要是因为混沌敏感性和哈希函数敏感性再加上最小粒度置乱的结果。
4)差分分析
为了抵抗差分攻击,明文细小的改变应该造成密文巨大的变化。为了测试改变一个像素对密文图像的影响,使用两个常用的定量测试方法:像素个数变化率(NPCR)和整体平均变化密度(UACI),定义如下:
其中:c1和c2是两个密文图像,其对应的明文图像仅有一个像素差异,c1、c2在(i,j)处的灰度值表示为c1(i,j)、c2(i,j),W、H是密文图像的宽度和高度。D(i,j)由c1(i,j)、c2(i,j)决定,如果c1(i,j)=c2(i,j),则D(i,j)=1;否则,D(i,j)=0。
明文首先被加密,接着随机选择图像中的一个像素并改动,被修改的图像用相同的密钥加密生成新的密文图像。最后计算NPCR和UACI,其值如下表所示。
由表可以看出,建议算法比Ye算法和Huang算法在NPCR、UACI两个度量指标方面具有更大的优越性。因而,加密算法能有效抗击外界差分攻击。
本文首先给出选择混沌作为图像比特全排列准则,即依据混沌信息熵,选择适合图像置乱的混沌映射;接着,把图像转换为二值比特串进行全排列,在所选混沌的驱动下,利用混沌轨道不可预测的特性,完成最大程度的置乱;最后,依据混沌映射原理,设计图像比特替换算法,完成图像置乱和替换的加密算法。
小知识之置乱
所谓“置乱”,就是将图像的信息次序打乱,将a像素移动到b像素的位置上,b像素移动到c像素的位置上……使其变换成杂乱无章难以辨认的图像。
轻松上手!十大远程控制电脑软件推荐
如今,网上办公、异地协助等场景越来越普遍。你有没有碰到过这样的疑惑:在家办公,却发现公司电脑内有秘密文件;父母在家乡碰到电脑问题,但你不能亲身指导和帮助;团队人员分散在各个地区,急缺实时共享屏幕协同工作。一款好用的远程控制软件就能轻松解决各种问题。今日,便给大家推荐十款超实用的远程控制软件,让您可以随便进行远程控制。一...
秒懂!电脑屏幕实时监控软件如何帮助你管理团队
一则新闻引起了人们的密切关注。一家初创公司雄心勃勃地开启了一个关键项目,投入了大量的人力、物力和财力。但是,当项目到期时,发觉进度严重滞后,结论远未达到预估。通过调查,发觉员工在工作时间常常走神,用公司电脑刷小视频,打游戏,处理私人事务,造成工作效率极低。在目前的工作场所,团队协作面临很多考验,如何确保员工的高效工作成...
监控电脑屏幕的软件有哪些?
随着电脑使用的崛起,一些令人堪忧的问题也逐渐浮出水面。你有没有担忧过自己的电脑屏幕在不经意间被别人窥视?或者,你是否需要一个软件来监督孩子或职工的电脑使用,以保证她们远离不良记录?今天,我们来谈谈那些可以监管电脑屏幕的软件,以及它们怎样成为数据世界的守卫者。一、为什么需要电脑屏幕监控软件?电脑屏幕上的数据通常包含了我们...
数据安全小贴士:文件夹加密的简单方法
在这个信息爆炸的时代,我们每天都在与大量数据共处。从工作文件到家庭照片,从学习资料到个人信息,这些数据成为了生活中不可或缺的一部分。可是,你有没有想过,这些数据,特别是存储在电脑中的文件夹,合不合适?根据最新调研,全球每年数据泄漏造成的经济损失做到数千亿美元,数据泄漏已成为黑客入侵的重灾区。那么,怎样保护我们的文件夹免...
移动硬盘如何加密码保护?
在这个信息爆炸的时代,我们每天都在与大量数据共处。从工作文件到家庭照片,从学习资料到个人信息,这些数据成为了生活中不可或缺的一部分。移动硬盘作为我们存储和携带数据的重要手段,其安全性也越来越受到重视。你有没有想过,你的移动硬盘无意间可能成为了数据泄露的“多发区”?近些年,随着网络安全事件的高发,数据泄漏风险也不断攀升。...