0
点赞
收藏
分享

微信扫一扫

基于QT数字图像加密系统的设计与实现

混沌系统的研究最早起源于人类对分子无规则运动的研究。多用于动力学。其概念如下:如果一个系统是非线性的,出现了无周期性的混乱的运动,而且这种运动自始至终都被限制在一个有限的区域内,运动轨迹永不重复。那么我们就说这个系统是一个混沌系统。

混沌系统特性如下:

1、 内随机性:系统的混沌特性是又系统内部的随机特性决定,于外部无关。

2、 有界性:混沌系统的运动轨迹会一直保持在一个确定的区域内部,不会超出范围。这个范围也叫混沌吸引域。

3、 对初值高低敏感性:系统的运动轨迹对系统的初值高度敏感,即使系统的初始值发生了微小的改变,系统的运动轨迹都是不可预测和不可确定的。

4、 遍历性:只要经过的时间足够长,系统的运动轨迹终会遍历玩整个混沌吸引域。

5、 普适性:改变混沌系统的方程式或者改变混沌系统的控制参数,不会改变系统的有些特性不会随之改变,而只有在系统趋于混沌状态时,这些特性才会显现出来。

常见的混沌系统有:超混沌Chen系统、Heonon-Heiles混沌系统、Logistic映射混沌系统。

基于QT数字图像加密系统的设计与实现_C++毕设

图像加密

图像是由一群像素点组成的,但是无论是哪种格式的图像,在计算机中也是通过二进制数据以字节为单位存储的。因此对图像进行加密主要有两种思路:

1、对图像中每一字节的数据进行加密。异或加密就是这种形式的加密方式。

2、对图像中的每一个像素点进行修改。置乱加密就是这种形式的加密方式。

基于QT数字图像加密系统的设计与实现_数字图像加密_02

异或加密

异或加密是一种非常简单的加密方式,其原理如下:

A^B^B = A;

也就是说,一个字符异或另一个字符进行按位异或操作后,变成了一个不同的字符,然后与同一个字符再进行一次异或操作就可以还原字符。

根据这个特性,可以将图片数据一个字节一个字节的取出,然后与某一个字符进行异或操作,最后将结果一个字节一个字节再写回到图片文件中,从而实现图片加密。解密时,用同样的字符再与图片的中的数据进行按字节的异或操作就还原图片。

上述方法虽然简单,但是加密后的图片效果依然保留原来的图像,只是颜色不一样。而且这种加密方式机器容易被解密。因为1个字节最多有255中不同的组合,只要把255中组合逐一与加密后的图片数据进行异或操作,过不了多久就能解开。

因此对异或加密进行改进,将加密字符改为加密字符序列,用一个序列中的字符按照顺序对图片数据进行异或操作,第一个字节的图片数据与序列第一个字符进行异或,第二个字节的图片数据与序列的第二字节进行异或,以此类推。当序列的最后一个字符与图片数据进行异或操作后,如果图片中还有数据需要加密,就从头开始用第一个字符与其进行异或操作。以此类推。解密也是一样的。这样就大大增加了破难度,但是加密后的图像中还是能看出原始图像的图形。因此,异或加密通常不推荐使用。

置乱加密

置乱加密技术的核心思想是打乱图像中像素点,交换像素点之间的位置,实现图像加密的目的。通常情况下,需要对图像进行多次打乱以达到加密的效果。常见的置乱加密有:Arnold变换、Fibonacci变换、Hilbert曲线变换、仿射变换、幻方变换。

基于QT数字图像加密系统的设计与实现_数字图像加密_03

举报

相关推荐

0 条评论