1.一种具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,包括以下步骤:
步骤1、设置logistic映射的控制参数、Lü系统的控制参数和扩散密钥;
步骤2、按由上至下、由左至右的顺序,将待加密图像每个像素的三个颜色分量的值依次存入一个一维数组中;
步骤3、根据所获得的待加密图像一维数组,对明文图像进行置乱处理,具体如下:
步骤3-1、根据所获得的待加密图像一维数组获得City哈希值;
步骤3-2、根据获得的City哈希值,设置logistic映射的状态变量初值;
步骤3-3、根据设置的logistic映射的状态变量初值和控制参数,预迭代logistic映射使其充分进入混沌状态;
步骤3-4、正式迭代logistic映射,将每次迭代得到的状态变量值依次放入一维数组中,获得logistic映射状态变量数组,该状态变量数组的长度为:待加密图像一维数组的长度-1;
步骤3-5、对logistic映射状态变量数组进行量化,得到伪随机置乱序列,该序列中的每个元素表示待交换元素所在位置;
步骤3-6、根据伪随机置乱序列中每个元素的对应位置,将待加密图像一维数组中的每一个元素与对应位置的元素相交换,待加密图像一维数组中最后一个元素不做置乱处理:
步骤4、将置乱处理后的待加密图像一维数组进行扩散处理,具体如下:
步骤4-1、生成扩散密钥流序列,该序列的长度为:待加密图像一维数组的长度;
步骤4-2、根据扩散密钥流序列,对置乱处理后的待加密图像一维数组中的每一个元素实施加密;
步骤5、反复执行步骤3至步骤4,进行多轮加密,获得密文图像。
2.根据权利要求1所述的具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,步骤3-2所述的根据获得的City哈希值,设置logistic映射的状态变量初值,具体公式如下:
x′0=hashp/232 (1)
其中,x′0表示logistic映射的状态变量初值,hashp表示待加密图像一维数组P的City哈希值。
3.根据权利要求1所述的具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,步骤3-3所述的根据设置的logistic映射的状态变量初值和控制参数,迭代logistic映射使其充分进入混沌状态,具体公式如下:
x′n+1=μx′n(1-x′n),x′n∈[0,1],μ∈[0,4] (2)
其中,μ表示logistic映射的控制参数,x′n表示logistic映射第n次迭代的状态变量值,其初始值为x′0。
4.根据权利要求1所述的具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,步骤3-5所述的对logistic映射状态变量数组进行量化,得到伪随机置乱序列,该序列中的每个元素表示待交换元素所在位置,具体公式如下:
其中,rn表示待加密图像一维数组P中元素pn待交换位置,pos(qn)函数表示元素qn在logistic映射状态变量数组Q={q0,q1,...,q3×W××H-2}中的位置,即n;abs(qn)函数表示元素qn的绝对值;sig(num,m)函数表示num的前m位有效数字;mod(num1,num2)函数表示num1除以num2的余数,len(P)表示待加密图像一维数组P的长度。
5.根据权利要求1所述的具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,步骤4-1所述的生成扩散密钥流序列,具体如下:
步骤4-1-1、预迭代Lü系统,使其充分进入混沌状态;
步骤4-1-2、正式对Lü系统进行迭代,将每次迭代获得的3个状态变量存入一维数组,获得Lü系统状态变量数组,该数组的长度与待加密图像一维数组相同;
步骤4-1-3、对Lü系统状态变量数组进行量化,获得扩散密钥流序列;
所述的扩散密钥流序列为K={k0,k1,...,k3×W×H-1},具体公式如下:
ke=mod[sig((abs(se),m),28]. (4)
其中,ke表示扩散密钥流序列中第e个元素,e=0,1,…,3×W×H-1,W表示待加密图像的宽度,H表示待加密图像的高度,sig(num,m)函数表示num的前m位有效数字;mod(num1,num2)函数表示num1除以num2的余数。
6.根据权利要求1所述的具有明文相关置乱机制的快速混沌图像加密方法,其特征在于,步骤4-2所述的根据扩散密钥流序列,对置乱处理后的待加密图像一维数组中的每一个元素实施加密;
加密公式,具体如下:
其中,ce表示对置乱处理后的待加密图像一维数组中第e个元素p′e加密得到的密文值,ke表示扩散密钥流序列中第e个元素,e=0,1,…,3×W×H-1,W表示待加密图像的宽度,H表示待加密图像的高度,mod(num1,num2)函数表示num1除以num2的余数,ce-1表示前一个元素的密文值,初始值c-1为取值范围在[0,28]的整型常量,表示按位异或操作。