为了实现对数字图像的有效保护,我们提出一种基于Hash函数和多混沌系统的图像加密算法。该图像加密算法通过像素置乱、灰度置乱及灰度扩散实现图像文件加密。
一、混沌系统
1、Lorenz混沌系统
本文在像素置乱阶段使用Lorenz混沌系统,它的动力学方程为:
当a=10,b=8/3,c=28时出现混沌吸引子,系统进入混沌状态,如图1(a)所示。Lorenz系统对初始条件是极其敏感的,两个误差仅为10.15的初始条件,随着运行时间的增加,运行轨迹
会出现极大的偏差,并且呈现无规则性。
2、 Logistic混沌系统
灰度置乱阶段采用Logistic系统产生随机序列,其原型为:
式中:xn映射变量,0≤xn≤1,μ——系统参数,0≤μ≤4。当3.5699456…≤μ≤4时,系统进入混沌状态。文中所采用的Logistic混沌系统中μ取为3.9999。图1(b)出示了当x0=0.123456781时的混沌实数序列图,从图中可以看出,序列呈现出一种近化随机的状态。
二、 图像文件加密方案
1、图像像素置乱
图像像素置乱的主要目的是为了有效地打乱像素位置。常用的像素置乱方法主要有两种,一是直接对图像的像素点坐标位置进行线性变换,如Arnold变换,幻方变换,3D猫映射,二是先对图像进行分块,然后再置乱,但此种方法的安全性不高。本文利用Hash表来实现像素位置的变换,置乱表由Hash函数产生,函数的基本描述为h(c,λ,d,s,L),其中C代表Lorenz混沌系统,λ是变换参数,d是采样步长,s是采样起始点,L是Hash表长度。
假设选择的图像大小为MxN,图像的置乱