编码加密(共4篇)
编码加密 篇1
0 引 言
19世纪末,法国著名数学家和物理学家庞加莱第一次发现三体运动中的混沌现象。20世纪60年代,美国气象学家洛仑兹在研究气象学时发现了大气运动中的混沌现象,这就是著名的“蝴蝶效应”,混沌系统只要存在初始条件的微小差异,将导致其轨道演化很快变得互不相关,即所谓的“差之毫厘,失之千里”,由于混沌系统具有非周期、连续宽频带、类噪声和长期不可预测等特点,因而特别适用于保密通信等领域。
本文提出了一种将AAC编码技术与混沌加密相结合的一种音频保密系统,首先在加密端将一段原始的音频信号进行AAC编码,对编码之后的音频信号采用二维猫映射混沌加密算法进行加密,在解密端首先用二维猫映射混沌解密算法对编码之后的音频信号进行解密,解密之后再采用AAC解码算法解码,最后在将整个加密和解密系统移植到S3C2410硬件平台Linux系统中,实验结果表明该方案与传统的混沌语音保密系统相比,具有加密解密效率高,硬件资源占用少,解密后音质好,传输所需要带宽小等优点。
1 二维猫映射加密算法
下面将具体阐述猫映射加密算法的相关理论,猫映射如式(1)所示:
式中mod 1表示只取实数的小数部分。为了将猫映射用于加密,需要对它进行适当处理。首先将猫映射扩展到N×N,并进行离散化,如式(3)所示:
其次,引入加密参数。加密参数的引入可以通过改变矩阵A的元素来获得,为了工程实现可行性,可以采用如下变换阵Ad:
式中a,b都取小于N的整数。猫映射逆变换公式如式(5)所示:
最后对二维N×N矩阵按行输出即可得到解密后的一维信号。
广义猫映射的状态空间是有限的,所以很有可能不再是混沌的。但从几何上看广义猫映射仍然具有猫映射的拉伸和折叠的特性,这个性质导致原来相邻的两点(i,j)和(i,j+1)经迭代几次后不再相邻,因而仍然具有一定程度的初值敏感性,利用这一点可以将一段语音进行迭代运算若干次,就可以打乱语音的相关性,从而实现语音加密的效果。广义猫映射的逆映射如式(7)所示:
为了保证整数运算,正映射时系统的参数都取整数,逆映射的参数也取整数,这样在加密和解密的过程中就不会带来误差,把经过正映射加密了的语音再按逆映射迭代相应的轮数,就可以实现语音的无失真解密。
2 加密方案的设计及实现
2.1 加密方案描述
该方案的具体实现流程是:在发送端首先将原始语音信号进行AAC编码算法FAAC编码,再将编码后的语音文件用二维猫映射混沌加密算法置乱,接着将编码后的语音文件通过TCP/IP传输协议将编码后的语音信号传送到接受端,接收端首先利用二维猫映射逆变换算法解密编码后的文件,然后对解密后的语音文件采用AAC解码算法FAAD解码,最终还原出原始语音信号。具体实现流程如图1所示。
2.2 加密算法的实现
下面以一段语音编码加密为例来阐述加密算法的实现流程过程:
(1)设置加密密钥:猫映射的映射参数a,b和迭代轮数k;
(2) 将AAC编码后语音数据块分成m=N×N,比如一段音频数据块的长度为m=4 096,,则N=64;
(3) 然后利用离散化得猫映射式(3)进行位置置乱;
(4) 循环做k轮置换;
(5) 将分块数据从新堆叠成一个列向量,输出。
完整的解密过程如下:
(1) 设置置解密密钥:猫映射的映射参数a,b和加密轮数k;
(2) 将AAC编码后的数据块m分成m=N×N,比如对音频数据块长取为m=4 096,则N=64;
(3) 然后利用离散化得猫映射逆变换式(6)进行位置置乱;
(4) 循环做k轮置换;
(5)将分块数据重新堆叠成一个列向量,输出。
加密算法实现流程如图2所示。
3 系统的安全性能分析
3.1 参数失配分析
将加密参数分别设置为a=3,b=8,K=64,当解密参数与加密参数完全符合时,能够实现语音信号正常解密,当解密参数其中之一和加密参数不符合,则不能正常解密。加密前后语音信号的频谱和倒谱如图3,图4所示。参数匹配、失配解密语音信号的频谱和倒谱如图5,图6所示。
3.2 相关分析
在测试语音中,选取前4 096个相邻的语音采样点对,记为(xi,yi)。按如下定义的相关系数来计算这4 098个语音幅度值之间的相关性如图7,图8所示。
4 结 语
本文提出了一种基于AAC编码算法与混沌猫映射结合的混沌语音保密方案,可以语音的压缩与加密,并且在嵌入式处理器中移植了该加密算法,实现结果表明该方案是可行的,该方案在保密通信领域具有潜在的实际工程应用前景。
参考文献
[1]黄润生.混沌及其应用[M].武汉:武汉大学出版社,2005.
[2]禹思敏.混沌系统与混沌电路:原理、设计及其在通信中的应用[M].西安:西安电子科技大学出版社,2011.
[3]CHEN G,MAO Y B,CHUI C K.A symmetric image en-cryption scheme based on 3Dchaotic cat maps[J].Chaos,Solitons&Fractals,2004,21(3):749-761.
[4]王磊.MPEG-4AAC编码器在TMS320C6416上的实现[D].西安:西安电子科技大学,2007.
[5]吴祥兴,陈忠.混沌学导论[M].上海:上海科学技术出版社,1996.
[6]罗小华,李元彬,罗明伟,等.一种新的四维二次超混沌系统及其电路实现[J].微电子学,2009,39(3):398-401.
[7]王梓坤.论混沌与随机[J].北京师范大学学报:自然科学版,1994(6):68-73.
[8]LORENZ E N.Detemfinistic nonperiodic flow[J].Atmos.Sci.,1963,20:130-141.
[9]LI Yu-xia,WALACE K S,CHEN Guan-rong.Hyperchaosevolved from the generalized lorenz equation[J].Int.J.Ci-re.Theor.App.,2005,33:235-251.
[10]JIA Q.Adaptive control and synchronization of a new hy-perchaotic system with unknown parameters[J].Phys.Letters A,2007,362(5/6):424-429.
[11]ZHANG H.Controlling and tracking hyperchaotic ssler system via active backstepping design[J].Chaos Solit.Fract.,2005,26(2):353-361.
[12]MATIHEWS R.On the derivation of a chaotic encryption algorithm[J].Cryptologia,2010,13(1):29-42.
编码加密 篇2
近年来,基于光学理论与方法的数据加密技术已愈加引起研究者的兴趣和关注,成为信息安全研究领域的热点[1,2,3,4,5]。由于光学技术具备二维成像与并行处理能力,光学加密方法被公认为是新一代信息安全理论与技术。该领域内的开拓性成果是1995年由Refregier和Javidi提出的双随机相位编码光学加密系统(Double Random Phase Encoding,DRPE)[6],该系统在光学4-f系统的输入面和频谱面各放置一块随机相位板,先后对原始图像的空间信息和频谱信息做随机扰乱,从而使系统的输出信息的复振幅为平稳随机的白噪声。DRPE被提出后,其安全特性及由其衍生出来的光学加密系统被广泛研究。例如,彭翔小组针对于该系统的安全性能问题进行了深入的分析,指出该系统对于已知明文攻击、唯密文攻击及选择性明文攻击的脆弱性[7,8,9],G.Unnikrishnan和Guohai Situ则分别将该方法推广到分数傅里叶域及菲涅尔域[10,11];Xianyu Su等将该方法应用于彩色图像、多幅图像加密及隐藏[12,13],L.Z.Cai等还将此技术与数字全息术结合起来对光学图像进行加密,取得了较好的效果[14]。这说明,作为光学信息加密的经典结构,双随机相位编码的光学加密系统具有巨大的研究空间和应用潜力。
本文中,我们对双随机相位编码系统中的空域随机相位板进行置换,而代之以随机振幅板,提出随机振幅-相位编码虚拟光学加密系统(Random Amplitude-Phase Encoding,RAPE)。首先研究了该系统的统计学性质,指出该系统同样可以将图像加密成平稳随机白噪声,从而理论上具有无限大的密钥空间,可以抵抗暴力攻击。并且,该系统对空域密钥的要求较双随机相位加密系统更低,因此空域密钥更加容易获取。此外,由于直接对图像的振幅进行编码,因此在频域密钥泄露的情况下攻击者依然不能获得原始图像信息,较双随机相位编码系统在加密图像数据时有更强的鲁棒性。
1 理论分析
随机振幅-相位编码光学加密系统利用标准4-f系统来实现,如图1所示。f(x,y)是被加密的图像,加密时,首先将输入信号f(x,y)在空域乘以随机振幅函数n(x,y),之后经过傅里叶变换,在频域被随机相位函数exp[i2πb(μ,ν)]滤波,再经傅里叶逆变换,在输出面上得到密文ψ(x,y),即加密结果。
在本系统中,对于空域振幅密钥n(x,y),要求其为数学期望为零的白噪声信号;对于频域相位密钥exp[i2πb(μ,ν)],要求b(μ,ν)为在[0,1]上均匀分布的白噪声。且空域密钥与频域密钥统计独立。后面的论述中将证实这些要求的必要性。整个加密过程可用公式表示为
其中:*表示卷积运算且h(x,y)被定义为
其中FT-1表示傅里叶逆变换。下面将证明,加密后的密文ψ(x,y)为平稳复随机白噪声,而且,使用单随机模板则不能实现这种效果。
首先考虑f(x,y)被n(x,y)调制后所得函数r(x,y)=f(x,y)n(x,y)的平稳性。容易看出,其均值为零。然后计算其自相关函数,有
因为已经要求n(x,y)为零均值的白噪声,根据白噪声的定义,有
其中δ表示二维冲击函数。因此式(3)可进一步化简为
式(5)说明f(x,y)被n(x,y)调制后所得函数并非平稳信号,并且等于被加密对象f(x,y)模的二次方与二维冲击函数的乘积,不具备加密的功能。因此需要引入第二个随机调制板,即频域内的随机相位板exp[i2πb(μ,ν)]。下面证明,在引入随机相位函数exp[i2πb(μ,ν)]后,系统的输出密文ψ(x,y)为平稳随机白噪声。根据式(1)和二维离散卷积的定义,可得
这里假设信号f(x,y),n(x,y)以及h(x,y)为大小为M×N的矩阵。为了研究二维随机过程ψ(x,y)的统计性质,计算ψ(x,y)的自相关函数。根据自相关函数的定义可知
因为n(x,y)和b(μ,ν)互相独立,同时考虑式(2),有
由于n(x,y)为均值为零的白噪声信号,在式(3)中已经得到
同时,也容易证明
根据二维离散傅里叶变换的定义,有
进而可以计算出来:
参照式(10),(11)将式(12)化简得到
综合式(7),式(8),式(9),式(13)可以得到:
式(14)意味着密文ψ(x,y)的自相关函数为二维冲击函数,表明其为平稳的二维随机白噪声。在这种情况下,作为密钥的随机振幅板及随机相位板分辨率很高,因而密钥空间很大,在不知道密钥信息的情况下,很难通过盲反卷积运算恢复图像,具有较高的安全性。关于平稳白噪声对于盲反卷积攻击以及暴力攻击的鲁棒性,文献[6]中给出了详细的论述。
解密方法是加密方法的逆过程。首先,对密文ψ(x,y)傅里叶变换后,在频谱平面上除以频域密钥exp[i2πb(μ,ν)],再经傅里叶逆变换并除以空域密钥n(x,y)调制,即可恢复出f(x,y)。
2 计算机模拟结果
为了验证所提方法的有效性,在PC机上使用MATLAB7.0进行了实验。用来进行加密的是一幅灰度图peppers(512×512×8 bit),在图2(a)中给出。用本文提出的随机振幅-相位编码虚拟光学系统进行加密,所采用的空域振幅密钥服从参数为(0,1)的高斯分布,频域相位密钥为均匀分布。图2(b),图2(c)是加密后图像的实部和虚部,可以看出,加密后的信号为白噪声信号,与原始图像无任何相关性,这证实了第1部分的理论分析。
下面证实该方法对暴力攻击的有效抵抗性。为了便于比较,采用相关系数(Correlation Coefficient,CC)来描述恢复出来的图像fr与原始图像之间f的符合程度。相关系数被定义为[15]
其中E表示求数学期望,这里省略了函数坐标。在对密码系统进行密码分析时,通常认为攻击者已经知晓密码算法的工作过程,即满足Kerekboffs假设[16]。图3(a)给出了在密文被截获的情况下,攻击者使用随机选取的错误的密钥得到的解密结果,此时相关系数cCC=0.004 7,可见这种解密结果与原始明文无任何相关性。图3(b)给出了使用正确密钥得到的解密结果,此时相关系数cCC=1.000 0,恢复出来的原始明文与真正的原始明文完全一致,同时证实了本方法的无损性。
3 几点讨论
3.1 系统对随机振幅板的要求
在Refregier和Javidi的文献中指出,用于加密的双随机相位板的相位分布应该是位于[0,2π]之间的均匀分布的二维白噪声矩阵[6],这个要求限制了随机相位板的可选择空间,使得攻击者清楚的知道密钥的统计特性,这对系统的安全性来说是一个潜在的威胁。而本文提出的随机振幅-相位加密系统,对于空域随机振幅板,只要求是期望为零的白噪声,对其概率密度函数没有要求,可以选择为高斯分布、均匀分布等等。这样会使得随机振幅板有充分的选择空间,从而会对攻击者破解系统造成极大的困难。在第2部分的模拟中使用的随机振幅板为满足高斯分布的零均值随机矩阵,在图4中给出了使用随机振幅板为均匀分布的零均值随机矩阵的加密结果。比较图4和图2可以看出,使用两种随机振幅板的加密效果相同,这进一步证实了上述分析。这种由于附加参数的多样性从而增加攻击困难的分析可参考文献[17],这是其对于双随机相位编码系统的优越性之一。
3.2 频域密钥泄露情况下系统鲁棒性讨论
对于双随机相位编码系统来说,其频域密钥一旦泄露,在加密的对象为实值图像的情况下,攻击者在不需要获取空域密钥的情况下可以获取完整的原始明文信息,这是其致命弱点之一。相比之下,由于本文提出的系统首先对原始图像的振幅进行调制,因此即使在频域密钥exp[i2πb(μ,ν)]泄露的情况下,攻击者依然不能获得原始明文信息。我们对此性质进行了计算机模拟,其结果在图5中给出。图5(a)是双随机相位加密系统频域密钥泄露情况下攻击者所获取的明文信息,此时相关系数cCC=1.000,可见其与原始明文完全一致,这显示了其对于部分密钥泄露攻击的脆弱性。图5(b)是随机振幅-相位编码系统频域密钥泄露情况下攻击者所获取的明文信息,此时相关系数cCC=0.007 7,这表明其与原始明文几乎没有相关性。这是本方法对于双随机相位编码系统的优点之二。
3.3 系统的物理实现问题
由于在系统的设计中假设随机振幅板为期望为零的白噪声,则振幅调制数值必然存在负数的情况,由于负幅度在物理上无法实现,因此该系统只能用计算机模拟的虚拟光学系统来实现,这是其局限性之一。
4 结论
本文提出了一种新的虚拟光学加密系统,即随机振幅-相位编码加密系统。使用统计学理论证实了该方法与双随机相位加密系统具有相同的加密效果,可以把实值图像或者复矩阵加密成平稳的复随机白噪声。其特点在于不知密钥的情况下,不能通过暴力攻击的方法破解系统。特别需要指出的是,该系统相比于双随机相位加密系统具备一些突出的优越性,即其对加密密钥的统计学要求更低,同时抵抗攻击的能力更强。其局限性是该系统只能用数字模拟的虚拟光学系统实现,不能够使用物理元件实现。
摘要:通过对双随机相位编码光学加密系统中空域的随机相位模板进行置换,提出采用随机振幅-相位模板对图像进行加密的新方法。理论分析表明,当随机振幅板为零均值白噪声且与频域相位板统计独立时,被加密图像的自相关函数为二维冲击函数,表明原始图像被加密为平稳的复随机白噪声,因而可以抵御盲反卷积攻击。采用计算机进行模拟,证实了所提方法的有效性。最后讨论了该方法相对于双随机相位编码系统的优越性:对空域密钥的统计学要求更低、在频域密钥泄露情况下系统鲁棒性更强。但是,由于物理上不存在幅度为负值的光波,因此该系统只能使用数字虚拟的方法来实现。
编码加密 篇3
关键词:音频加密,Lorenz混沌系统,Logistic混沌系统,MP3编码
0 引言
随着通信与计算机技术的飞速发展, 世界已经进入了信息化的时代。人们可以利用数字设备来处理图像、语音和视频等信息媒体, 并通过网络来传播, 多媒体技术的发展给人们带来了巨大的便利。然而, 这也被非法侵权者所利用, 各种数字盗版产品在市场上流动, 严重损害了所有者的产权, 同时抑制了制作者的创作积极性。因此, 数字产品的知识产权的保护是迫切需要解决的问题。
多媒体信息中的音频是其重要的组成部分, 因此音频加密成了研究的重点。音频加密的方法主要有两类, 部分加密和完全加密[1,2,3]。当数据量较小时可以采用完全加密, 这样就省去了对音频编码的格式的考虑, 从而缩短了开发时间。然而, 在现实中往往要加密数据量较大的音频, 若采用全部加密, 必定导致效率低下。若采用部分加密, 可以在安全性得到保证的前提下大大提高效率。
本文提出的一种使用Lorenz混沌系统, Logistic混沌系统和MP3编码过程相结合的音频加密方法, 采用部分加密的方式, 符合大数据量音频加密的要求。通过对MP3编码的分析, 加密MP3中的重要信息, 提高了加密的效率, 同时选择混沌流密码加密, 不仅降低了成本, 还进一步提高了密码的安全性。
1 MP3加密数据选择
根据压缩质量与编码复杂程度, MPEG-1划分为3层, 层次越高, 编码器越复杂, 压缩率越高。MP3是音频压缩的第三层。
MP3编码算法[4]主要包含时域频射 (多相滤波器组与MDCT[5]变化) , 心理声学模型[6], 量化编码 (比特分配与Huffman编码) 和比特流格式化。多相滤波器组把输入的数字音频信号按频率分成32个子代, 由MDCT补偿, 生成576个MDCT系数。由心理声学模型的计算结果, 576个MDCT系数被分成带有消减量化噪声的比例因子[7]的多个因子带, 控制量化噪声在不易被察觉的频带。量化后, 经由Huffman编码进一步压缩后, 再以比特流格式化生成比特流。由Huffman编码的特点可知, 在解码时, 必须按照霍夫曼编码表才能正确译码。
MP3文件的结构[4]大体可分成三部分:TAG_V2、Frames、TAG_V1 (可选) 。MP3文件基本是由帧构成的, 帧分为帧头和音频数据两部分, 帧头是固定的4字节, 其后是帧的音频数据。音频数据由边信息、主数据和附加数据组成。边信息主要包括主数据的起始位置、反量化和霍夫曼编码等相关资料。主数据是经过压缩和处理后的音频数据, 而主数据中, 最重要的信息包括比例因子和霍夫曼码。
综上可知, 可以利用混沌流密码加密帧内的比例因子和霍夫曼码, 这不仅保证了安全性, 而且提高了效率。
2 混沌系统
混沌来自于非线性动力系统, 而动力系统描述的是任意随时间变化的过程, 这个过程是确定性的、类似随机的、非周期的、具有收敛性的, 并且对于初始值有极敏感的依赖性。这些混沌运动的特征使混沌系统适合于数字信息的加密。
Lorenz混沌系统[8]是一种三维的混沌系统, 它的动力学方程为:
式中a, b, c为系统的参数, (x, y, z) 为系统轨迹。
当a=10, b=8/3, c=28时, Lorenz系统进入混沌状态。根据这些参数, 可以得到Lorenz混沌系统的吸引子数值仿真结果, 如图1所示。
Logistic混沌系统[9]是二维的混沌系统, 它的动力学方程为:
a是Logistic混沌系统的参数, 为一个常数, 0≤a≤4。当x∈[0, 1]时, Logistic映射工作处于混沌状态, 即初始条件X0在Logistic映射作用下产生的序列是非周期的、不收敛的。由图2可知, 在a越接近4的地方, x取值范围越能平均分布在0到1的区域, 因此选取的Logistic参数越接近4越好, 本文选取a=4。
当x1=0.4与x1=0.401时, 可比较仿真结果, 由图3可见 (带*的为x1=0.4时的分布图, 不带*为x1=0.401的分布图) 系统对初始条件非常敏感, 即使当初始条件存在很小的差别, 在一段时间后, 也会得到完全不一样的结果。
3 加密算法
本文基于MP3编码过程, 利用Lorenz混沌系统与Logistic混沌系统生成的混沌表作为加密序列对MP3音频文件加密。
(1) Lorenz混沌系统的初值设定为x0, y0, z0, 迭代n次后产生xn, yn, zn, 并取其小数得到Xn, Yn, Zn。
(2) 分别用Xn, Yn, Zn作为Logistic混沌系统的初值, 迭代m次生成m*3的混沌表{Xi;Yi;Zi}。
(3) 当0≤Xi<0.5时, 取Yi, 0.5
MP3音频加密流程图如图4所示。
4 结束语
本文给出了利用两个混沌系统生成混沌表, 结合MP3编码过程对音频文件进行加密的算法。如图5为加密前, 加密后, 解密后的部分波形图。分析和仿真都表明, 混沌系统对初值的敏感性极高, 并具有不可预测性。利用混沌表产生的混沌序列有着很好的伪随机的特性, 加强了对音频文件的保密强度, 同时又根据MP3编码过程对文件进行部分加密, 提高了加密的效率。
参考文献
[1]葛龙, 廉士国, 孙金生, 等.基于参数敏感性的MP3音频选择加密方案[J].计算机应用研究, 2006 (10) :122-127.
[2]朱志良, 张伟, 于海.基于Lorenz混沌系统的MPEG视频加密算法[J].计算机应用, 2008, 28 (12) :3003-3006.
[3]Servetti A, DeMartin.Perception-basd partial encryption of compressed speech[J].IEEE Transactions on Speech and Audio Proceeding 2002, 10 (8) :637-643.
[4]曹强.数字音频规范与程序设计:基于Visual C++开发[M].北京:中国水利水电出版社, 2012.
[5]Goo-Rak Kwon, Chuntao Wang, Shiguo Lian, et al.Advanced partial encryption using watermarking and scrambling in MP3[J].Multimedia Tools and Applications 2012, 59 (3) :885-895.
[6]张力光, 王让定.心理声学模型及其在MP3编码中的应用[J].宁波大学学报:理工版, 2010 (3) :27-31.
[7]文仁轶, 潘峰, 申军伟.针对MP3压缩域比例因子的音频水印算法[J].计算机工程与应用, 2012 (27) :58-62.
[8]姚翔辉, 禹思敏.基于Lorenz混沌系统的数字视频加密[J].微型机与应用, 2011, 30 (4) :41-43.
编码加密 篇4
针对文献[12 - 14]存在的问题,本文提出的算法利用MQ算术编码器对数据快速自适应概率估计的特性,使用其对EZW编码进行改进,结合chebyshev映射对初值、参数的高敏感性和线性反馈移位寄存器( Linear Feedback Shift Register,LFSR) 的简单易实现来产生混合混沌序列,并将其作为流密钥对比特平面编码产生的上下文和判决进行修正。加密过程约束在比特平面编码和熵编码之间进行,并不破坏小波变换后各分辨率子带系数间的相关性。仿真结果表明,该算法不仅具有很好的安全性能和压缩效率,而且具有较高的时间效率。
1 MQ编码器简述与加密可行性分析
MQ编码器是一种基于上下文CX( Context) 的自适应二进制算术编码器,其自适应的概率估计模型能够使输出的码长逼近信源的熵,已经广泛应用于JPEG2000、H. 264等图像和视频压缩编码算法[15,16]。CX用于选择编码判决D( Decision) 时所用的概率估计值,可以很好地降低信源的相关性。利用条件交换和概率估计状态机中的贝叶斯学习过程实现符号概率模型自适应过程,并采用位填充技术解决编码中的进位问题,是一种高效率物理可实现的压缩编码算法。其算法如图1 所示,CODE0 与CODE1 编码过程类似,未予列出。
由图1 知,根据判决D的不同分别进行CODE0 或者CODE1 编码过程。I( CX) 用于索引Qe值,根据概率估计结果的不同对D进行大概率符号编码( CODEMPS) 或者小概率符号编码( CODELPS) 。因此,可以使用密钥对D进行修正来改变原来的CODE0 或者CODE1 编码过程,进而改变原来的CODEMPS或者CODELPS编码过程; 同时,也可以使用密钥对CX进行修正,并通过I( CX) 索引获得新的Qe值来改变原来的概率空间,从而使得最后调用byteout( ) 函数输出的码流发生变化来实现算术加密。
2 改进零树编码
零树编码是由Shapiro提出的一种基于小波变换和比特平面编码的方法[17],利用了小波变换后各级子带系数在空间上和方向上所呈现出的带间相似性进行数据压缩,本文引入MQ算术编码器对其进行改进,改进零树编码的框图如图2 所示。
由于MQ编码器有CX和D两个输入参数,现对比特平面编码产生的判决使用相邻系数或者相邻集合的重要性进行分类,称之为系数上下文或集合上下文。与优化截断的嵌入式分块编码( Embedded Block Coding with Optimized Truncation,EBCOT)[18,19,20]算法一样,系数上下文进一步细化为零编码上下文、幅值细化上下文、符号编码上下文,其具体计算方法与EBCOT中的一致,这里不再赘述。下面阐述集合上下文的形成过程。以三级小波变换为例,零树结构如图3 所示。本文对具有相同分辨率的相邻集合重要性进行分类来形成集合上下文CXS,集合的邻居关系如图4 所示,将8 个邻居形成的256 种上下文合并成4 种集合上下文[13],CXS表示为
其中: “| ”表示逻辑或运算,V0,V1,H0,H1,E0,E1,E2,E3表示X的邻居,其取值为{ 0,1} ( 其中0 表示不重要,1 表示重要) 。
3 图像联合压缩加密
3. 1 密钥的产生
本文采用chebyshev混沌映射迭代运算来产生混沌序列,并将其与基于LFSR产生的m序列进行非线性运算来生成最终的混合混沌序列密钥,密钥生成过程如图5所示。
chebyshev混沌映射的迭代方程为
其中: k表示阶数,当k ≥2 时具有正的Lyapunov指数值。将初始值x0代入式( 2) 不断迭代即可得到实值混沌序列,将混沌值xn( xn≤ 1) 转换为二进制混沌序列的具体过程与文献[14]一致,不予赘述。但由于计算设备精度的限制,产生的混沌序列存在一定的周期S 。
设ni级LFSR产生的m序列的周期为Ti,则非线性序列x2[n]的周期为
其中r表示m序列的组数。显然,经非线性函数运算后,密钥序列的复杂度会得到很大的提高。
3. 2 压缩加密算法的实现
本文提出算法的原理如图6 所示。
使用MQ编码器对EZW算法进行改进,直接对离散小波变换后零树的集合重要性和系数重要性进行编码,将混合混沌序列作为流密钥对比特平面编码产生的数据对( CX,D) 进行修正,并将修正后的( CX1,D1) 送入MQ编码器进行熵编码,从而实现联合压缩加密。因为( CX1,D1) 改变了MQ编码时的概率空间,所以MQ编码器不仅提高了数据的压缩效率,而且在数据压缩的同时实现了算术加密。解密解压缩的过程与之相反,不予赘述。下面分别阐述判决修正和上下文修正的加密原理。
1) 基于判决修正的算术加密原理如下:
设D = ( d1,d2,…,dN) 表示比特平面编码产生的长度为N的二进制判决矢量,定义一种运算
其中key表示图5 所产生的混合混沌序列密钥,D1=( d11,d12,…,d1N) 也是长度为N的矢量,且每个元素仍然是二进制的。即利用流密钥对判决进行某种修正来改变原来的判决,进而改变MQ编码时的概率分布,从而实现算术加密。
设key1表示解密密钥,D'=(d'1,d'2,…,d'N)表示解码后的判决矢量。当key1=key时,D'=D。显然式(4)定义的运算应满足
其中f-1为式( 4) 对应的逆运算,即要求式( 4) 定义的运算对正确密钥是可逆的。本文采用异或运算对判决进行修正,每使用一次流密钥进行加密后将其移位一次,以供下一次判决修正使用。
2) 基于上下文修正的算术加密原理如下:
设原始上下文CX对应的取值范围为( m,m + 1,…,m + L) ,经密钥修正后的上下文CX1对应的取值范围为( m,m + 1,…,m + L') ,其中m为该类上下文的初始值,L,L' 分别表示原始上下文CX和修正上下文CX1的种类。上下文修正可以表示为
其中,g( ) 为某种运算,key表示图5 所产生的混合混沌序列密钥,n表示该类上下文出现的顺序。使用式( 6) 进行上下文修正需要满足以下要求[13]:
( 1) 因为MQ编码器的概率跳转规律由上下文和判决共同确定,这就要求原始上下文和修正后的上下文必须在MQ编码器所使用的上下文的范围之内,否则会改变不同类别上下文的概率分布,从而导致压缩效率的降低;
( 2) 若在加解密过程中使用相同的流密钥代入式( 6) 对比特平面编解码产生的上下文进行修正,则送往MQ编、解码器的上下文就会相同,进而不会产生上下文引起的解密错误。因为加解密使用相同的运算进行修正,所以式( 6) 不需要是可逆的;
( 3) 对于给定的原始上下文CX和密钥key ,对于不同的n ,经式( 6) 修正后的上下文CX1不能总是固定值,否则不能改变MQ编码时的概率分布来实现算术加密。
为满足上下文修正提出的三条要求,本文在每次加密前先对流密钥key进行移位,再取移位后的最低若干位二进制数据dk与原始上下文CX进行运算,表示为
其中: mod( ) 表示取模运算,m表示该类上下文的初始值,Lm表示修正上下文CX1的种类。
4 实验结果和数据分析
对本文提出的算法进行仿真,具体过程如下:
1) 将原始图像进行三级( 9,7) 离散小波变换,形成3个不同分辨率的子带;
2) 实验选取r = 4 ,k = 8 来产生混合混沌序列。为3 个不同分辨率的子带分配3 组不同的密钥初始值,随机选择对应于不同分辨率级数l的LFSR和Chebyshev映射的初始值如表1。
对应不同LFSR级数的反馈函数如下
本文提出的算法中非线性函数表示为
其中,“ ”表示对m取反运算,“⊕ ”表示异或运算。
3)将生成的混合混沌序列作为流密钥对比特平面编码产生的( CX,D) 数据对进行修正,并将修正后的( CX1,D1) 送入MQ编码器进行熵编码,从而实现图像联合压缩加密。
4. 1 重构图像的质量分析
采用大小为512 × 512 的标准8 位灰度级图像( Pepper,Barbara,Lena) 对所提出的算法进行仿真,当码率分别为0. 50 bpp( bit per pixel) 、0. 75 bpp、1. 00 bpp时,重建图像的PSNR值如表2 所示。从表中可以看出,相对于原始EZW算法,在使用MQ编码器对EZW压缩算法进行改进后,重构图像的PSNR值提高了2 d B左右; 在使用混合混沌序列作为流密钥对比特平面编码产生的数据对( CX,D) 修正进行算术加密后,重构图像的PSNR值提高了1 d B以上。
dB
4. 2 重构图像的安全性能分析
针对文献[13]使用固定密钥不能很好抵抗攻击的缺点,本文使用混合混沌序列作为流密钥来进行加密,下面分别从密钥空间、密钥敏感性、明文敏感性、加解密速度对本文提出的算法进行分析。
1) 密钥空间: 因为二元域的异或相当于相加运算,结合式( 3) 和表1,则生成的混合混沌序列密钥的周期P为
其中S和T分别表示混沌序列x1[n]和非线性序列x2[n]的周期,h( S,T) 表示求二者的最小公倍数。本文分别为3 个不同分辨率的子带产生了256 × 128 = 215bit的流密钥,相应的密钥空间为23 ×215bit。因此,算法拥有足够长的密钥周期和密钥空间,能够很好地抵抗穷举攻击。
2) 密钥敏感性测试: 利用混沌现象对初值的敏感性,将Chebyshev映射密钥初始值的最后一位加1 或减1来测试密钥的敏感性。仅对l = 3 时的Chebyshev映射秘密初始值由x3= 0. 735 196 280 479 536 改为x3= 0. 735 196 280 479 537 ,其他的密钥初始值不变。对上下文和判决进行修正,然后逐位比较两种情况下产生的密文序列,并计算其比特变化百分比。对Pepper,Barbara,Lena测试的结果如表3 所示。实验表明,在不同的码率下,位变化百分比相同且都在50% 左右,说明密文对密钥是敏感的。
3) 明文敏感性测试: 为测试明文敏感性,任意选取明文图像几个不同位置的像数值与1进行异或,然后使用相同的密钥对上下文和判决进行修正。随机选取Pepper,Barbara,Lena图像的( 35,78 ) 、( 69,483 ) 、( 218,256 ) 、( 379,18) 、( 492,508) 五个位置的像数值在码率为1. 00 bpp时进行测试,并将其位置顺序编号。逐位比较两种情况下产生的密文序列,计算比特变化百分比如表4 所示。从表中可以看出,不同位置的微小变化,位变化百分比都在50% 以上,说明明文对密钥是敏感的。
4) 加解密速度: 对上下文和判决修正的情况进行测试,实验结果列于表5 中。从表中的数据可知,加密时间占算法总时间的百分比均小于15% ,即通过增加相对短的时间进行加密来增加图像的安全性能是可行的。表中的加密时间表示加密时间占总时间的百分比。
4. 3 与其他压缩加密算法的比较分析
将文献[14]提出的EZW + 密文反馈压缩加密同步算法和文献[12]提出的SPIHT + SHA - 1 先加密后压缩的算法与本文提出的算法进行比较,采用Lena图像进行测试,结果列于表6 中。结果表明,相对于前者,本文提出算法的加解密速度有了很大的提高,因为本文使用流密钥进行加密,而文献[14]对MQ编码器每生成一个字节的码流就将其反馈到密钥发生器进行重新迭代,因混沌映射的高精度迭代次数太多导致加密时间太长,降低了整个系统的运行效率。相对于后者,本文提出算法的图像重构质量PSNR值提高了2 d B,因为本文引入MQ编码器进行再压缩,而文献[12]先对小波系数加密,使得小波变换后各子带系数间的相关性被破坏,从而降低了图像的压缩效率。
注: t加 + 解为加解密总时间; rt加为加密实践占比; P为PSNR。
4. 4 分辨率选择性加密
本文为不同分辨率的小波子带系数分配了不同的密钥初始值,实现了分辨率选择性加密。对上下文和判决进行修正,采用Pepper图像进行测试,不同分辨率级数l密钥错误时的重构图像相对于正确解密时的效果如图7 所示。由图7 可知,重构图像的视觉质量随子带分辨率的降低而下降,因为离散小波变换使得图像的能量分布随子带分辨率的降低而增加。因此,三级子带密钥出错使得重构图像的视觉质量最差。
5 小结