中国图象图形学报JournalofImageandGraphics
Vol.11,No.8
Aug.,2006
基于AES的数字图像置乱方法
陈燕梅 张胜元
(福建师范大学数学与计算机科学学院,福州 350007)
摘 要 以图像信息安全问题为背景,介绍了高级加密标准(AES):Rijndael算法,并在此对称分组密码算法的基础上,提出了密钥控制下采用AES算法进行图像置乱与恢复的方法。该方法既安全又简便。实验结果显示了图像置乱的效果,通过直方图的比较对此进行一定的分析,结果表明,这种方法能达到较好的加密与解密效果,而且易于实现。关键词 高级加密标准(AES) 数字图像 数字图像置乱 信息安全中图法分类号:TN911 文献标识码:A 文章编号:100628961(2006)0821076205
AMethodforDigitalImageScramblingBasedonAES
CHENYan2mei,ZHANGSheng2yuan
(SchoolofMathematicsandComputerScience,FujianNormalUniversity,Fuzhou350007)
Abstract Withthesecurityproblemofimageinformationasresearchbackground,thispaperintroducestheAdvanced
EncryptionStandard(AES):Rijndaelalgorithm.Baseonthesymmetryblockcipheralgorithm,amethodforscramblingandrestoringdigitalimagesisproposed,whichusestheAESalgorithmunderthecontrolofsecretkey.Thismethodissafeaswellassimple.Asimulationshowstheeffectofimagescrambling,anditisanalyzedbycomparisonofhistograms.Theresultsshowthat:thismethodcanreachpreferableeffectofencryptionanddecryption,andfurthermore,it’seasytorealize.Keywords advancedencryptionstandard(AES),digitalimage,digitalimagescrambling,informationsecurity
1 引 言
数字图像信息安全,是伴随着计算机网络和多媒体技术的迅速发展而产生的新问题。近年来,数字图像技术逐渐克服了往日因存储量巨大而带来的困难,成为信息表达方式的主流,这与人类认知世界的基本方式是相吻合的。然而,问题由之而生,如何保证数字图像信息的安全成为国际上热门的研究课题。
数字图像置乱起源于早期的经典加密学理论和电视图像应用技术,对数字图像的空间域进行类似于经典密码学对1维信号的置换,或者修改数字图像的变换域参数,使得图像的视觉效果呈现出各像素随机分布的特点,达到保护原图像内容的目的。
现有几种数字图像置乱方法,主要是基于Arnold变换的系列置乱方法;用分形图形学中的方法来对空
收稿日期:2005206205;改回日期:2005209213
间曲线进行填充,以及利用其他数学知识和奇特现象
[1]
进行数字图像置乱。本文提出了一种基于对称分组密码算法AES的数字图像置乱方法,并通过实验分析了置乱的效果,验证了此方法的有效性。
2 AES简介
[2]
近年来,DES(dataencryptionstandard)已逐渐显现出许多不足之处,其安全性受到了挑战。一种新的、安全强度高、适合软硬件实现的高效加密标准—高级
[3]
数据加密标准AES(advancedencryptionstandard)应运而生。2000年10月,美国国家标准和技术协会(NIST)宣布从15种候选算法中选取出Rijndael算法,
[4]
作为新的对称加密算法标准,称为AES。
[4]
Rijndael算法是一种分组密码算法,它的分组长度和密钥长度可分别被指定为128bit、192bit或
基金项目:国家自然科学基金项目(10226028);福建省泉州市科技重点项目(2004g27)
第一作者简介:陈燕梅(1981~ ),女。福建师范大学数学与计算机科学学院硕士研究生。主要研究方向为密码学与信息安全。E2mail:
happygirlcym@126.com
第8期陈燕梅等:基于AES的数字图像置乱方法 1077
256bit。本文指定分组长度为128bit,采用128bit的2.2 AES算法的加密、解密流程图
AES算法的加密、解密流程图如图1,图2
密钥,在这一参数下,算法中轮循环次数为10次。2.1 AES算法描述
2.1.1 状态矩阵(State)
所示。
将每一个分组的128bit视为以8bit(Byte)为单元的4×4矩阵,所有的运算都在该2维矩阵上进行,即状态矩阵。矩阵的元素可以用
AES算法
[4~6]
两个十六进制的字符表示,每一列的4个Byte又被称为一个双字(Word)。2.1.2 轮操作(Roundoperation)
AES算法的核心为对State矩阵的10次轮操
作。除了第10轮操作不包含MixColumns函数,加密算法中每一次轮操作都由SubBytes,ShiftRows,MixColumns和AddRoundKey4个函数组成。(1)位变换(SubBytes)
SubBytes是非线性运算。由于进行该运算比较复杂,因此在设计过程中先将0~255内所有的数进行上述SubBytes运算,得到表SBox,再采用查表法进行运算。对于一个十进制数,将其化为一个8位的二进制数:abcdefgh,找到abcd行和efgh列的位置(行和列都是从0~15进行编号),该位置上的值就是它的输出。
(2)行移位(ShiftRows)
ShiftRows是对State矩阵进行行移位操作,第1
图1 加密流程
Fig.1 Encryptionflow
行不移位,第2行循环左移一位,第3行循环左移2
位,第4行循环左移3位。
(3)列混合(MixColumns)
MixColumns操作是在State矩阵内每一列进行
如下变换:
S0′,C
02S1′,C01
=S2′01,C
03S3′,C03
0201010103020101010302S0,CS1,CS2,CS3,C乘积矩阵中的每个元素均是一行和一列中所对应元素的乘积之和。这里的乘法和加法都是定义在
8
有限域GF(2)上的。
(4)轮密钥加(AddRoundKey)
AddRoundKey是将State矩阵中每个Byte与轮
密钥组中对应的Byte进行异或操作。2.1.3 密钥扩展(KeyExpansion)
每一次的轮操作都需要一组(4列)新的轮密钥,所以必须对原来输入的128bit进行扩展。详细的密钥扩展方法可见文献[4]。
图2 解密流程
Fig.2 Decryptionflow
可见,在解密时,只需将所有操作的逆变换逆序
1078 中国图象图形学报第11卷
进行,并逆序使用密钥编排方案即可。而AES算法有其特殊性,即解密本质上和加密有相同的结构,因而存在“等价逆密码”,这个“等价逆密码”能通过原变换的一系列逆变换来实现AES算法的解密,这些逆变换按与AES算法加密相同的顺序进行。只是密钥扩展有所不同,即先应用原密钥扩展,再将InvMixColumns应用到除第1轮和最后一轮外的所有轮密钥上。
2.3 AES算法的特性
(1)对所有已知的攻击具有免疫性。
(2)在各种平台上,其执行速度快而且代码紧凑。
(3)设计简单。
现的过程中,如果图像矩阵行值或列值不是4的倍数,则在底部或右部补0,使之成为完整分块。基于以上的分析,程序基本流程如下:图像加密流程:
(1)给定需要置乱的图像P以及口令X;(2)由口令生成一个随机的4×4矩阵W,并用KeyExpansion(W)进行密钥扩展,计算11轮密钥key;
(3)读入图像信息,将R、G、B值存至矩阵P,P=(pij)n×m,pij∈{0,1,…,255};(4)置乱:对矩阵P的每4×4分块p采用AES算法加密一次,即调用Rijndael(p,key)进行运算,将结果存入原分块;
(5)输出置乱图像P′;(6)将P′在公开通道上进行传输;
(7)将密钥字符串X在安全通道上进行传输。图像解密流程:
(1)从公开渠道得到置乱图像P′;(2)从安全通道得到密钥字符串X;
(3)由X生成一个随机的4×4矩阵W,并计算
3 基于AES算法的数字图像置乱一幅数字图像P可以看作是一个矩阵P,矩阵元素所在的行与列,就是图像显示在计算机屏幕上
的诸像素点的坐标,元素的数值就是像素的灰度(通常有256个等级,用整数0至255表示)。彩色图像可以取成混合矩阵,每个像素灰度值与红色(R)、绿色(G)、蓝色(B)有关,可以用3个数值矩阵(PR,PG,PB)表示。
由于AES算法的状态矩阵是以8bit(Byte)为单元的4×4矩阵,矩阵元素的值在0至255之间,这与通常所用的图像的灰度相吻合。因此,对于一幅图像,将其数字化后得到一个矩阵,对该矩阵采用AES算法进行分块处理(不同的图像块在图像中无重叠地排列),即从左上角开始,每4×4分块矩阵用AES算法加密一次,再将各分块组合,则可以得到与原来不同的矩阵,从而改变了图像像素的灰度值,达到数字图像置乱的目的。显然,图像的恢复过程即是对各分块矩阵的逆运算过程,也就是对置乱后的图像矩阵每4×4分块用AES算法解密一次。在具体实
11轮密钥key′;
(4)读入图像信息,将R、G、B值存至矩阵P′,P′=(pi′′j)n×m,pij∈{0,1,…,255};
(5)复原:对矩阵P′的每4×4分块p′采用AES)进行运算法解密一次,即调用InvRijndael(p′,key′算,将结果存入原分块;
(6)输出复原图像。
以上算法,可在Matlab7.0上仿真实现。
4 实验结果与分析
4.1 图像的置乱效果
采用上面介绍的方法进行图像置乱,效果如图3所示。
第8期陈燕梅等:基于AES的数字图像置乱方法 1079
可见,只需应用3轮的AES算法即可达到很好
的置乱效果。AES算法在设计时已经考虑了差分攻击与线性攻击(例如,S盒构造中有限域逆操作的使用导致了线性逼近和差分分布表中的各项趋近于平均分布),因此4轮以上的AES算法对差分攻击
[7]
和线性攻击基本上是免疫的。因而在图像置乱时,可以根据实际需要采用一定轮数的AES算法进行图像加密。4.2 置乱效果的具体分析
一幅图像的“概貌”可以通过其灰度直方图来描述。例如,如果一幅图像对比度低,则直方图窄而集中于灰度级的中部;如果一幅图像其像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调。因而可以通过直方图的比较来分析置乱的效果。
对于一幅类似白噪声的图像,其直方图充满整个区域,而且分布比较均匀。同时,任意截取其中的某个小区域,其直方图的分布具有自相似性。
图4就是对置乱前后图像的直方图的一个比较。其中,图4(a)为图3(a)的直方图,图4(b)为图3(b)的直方图,图4(c)是从图3(b)中任意截取一块小区域,图4(d)是截取出来的小块图像的直方图。从图中可以看出,置乱图像的直方图充满整个区域,而且分布比较均匀。用直方图的相似度来定量地描述置乱的效果。 设两图像灰度直方图分别为r1(k),r2(k),k=0,1,…,G-1,则定义直方图的相似度
G-1
[8]
为
(1)
α=1-
k=0G-1
∑∑r1(k)-r2(k)r1(k)+r2(k)
k=0
对于一幅纯噪声的图像,其直方图分布应该是均匀的,即r(i)=r(j),Πi,j∈{0,1,…,G-1}。用式(1)可计算得置乱后的图像与白噪声图像的直方图相似度为019485,所截取的小图像与白噪声图像的直方图相似度为019065,而截取部分与整幅置乱图像的直方图相似度为019557。
这说明经过置乱后图像类似于白噪声,置乱效果良好。
和后处理过程。对于数字图像置乱,人们已做过许多有益的探索,取得了不少成果。但是,寻找一种安全而又简便的置乱方法,一直是数字图像置乱研究的内容。
根据美国国家安全局(NationalSecurityAgency,简称NSA)验证,Rijndael加/解密算法能有效抵抗目前所有已知攻击算法的攻击。本文提出了密钥控制下采用AES算法进行图像置乱与恢复的方法,此方法融合了各种特色,而且设计简单。由于Matlab具有强大的数值计算功能尤其是对数组和矩阵的运算,而AES算法的基础结构正是以矩阵为基本单位,所以在Matlab环境下实现对AES算法的仿真简便易行。从上述实验结果与分析来看,这种方法能达到很好的图像置乱效果。而且解密本质上和加密有相同的结构,能够方便地恢复出原始图像。相信这将会有很好的应用前景。
参考文献(References)
1 YanWei2qi,ZouJian2cheng,QiDong2xu.Anoveldigitalimage
[9]
5 结 论
数字图像置乱技术,可以看作数字图像加密的一种途径,也可以用做数字图像隐藏、数字水印图像植入、数值计算恢复方法和数字图像分存的预处理
1080
scramblingmethodbaseonDES[J].
中国图象图形学报
JournalofNorthChina
6 TrappeW,WashingtonLC.
第11卷
IntroductiontoCryptographywith
UniversityofTechnology,2002,14(1):1~7.[闫伟齐,邹建成,齐CodingTheory[M].NewJersey:PrenticeHall,2002.[TrappeW,WashingtonLC著.密码学概论[M].邹红霞等译,北京:人民邮
乐旭.一种基于DES的数字图像置乱新方法[J].北方工业大学学报,2002,14(1):1~7.]
2 SchneierB.
AppliedCryptography:
Protocols,Algorithms,
and
SourceCodeinC(SecondEdition)[M].BrisbaneAustralia:JohnWileyandSons,1996.[SchneierB著.应用密码学:协议、算法与C语言源程序(第2版)[M].吴世忠等译,北京:机械工业出版
电出版社,2004.]
7 CaoHua2ping,LuoShou2shan,WenQiao2yan,etal.
algorithm[J].
Onthe
relationshipbetweentheroundkeyandthecipherkeyoftheAES
JournalofBeijingUniversityofPostsand
Telecommunications,2002,25(4):47~50.[曹华平,罗守山,温
社,2000.]
3 DaemenJ,RijmenJ.AESProposal:Rijndael[R].VenturaCA:NationalInstituteofStandardsandTechnology,1998:1~45.4 StallingsW.
CryptographyandNetworkSecurity:Principlesand
Practices(ThirdEdition)[M].NewJersey:PrenticeHall,2003.[StallingsW著.密码编码学与网络安全:原理与实践(第3版)[M],刘玉珍等译,北京:电子工业出版社,2004.]5 CaiYu2dong,
ShenHai2bin,
YanXiao2lang.Ahigh2speedimplementationofAES[J].MicroelectronicsandComputer,2004,21(1):83~85.[蔡宇东,沈海斌,严晓浪.AES算法的高速实
巧燕等.AES算法轮密钥与种子密钥之间的关系研究[J].北京邮电大学学报,2002,25(4):47~50.]8 SuiXin2guang,LuoHui.DigitalimagescramblingbaseonS2box
[J].Journalofimagesandgraphics,2004,9(10):1223~1226.[眭新光,罗慧.基于S盒的数字图像置乱技术[J].中国图象图
形学报,2004,9(10):1223~1226.]
9 ZouJian2cheng,LiGuo2fu,QiDong2xu.Generalizedgraycodeand
itsapplicationinthescramblingtechnologyofdigitalimage[J].Appl.Math.J.ChineseUniv.(A),2002,17(3):363~370.[邹
建成,李国富,齐东旭.广义Gray码及其在数字图像置乱中的应用[J].高校应用数学学报(A辑),2002,17(3):363~370.]
现[J].微电子学与计算机,2004,21(1):83~85.]
因篇幅问题不能全部显示,请点此查看更多更全内容