为了解决加密矩阵难以构造的问题,提出一种获得整数矩阵的新算法,利用Gauss-Markov过程生成一个随机序列,将该序列转换为一系列的低阶整数矩阵‘从中寻找行列式等于1的整数矩阵,并对这些矩阵进行张量积运算得到高阶加密矩阵,应用于数字图像文件加密。

一、Gauss-Markov加密矩阵的构造

本节首先介绍Gauss-Markov随机序列的基本定义及递推计算公式、矩阵的张量积定义及性质,然后基于Gauss-Markov随机序列构造任意低阶加密矩阵,最后将这些低阶加密矩阵通过矩阵张量积运算得到任意高阶的加密矩阵。

1、Gauss-Markov随机序列

定义1一个Markov过程x(t)是一个随机过程。若该过程的当前状况是给定的,则过程的过去对将来没有任何影响;即如果tn> tn-1,则P[X(tn)≤Xn|X(t),t≤tn-1] =P[X(tn)≤xn|X(tn-1)]。

定义2一个Gauss-Markov过程x(t)是一个概率密度函数为Gauss型的Markov过程。

Gauss-Markov过程随机序列,可由以下递推公式产生:

式中:ωn——一个零均值、独立和同分布的(白色)Gauss随机变量;ρ一确定xn和xn-1之间相关程度的一个参数<由E(xn Xn-1)=ρE(x2n-1)=ρσ2n-1决定,σ2是方差)。

2、矩阵的张量积

定义3A/B是矩阵,且A=(aij)mXn,。则称:

为A与B的张量积或A的Kronecker积。

定义4n个矩阵Ai (i=1,2,…,n)的张量积,记为:

定理1若A,B分别为小阶和住阶可逆矩阵,则A*B为可逆矩阵,且:

定理若A,B分别为m阶和n阶矩阵,则:

利用矩阵进行加密时,要求加密矩阵及其逆矩阵的元素必须是整数,这样的整数矩阵可以根据以下定理进行构造:

定理3若An×n的所有元素都是整数且|A|=1,则A=1的所有元素也都是整数。

由定理2和定理3易得如下推论:

推论1 当Ai (i=1,2,…,b)均为加密矩阵时,则:

也是加密矩阵。

3、加密矩阵自动生成算法

步骤1任取ID和随机初值X1,由式(1)可得序列X=x1x2...Xq,其中g为序列z的长度;令i=1,模为m,初始化加密矩阵A=Onxn;

步骤2从x中提取子序列X'=XiXi+…Xixn*1,计算y=mod (kx',m),这里k为适当大的正整数,即将x,的所有元素转换为O~m之间的整数序列了,i<-i+1;若i≤qn2,转步骤3,否则,结束;

步骤3将y转换为靠阶方阵A,即A=reshape (y,n,n),若|A|=1,输出A,且转步骤2,否则转步骤2。

以上算法最多可得q-n2个nXn的加密矩阵。记为Ai(i-1,2,..,t;t≤qn2),再由推论1,可得较高阶的加密矩阵:

二、加密实验

1、获取加密矩阵

令P=0.8,X1=0.2,Gauss-Markov过程随机序列的长度q;104,m=10,n-4,k=103;由式<1)和1.3给出的加密矩阵自动生成算法可得以下6个四阶的加密矩阵:

若令P=0.8,x1=0.200000000000001,q=104, m=20, n=3,k=103,则可得:

2、基于Hill密码的数字图像加密与解密

下面对Matlab提供的标准图像lena(图像大小为256X256像素,灰度等级为0~255)进行Hill加密与解密运算。

加密时,先将原始图像lena转换为整数矩阵B,然后选取上面的A1~A4计算张量积,可得加密矩阵:

则加密结果:

解密时,先求出A的逆矩阵:

则解密结果:

加密与解密结果如图1所示,图中(a)为原始图像lena,(b)为加密结果,(e)为加密结果的自相关函数,(d)为解密结果。

图1(c)表明这样产生的加密结果具有良好的随机特性和自相关性,满足密码学的要求。

三、分析与比较

1、数字图像相邻像素的相关性分析

对于图1所示的加密实验,下面根据原始图像lena及其加密结果的相邻像素相关性进行计算和分析。分别选取水平。垂直和对角&个方向的两相邻像素,用以下公式计算其相关系数。

式中:x、y——图像中两个相邻像素的灰度值。计算结果如图2~图4所示。其中:

图2中,(a)表示原始图像水平方向两相邻像素的相关性,(b)表示加密结果水平方向两相邻像素的相关性。

图3中,(a)表示原始图像垂直方向两相邻像素的相关性,(b)表示加密结果垂直方向两相邻像素的相关性。

图4中,(a)表示原始图像对角方向两相邻像素的相关性,(b)表示加密结果对角方向两相邻像素的相关性。

表1为原始图像和加密结果在水平、垂直和对角3个方向两相邻像素的相关系数。

由图2~图4和表1可知,原始图像两相邻像素的相关系数接近于1,这说明原始图像的相邻像素是高度相关的,而加密结果两相邻像素的相关系数接近于O,说明原始图像的统计特征已被很好地扩散到随机的加密结果中,其相邻像素基本不相关。从而能够有效地抵御统计攻击。

2、安全性分析

加密算法的安全性完全取决于密钥的保密性。本文所用的密钥是根据Gauss-Markov随机序列而自动生成的加密矩阵,由前面的实验结果知,当随机初值X1从0.2变为o.200000000000001(即x1在小数点之后第15位有微小的改变)时,所得到的加密矩阵完全不同,同样的实验表明当参数尸从0.8变为0.800000000000001时,所得到的加密矩阵也完全不同,因此其密钥空间为1016×l018;1032;再考虑到由于其它参数(q,m,n和k)的任意选择而产生的组合爆炸问题,则密钥空间就更为巨大。使得穷举攻击法难以实现。

进行保密通信时,发送方每次只要选择不同的参数ρ,X1,q,m,n和k,可由以上算法自动获得任意n阶的低阶整数加密矩阵A(且A中的元素可控制在o~m之间),再由这些A的张量积便可构造满足实际问题需要的高阶加密矩阵A,从而实现“一次一密”加密;由香农信息论可知,这是一种理论上绝对安全的加密算法。

3、加密结果比较

下面给出不同加密算法对lena进行加密后,与本文的比较结果,见表2。

由表2可知,本文所得的加密结果在水平、垂直和对角3个不同方向的相关系数至少有两个性能指标的结果更好。总体上可判断本文的加密效果更好。

4、加密矩阵性能比较

讨论了基于矩阵张量积合成加密矩阵的构造问题,但仅给出了由二阶可逆矩阵通过张量积来构造高阶加密矩阵的算法,且没有说明这样的二阶可逆矩阵怎样获得的问题;本文给出的算法可自动生成任意低阶矩阵Ai,并且只要改变模m的值,还能控制A中元素aij的大小(即O≤aij <m),显然可以方便、灵活地通过各种低阶矩阵八的张量积来构造满足实际问题需要的高阶加密矩阵A。两种算法性能比较见表3。

小知识之Gauss–Markov

Gauss–Markov是在给定经典线性回归的假定下,最小二乘估计量是具有最小方差的线性无偏估计量。
高斯--马尔可夫定理的意义在于,当经典假定成立时,我们不需要再去寻找其它无偏估计量,没有一个会优于普通最小二乘估计量。也就是说,如果存在一个好的线性无偏估计量,这个估计量的方差最多与普通最小二乘估计量的方差一样小,不会小于普通最小二乘估计量的方差。