在军队后勤信息化建设中,营房勤务信息化是重要的组成部分,为解决营房信息化中信息安全面临的严峻形势和传统加密手段的安全隐患,提出一种基于虹膜特征密钥的信息加密算法。从人体虹膜中提取375位虹膜特征码,然后从特征码中提取加密密钥用于营房信息加密。
一、虹膜预处理
虹膜预处理包括图像采集、虹膜定位、归一化步骤,采集的原始人眼图像除虹膜外,还包括瞳孔、眼睑和睫毛,所以需要虹膜定位提取虹膜环状纹理,并且去除睫毛、眼睑和光斑等干扰。为克服瞳孔缩放等因素引起的差异,便于比对,将虹膜图像归一化为固定大小的矩形图像。图1为虹膜预处理过程。
二、图像的二维离散小波变换
二维离散小波变换将图像分解成近似分量和细节分量。分解的尺度函数φj,m,(x,y)和小波函数ψiφj,m,(x,y)为:
(2)式中的i标识三个方向敏感性小波,度量不同方向图像强度的变化,H为水平方向,V为垂直方向,D为对角线方向。
尺寸为MXN的图像f(x,y)的二维离散小波变换为:
jo是任意的起始尺度,一般选j0=0,Wφ(jo,m,n)定义了在尺度j0的近似系数,wψj(j,m,n)对于j≥j0定义了不同方向的细节系数,一般选择N=M=2j,j=0,1,2,J-1 m,n=0,1,2,,2J-1。
对图像进行二维离散小波变换是从高尺度向低尺度进行的,如图2所示.
每一级小波分解得到近似系数LL(对应W(p),以及细节系数HH HL和LH(分别对应W\vD,WlyH,和Wlvv);而下一级的分解是在上一级的低频系数LL上展开的,类似对LL进一步分解可以得到更低尺度下的系数。
三、虹膜特征提取
对虹膜归一化图像分析,如图3(a)所示,R1区域受上眼睑和睫毛干扰较严重,R2区域受下眼睑干扰,且虹膜纹理主要集中在靠近瞳孔的区域,所以选择归一化图像的右上部R3区域为特征提取区域,归一化图像大小为100400,R3区域大小一般不小于归一化图像大小的1/6,这里取40×200。
现有大多文献采用Gabor小波提取虹膜特征,为了提高编码效率,本文采用最简单的Haar小波提取特征,同时Haar小波具有正交性、紧致性及广义线性相位特点。对R3区域利用图3(b)所示二维Haar小波进行三级分解,得到近似系数LL3,LH={LH1,LH2,LH3}、垂直细节系数HL={HL1,HL2,HL3}和对角细节HH={HH1,HH2,HH3}。如3(c)所示。
虹膜纹理信息主要集中在细节系数上,如果把第一或第二层的细节系数作为特征,导致特征空间过大,会影响编码效率,经过大容量样本实验,发现提取第三层的细节系数LH3,HL3和HH3作为特征较合适,每个细节系数大小为(40×200)/(23×23)=125,三个方向的高频分量大小为125×3=375。
对这375个小波系数分析,有正有负,而小波系数表示小波与信号的相似程度,正小波系数与负小波系数描述的相似程度截然不同,故利用该性质对375个特征系数进行二进制编码,设C={LH3,HL3,HH3}为虹膜特征空间,特征空间元素C(i)的编码规则为:
通过以上编码方式,共形成375bits IYJ虹膜特症码,与Daugman的2048bits虹膜特征制码相比产提高了编码效率,特征空间比较紧凑,节省了模板存储空间,与Lim的87bits虹膜特征码相比,更加充分描述了纹理特征。
四、加密密钥提取
采用以下随机函数从所提取的虹膜特征码中生成密钥。
j为虹膜特征码序列的下标,Zr定义为伪随机整数且O<zr<107。m为虹膜特征码长度,这里是375。选取AES密钥长度为128bit,即n=128。通过(6)式映射得到128bit密钥,如图4所示。
五、基于虹膜特征密钥的信息加密过程
AES算法是一种明文分组长度和密钥长度均可变的分组加密算法,同时也是对称加密算法,其加密、解密过程如图5所示。
其加密和解密使用的密钥相同,其分组长度和密钥长度都分别可为128位、192位或256位。
设一幅灰度数字图像可用矩阵f(i,j)表示,图像的 大小为M×Ⅳ,其中0≤f≤M-1,0≤j≤n-1,f(i,j)表示图像在第i行第j列处像素的灰度值,共有28=256个等级,取值范围是[0~255]。由于AES算法中的明文输入是以字节为元素的16字节矩阵,矩阵元素的取值范围也是[0~255],这与灰度图像像素的灰度值范围一致,因此,本文将AES算法中的密钥异或、字节代换、行移 位和列混淆应用到数字图像加密,要包括三部分内容:
(1)利用密钥异或实现图掺像素变换;
(2)利用字节代换来完成图像像素的替代,起到混乱的作用;
(3)采用行移位和列混沌来完成图像像素的置换,起到混乱之上的高度扩散。
六、加密效果与分析
1、加密效果分析
利用所提取的128位密钥充当AES密钥对野营装备图像加密,明文分组为128位(16字节),对于图像就是以4×4像素子块为加密分组。实验结果如图5所示,野营装备图像大小为400像素×280像素。
对图6(d)分析,加密图像的直方图分布较平坦,接近均匀分布,那么可以认为图像信号比较随机,加密图像的可读性越差,还原的可能性就更小了,也就是说加密后图像更安全。
2、与Arnold变换加密安全性的比较
采用Arnold变换对图6(a)所示野营装备图像进行置乱加密,由于Arnold变换要求输入图像为方阵图像,所以在图6(a)中截取带有重要信息的图像方块(280像素×280像素)。
根据置乱度定义分别计算两种算法加密图像后的置乱度。
μiris为本文提出算法加密图像后的置乱度,μarnold为Arnold变换加密图像后的置乱度。本文加密算法加密图像后的置乱度,μiris大于Arnold变换加密图像后的置乱度μarnold,根据置乱度定义,置乱度值越大,表示加密信息越不容易破解,加密安全性越高。本文提出的加密算法在加密安全性上较Arnold变换高。
小知识之Arnold变换
Arnold变换是一种常用的图像置乱技术,Arnold变换的定义如下:
对任意N*N矩阵(所有元素都相同的矩阵除外),设i,j为矩阵元素原始下标,经过Arnold变换后新下标为i',j',且满足下式:
i'=(i+j)mod N
j'=(i+2j)mod N
i,j:0,1,.........N-1
Arnold变换具有周期性,即经过若干次变换后,矩阵回到最初状态,且周期T与N的大小有关。理论基础没找到,但可以用程序来进行计算,可以设i,j从一个点出发,不断使用以上变换,再次回到这个起点时,经历的变换次数就是周期。