数字加密(精选8篇)
数字加密 篇1
1引言
随着物联网与大数据时代的逐步来临,图像信息传输将逐步成为主要信息源。 图像信息在传输中,有许多图像需要进行保密处理,为了加强图像传输安全,人们提出了各种加密方案。 近年来发展的混沌图像加密技术, 是一项高效实用的加密技术。 混沌图像加密技术是把待加密的图像信息,按照某种编码方式采集成二进制数据流,利用混沌信号来对图像数据进行加密。
基于混沌的图像加密技术,充分利用混沌信号具有的非周期性、连续宽带频谱、类似噪声的特性,使得它具有天然的隐蔽性。 混沌图像加密技术具有对初始条件和微小扰动的高度敏感性。 同时混沌信号具有长期不可预见性和隐蔽性,使得混沌加密技术适宜保密通信。 本文采用Logistic混沌映射加密技术与Arnold变换对数字图像进行复合混沌算法研究。
2图像混沌系统基础
2.1 Arnold置乱变换
Arnold变换是将 一幅N ×N的数字图 像的二维Arnold变换定义为:
其中 :x,y∈{0,1,2,...,N-1} 表示变换 前像素的 位置,(x',y')表示变换之后的像素位置,mod为模运算。
一般情况Arnold变换式为:
数字图像可以看为一个二维矩阵, 经过Arnold变换之后图像的像素位置会重新排列,这样图像就会呈现随机性特征,从而实现了对图像的置乱加密效果。
2.2 Logistic混沌映射
混沌是一种非线性无规则的运动,是在确定性非线性系统中不需附加任何随机因素也可出现的一种内在随机 性 , 因此其伪 随机行为 能够准确 再生 。 如一维Logistic映射从数学形式上来看是一个非常简单的混沌映射,该类系统具有极其复杂的动力学行为,其数学表达式如下:
其中:xi∈(0,1)且xi∈Vi(i=1,2,...n)
x'j∈Vj(j=1,2,...n),μ∈[1,4];Vi→Vj是一个映射。
由于(3)式中 μ、x0参数的不 确定性 ,直接决定 了Logistic映射x'j的不确定 性 。 研究表明 , 当3.5699456<μ<4时,Logistic映射呈现混沌态 。 混沌系统的这些特性与密码学要求的扩散、置乱和随机特性相吻合,因此在保密通信领域应用非常广泛。
但是, 如果数字图像加密方案仅采用一维混沌系统 , 其数字图 像传输的 安全性是 不高的 。 由于二维Logistic映射具有一维Logistic映射复合形式 ,又具有多维混沌系统多参数、行为复杂的特点。 本文充分利用二维Logistic映射进行数字图像加密处理, 特别是针对诸如RGB、CMYK、LAB等颜色模式图像,进行分量加密。 二维Logistic映射的动力学方程如下。
其中:μ∈(0,2),xi、yi∈[-1,1]。
3混沌系统的加(解)密算法
3.1图像加密设计
本文针对RGB色彩模式图像, 采用Logistic混沌、 魔方变换以及Arnold变换分别对R、G、B分量灰度进行置乱加密,流程图如图1所示。
3.2图像加密算法实现
(1)Logistic混沌算法
4实验仿真分析
4.1加密前后R、G、B分量图像对比
4.2加密前后R、G、B分量频谱图对比
4.3相邻像素相关度分析
研究表明,图像置乱效果的好坏与相邻像素相关性的大小存在反比关系, 相关性越大, 置乱效果越差, 相关性越小, 置乱的效果越好。 测试置乱图像的水平( 垂直), x和y相邻像素灰度值的相关性方法如下 :
其中:E(x)数学期望,x是像素的灰度值,N是像素数。
其中:D(x)是x的方差。
其中:X像素的灰度值,Y像素的灰度值,cov(x,y)是x,y的协方差。
其中:rxy是相关系数。
实验中, 针对256×256像素的Lena灰度图像,进行加(解)密后,分别对应抽取水平和垂直方向相邻像素256×256对, 利用公式(5)~(8)分别计算其水平 、垂直以及对角线方向相邻像素的相关系数, 求得的结果如表1所示。
4图像加密灵敏度分析
在加密算法中密文对于密钥的敏感依赖,直接决定加密算法效果。 如果密文对初始密钥不敏感,一般称密文对于初始密钥的敏感性弱。 敏感性弱导致的后果,就是给密码分析者留下可乘之机,利用多个仅有微小差别的初始密钥所生成的密文,通过选择密文攻击手段就可以分析出初始密钥和相应的明文。
本文算法中, 将混沌映射的系统参数 μ 和初值x0作为密钥, 而Logistic映射对混沌态初始值是很敏感的,这就确保了此加密方案对密钥的敏感性。 改变密钥中的某一位,通过对改变前后图像的加密效果的比较,进行密钥敏感测试。 对加密敏感性分析,是利用修改两个系统参数进行。 在实验中,对Lena图像以 μ=2, X0=0.6182为初始密钥, 密钥参数修改为 μ=2,X0=0.61820000001, 然后对密文的变化进行对比。 通过对密文比较,密钥即使发生很细微的变化,解密后的图像与原图像都有很大的差异,通过现象相关性计算发现,在以上加密密钥中发生微小变化,密文数据的变化率接近到99.6%。
5结束语
本文提出了一种位置置乱和灰度置乱的复合数字图像加 密算法 。 算法利用 改进的Arnold变换结合Logistic混沌映射对数字图像进行分量置乱 , 充分利用了二维Logistic混沌映射的优势,以及Arnold基于行和列的灰度置乱变换, 实现了对数字图像的复合加密。 由于该算法以混沌映射的初始值为密钥,使得算法对密钥具有很强的敏感性, 实现了具有足够大的密钥空间。
实验通过MATLAB仿真, 结果表明该算法能够取得很好的数字图像加密效果, 证明算法高效可行, 代码实现容易。
数字加密 篇2
关键词:数字水印鲁棒性隐蔽性易提取性
1.引言
互联网的发展带动了众多行业的传播,同时带动了信息时代的飞速发展,资源共享已经成为网民获取信息的重要手段之一。在这高运转的信息时代中,逐渐暴露出越来越多的信息安全方面的问题。例如:在网络上出版的图书、政府文件、杂志等都称为数字文档,这些都是可以通过网络复制的,并且复制后的文档与原文档一模一样,当出现侵权时,就没有确切的证据来显示产品的版权所属。另一方面,如果一些政府公文经过复制、修改被一些不法分子利用,为自己获取权利,这都严重的影响社会的稳定。所以数字产品的知识版权问题已经成为互联网中亟待解决的问题。
传统的加密方法是给文本使用密码加以保护,文档数据仅能从发送者到接收者的传输过程中通过密码来保护。在加密信息一旦被接收解密后,所有加密的文档就与普通文档一样,不再受到保护,无法防止被篡改和盗用。所以传统的密码技术仅仅只是从外部进行保护,并不能真正对文档的内容实现加密,为了解决这一难题,近几年国际上提出了一种新的数字产品著作权保护技术——数字水印加密技术,它将具有特定意义的数据、序列或者图形,嵌入在文档、图像、声音等数字产品中,再不影响原始数据的前提下来保证作品的所有权。目前,水印加密技术的研究主要集中在图像、视频、音频文件上,因为该类文件中存在大量的冗余信息,我们就可以将一些加密信息隐藏在冗余信息中而不被外界察觉。而文本文档中没有大量的冗余信息,一旦在文档内部加入其它信息就很容易被发现,不易实现加密的效果,所以文本数字水印加密技术更加成为迫在眉睫的问题。
本文对近年来文本数字水印加密技术进行简要的分析和总结,帮助读者运用数字水印加密算法对自己所从事的专业出版物进行版权保护。
2.常用文本数字水印技术分析
本文主要讨论文本文档的数字水印加密技术,首先了解数字水印技术的几项基本特征:
(1)鲁棒性:指在经过常规信号处理操作后能够检测出水印的能力。
(2)安全性:指不能轻易的被第三方破解。
(3)隐蔽性:指嵌入数字水印之后的文档不影响原始价值,不易被发现。
(4)易提取性:从嵌入水印后的文档中提取信息的算法最好简单些。
在满足上述几种特征后嵌入的水印信息就能充分保证文档的版权,在此,我们重点介绍以下两种算法。
21基于文本结构水印算法
每一个文本文档都有特定的格式,这些格式在传播过程中会随着文档一起复制,加密算法可以将数据信息嵌入到文本的格式中去,通过人眼难以分辨的视觉范围来进行加密。采用这种思想最经典的算法就是Brassil和Maxemchuk等人提出的3中隐藏信息的方法。
(1)行间距编码
文档中的行间距是一个比较容易被大家忽略掉的格式,大家普遍认为若有不同的行间距,肉眼就能分辨出,所以无法通过修改行间距来嵌入数据信息。然而,资料显示,当垂直位移量小于或等于1/300英寸的时候,肉眼就无法分辨出来,行间距编码就是利用这一原理,在文档中每隔一行嵌入水印信息,与其相邻的行不移动位置来作为参考,若要嵌入的水印信息为“1”,则该行上移,反之,要嵌入的水印信息为“0”,该行下移。所有要嵌入的信息都可以转化为二进制编码,这样就可以把水印信息通过调整行间距而不被人发现的方法进行加密。例如,要嵌入的水印信息二进制编码为“01000100010010110001000101100010”,然后选取要嵌入信息的文档,确定该文档中需要移动的行以及不移动的行,接着按照该水印信息的顺序依次调整需要改动的行,将信息嵌入。
(2)字间距编码
字间距编码的原理与行间距编码的类似,通过调整一行中某些字符的水平位置来嵌入信息,某些字符左移或者右移,与其相邻的字符不动作为参考。同样,资料显示,1/150英寸以内的水平位移量是人眼无法分辨的。但是字间距编码和行间距编码不同的是,原文档的行间距一般相同,而字间距不一定都相同。所以,行间距解码是不需要原文档作为参考的,而字间距编码的文档就需要和原文档进行比对来解码。
(3)特征编码
特征编码的原理是改变某些字母的高度、大小、字体、颜色、下划线、底纹、边框等方法嵌入水印信息。利用相近的特性替换字符,不同特性的字符用来表示嵌入信息的“0”和“1”。
在数字水印技术中,鲁棒性是指在经过常规信号处理操作后能够检测出水印的能力。所以,任何一种水印加密算法都要通过鲁棒性测试才能保证万无一失。上述三种方法都是基于带格式的文档嵌入水印信息,第一种利用行间距编码嵌入的水印信息容量有限,虽然后两种方法可以嵌入大量的水印信息,却需要参照原来的文本,因此,鲁棒性不是很强。我们在使用的过程中,可以将三种方法综合起来,在同一文档中既使用行间距编码,在各行中也使用字间距编码,这样即使一种编码被破坏了还有另一层保障,大大的增加了其鲁棒性。
22基于文本内容水印算法
文本文档的两大要素就是文档内容和格式,所以给文本嵌入水印信息除了以格式为载体外,还可以设计算法将信息嵌入文档内容中。目前,基于文本内容的水印算法主要采用同义词替换的原理对信息进行加密的,在尽量保持原有句子含义不变或相近的基础上,对主要关键词语进行同义词的替换。一般情况下,一片文档中会有很多词语都具有同义词,例如,“事情”与“事件”、“特点”与“特征”等,这些同义词放在一起就可以构成一个同义词替换表,需要替换的词就嵌入加密信息编码中的“0”,不替换的词就嵌入“1”。此种方法中,文档中所能容纳的水印信息的容量很大程度上取决于定义的同义词替换表的大小,替换表中同意词组越多,可容纳的水印信息容量也越大。利用同样的原理,我们还可以将文档中的中文标点符号和英文标点符号进行互换来嵌入水印信息。例如,用英文逗号来替换中文逗号,英文问号来替换中文问号等,凡是这种英文标点和中文标点类似
的都可以进行替换。
除此之外,基于文本内容的水印算法也可以通过改变句子的结构,在这简述下面几种变换方式:
一、调整句子中有些词语的位置,二、主动形式变为被动形式,三、添加一些无关紧要的句子。下面我以句子“目前,苹果公司占据着市值第一的宝座”为例,依次用上述三种方式来改变句子的结构的结果为,“苹果公司目前占据着市值第一的宝座”、“市值第一的宝座被苹果公司占据着”、“正如我们预料的,目前苹果公司占据着市值第一的宝座”,这些改变前后的句子二进制代码发生了改变,但是句子的原有含义不变,这种改变内容嵌入水印的算法不太容易被用户或者电脑识别或者破解,鲁棒性较强。但是自然语言千变万化,改变结构后有可能造成句子有歧义,这都是不可避免的,因此,此项研究还需要进一步完善。
3.结束语
本文介绍的几种数字水印加密技术都是以文本文档为载体的,因为,文本文档较图像、音乐、视频等其他类型的文件传播的范围更广,应用的领域更多,而文本文档又没有那么多的冗余信息可以嵌入数字水印,因此,需要更多的人投入到这项技术的研究中来。与教师职业切身相关的就是目前各项网络教育平台的建立,需要有更多的教师参与进来,提供教学资源上传到互联网上,使用基于文本的数字水印技术对资料进行保护,就能更好的推动网络教育技术的发展。需要读者注意的是,在给文本文档进行水印加密的同时,一定要保证文档加密后有较好的鲁棒性、一定的安全性、以及较强的隐蔽性,还要有方便提取水印信息的算法,才能是一个完善的数字水印加密技术。
目前基于文本文档的数字水印技术仍是一门新兴的科学,各项研究都不太完善,但是,就其发展前景来说是不可小视的,随着各个领域的深入研究,相信这项技術今后定会成为文本版权保护的重要手段,我们期待着更好的研究成果的出现,为互联网中的信息安全问题建立一套可靠的屏障。
参考文献:
[1]王炳锡数字水印技术.西安:西安电子科技大学出版社.2003
[2]尹浩,林闯,邱锋等数字水印技术综述[J]计算机研究与发展,2005
[3]鲁芳,孙星明.基于汉语拼音的鲁棒性文本水印算法[J].计算机工程与设计,2006
[4]张宇,刘挺,陈毅恒等.自然语言文本水印[J].中文信息学报,2005
[5]孙圣和,陆哲明,牛夏牧数字水印技术及应用[M]北京:科学出版社,2004
数字语音加密系统的硬件设计 篇3
关键词:AD73311,AMBE-2000,加密
语音是人们获取信息的重要手段, 语音通信是现代通信中最常用、最方便的通信手段之一。随着通信技术的发展, 针对语音通信的攻击也越来越严重, 如窃听、“电话跟踪”、电话劫持和拒绝服务等对语音通信安全构成了极大威胁, 因此, 研究语音加密, 对保障语音通信的安全十分重要。在研究语音通信保密性的同时, 也要考虑通话的实时性。本文所提出的语音保密通信系统设计方案, 首先将语音信号压缩, 以减少数据量, 而后用一种基于数字混沌序列的快速加密算法对压缩后的数据进行加密。此种方案能较好地满足我们在实际中对语音通信安全性和实时性的要求。
1、系统总体设计
该系统主要由语音编解码模块、加密模块这两大模块组成, 系统框图如图1所示。
在发送端, 系统首先将接收到模拟语音信号经A/D转换芯片转换成数字信号, 而后编解码芯片对转换后的数字语音信号进行压缩编码输出给加密模块, 最后加密模块完成对信号的加密操作。在接收端, 系统对信号的处理流程与发送端相反。
2 各模块设计
2.1 编解码模块
在此模块中, 本文采用AD73311模数/数模转换器芯片和AMBE-2000语音压缩/解压芯片对输入的语音信号进行编解码。
AD73311是美国AD公司推出的低成本、低功耗的数模转换器件。它具有可变增益的输入、输出放大器, 采样频率可通过编程改变, 小的转换群延时, 允许8个芯片级联, 自身带参考电压和低功耗等许多优良特性, 可广泛应用于信号处理、无线通信、数据通信等领域。
AD73311包括四个部分:A/D转换通道, D/A转换通道, 串行输入/输出端口和片内参考电压电路。有5种工作模式:程序模式、数据模式、混合模式、模拟环路模式、数字环路模式。其中前三种是正常的工作模式;后两种是调试模式, 仅在调试时使用。AD73311启动或者重置后即工作于程序模式, 此时可以通过串口往芯片内的控制寄存器写控制字, 来设定工作状态。设定完成后, 写“进入数据模式”的命令进入数据模式, 此时AD73311串行口输出的是A/D转换的16位数据, 输入的是D/A转换的16位数据。
AMBE-2000是一种高性能、低功耗的单片实时语音压缩解压芯片, 其压缩率可在2kbps~9.6kbps范围内由软件调节, 且具有FEC (前向纠错) 、VAD (语音激活检测) 功能和DTMF信号检测功能。AMBE2000可以分为两个独立的元件-编码器和解码器。编码器从语音串行接口接收8KHZ的语音采样数据流 (16位线性, 8位A律, 8位μ率) 并且在给定速率下输出通道数据流。解码器接收通道数据流, 然后合成语音数据流。AMBE-2000编码器和解码器接口时序是完全异步的。语音串行接口接A/D、D/A转换器, 我们选用的AD73311转换器配合AMBE2000使用, 在实际应用中取得了良好的效果。如图2所示是AMBE2000与AD73311的连接图
语音信号经过AD73311转换后的数据和控制信息, 以串行的方式送到声码器。声码器中的编码器接收到8KHZ的采样数据流, 然后输出压缩数据流给解码器;解码器对其进行解压缩, 同样输出8KHZ的语音数据流, 该数据流随后进入AD73311进行D/A转换, 并以差分的形式输出原始的语音信号。
2.2 加密模块
该模块以AT89C51单片机为核心来完成对数据的加解密操作。它接收到来自AMBE-2000的数据后用设计好的加解密算法对其进行加解密操作。为确保数据通信的保密性, 加解密算法的设计是关键。本文所设计的加密的算法是, 让输入的语音信号与一个混沌序列进行模2运算, 即:Yt=Xt⊕St其中, St为发送端的数字语音信号, Xt为发送端的混沌加密序列, Yt为加密后的信号。解密算法是, 让经加密处理后的语音数字信号与同样一个混沌序列进行模2运算。即:Sr=Yr⊕Xr;Yr=St+Nr其中, Sr为解密后的语音信号, Yr为接收端收到的加密信号, Nr为通道噪声。显然, 当收方与发方采用同一初始条件相同的混沌系统时, Xt=Xr;若双方在通信过程中信号传输无误, Nr=0, 则有St=Sr, 此时信号得以还原。
混沌序列的生成:
一类非常简单却被广泛研究的动力系统是Logistic映射, 其定义如下:
其中, 0<μ≤4称为分支参数, Xk∈ (0, 1) 。当3.5699…<μ≤4时, Logistic映射工作于混沌态。也就是说, 由初始值Xk在Logistic映射的作用下所产生的序列j是非周期的、不收敛的, 并对初始值非常敏感。
由于Xk∈ (0, 1) , 因此在计算机中采用浮点运算。但在实际的应用中, 浮点数运算内存需求大, 运算速度慢。又由于单片机对浮点数的运算能力十分有限, 用此生成序列几乎难以实现数字语音信号加密的实时性。研究发现, 我们可以通过关系式 (1) :
使混沌序列的浮点迭代过程变为适合单片机指令的整点迭代过程。转换过程如下:
令
从上式可知:X是十进制整数。由此就完成了从小数到整数的转换。
该方法运算量明显小于浮点运算, 它降低了对计算精度的要求。加快了运算速度。从而降低了对硬件电路的要求。
3 结束语
在数字语音加密通信系统中, 最重要的是加解密密钥的产生, 本文所采用的混沌序列生成方法, 减少了运算量, 加快了运算速度, 降低了对硬件电路的要求。使得加解密算法可在单片机上实现。理论分析表明, 该系统很好地满足了我们对语音保密通信的要求。
参考文献
[1]AD73311Datasheet, Analog Devices, Inc., 1998.
[2]AMBE-2000TM Vocoder Chip User's Manual Version4.8, 2007.
数字加密 篇4
随着互联网技术与多媒体技术的快速发展, 人们之间的多媒体通信逐渐成为信息交流的重要手段。人们通过网络交流的各种信息往往与自身利益相关。因此, 信息的保密与安全显得日益重要。图像在人们用于交互的多媒体信息占有较大比重。传统的加密技术将其作为普通数据流进行加密, 而不考虑图像数据的特点, 因此有一定的局限性[1]。
Hill密码是一类替代密码, 其优点有可隐藏明文字母频率, 表示简洁, 易于计算机实现, 可使用可逆矩阵加密解密等。可将之应用于图像加密。Hill密码的关键在于加密矩阵。如果加密矩阵不可逆, 密文将无法还原成明文。Bibhudendra等人提出应用构造自逆矩阵[2]对信息进行加密以克服这一弱点。其自逆矩阵的构造采用伪随机数并且元素之间具有很强相关性, 因此易于破解。文献[1]就此提出使用混沌序列来构造加密矩阵, 但是其构造方法较为复杂。
文中应用低阶方阵构成的序列来对图像进行加密, 其计算简易, 可轻松解决加密矩阵的可逆性控制问题;又应用混沌映射产生序列中方阵的元素, 使方阵之间的相关性较低, 从而使密文难于破解。
2 图像的矩阵模型
对于任一大小为m×n的图像I, I中的每个像素Pij (i=0, 1, 2, …m;j=0, 1, 2, …n) 的颜色都由三原色红、绿、蓝 (R、G、B) 组成。像素的任意原色在计算机中表示为一个整数x, 取值范围为x∈[0, 255]。依上所述, 整个图像I可视为一个m×n的矩阵pij∈∈, 矩阵中每个元素Pij可视为以R、G、B为元素的小矩阵。在此提出两种矩阵模型。
2.1 像素的2×2矩阵模型
每个像素Pij视为一个2×2的小矩阵, 表示如下:矩阵中序列可取任意一种排列。排列方式作为密钥的一部分。为论述简易, 下文中序列取默认排列方式。
Eij是一个取值于[0, 255]的整数, 其取值视加密者的需要而定。Eij可以存储加密者的数字签名, 与R、G、B一起参与加密运算;或者取随机数作为密钥的一部分参与及密运算;或者取一个常数 (不建议这样做, 因为会增加密文被破解的危险) 。
2.2 像素的1×3矩阵模型
每个像素Pij可视为一个1×3的小矩阵 (向量) , 表示如下:
矩阵中序列可取任意一种排列。排列方式作为密钥的一部分。为论述简易, 下文中序列取默认排列方式。
3 Logistic映射
混沌现象是在非线性动力系统中出现的确定性的、类似随机的过程, 这种过程既非周期又不收敛, 并且对切始状态有极其敏感的依赖性[3]。
Logistic映射是一类简单又被广泛研究的动力系统, 其定义如下:
混沌动力系统的研究工作指出, 当递推公式中参数) 时, Logistic映射工作于混沌状态。其在混沌状态下对和初值具有极强的敏感性, 而且生成的混沌序列具有白噪声的统计特性[3]。所以该映射非常适合用于信息加密, 尤其是生成加密序列。
4 基于Hill密码的图像加密算法
4.1 算法原理
在传统的Hill密码系统中, 明文转换成对应数字, 而后与作为密钥的加密矩阵相乘, 运算结果即作为密文。加密矩阵是实现密码映射的关键。高阶矩阵的计算较为繁杂, 低阶矩阵计算简易, 也利于加密实现。针对上述的两种像素矩阵模型, 分别提出两种加密矩阵, 并预先设定了的矩阵的构造, 使矩阵具有可控的可逆性;通过设定不同的参数, 降低矩阵之间的相关度。
4.1.1 2×2加密矩阵
形如:
根据2.1中像素的2×2矩阵模型, 按Hill密码原理, 利用A作为加密矩阵, 实现加密映射
式中即Pij加密后的像素矩阵, , , 即加密后像素三原色的值, Aij为像素Pij所使用的加密矩阵。显然Aij的元素是由rij唯一决定的。利用Logistic映射生成混沌序列, 进而生成矩阵, 即可得出所有的Aij。
4.1.2 3×3加密矩阵
形如:
根据2.2中像素的1×3矩阵模型, 按Hill密码原理, 利用作为加密矩阵, 即实现加密映射:
同4.1所述, 式中即Pij加密后的像素矩阵, , , 即加密后像素三原色的值, Aij为像素Pij所使用的加密矩阵。显然Aij的元素是由sij, tij唯一决定的。利用Logistic映射生成混沌序列, 进而生成矩阵和, 即可得出所有的Aij。
4.2 算法步骤
4.2.1 加密算法步骤
基于Hill密码的图像加密算法包括如下步骤。
(1) 根据2中描述的图像矩阵模型, 确定所使用的像素矩阵的规模 (2×2或1×3) 以及矩阵元素的排列方式, 排列方式作为密钥的一部分使用。
(2) 设定参数和初始值, 利用Logistic映射生成混沌序列。由于加密矩阵的参数rij, sij, tij为[0, 255]之间的整数, 故令, [x]是取整函数, 。sij, tij与之类似。值得注意的是, 在生成的矩阵和中, 对任意i, j, , 否则Aij将不可逆。并且解密时, 因为取模运算的存在, 的初等因式, 的值应当与模256互质, 否则将可能得到错解[4] (见4.2.2) 。简单的解决办法是, 令为奇数, 令为偶数。利用rij或sij, tij生成加密矩阵Aij, , 作为密钥的一部分使用。 (3) 按公式计算图像I加密后图像各像素的颜色, 加密即完成。
4.2.2 解密算法步骤
解密算法就是作加密的逆运算, 包括如下步骤。
(1) 确定密钥, 包括像素矩阵的排列方式、Logistic映射的参数和初始值。为简化描述, 不妨设像素矩阵为默认排列方式。生成混沌序列, 同4.2.1的步骤2, 生成rij或sij, tij。
(2) 对于使用2×2矩阵加密的图片, 利用rij生成加密矩阵Aij, 按公式计算图像解密后图像I各像素Pij的矩阵;对于使用3×3矩阵加密的图片, 因为矩阵的模不为1, 应按如下步骤计算Pij。
1) 根据式 (2) , 易知
可求得, 因为sij+2tij与256互质, 所以是Kij唯一解[4]。
2) 综合式 (2) 、 (4) 得
因为sij-tij与256互质, 所以可求得式 (5) 唯一解Rij。同理可求得Gij, Bij。
3) 得出图像I各像素Pij的颜色, 解密即完成。
5 实验结果
采用文中方法对多幅图像进行试验。以256×192的金字塔图片 (如图1) 为例, 采用上述的Hill加密算法对其加密。
应用2×2加密矩阵得到加密图片[如图2 (a) ];应用3×3加密矩阵得到加密图片[如图2 (b) ]。两者的密钥中像素矩阵都采用默认排列方式, 混沌序列参数=3.96, 初始值=0.527863。
图2 (a) 解密后得到图3 (a) ;图2 (b) 解密后得到图3 (b) 。
经检验, 解密后的图3 (a) 、 (b) 与原始图像图1完全相同, 说明加密、解密算法是完全互逆的。该算法不会导致图像失真。
下列图片分别是图1、图2 (a) 、 (b) 的灰度分布直方图。
由图4可知, 加密图片的灰度接近于正态分布, 信息熵较大, 具有较强的抗统计攻击的功能。
6 结语
提出了一种基于古典的Hill密码的图像加密算法。在建立图像像素矩阵模型的基础上, 利用混沌映射理论, 提出了两种低阶加密矩阵对图像加密的应用, 并给出了相应的解密步骤。算法具有计算简单、效率较高、对密钥极为敏感等特点, 并具有极大的密钥空间。实验表明, 该算法具有较强的抗攻击能力, 且在一般情况下不会使加密图像失真, 具有较强的安全保护性能和较大的加密强度。
参考文献
[1]曹光辉, 鄂旭, 戴勃, 等.基于混沌理论改进希尔加密系统密钥矩阵[J].辽宁工业大学学报 (自然科学版) , 2009, 29 (4) :221-224.
[2]Bibhudendra Acharya, Sarat Kumar Papa, Ganapati Panda.Image Encryption by Novel Cryptosystem Using Matrix Trans-formation[C]//2008First International Conference on E-merging Trends in Engineering and Technology, Chikhli, In-dia, 2008:77-81.
[3]吕金虎, 陆君安.混沌时间序列分析及其应用[M].武汉:武汉大学出版社, 2002.
数字加密 篇5
关键词:信息安全,密码学,混沌加密,数字图像,多混沌系统
随着计算机硬件的发展,计算机的运算速度不断提高,对很多加密算法的抗破译能力提出了挑战。经研究证明原有的一些加密方法在现有技术条件下己经不具备足够的安全性[1],因此继续研究加密技术和设计新型有效的加密算法已经成为迫切的需要。一些新兴的密码技术如量子密码技术、混沌密码技术、基于生物特征的识别理论与技术相继出现[2],这其中混沌现象以其独特的动力学特征在现代密码技术被广泛应用。
1 混沌图像加密算法设计
目前常用的一维混沌系统有Logistic系统、Rossler系统.、Tent系统、lorenz系统等。在对一维混沌加密系统进行简单的变换加密后,会转化为一种平凡混沌加密系统,难以保障其安全性[3,4,5]。
针对这种情况,本文提出一种基于多混沌的数字图像加密算法,其基本思想是利用三个不同的混沌模型,在加密算法中实现不同的功能。第一个混沌模型经过多次迭代,产生置换矩阵,对原始图像作置乱变换;第二个模型则决定各像素被修改的次序;第三个混沌模型迭代产生密钥流,依照第二个模型决定的修改次序,对置换后图像中各像素的值进行修改。
1.1 算法中用到的混沌模型
首先介绍算法中使用的三个混沌映射模型[6]。
1)第一个混沌映射模型
该模型选用了混合光学双稳模型,其迭代方程为:
当A=6,B=3时,已知该模型处于混沌状态。本论文的加密算法中,该模型用来产生置换矩阵,以便对输入的明文进行初始置换。
2)第二个混沌映射模型
该模型选用了分段线性混沌映射:
当0
3)第三个混沌映射模型
该混沌映射模型采用了目前应用最为广泛的Logistic映射:
该映射在3.5699456<μ<4时,其Lyapunov指数为正,处于混沌状态。本论文的算法中,该模型用来产生最终的密钥流,即上面提到的产生密钥流的第二级混沌系统。
1.2 图像像素位置置乱算法
考虑一幅大小为M×N,具有S级灰度的图像,设(i,j)为像素P所处的坐标,(i',j')为经过置乱后,像素P所处的坐标。其中1≤i≤M,1≤j≤N;1≤i'≤M,1≤j'≤N。图像像素位置置乱算法即要求设计映射f,使得:
映射f同时应该满足以下条件:坌(i1,j1),(i2,j2),若(i1,j1)≠(i2,j2),则(i1',j1')≠(i2',j2')。其中(i1,j1)=(i2,j2)表示i1=i2并且j1=j2。这个条件表明,图像像素置乱算法应该是一一映射的。本文利用混沌模型1,迭代产生图像置乱算法。
1.3 图像像素值替代算法
对一幅大小为M×N,具有S级灰度的图像,设rij为经过置乱后坐标(i,j)处的像素值,其中1≤i≤M,1≤j≤N。r'ij为执行完替代操作后,坐标(i,j)处的图像像素值。图像像素值替代算法即要求设计映射T,使得:
本文利用混沌模型2和3,迭代产生图像像素值替代算法。替代算法分为两步,首先利用混沌模型2产生图像像素的替代次序矩阵;然后利用混沌模型3生产密钥流,按照替代次序矩阵对图像的每一个像素加密。
2 多级混沌图形加密算法的实现
2.1 加密算法的密钥设计
本文提出的加密算法综合使用了上述3种混沌模型,每一种混沌模型的初始值和参数(共7个)都可以作为密钥。但是为了保证算法中采用的映射模型处于混沌状态,定义混合光学双稳模型中的参数A=6,B=3,定义Logistic映射中的参数μ=4,剩余的4个值作为算法的初始密钥,由用户输入。所以初始密钥K是一个4元组,包含4个子密钥:
K=(X,P,Y,Z)。
其中:
X:模型(4-1)的初值,要求0
P:模型(4-2)的参数,要求0
Y:模型(4-2)的初值,要求0
Z:模型(4-3)的初值,要求0
2.2 加密算法的实现步骤
多级混沌加密算法的实现步骤描述如下:
1)输入密钥K(X,P,Y,Z)。
2)打开待加密的图形。
3)根据像像素位置置乱算法f,对图像进行置乱处理。
4)根据图像像素值替代算法T,对图像像素值进行替换操作。
5)输出加密后的图形。
2.3 加密算法的原理图
总体上讲,上述加密算法由三个操作完成,分别是:扩展、置换和异或。其中扩展是将16位初始明文扩展为32位信息。置换是将扩展后的32位信息根据置换矩阵P进行置换,以达到“混乱”的目的;其中用到的置换矩阵由混沌模型(1)生成。异或是将置换后的结果与密钥流Keyi(i=1,2,3,……)进行异或操作,生成最终的密文;其中密钥流是通过混沌模型(2)和(3)的联合作用产生的。
初始密钥K包含4个子密钥X,P,Y,Z,分别对应3个混沌模型的初始值与参数,加密时由用户输入。
算法的原理如图1所示。
2.4 算法的实现细节讨论
该多级混沌加密算法用C++语言设计,对算法的具体实现作如下讨论:
2.4.1 算法中,对3个混沌模型的迭代分别得到不同的混沌序列
为了获得更好的伪随机性,可以舍弃初始若干次迭代所得的值,而选取第k次以后的迭代值。在本算法具体实现时,取k的值为20,即舍弃初始20次迭代的值,选取从第21次开始的迭代结果保存并使用。
2.4.2 图像像素值替代算法T中第5步,对密钥和置乱后的图形像素值进行了异或操作
对于具有S级灰度的图像,置乱后的图形像素值是S位的二进制代码。为了使混沌系统产生的实数密钥能够和S位像素值进行异或操作,以二进制代码的形式读取密钥矩阵,并取其低S位进行异或操作。实验中,S取值为8或者16。
2.5 解密过程
在解密过程中,密钥X,P,Y,Z与加密时的密钥完全一致。密钥X仍然用于生成置换矩阵,密钥P,Y,Z分别是另外2个混沌模型的初始值和参数,经过混沌迭代后,产生替换次序矩阵和密钥矩阵,用于解密。密文图形经过与密钥矩阵的异或,再进行反向置换操作,可以正确地恢复成明文图形。
3 结论
本文提出一种基于多混沌的数字图像加密算法,利用三个不同的混沌模型对数字图像进行多次置换、置乱,实现对数字图像的加密。该加密算法具有实现简单、加密速度快、安全性较高的特点。同时本算法是对称加密算法,解密时根据初始密钥进行加密过程的逆操作,就能够实现正确的解密,恢复原始信息。
参考文献
[1]杨波.现代密码学[M].北京:清华大学出版社,2003.
[2]龙冬阳.应用编码与计算机密码学[M].北京:清华大学出版社,2005.
[3]高俊山.徐松源.基于混沌理论的加密过程的研究[J].自动化技术与应用,2001,(6):13-16.
[4]Yang T,Yang L B,Yang C M.Breaking chaotic switching using generalized synchronization Examples[J].IEEE Trans.Circuits Syst.I,1998,45(10):1062.
[5]Yang T,Yang L B,Yang C M.Application of neural networks to unmasking chaotic secure communication[J].Phys D,1998,124:248.
[6]姜丽.多级混沌加密算法的研究与应用[D].华东理工大学硕士学位论文,2003.
[7]E.N.Lorenz.混沌本质[M].北京:气象出版社,1997.
数字图像加密技术及其安全性研究 篇6
数字图像加密技术源于早期的经典密码学理论。密码学是研究将可懂文本 (明文) 变成不可懂形式 (密文) 以及通过可逆变换将不可懂形式变成可懂文本的方法和过程的学科。密码学是一门综合性的尖端技术科学, 是在编码与破译的斗争实践中逐步发展起来的, 并随着先进科学技术的应用, 与数学、语言学、声学、信息论、电子学、计算机科学等有着紧密的联系。对文字或数码进行加、解密思想为数字图像加密技术提供了最直接的理论依据。然而, 经典密码学着眼于限制资料的存取, 常常考虑的是二进制流, 忽略了数字图像的视觉效果。它的数字图像数据量大、要求加密实时性高, 经典密码学加密方法都不太适合。计算机图形学关注于图形图像的数字生成, 却忽略了图像的安全性。所以数字图像的加密技术已经引起了研究学者的广泛关注。
因数字图像应用的广泛, 国内外掀起了对加密技术研究的热潮。许多研究机构、大学和公司已纷纷展开了研究, 在有关信息安全和密码学的国际会议或刊物上也经常见到相关的论文和报告。已有的数字图像加密算法大多采用现代密码体制直接对数字图像文件进行加密, 有现代密码体制的安全性作保证, 加密效果和保密性比较令人满意。因为密码学设计中十分强调引入非线性变换, 所以, 混沌等非线性科学的深入研究将极大地促进密码学的发展, 但二者的很好结合还有很长的一段路要走。基于生物特征的识别理论与技术也已有所发展。我们可以坚信这些加密技术的深入研究必将对数字图像加密技术产生深远的影响。
2 数字图像加密技术在我国的一些应用
数字图像处理技术得到了广泛的研究和应用, 同时网络的日益普及和发展也使数字图像加密技术空前扩大了应用领域。日常生活中可以进行数字图像邮件的保密传输, 数字建筑图纸的安全传输, 办公自动化系统图像的传输等。国家军事上可用于新型武器图、军事图像资料、军用设施图纸的安全传输, 航空及卫星侦察图像, 导弹制导、雷达、声呐的图像, 军事仿真的图像, 都必须进行加密传输。现在关注较多的是加密后的图像在信息隐藏中的应用。比如, 我们可以把一幅军事机密图像先进行加密, 然后隐藏于一些不易引起怀疑的载体中, 使其可以顺利通过不安全网络进行传输。可以预见, 数字图像加密技术有着广阔的应用前景。
数字图像加密技术是信息安全技术中的核心技术, 国家关键基础设施中不可能引进或采用别国的加密技术, 只能自主开发。目前我国在图像加密技术的应用水平方面与国外还有一定的差距。因此, 我国必须要有自己的算法、自己的一套标准以适应国民经济的发展来应对未来的挑战。
3 数字图像加密中的信息安全研究
数字图像信息安全, 是伴随着计算机网络和多媒体技术的迅速发展而产生的新问题。近年来, 数字图像技术由于克服了以前因存储量过大带来的困难成为了信息表达方式的主流。然而如何保证数字图像信息的安全成为国际上热门的研究课题。
研究数字图像信息安全中的隐藏和伪装算法, 归纳为如下几个方面:
3.1 数字图像置乱
数字图像置乱通过对数字图像的空间域进行置换或者修改数字图像的变换域参数使生成的图像变为完全看不懂的杂乱图像, 从而保护了数字图像所要表达的真实内容。学者们也提出了基于数学变换技巧的几种新算法, 包括Arnold变换、FASS曲线、幻方变换、Gray代码、生命模型等, 被有效地应用于数字图像信息安全处理过程的预处理和后处理, 更大程度地保证数字图像的信息安全。
3.2 数字图像信息隐藏
数字图像信息隐藏与经典密码学的信息隐藏类似, 将需要保密的数字图像信息隐藏在另外一幅公开图像中, 充分利用公开图像本身所具有的迷惑性, 降低攻击者的注意力, 减少遭受攻击的机会, 从而在很大程度上保护了数字图像的安全性。
3.3 数字图像水印技术
它是将代表著作权人身份的特定信息 (即数字水印) , 按照某种方式植入电子出版物中, 在产生版权纠纷时, 通过相应的算法提取出该数字水印, 从而验证版权的归属, 确保电子出版物著作权人的合法利益, 避免非法盗版的威胁。
3.4 数字图像分存
数字图像分存不仅实现了保密信息的隐藏, 还达到了保密信息分散的目的。这样不仅使得非法攻击者要耗费精力去获取所有恢复保密信息需要的内容, 而且使得保密信息拥有者们互相牵制, 提高了信息的保密程度。
摘要:数字图像信息安全是伴随着多媒体技术和计算机网络的发展而出现的新问题。本文通过介绍数字图像加密技术的现状及发展, 结合在中国的应用, 进行了数字图像加密中的一些信息安全的研究。
关键词:数字图像,加密,安全性
参考文献
[1]郑凡, 田小建, 范文华, 等.基于Henon映射的数字图像加密[J].北京邮电大学学报, 2008, 31 (1) .
数字加密 篇7
图像具有生动形象的特点,应用十分广泛。经过数字化而成的数字图像可由计算机高效处理,并能在网络中快速传播。为对数字图像进行有效的保护,可采用相应的加密技术。数字图像加密是目前数字图像处理领域的一个重要研究方向[1,2,3],基于各种混沌系统的数字图像加密算法也已成为近年来的研究热点之一,诸多各具特点、切实可行的算法已相继出现在有关的文献中[4,5,6,7,8]。
通过对图像加密技术及有关算法的研究,本文以混沌系统及其产生的混沌序列为基础,提出一种通用的综合使用像素坐标置乱与像素值置换技术的数字图像加密与解密算法,同时给出一种基于邻域相邻像素特性的抗剪切攻击恢复算法。
1 混沌序列
混沌序列是混沌系统中所出现的混沌现象的运动轨迹。根据混沌系统的方程,指定不同的参数与初值,即可产生一系列非相关、类随机、确定可再生的混沌序列。混沌序列对系统的参数与初值极其敏感,且在一定的区域内具有遍历性与伪随机性,因此可用于对数字图像进行加密,而相应的系统参数与初值均可作为密钥的组成部分。
Logistic映射是目前应用得相当广泛的、典型的一维混沌系统,定义为[4]
xn+1=μxn(1-xn) (1)
式中:μ为分支参数,且μ∈[0,4],xn∈(0,1),n=0,1,2,…。研究表明,当3.569 945 6<μ≤4时,Logistic映射所生成的混沌序列{xn,n=0,1,2,3,…}具有良好的随机分布特性与遍历性,是一种比较理想的伪随机序列,且对初值x0十分敏感。在应用Logistic映射时,μ与x0均可作为密钥使用。
Logistic映射具有良好的“雪崩效应”。为提高安全性,在使用Logistic混沌序列{xn,n=0,1,2,3,…}时,可适当舍弃其前面的N个数据项(一般取N≥20)。相应地,N也可作为密钥的组成部分之一。
本文在进行仿真实验时,用于生成Logistic混沌序列的密钥key=(μ,x0,N)。
2 基于混沌序列的像素坐标置乱
像素坐标置乱是指对图像的像素坐标进行变换以使其混乱。考虑到混沌序列的固有特性,可由混沌序列决定像素坐标的变换位置,以达到理想的置乱效果。
假定图像的大小为m×n,由密钥key=(μ,x0,N)产生具有相应长度的混沌序列{x1,x2,x3,…,xm×n},将其按升序或降序进行排序得到有序序列{xindex(1), xindex(2),xindex(3),…,xindex(m×n)},则该有序序列各数据项的下标序列{index(1),index(2),index(3),…,index(m×n)}即为整数序列{1,2,3,…,m×n}的一个排列。据此,可构造一个1-1变换Φ:k→index(k)。利用此变换Φ,可将该图像的像素(i,j)(其中i=0,1,2,…,m-1;j=0,1,2,…,n-1)按行列顺序变换到新位置(row,col)
经过像素的坐标变换后,图像将变得面目全非。
3 基于混沌序列的像素值置换
像素值置换是指对图像的像素值进行变换以改变其值。考虑到混沌序列的良好特性,可由混沌序列生成相应的操作数,然后再与各像素值分别进行异或运算,从而达到理想的置换效果。
假定图像的大小为m×n,由密钥key=(μ,x0,N)产生具有相应长度的混沌序列{x1,x2,x3,…,xm×n},将其按图像类型转换为无符号整数序列{z1,z2,z3,…,zm×n},然后与该图像的像素值P(i,j)分别进行异或运算,即可得到置换后的像素值Pe(i,j)。
混沌序列转换为无符号整数序列的公式为
zi=round(10k×abs(xi)×T)mod T (3)
式中:i=1,2,3,…, m×n;k=0,1,2,3,…;abs表示取绝对值;round表示取最近整数;T=2h为图像类型值,h为二值图像、灰度图像或RGB真彩图像各分量的比特深度。据此,可将k作为子密钥使用。
像素值置换的公式为
Pe(i,j)=P(i,j)⊕(zixn+j+1) (4)
式中:i=0,1,2,…,m-1;j=0,1,2,…,n-1。
反之,像素值恢复的公式为
P(i,j)=Pe(i,j)⊕(zixn+j+1) (5)
经过图像像素值的随机置换后,原图像的灰度直方图统计特性将被彻底改变。
4 加密与解密算法
在进行数字图像的加密时,同时采用基于混沌序列的像素坐标置乱与像素值置换,可有效提高加密图像的抗剪切攻击能力和抗像素特征值统计攻击能力。若在进行像素坐标置乱与像素值置换时使用的不同的混沌序列,则加密效果更佳。
为简单起见,本文加密算法基于同样的一个混沌序列进行像素坐标置乱与像素值置换,其主要步骤为:
1) 读取待加密图像,生成像素矩阵P,并确定其大小m×n与图像类型值T。
2) 由密钥key=(μ,x0,N)产生一个长度为m×n的混沌序列{x1,x2,x3,…,xm×n}。
3) 将{x1,x2,x3,…,xm×n}按升序或降序进行排序,得到有序序列{xindex(1),xindex(2),xindex(3),…,xindex(m×n)},并据此生成下标序列{index(1),index(2),index(3),…,index(m×n)}。
4) 根据{index(1),index(2),index(3),…,index(m×n)}及变换Φ:k→index(k),将像素坐标(i,j)按行列顺序变换到新位置(row,col),生成像素坐标置乱后的图像加密矩阵PE。
5) 根据子密钥k及图像类型值T,将{x1,x2,x3,…,xm×n}转换为无符号整数序列{z1,z2,z3,…,zm×n}。
6) 将{z1,z2,z3,…,zm×n}中的各个数据项分别与像素矩阵PE中的对应的像素值进行异或运算,生成像素值置换后的图像加密矩阵P。
7) 由像素矩阵P生成加密图像。
本加密算法是可逆的,因此解密算法与加密算法具有相同的密钥,但应先恢复像素的值,然后再将各像素变换至其原来所在的坐标位置。
5 抗剪切攻击恢复算法
针对恶意剪切等攻击,可采用相应的抗剪切攻击恢复算法(简称为ASAR算法),进一步提高解密图像的质量。
5.1 剪切区域的检测
像素坐标置乱与像素值置换的双重加密过程,极大地降低了图像相邻像素之间的相关性,加密图像中的像素值已呈随机分布状态,并均匀扩散至整个取值范围。因此,若发现连续的、等值的多个像素,则可认为这些像素是被剪切的。为降低误检率,一般应取3~6个连续像素作为判断条件。
首先,创建一个与加密图像大小一致的剪切区域标记零矩阵CF。然后,逐行扫描加密图像,若发现连续多个(本文算法为6个)像素的值相同,则将CF中与这些像素对应的元素置为255。
对于RGB加密图像,可通过逐一比较CF各分量中对应元素的值,将最终的剪切区域修正为各分量的相交部分。
本剪切区域检测算法采用等值的像素扫描判断技术,因此同样适用于涂鸦、污损等恶意攻击的情形。
5.2 解密图像的恢复
加密图像解密后,被剪切的像素将按加密时的坐标对应关系变换至其原始位置,从而在整个解密图像中呈均匀分布状态。根据4邻域相邻像素的高度相关特性,可将邻域像素的平均值作为各被剪切像素的值。本文解密图像恢复算法的基本步骤为:
1) 按对加密图像进行解密时各像素的坐标变换关系,将CF中的各个元素变换至相应像素在解密图像中的坐标所对应的位置,得到一个相应的图像恢复标记矩阵RF。
2) 置unfinished为0。
3) 逐行逐列扫描RF,若某个元素值为255,则计算其4邻域中未被剪切(或已被恢复)的像素的个数n以及相应的像素值之和s。若n≥2,则将该元素的值置为0,同时将对应的像素值置为平均值round(s/n);否则,置unfinished为1。
4) 若unfinished=1,则转至2)。
6 实验结果与分析
6.1 实验结果
本文使用MATLAB R2007a平台,对各类常见图像按文中算法进行仿真实验。实验采用同样的一个Logistic混沌序列对图像进行像素坐标置乱与像素值置换加密,密钥key=(μ,x0,N)=(3.69,0.567 89,50),子密钥k=3。对于RGB真彩图像,亦采用同样的混沌序列并按同样的方式加密其R,G,B各分量。图像经加密后,均变得杂乱无章、面目全非,证明了算法的有效性。限于篇幅,在此只列出几个有代表性的例子。实验结果见图1~图5。
6.2 安全性分析
如图4所示的安全性实验表明,即使只对初值x0进行微小修改(仅相差10-10),也将导致解密的完全失败,此时所生成的解密图像依然类似于待解密的加密图像。同样,只对其余的某个密钥分量(μ,N或k)进行微调时,结果亦与此类似。只有在使用完全正确的密钥与子密钥时,才能确保解密成功。可见,本文算法具有极强的密钥敏感性。此外,本文算法的密钥分量较多(包括浮点型的μ,x0的与整型的N,k),因此拥有颇为巨大的密钥空间,可有效抵御穷举攻击。
6.3 统计特性分析
1) 灰度直方图
通过对各类图像在加密前后的灰度直方图进行比较,可以发现其差异是十分明显的。图像经过加密以后,其像素在整个取值范围内的分布相当均匀,表明本文算法具有良好的扩散性,可完全改变图像的像素值统计特性。
2) 相邻像素的相关性
图像相邻像素的相关系数用于度量相邻像素的相关性,其计算公式为[5]
式中:x,y为图像中两个相邻像素的灰度值。
Lena,baidu_logo与Baboon图像在加密前后的相邻像素相关系数分别如表1、表2所示。实验数据表明,原始图像在水平、垂直与对角方向的相邻像素的相关系数均接近于±1.00,说明存在着高度相关性;而加密图像在各个方向的相邻像素的相关系数均接近于0,说明已呈几乎不相关状态。
3) 信息熵
图像的信息熵用于度量图像中灰度值的均匀分布情况,其计算公式为[6]
式中:p(xi)为图像像素值xi出现的概率。
Lena,baidu_logo与Baboon图像在加密前后的信息熵分别如表3、表4所示。实验数据表明,Lena加密图像与Baboon加密图像R,G,B各分量的信息熵均接近于8(256级灰度图像信息熵的理论最大值),baidu_logo加密图像的信息熵则刚好等于1(二值图像信息熵的理论最大值)。可见,经本文算法加密后,图像的像素值分布已相当均匀,且其出现概率亦几乎是一致的。
6.4 抗剪切能力
如图5所示的抗剪切攻击实验表明,即使加密图像被随机剪切的面积达到50%,仍然能够直接解密出相当不错的可识别的图像,进一步应用ASAR算法时则可得到还原质量更佳的恢复图像,可见本文加密算法的抗剪切攻击能力是较强的,而ASAR算法也是有效可行的。从峰值信噪比PSNR看,图5c和图5d分别为16.668 5,10.659 8,而图5e和图5f分别为25.626 2,21.218 6,这也客观地表明了本文ASAR算法的有效性。
7 结束语
基于混沌系统及其所产生的混沌序列,本文提出了一种通用的数字图像加密与解密算法,同时给出了一种基于邻域相邻像素特性的抗剪切攻击恢复算法。文中的加密算法充分利用了混沌序列的固有特性,并采用像素坐标置乱与像素值置换相结合的双重加密技术,具有较强的安全性。此外,该算法对于图像的类型及大小没有任何限制,并可使用Logistic,Henon,Lorenz等各类混沌系统所产生的混沌序列,且易于实现,具有良好适应性与实用性。为进一步提高数字图像的加密效果,可对本文算法进行相应的改进,如使用不同的混沌序列进行像素坐标置乱与像素值置换,或同时使用两种不同的混沌系统等。
参考文献
[1]李昌刚,韩正之,张浩然.图像加密技术综述[J].计算机研究与发展,2002,39(10):1317-1324.
[2]李昌刚,韩正之.图像加密技术新进展[J].信息与控制,2003,32(4):339-343.
[3]孙燮华.数字图像处理:原理与算法[M].北京:机械工业出版社,2010.
[4]高飞,李兴华.基于混沌序列的位图像加密研究[J].北京理工大学学报,2005,25(5):447-450.
[5]李太勇,贾华丁,吴江.基于三维混沌序列的数字图像加密算法[J].计算机应用,2006,26(7):1652-1654.
[6]李鹏,田东平.基于超混沌序列的数字图像加密算法[J].微电子学与计算机,2008,25(3):4-7.
[7]刘刚,王立香.一种新的基于混沌的图像加密算法[J].电视技术,2008,32(12):22-24.
数字加密 篇8
1 视频加密的原理和方法
1.1 视频加密的密码学方法
最早的视频信号加扰方法是模拟视频加密技术,但这种方法安全级别很低。最早的高保密级视频加密技术是对全部视频数据流直接用密码技术加密和解密,故称为图像和视频加密的密码学方法,也称之为自然加密方法。国内大部分文献称之为传统加密方法。其原理如图1所示。
由于密码技术已有许多安全可靠的成熟算法,以二维或多维数据表示的图像和视频在传输和存储时都要映射成一维数据,若不考虑具体的数据特征,很适合直接应用已有的成熟密码技术加密。其研究基本是基于纯密码科学技术的研究,安全性评价取决于所用密码加密技术。在当前的大多数实用图像和视频加密系统中,图像和视频数据被等同为一维比特流而采用DES等算法加密。也有一些新的密码技术用于视频加密,同时在性能上有了进一步的改进。
是由于图像和视频信号数据量很大,所以这种加密方法计算量非常大,不仅浪费资源,而且难以保证实时性。由于许多图像信号特别是视频信号往往要求实时在线传输,且大多数应用都要求降低成本,从而限制了这种加密方法的应用。另外,若标志信息经加密无法识别,则不能实现在线传输和检索功能。
1.2 选择性加密方法
密码学方法虽然安全,但这种加密方法计算量非常大,往往难以实用。为解决这一对矛盾,人们研究了视频的信源特征,把密码原理与视频技术结合起来,取得了一些研究成果。有人提出一种针对图像和视频编码的部分数据加密思路。图2(a)表示密码学方法,对所有数据用密码技术加密;图2(b)表示部分数据加密方法,只对选择的重要数据加密。
在视频加密的算法中,除纯密码学方法之外,对选择性加密方法研究得比较多,其中又以对加密变换(DCT)系数的算法为多。主要有以下几种:
(1)仅对I帧加密算法
仅对I帧DCT系数块加密,具有扩散作用,使P、B帧利用运动补偿进行差值编码的相应块不加密也难以正确解码,达到了选择部分数据加密减少计算量的目的。该算法由于减少了加密数据量,因而节约30%~50%的加解密时间,提高了加、解密速度,且不改变原视频编码数据码流量大小,因而不影响压缩率。但这种算法不安全,场景变换和运动剧烈的P、B帧(P、B帧内的I块)会被正确解码,在保密要求高的场合不能单独使用。本算法可通过增加I帧频率来提高密级,但是I帧频率越高,计算量越大,速度就越慢。有人讨论了其改进方法,加密包括P、B帧中I块的所有I-block,但也存在问题:(1)在P、B帧中识别I块需要一定的额外开销;(2)在某些视频中,P、B帧中的I块数量与I帧中数量相近,因此,减少数据量不明显,还不如改用纯密码(Naive)算法。
(2)加密运动矢量算法
随机改变运动矢量的符号位或同时改变符号位和数值来影响P、B帧正确解码。对I帧编解码完全没有影响,故不能单独使用,主要作为增强安全性的补充算法。加密数据量小,计算量小,因而速度快;不降低编码压缩率,只适用于视频编码数据。
(3)DCT块系数分层加密算法
把DCT系数从低频到高频分为基本层(base layer)、中间层(middle layer)和增强层(enhancement layer)三部分。在0~63范围定义两个整数分界点(breakpoint),作为一个分界点组(breakpoint group),确定三部分之间的边界。定义第一个分界点为容损点(loss-tolerance breakpoint),第二个点为安全点(security breakpoint)。在这个算法中,只加密基本层和中间层,可以减少计算量;保证基本层传送,即使中间层和增强层丢失,接收方也能显示出主要信息。该算法可以让用户根据不同的安全性级别来选择分界点组合,在安全性、计算量、容错能力之间进行折中。对基本层和中间层加密的密码算法也可以另行选择。该算法只对部分DCT系数加密,减少了计算量。类似的选择性加密的算法有:仅加密DC系数或加密DC系数和少量低频AC系数、随机改变DCT系数符号等。
(4)仅加密头信息算法
将头信息加密,再与其他数据随机混合,使接收方难以按原数据结构区分结构信息和视频信息并解码。该算法不降低压缩率,计算量小。但是安全性较低,因为头信息所含信息量小,加密效率低,这种加密方式比较容易破译。为便于合法收方解码,需加入同步信息,或保留原来部分同步信息。
1.3 针对MPEG码流统计特性的算法
针对MPEG码流统计特性(Statistical behavior of MPEG)的算法称为VEA(Video Encryption Algorithm)算法。经压缩编码的码流因去除相关性,具有一定的随机性。将I帧(撇开头标志等特殊码流)分为8或16(通常16)大块(chunk),在任何chunk中,没有重复的字节模式。据此提出下面的VEA算法。
设一个I帧的某个chunk为如下形式:a1,a2,a3,a4,...,a2n-1,a2n。选择奇数号的字节组成奇队列(Odd List),选择偶数号的字节组成偶队列(Even List)。将两个新数据流异或。选择一种加密函数(例如DES)来加密偶队列a2,a4,...,a2n。得到的密文为:c1,c2,…,cn,E(a2,a4,…,a2n)。如果a2,a4,…,a2n没有重复模式(repeated pattern),说明具有足够随机性,a2,a4,…,a2n对a1a3,…,a2n-1的简单异或,是一次一密乱码本(one-time pad)加密,这是被公认为非常保密的。VEA算法密级就决定于函数E。
该方法只加密部分视频流,待加密数据分为两半,一半用密码方法(函数E)加密,另一半用简单异或,因此总体减少了计算量,提高了计算速度。该方法不影响压缩率,适用于压缩的视频编码数据,而且压缩效果越好,加密效果也越好。
1.4 DCT频域系数乱序算法
DCT频域系数乱序算法(Zig-Zag Permutation Algorithm)把DCT频域系数8×8块按随机的顺序映射成1×64矢量,而不按ZIG-ZAG顺序。有人首先提供了三步基本算法,但设计者自己指出,基本算法对已知明文攻击是脆弱的,因此提供了两种附加方法增强算法的安全性。
(1)对DC系数另用DES加密。
(2)产生两张不同的顺序置乱序列表,随机选用。
DCT频域系数乱序算法速度很快。但存在严重的安全性问题。两种附加方法也无法解决。已知明文攻击(Known-plaintext attack)和唯密文攻击(Ciphertext only attack)都可以成功破解该算法。另外,经过加密的MPEG流大小将显著增加,最大可增加46%,严重降低压缩率。
2 新的视频加密方法
针对视频数据具有层次结构性强、数据量大以及实时传输要求高的特点,本系统采用了一种新式的视频加密算法。其主要思想为:仅对视频码流中的少部分重要数据进行高强度的加密。因为视频码流中各部分数据的重要性不同,某些关键数据(如视频宏块中的直流分量值DC,交流分量值AC和位移矢量MV等)虽然数据量比较小,但是对视频码流的解码和视频图像的重建起着至关重要的作用,所以仅对这些少量数据运用AES、IDEA等加密算法进行加密,就可以取得对整个视频码流安全加密的效果。该视频加密算法原理如图3所示。
该视频加密算法具有如下特点:(1)独立于视频编解码器。(2)独立于密码学算法,用户可以根据自己的要求选择不同的加密算法,如DES、AES或IDEA等。(3)对不同关键数据的选取和组合,可以提供高、中、低三个不同的加密级别,用户可根据不同的保密要求和网络带宽进行选择。(4)计算量小、加密速度快、附加带宽少。
3 新的视频加密方法的实现
3.1 新的视频加密方法的硬件实现
图4所示是基于对上述新的视频加密算法而设计的一种采用嵌入式主处理器DM1105和加密配置芯片DM2016的数字视频加密系统。
DM1105主要应用于卫星、有线信号以及地面传输的数字电视、IP数据的接收,也可以用于8/16位CCIR656标准YUV视频信号的接收。DM1105内集成了DVB标准解扰算法,可以同时进行32路解扰,还具备遥控器接收功能,通过扩展还能够外接两个PCMCIA插槽。图5是DM1105应用的原理结构框图。
3.2 新的视频加密方法的软件实现
示例采用C语言实现基于嵌入式系统的AES加密运算。
(1)先定义sbox和pbox,并初始化,将它们放入code中:
(2)定义两个全局变量key_pbox和key_sbox,存储初始化后的子密钥:
unsigned long key_pbox[18];
unsigned long key_sbox[4][256];
(3)完成下列函数:
//AES初始化函数
void AES_Constructor(void);
void AES_Destructor(void);
//设置AES密钥函数
BOOLEAN SetKey(const unsigned char*key,int keylen);
//AES加密函数
BOOLEAN Encrypt(const unsigned char*in,int inlen,
unsigned char*out,int*outlen);
//AES解密函数
BOOLEAN Decrypt(const unsigned char*in,int inlen,
unsigned char*out,int*outlen);
……
(4)初始化嵌入式系统,用TESTKEY作为密钥进行初始化,对算法进行测试。
在编译优化后,对代码做进一步优化。首先使用TI集成开发环境的代码分析器(profiler)对代码进行分析。在CCS中可以统计某段代码的执行时间,这被称作剖析(profile)。代码剖析可以迅速地评估程序的性能以便优化代码。经过编译优化和代码优化后,AES算法在该嵌入式系统中具有高速数据处理能力,在保证安全性目标的同时,又不影响数字视频信号对通信实时性要求,从而有助于解决数字电视传输控制网络中实时数据加密和安全问题。
本文介绍了几种常用视频加密算法,分析了这几种算法的优缺点,提出了一种仅对视频码流中解码和视频图像的重建起着至关重要作用的少部分数据进行高强度加密的方法,并利用嵌入式芯片DM1105和加密配置芯片DM2016组成一个加密、解密系统来实现上述数字视频信号的加密。
摘要:几种常用数字视频信号加密技术的原理与方法,分析了这些加密方法的优点和存在的不足。提出了一种仅对视频码流中解码和视频图像的重建起着重要作用的少部分数据进行高强度加密的方法,这一方法可以取得对整个视频码流安全加密的效果。
关键词:数字视频,加密技术,嵌入式系统
参考文献
[1]张镭,张川,徐正全.基于H.323协议的视频加密网关的设计[J].计算机工程,2006(14):138-140.
[2]廉士国,孙金生,王执铨.几种典型视频加密算法的性能评价[J].中国图像图形学报2004(4):483-490.
[3]李伟,刘树波,徐正全.基于TM1300的嵌入式网络视频编码器的设计[J].武汉大学学报,2004(3):110-113.
[4]洪家平.嵌入式系统加密技术在数字电视中的应用研究[J].电子技术应用,2008(9).