小数开方伪随机序列发生器能够正确产生伪随机序列,只要对种子的选取稍做限制,就能生成性能良好且均匀分布的伪随机序列,并用产生的伪随机序列对图象进行加密的算法研究。
一、图象文件加密及其研究现状
图象文件加密是在加密密钥和加密函数的共同作用下将一幅图象变成杂乱无章的加密图象(类似于噪声),使其所要表达的真实图象文件信息无法直观地感觉到。与原始图象文件相比,加密图象文件的变化表现在几个方面:
1)图象象素的相互位置关系发生了变化:它是由图象置乱来实现的。在图象文件加密中,图象置乱是一项非常重要的加密技术。
2)图象的象素值发生了变化:从信息论的角度看,在一般情况下加密图象的信息熵增加了,接近于信息熵的最大值。从统计学的角度看,加密图象的直方图被平滑了,由加密图象的直方图来获取图象特征是很困难的。
3)图象相邻象素之间的相关性降低了。
二、伪随机序列图象加密算法
1、小数开方伪随机数发生器
小数开方伪随机发生器的迭代描述公式为:
定理1若X为无理数,a,n为整数,则也是无理数。
由定理1,我们不难看出,当某-Xm。为无理数时,则以后的序列都是无理数。
小数开方算法流程图如图1所示。
2、基于小数开方伪随机序列图象加密算法
24位真彩色图象的图象矩阵与其他类型不同,是一个三维矩阵,可用MxNx3表示。M、N分别表示图象的行列数,3个MxN的二维矩阵分别表示各个象素的R、G、B三个颜色分量。
(1)基于位异或的图象加密算法
1)算法思想
运用式(1)进行小数开方伪随机序列值计算,将产生的序列的每一个元素与图象的象素点的红、绿、蓝三基色的值进行异或运算,解密即为逆过程。
2)加密算法实验结果
图2为24位真彩色图象加密解密对比图。
3)加密算法优缺点
该加密算法在前有的基于线性同余伪随机序列加密的基础上改进了密钥给定的缺点,它实现了用户自行输入任意常见字符串的功能和图象的无损加解密,安全性较之要高,大量实验证明算法执行效率高且加密效果也很好,但是该算法存在一个缺点:当用户连续对一幅图象输入同一个密钥加密两次后就可以得到正确解密的图象,同时,当解密用户连续对加密后的图象输入正确的密钥就可以得到一次加密后的图象,两次后就可以得到原图象,算法的安全性不高。
(2)基于循环位异或的图象加密算法
基于位异或的图象加密算法中存在的问题,该算法在基于位异或的图象加密算法基础上做出了改进:
1)加密算法思想
在基于位异或图像加密基础上,取图象一个象素点,象素值位进行循环右移操作,直到图象象素点全被取完,解密即为逆过程。
2)加密算法实验结果
3)加密算法优缺点
该加密算法较基于位异或的图象加密算法有所改进,当用户连续对一幅图象输入同一个密钥加密两次后得不到正确解密的图象,同时,当解密用户连续对加密后的图象输入正确的密钥两次后也得不到加密后的图象,安全性较基于位异或的图象加密算法要高。
与基于位异或的图象加密算法一样它实现了用户自行输入任意常见字符串的功能和图象的无损加解密,算法执行效率高且加密效果也很好,但是该算法也存在一个缺点:当用户连续对一幅图象输入同一个密钥加密八次后就可以得到一幅图象,大致可以看到原图象得轮廓,然而当用户连续对一幅图象输入同一个密钥加密十六次后就可以得到正确解密的图象,同时,当解密用户连续对加密后的图象输入正确的密钥八次后也可以得到一幅图象,大致可以看到原图象得轮廓,而且当用户连续对一幅图象输入同一个密钥加密十六次后就可以得到原图象,算法的安全性还是不高。
(1)基于循环位异或地址置乱的图象加密算法
基于基于循环位异或的图象加密算法中仍然存在的问题,算法三在基于循环位异或的图象加密算法基础上做出了改进:
1)加密算法思想
在基于循环位异或图像加密算法基础上将该图象中元素位置为1的元素移到元素位置为2的位置,将2移到3的位置,依此类推,最后将该图象的元素位置为最后的元素移到元素位置为1的位置。解密即为逆过程。
2)加密算法实验结果
加密算法实验结果如图4所示。
3)加密算法优缺点
该加密算法较之前两种有了很大改进,它不仅与它们实现了用户自行输入任意常见字符串的功能和图象的无损加解密,而且也解决了它们中存在的问题。无论用户输入多少次同一个密钥对一幅图象进行加密也得不到正确解密的图象,同样,无论用户输入多少次正确的解密密钥对一幅图象进行解密也得不到原图象,大量实验证明,该算法执行效率高且加密效果也很好,加密算法的安全性也高。
三、安全性分析
一个好的图象加密系统应该具备足够好的性能来抵御各种攻击,这些攻击包括穷举攻击、统计攻击、明文攻击等,下面对基于小数开方伪随机序列图象加密方法安全性进行分析:
穷举攻击是对加密系统进行攻击的最基本的方法之一,它的主要方法是对加密系统的密钥空间进行穷尽的搜索,期望通过强力手段达到破解密码系统的目的。要有效抵御本方法,就要求密码系统有足够大的密钥空间并且具有相当的初值敏感度。三种算法的加密密钥都是可以由用户任意输入常见的字符,通过逐位整型转换再相加而得到伪随机序列的种子,可见,三种算法拥有相当大的密钥空间。
三种加密算法的初值敏感性作了试验,试验表明当解密密钥中有任何一个初始值和加密密钥中的不同,哪怕是微小的差别,图象也不能被有效解密,这说明本图象具有相当的初值敏感性。
综合以上所述,三种图像加密算法具有相当大的密钥空间,具有较强的初值敏感性,对于穷举加密具有抵御能力。
小知识之伪随机序列
伪随机序列是具有某种随机特性的确定的序列。它们是由移位寄存器产生确定序列,然而他们却具有某种随机特性的随机序列。因为同样具有随机特性,无法从一个已经产生的序列的特性中判断是真随机序列还是伪随机序列,只能根据序列的产生办法来判断。