图像置乱
- 格式:doc
- 大小:631.50 KB
- 文档页数:11
一种新的图像置乱算法背景图像置乱是一种常用的保护图像信息安全的手段。
它通过改变图像像素的位置、颜色等属性来使得图像难以被识别和破解。
目前已有很多种图像置乱算法,但是随着计算机技术的不断发展,这些算法的安全性越来越受到质疑。
因此,本文提出了一种新的图像置乱算法,旨在提高图像信息的安全性。
算法设计本文提出的新算法被称为“混沌转换置乱算法”(CTPA)。
它通过引入混沌映射和置换过程来改变图像像素的分布和位置,从而实现图像置乱的目的。
混沌映射混沌映射是一种具有完全不可预测性质的映射,它可以将一个初始值映射到一个看似随机的数列中。
本文采用的混沌映射函数是Logistic映射,它的计算公式为:x n+1=rx n(1−x n)其中,r是一个常数,x0是初始值,x n是第n个数。
通过不断迭代,我们可以得到一个看似随机的数列。
我们将这个数列作为置乱算法的密钥,用于改变图像像素的位置和分布。
置换过程置换过程是指将图像中的像素点重新排列,从而达到图像置乱的目的。
本文采用的置换过程是基于混沌映射的置换算法。
其具体步骤如下:1.将图像分成N个块,每个块包含m个像素点。
2.对每个块中的像素点进行坐标映射。
具体做法是将每个像素点的横纵坐标根据混沌映射函数计算得到一个新的坐标,并将该像素点置换到新坐标所对应的位置。
置换过程中需要注意边缘像素点的处理。
3.对所有置换后的块进行合并,得到置乱后的图像。
算法实现本文采用Python语言实现了CTPA算法,并对其在一些常见图像上进行了实验验证。
我们采用了两种评价指标来评估算法的性能,分别是均方误差(MSE)和结构相似性指标(SSIM)。
实验结果表明,与传统的置乱算法相比,CTPA算法在保证图像置乱度的同时,能够更好地保持图像的清晰度和细节,具有更高的保密性和鲁棒性。
算法应用CTPA算法可以广泛应用于保护图像信息的安全。
例如,可以将其应用于网络安全、数字版权保护、反欺诈等领域。
在实际应用中,可以根据具体需求对算法的参数进行调整,以达到更好的性能和安全性。
第11卷 第8期2006年8月中国图象图形学报Journal of I m age and GraphicsVol .11,No .8Aug .,2006基金项目:国家自然科学基金项目(10226028);福建省泉州市科技重点项目(2004g27)收稿日期:2005206205;改回日期:2005209213第一作者简介:陈燕梅(1981~ ),女。
福建师范大学数学与计算机科学学院硕士研究生。
主要研究方向为密码学与信息安全。
E 2mail:happygirlcy m@基于AES 的数字图像置乱方法陈燕梅 张胜元(福建师范大学数学与计算机科学学院,福州 350007)摘 要 以图像信息安全问题为背景,介绍了高级加密标准(AES ):R ijndael 算法,并在此对称分组密码算法的基础上,提出了密钥控制下采用AES 算法进行图像置乱与恢复的方法。
该方法既安全又简便。
实验结果显示了图像置乱的效果,通过直方图的比较对此进行一定的分析,结果表明,这种方法能达到较好的加密与解密效果,而且易于实现。
关键词 高级加密标准(AES ) 数字图像 数字图像置乱 信息安全中图法分类号:T N911 文献标识码:A 文章编号:100628961(2006)0821076205A M ethod for D i g ita l I mage Scram bli n g Ba sed on AESCHE N Yan 2mei,ZHANG Sheng 2yuan(School of M athe m atics and Co m puter Science,Fujian N or m al U niversity,Fuzhou 350007)Abstract W ith the security p r oble m of i m age inf or mati on as research backgr ound,this paper intr oduces the AdvancedEncry p ti on Standard (AES ):R ijndael algorith m.Base on the sy mmetry bl ock ci pher alg orith m,a method for scra mbling and rest oring digital i m ages is p r oposed,which uses the AES alg orith m under the contr ol of secret key .Thismethod is safe aswell as si m p le .A si m ulati on sho ws the effect of i m age scra mbling,and it is analyzed by co mparis on of hist ogra m s .The results sho w that:this method can reach p referable effect of encry p ti on and decry p ti on,and further more,it ’s easy t o realize .Keywords advanced encryp ti on standard (AES ),digital i m age,digital i m age scra mbling,inf or mati on security1 引 言数字图像信息安全,是伴随着计算机网络和多媒体技术的迅速发展而产生的新问题。
几种常用的图像置乱算法作者:代会东令狐昌应伊洪冰蓝旭李严来源:《硅谷》2009年第21期图像置乱技术的目的是将图像噪声化,使得图像的能量尽量地均匀分布。
由于图像置乱可选取不同的方法,同样的方法可以设置不同的参数,组合起来的结果会千差万别,因此,将置乱作为图像加密的一种方法从安全的角度考虑是可行的。
下面从矩阵理论与方法角度介绍数字图像变换。
一、Arnold变换V.J.Arnold在遍历理论的研究中提了这一类变换:设平面点集对,则:点集在计算机屏幕上表现为单位正方形上离散像素组成的矩阵。
如果像素的坐标,那么上述变换转化为:记变换中的矩阵为,反复进行这一变换,则有迭代程序:其中: 为迭代第n步时点的位置。
图1给出了利用Arnold变换的girl.bmp的标准图像进行置乱的例子:原始图像 1 2 30100 150 191 192图1Arnold变换后的图像Arnold变换可以看作是裁剪和拼接的过程。
通过这一过程将离散化的数字图像矩阵中的点重新排列。
F.J.Dyson和H.Falk分析了离散Arnold变换的周期性,给出了对于任意,Arnold变换的周期。
实际应用中,通过计算机编程找到周期的结果如表1所示,显然T和N呈非线性关系。
表1不同阶数N下Arnold变换的周期二、幻方变换对于n阶矩阵A:若满足如下条件:其中,C为常数,即矩阵A的各行、各列、各对角线上的元素的和相等,则A称为n阶幻方。
特别的,当A中的个元素恰好为整数,则称矩阵A为n阶标准幻方。
对A中的元素作一次变换,将元素1移至元素2的位置,元素2移至元素3的位置,以此类推,最后将9处的像素移至1处。
矩阵A经过一次幻方变换后结果如下:利用8阶幻方对128128的girl.bmp标准图像进行加密的效果如图2所示:原始图像 1次 2次 30次图2利用8阶幻方加密1-4次的效果图其中幻方矩阵:幻方矩阵是一有限维矩阵,由其变换步骤可以看出,经过次置换,又会回到原来的位置,由此,幻方变换也具有周期性,且其变换周期就是。
数字图像置乱技术摘要随着多媒体技术、信息存储技术的飞速发展,以及网络带宽限制的放松,越来越多的数字图像得以在网络上传输,并逐步成为人们获取信息的主要手段。
网络上传输的数字图像有些无关紧要,有些却至关重要,这其中有可能涉及到个人隐私、公司利益、军事机密、国家安全,其价值无法衡量。
另一方面,Internet网络的日益普及使得任何人都有可能接触并搜集到网络中的图像信息,而不管它是善意的还是恶意的、合法的还是非法的,从而使得在网络上传输的图像安全倍受关注,字图像的安全已经成为信息安全领域中重要的研究分支,而置乱技术在数字图像加密技术中起着不可忽视的作用。
一般从客观景物得到的图像是二维的。
一幅图像可以用二维函数f(x,y)来表示,也可看作是一个二维数组,x和y表示二维空间XY中一个坐标点的位置,而f则代表图像在点(x,y)的某种性质F的数值。
例如常用的图像一般是灰度图像,此时f表示灰度值,它常对应客观景物被观察到的亮度。
需要指出,一般是根据图像内不同位置的不同性质来利用图像的。
本文为你重点介绍了数字图像置乱的原理,并介绍了两种基本的置换方法,分别是:二维坐标置乱法、基于Arnold变换的图像置乱方法,教你如何对你的图像进行加密,并对数字图像置乱程度进行测评,同时对未来可能的研究方向进行了展望。
选择了MATLAB7.1作为软件工具,所给出的程序代码均在其上测试通过。
关键词:MATLAB、数字图像置技术、二维坐标变换、Arnold变换、置乱度1、问题的提出随着网络技术的高速发展,大量的个人信息和公众信息在网上传播,使得信息安全显得日趋重要。
面对如此严峻的信息泄露问题,我们如何把一幅数字图像变换为一幅杂乱无章的加密图像,以保护个人隐私、公司利益、军事机密、国家安全,最后再通过解密过程,把置乱后的图像恢复为原始图像的过程为图像复原。
给出一张图形,对其进去以下操作:(1)大概分析数字图像加密解密原理;(2)设计两种图形置乱方法,运行并分析结果; (3)衡量评价图像置换程度; (4)分析总结两种方案。
数字图像置乱技术研究6.3.1图像置乱原理图像置乱技术属于图像加密技术,它通过对图像像素矩阵的重排,破坏了图像矩阵的相关性,以此实现信息的加密,达到安全传输图像的目的。
图像置乱的实质是破坏相邻像素点间的相关性,使图像“面目全非”,看上去如同一幅没有意义的噪声图像。
单纯使用位置空间的变换来置乱图像,像素的灰度值不会改变,直方图不变,只是几何位置发生了变换。
置乱算法的实现过程可以看做是构造映射的过程,该映射是原图的置乱图像的一一映射,如果重复使用此映射,就构成了多次迭代置乱。
我们假设原始图像为0A ,映射关系用字母σ表示,得到的置乱图像为1A ,则原图到置乱图像的关系,可简单的表示为:10A A −→−σ例如:原始图像用矩阵0A 表示,置乱后的图像为1A , ij a 代表坐标为(),x y 的像素点的灰度:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=333231302322212013121110030201000a a a a a a a a a a a a a a a a A ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=12002133112010023*******312322131a a a a a a a a a a a aa a a a A (6.3.1) 置乱映射σ的元素存在两种形式:一种是序号形式,用()j width i +*表示图像中像素的排列序号;一种是坐标形式,()j i ,表示第i 行第j 列。
则相应的置乱映射σ可表示如下:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1253720131011511948614σ或者()()()()()()()()()()()()()()()()⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡0,31,13,03,12,00,01,32,21,03,33,21,20,10,22,12,3 (6.3.2) 映射τ中的元素表示:原图中该点元素在置乱后图像中的位置。
比如坐标为(0,1)的像素点最后变换到(1,2)这个位置上。
因此使用置乱映射σ进行迭代置乱,原图0A 应用映射τ迭代适当的次数后,能够得到理想置乱图像。
对1A 应用逆置乱映射,还原得到原始图像0A :110A A −−→−-σ6.3.2基于变换矩阵的图像置乱我们一般处理的图片都是平面图片,即所谓的二维图片。
二维数字图像可以看作是平面区域D 上的二元函数D y x y x F Z ∈=),(),,(。
在绝大多数情况下区域D 是一个矩形,对D 中任意的点y x y x ,),,(表示其像素点的位置,而),(y x F 代表图像的信息(灰度图像是灰度值,彩色图像是RGB 分量值等)。
当图像数字化之后,图像),(y x F Z =则对应于数学中的一个矩阵,其元素所在的行与列),(y x 对应于自变量取值,数字图像离散化后是相应于元素之间有相关性的一类特别的矩阵。
通过数学中矩阵的初等变换可以将图像转换为另一幅图像,从而达到置乱的目的,但其置乱作用较差,因为初等变换是整行或整列进行变换,并不是对矩阵中每个点进行变换。
而一些非线性变换则有可能对图像置乱起到较好的作用。
现介绍目前几种常见的图像置乱方法。
1 基于Fibonacci 变换的图像置乱Fibonacci 变换的基本原理与Arnold 变换一样,只是变换的矩阵稍有不同。
设图像的像素的坐标},1N ,,2,1,0{S y ,x -=∈ Fibonacci 变换为:)(mod 0111''N y x y x ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡ (6.3.3) 如图表示380×380的miingxing 图像进行Fibonacci 变换的置乱效果图6.3.1 fibonacci 算法的置乱图像 6.3.1 algorithm scrambling image(a )原图(b)7次置乱(c)30次置乱用MATLAB实现fibonacci变换置乱的程序如下:function [ fibonacci ]i=imread('');%进行fibonacci变换的原图k=imresize(i,[380,380]);%把图片尺寸变换成380×380的j=rgb2gray(k);%灰度化处理subplot(1,3,1),imshow(j),title('原始图片')size_j=size(j);q=size_j;for t=1:7for a=1:qfor b=1:qc=a-1;d=b-1;e=mod(c+d,380);d=mod(c+0*d,380);m=e+1;n=d+1;h(m,n)=j(a,b);endendj=h;endsubplot(1,3,2),imshow(j),title('7次置乱图片')%输出7次置乱图片for t=1:23for a=1:qfor b=1:qc=a-1;d=b-1; e=mod(c+d,380); d=mod(c+0*d,380); m=e+1; n=d+1; h(m,n)=j(a,b); end end j=h; endsubplot(1,3,3),imshow(j),title('30次置乱图片')%输出30次置乱图片 end2 基于排列变换的图像置乱设图像像素的坐标}1N ,,2,1,0{S y ,x -=∈ ,排列变换表示为:Z k S y x N y x k k y x ∈∈⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+=⎥⎦⎤⎢⎣⎡,,),(mod 111'' (6.3.4) 式子(6.3.4)和Arnold 变换的变换方法一样,也只是变换矩阵有些变化,很容易看出:Fibonacci 变换就是式()中,k=0,Arnold 变换就是k=1。
如图6.3.2用大小为380×380的baoba 灰度图像表示置乱效果,假设k=6。
图6.3.2 排列算法(k=6)的置乱图片 6.3.2 a algorithm scrambling image3 基于亚仿射变换的图片置乱设图像像素坐标}1N ,,2,1,0{S y ,x -=∈ ,亚仿射变换为:Z d c b a S y x N y x d c b a y x ∈∈⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡,,,,,,),(mod '' (6.3.5) 其中1c b d a ±=⨯-⨯,同样亚仿射变换依然和前面介绍的Arnold 变换方法一样。
只是变换矩阵更加的一般化。
取33d ,7c ,14b ,3a ====,如图6.3.3是用大小为450×450的图像表示其置乱效果。
图6.3.3 亚仿射算法的置乱图片Fig.6.3.3 The affine algorithm scrambling image6.3.3基于Arnold 变换的数字图像置乱Arnold 变换置乱Arnold 变换又称猫脸变换,设想在平面单位正方形内绘制一个猫脸图像,通过下述变换,猫脸图像将由清晰变的模糊。
矩阵表示即为:)mod(2111''N y x y x ⎪⎪⎭⎫⎝⎛⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛ (6.3.6) )','(y x 是图像中),(y x 的像素变换后的新的位置。
反复进行此变换,即可得到置乱的(a)原图 (b)1次置乱 (c)10次置(a)原图(b)10次置(c)50次置图像。
图像的二维Arnold变换,实现像素位置的置乱,所以经过Arnold变换处理的图像,其灰度直方图与原图一样。
下面以380×380的renwu图像进行10次、50次、90次置乱之后的图像,在90次置乱后,又回到原始图像。
图6.3.4 Arnold算法置乱图片Fig.6.3.4 Arnold algorithm scrambling image用MATLAB实现Arnold变换的程序如下:function [ Arnold ]i=imread('');%进行Arnold变换的原始图片k=imresize(i,[380,380]);%图片尺寸变换为380×380的j=rgb2gray(k);%图片进行灰度化处理subplot(1,4,1),imshow(j),title('原始图片')size_j=size(j);q=size_j;for t=1:10for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);%进行矩阵变换endendj=h;end(a)原图(b)10次置(c)50次置(d)90次置subplot(1,4,2),imshow(j),title('10次置乱图片')%输出10次置乱图片for t=1:40for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);endendj=h;endsubplot(1,4,3),imshow(j),title('50次置乱图片')for t=1:40for a=1:qfor b=1:qh(mod(a+b,q)+1,mod(a+2*b,q)+1)=j(a,b);endendj=h;endsubplot(1,4,4),imshow(j),title('90次置乱图片')%输出一个变换周期后的图片Arnold变换的周期性对于数字图像来说,可以将其看成是一个函数在离散网格点处的采样值,这样我们就得到了一个表示图像的矩阵.矩阵中元素的值是对应点处的灰度值。
对于正方形数字图像,我们的离散化的Arnold变换式(6.3.6),其中N为图像的宽度和高度,即图像矩阵的阶数。
数字图像经过Arnold变换后,变得混乱不堪,继续使用Arnold变换若干次后,会呈现与原图一样的图片,说明Arnold变换具有周期性。
置乱变换的周期性变换性质,对于研究图像的恢复有积极的作用。
定理6.3.1 给定自然数2>N ,Arnold 变换式()的周期N m ,是使式()成立的最小自然数n :⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+⎥⎥⎦⎤⎢⎢⎣⎡⎪⎪⎭⎫ ⎝⎛--⎪⎪⎭⎫ ⎝⎛+++++11)mod (251251512512515132322222N n n n n(6.3.7)此定理的证明此处不再详细描述。
由定理6.3.1可以得出以下推论:给定自然数2>N ,Arnold 变换式()的周期N m ,是使式()成立的最小自然数n :()⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡11N mod 11n A (6.3.8)其中⎥⎦⎤⎢⎣⎡=2111A ,N 是图像矩阵的阶数。