快速增长的多媒体处理技术及广泛使用的网络为信息的传播提供了极大的便利,但开放的Internet也伴随而来一些数据信息的泄露、随意篡改及侵权,因此如何有效地保护网络中信息的安全传输问题成了一项重要而又紧迫的研究课题,密码技术将数据以一种无密匙用户不可辨别的方式加密使数据更安全,多媒体数据加密已应用于因特网通信、多媒体数据库系统、医学图像、远距离医治、军事通信等方面。多媒。体数据安全所面临的挑战是对手恶意地加入其他数据以干扰恢复真实信息的解码工作,因此,数据加密时确保图像安全是基本问题。

近来,大量的基于时频分析的算法保证了重要信息的机密性和完整性。kilian数据隐藏法是对变换后的低频系数加入安全信息,Miyazaki提出一种新的基于多样性技术的彩色图像多通道鲁棒水印法,Satish提出基于混沌扩散频谱图像数据隐藏(CSSIS)法。CSSIS处理成本低,可用于确保安全及隐私,使用混沌序列交错信息可以增强鲁棒性,Agaian提出基于多带概念的数据加密将安全性提高到更高水平。不同密码的能量系数使用不同的量化系来量化,使得嵌入的信息比一般的图像处理更鲁棒。

本文提出一种基于黄金比的参数化Harr小波,并且将其应用于图像加密.研究表明,参数化Harr小波变换对图像文件加密,解密都至关重要。

一、加密算法描述

1、Fibonacci和Lucas数列

整数序列l,1,2,3,5,8,13称为Fibonacci序列,并且在数字图像、语音处理中有所应用。Fibonacci序列可以表示为如下的递归形式:

图像文件加密如何应用黄金比Haar小波实现

其中Fo=F1=1,k=2,3,…,而Lucas数表达为:

图像文件加密如何应用黄金比Haar小波实现

其中L0 =1,L1=3,k=2,3,…,前几个Lucas数是1,3,4,7,11,18,29,47,76。

Fibonacci序列的一条重要性质是序列中元素与前一个元素的比值有一个称为黄金比(1. 618 04)的极限。本文所提出算法中,黄金比定义为:

图像文件加密如何应用黄金比Haar小波实现

相关性质:

2、两种数列的相关性质

(1)可以验证:

图像文件加密如何应用黄金比Haar小波实现

(2)Lucas数可表示为:

图像文件加密如何应用黄金比Haar小波实现

(3)Lucas数与Fibonacci数的关系:

图像文件加密如何应用黄金比Haar小波实现

(4)Fibonacci数和Lucas数也满足:

图像文件加密如何应用黄金比Haar小波实现

3、黄金Fibonacci变换

根据Fibonacci序列的离散正交变换及其快速算法,可处理Fibonacci序列一般形式所定义的大量离散点,极大地减小空间、时间上的指数复杂度。Fibonacci序列定义为:

图像文件加密如何应用黄金比Haar小波实现

其中,k≥0,φ(0)=1,且φ(k)=o,k<0的一组数列,令口是前述的黄金比,则4×4行向量两两正交的矩阵所定义的Fibonacci变换为:

图像文件加密如何应用黄金比Haar小波实现

该矩阵具有如下特点:

(1)首行元素有1,α-1,其余皆为零;

(2)第二行以1,α开始,比前行多出的元素满足:图像文件加密如何应用黄金比Haar小波实现其余为零;

(3)第三行以1,口,a2开始,多出元素也满足以上关系;

(4)最后一行元素的特点是显然的。

可见,Zi,i+1,是一首项为-a-i,末项为ai-2的等比数列的和,其公比q=a2。定义:

图像文件加密如何应用黄金比Haar小波实现

因此,5阶Fibonacci变换矩阵为:

图像文件加密如何应用黄金比Haar小波实现

矩阵Z定义的正交变换,称为黄金Fibonacci变换,因为其对应于规范的黄金Filoonacci序列,求该矩阵的逆时,需要将其列向量规范化,即将元素除以所在行元素平方和的平方根。

4、黄金比Hadamard变换矩阵

采用基于Fibonacci和Lucas数的方法构造黄金Hadamard矩阵,当n≥2,对称正交矩阵:

图像文件加密如何应用黄金比Haar小波实现

是2阶n型黄金Hadamard矩阵,其中:

图像文件加密如何应用黄金比Haar小波实现

当n=3时,黄金Hadamard矩阵为:

图像文件加密如何应用黄金比Haar小波实现

使用Kronecker张量积能生成2k阶N型黄金Hadamard矩阵:

图像文件加密如何应用黄金比Haar小波实现

令A是N阶五类顺序黄金Hadamard矩阵,Ai是为其第i列,又:

图像文件加密如何应用黄金比Haar小波实现

则矩阵:

图像文件加密如何应用黄金比Haar小波实现

是2N阶k类顺序黄金Hadamard矩阵,1类4,8阶顺序黄金Hadamard矩阵分别为:

图像文件加密如何应用黄金比Haar小波实现

以上矩阵所构造的黄金Hadamard变换矩阵是正交的,其逆阵很容求解.用于信号处理时,正变换用原始矩阵,用其逆阵进行反变换,即可对原始信号精确重构。

二、构建黄金比Harr小波变换矩阵

黄金比α定义如上,则式(12)所定义的对称正交矩阵可认为是对Harr小波矩阵:

图像文件加密如何应用黄金比Haar小波实现

中的元素赋予不同权值的黄金比Harr小波,而Bn是正交归一化系数。

更一般的N阶五型GR-Haar变换矩阵(TGRHN)定义如下:

图像文件加密如何应用黄金比Haar小波实现

式中,Ik是k阶单位阵,0是合适的零阵,*同上,为Kronecker张量积,m=1,2,…,N=2m,n=2,3,4,…,且m+l≤n。例如,1型8阶(n=3)TGRHi矩阵可以表示为:

图像文件加密如何应用黄金比Haar小波实现

其中TGRHl(n)为一些稀疏矩阵,即:

图像文件加密如何应用黄金比Haar小波实现

用TGRHN矩阵对信号进行变换,对一维信号有:

图像文件加密如何应用黄金比Haar小波实现

其中xN是一维列信号向量,反变换:

图像文件加密如何应用黄金比Haar小波实现

则可对原始信号进行精确重构,其中因TGRHN是正交矩阵,所以:

图像文件加密如何应用黄金比Haar小波实现

具体使用时,先将信号按N的大小进行分段,再进行矩阵乘法即可,GR-Haar变换用于一维信号,其信号流程图如图1。从图l可以看出,如果只用TGRH8(0)对信号进行变换,则相当于对分段后的信号进行第一层小波分解¨生此基础上再使用TGRHi(1)是第2层小波分解;其后就是第3层,显然,用该小波滤波器最多只能分解到第3层,因此使用16点GR-Harr变换矩阵最多能分解至第4层,因为TGRHN及其每一个因子矩阵都是正交矩阵,所以对分解后的信号只需用砭RHN(TCRHN的转置)变换,就可以恢复原始信号。

图像文件加密如何应用黄金比Haar小波实现

GR-Harr变换本质上与Harr小波相似,Harr小波的低通、高通滤波器为h0=[1-1]/√2和h1=[1-1]/√2,而GR-Harr小波滤波器分别为[ak,a-k]/bk和[a-k,a-k]/bk,其中bk=√a2k+a-2k。图2为不同k值时的低通、高通滤波器幅频特性。从图2中可以看出,k值较小时,其低通和高通特性区别较为明显,随着k值增大其区别已不再明显,但对不同的k值,有:

图像文件加密如何应用黄金比Haar小波实现

其中|Ho (jw)|、|Hi (jw)|分别是低通、高通滤波器的幅频特性。(20)式表明,不同忌值时,低通、高通所对应变换在频域内能量是互补的,且能量守恒。

图像文件加密如何应用黄金比Haar小波实现

结合图1与图2可知,变换子阵TGRH8(o),是将一维信号进行了低通和高通分解,和一维离散小波变换相同,将其低频结果放在数据的前半部分,高频放在后半部分;TGRH8(0)是对低频部分再进行分解,...因此,也可以采用对应于小波包的变换,即将式(17)中TGRHN(O)不变,TGRHN(0)变为:

图像文件加密如何应用黄金比Haar小波实现

此时,所采用的变换阵为GR-Harr小波包矩阵。

对于二维信号的N阶GR-Haar变换为:

图像文件加密如何应用黄金比Haar小波实现

其中BN为待变换信号.可见,该变换是对给定二维信号块沿列和行变换,这样,一层变换就将图像块分解为低低、低高、高低、高高共4部分;其余的依次类推.同一维信号的变换类似,反变换为:

图像文件加密如何应用黄金比Haar小波实现

三、实验结果及分析

实验时对256×256的liftingbody图像加密处理,部分实验结果如图3所。

图像文件加密如何应用黄金比Haar小波实现

图中(b)和(c)分别为采用k=2的16=26点GRH小波和小波包变换;图(d)和(e)则为k-3的64=26点变换;图(f)是图(e)不正确的解密结果,因为此时忌=2,反变换解密的点数与正变换点数不同,从图(g)和(h)比较可见,原始图像变换后,其统计灰度发生了明显的变化,该特性也反应加密的隐秘性,大量仿真实验结果表明:

(1)为加强图像的隐秘性,需选择合适变换块的大小.如果块太小,则不管采用小波或小波包变换,其加密效果均不理想;反之,块大则运算量大。因此,一般选择N=32或64。

(2)一般地,对同样尺寸的块,小波包变换的加密效果优于小波变换,因小波包在高频子带仍进行加密变换,但小波包变换的计算复杂度几乎为小波变换的2倍,若要求加密算法的实时性,可考虑GR小波加密。

(3)关于是的选择,量越大则如前分析,其低通、高通特性已没有很大的区别,此时其频域特性近似于全通。从时域上看,因图像文件加密如何应用黄金比Haar小波实现,可见,变换效果类似于对块中的数据元素按一定的规则进行位置的交换。

小知识之递归算法

递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。