随着社会的进步,信息的交流更加紧密,交流的的内容也从文字、图片扩展到了音频和是视频,所以信息安全成为人们关注的话题。密码学由此突显自身的价值,对交流的内容进行加密保护可以有效的阻止别人对其窃取。而混沌密学由于其混沌序列产生的混沌效果较好、易于实现、加密解密速度快等特点成为密码学不可缺少的一部分。
多混沌加密算法首先根据混沌映射的特点,把初始密钥经过多重混沌序列处理,再利用分段函数进行离散化,最后把离散后的序列经过处理生成0-256之间的随机数,以便进行加密。
多混沌加密体系设计
Logistical映射定义如下:
Xn+1=1-λXn2,0﹤λ﹤2,-1﹤Xn﹤1
当1.40﹤λ≦2时,Logistical映射经过多次迭代后可以达到伪随机效果。
分段线性混沌映射(PLCM)系统具有较好的分布平衡性,其定义如下:
其中X0为初始状态,且X0∈[0,1),p为映射的控制变量,且p∈(0,0.5)
Tent映射的定义如下:
当Xk∈(0,1),a∈(0,1)时,Tent映射具有较好的混沌效果
符号函数:
其中,F(Xk,p)为分段线性映射(PLCM),k=0,1,2,…。密钥流可根据函数P(Xi)和Q(K)计算得到随机的二进制序列。
实现加密步骤
1、设置密钥(X,a,p)、(X´,a´,p´)、(X, λ)以及(X´, λ)。把密钥(X, λ)和(X´, λ)代入Logistical映射进行迭代计算1000000次得到两个初始密码b0和b0´,并把迭代计算1000000次后的密钥流代入符号函数P(Xi)进行离散化并通过公式Kn=L8n×20+L8n+1×2´+….L8n+7×27,n=1,2,3…,得到下步的迭代次数(N次)。
2、将(b0,a,p)和(b0´,a´,p´)代入Ten映射,并进行迭代计算N次可得到两组序列{X0,X1,X2,…}和{X´0,X´1,X´2,…}
3、利用{`X0,`X1,`X2,…}和{`X´0,`X´1,`X´2,…}分别代入分段线性映射(PLCM),得到不同的两组序列{X0,X1,X2,…}和{X´0,X´1,X´2,…}
4、将这两组序列{`X0,`X1,`X2,…}和{`X´0,`X´1,`X´2,…}利用分段函数Q(K)进行比较计算以便离散化,由此可以得到一组二进制序列L:{L0,L1,L2,…}
5、把上述二进制L:{L0,L1,L2,…}代入Kn=L8n×20+L8n+1×2´+….L8n+7×27,n=1,2,3…,可以得到伪随机序列K:{K0,K1,K2,…},Ki=0,1,2,3…
6、原来未加密的图像为256×256的bmp图像,根据Ci(j)=(Mi(j)+Ki(j))mod256可得到密文图像C,其中Mi(j)为明文图像M的第i行第j列的灰度值,Ki(j)为加密密钥K的第i行第j列加密密钥,Ci(j)为密文C的第i行第j列密文灰度值,其加密前后的图像如下:
加密效果评估:
1、密钥长度评估:根据计算机的精度,选取的密钥长度大概为:1.0×E32数量级,相当于二进制的64bits密钥长度,而且密钥个数达到6个,在密钥个数和密钥长度方面都达到图像加密的要求。
2、灰度直方图评估:原图像灰度分布不均匀,而加密图像灰度分布较为均匀,由此掩盖了原图像的灰度分布情况,能够抵抗利用统计分析攻击。
3、密钥敏感度评估:多混沌加密算法针对密钥敏感度的效釆较好。
4、原图像的相邻像素相关性较高,而通过加密后的图像相邻像素的相关性显著降低,其相关系数值小于002,这样就使破译密码人员不可能通过像素之间的相关性来破译密码,由此便可以抵御像素相关性方面的攻击。