图像保密通信技术之Arnold变换

合集下载

一种基于Arnold变换的数字图像加密算法

一种基于Arnold变换的数字图像加密算法

第35卷第3期2009年5月 光学技术OPTICAL TECHN IQU E Vol.35No.3May 2009文章编号:100221582(2009)0320384204一种基于Arnold 变换的数字图像加密算法Ξ任洪娥,尚振伟,张健(东北林业大学信息与计算机工程学院,哈尔滨 150040)摘 要:提出了一种基于Arnold 变换的均匀数字图像加密算法。

将传统的Arnold 变换进行改进,加入两个参数a ,b ,并利用Logistic 映射产生参数序列。

将数字图像分块,对每个图像块分别进行参数不同的Arnold 变换,由此实现对图像的位置置乱。

另外将Arnold 变换推广至多维,用于图像的灰度置乱,从而构造一个位置置乱和灰度置乱相结合的图像加密算法。

实验仿真结果表明该算法能够取得很好的加密效果,且具有密钥空间大,密钥敏感性强,以及能够抵御统计和已知明文攻击等优点。

基本满足图像加密的有效性和安全性要求。

关键词:Arnold 变换;Logistic 映射;数字图像加密中图分类号:TP301.6 文献标识码:AAn algorithm of digital image encryption based on Arnold transformationRE N H ong 2e ,SH ANG Zhen 2wei ,ZH ANG Jian(College of Information and Computer Engineering ,Northeast Forestry University ,Harbin 150040,China )Abstract :A digital image encryption algorithm is presented based on Arnold transformation.The traditional Arnold trans 2formation is improved by adding two parameters a and b ,furthermore the Logistic map is used to generate the parameter se 2quences.The digital image is blocked and the Arnold transformation with different parameters is carried out on each image block of the digital image ,thus image location scrambling is achieved.In addition the Arnold transformation is extended to multi 2di 2mensional then used on the image gray scrambling ,so as to construct an algorithm combine both the position scrambling and the gray scrambling.The results of simulation show that this algorithm can achieve good image encryption effect.And it has a large key space ,key sensitivity and many other advantages such as withstand statistical and known expressly attack.It basically meets the effectiveness and security requirements of image encryption.K ey w ords :Arnold transformation ;logistic map ;digital image encryption0 引 言图像作为人类认识和表达世界的基本方法,应用极为广泛,从古老的壁画、象形文字到今天的数字化视频,图像一直伴随着人类历史的发展。

图像保密通信技术之Arnold变换

图像保密通信技术之Arnold变换

图像保密通信技术之Arnold 变换一、作业目的1.利用Matlab 实现数字图像Arnold 变换的置乱及恢复。

2.深入学习通讯保密技术,进一步了解图像保密通讯技术。

3.向大家展示实现图像保密技术的方法和技术。

二、作业介绍近年来,随着网络带宽和速度的极大提高,多媒体数据特别是数字图像的流传和使用越来越广。

而人们对安全性和隐私的也愈发关注,图像加解密技术得到了极快地发展。

在机要、军事、政府、金融和私人通信中,数字图像所占的比例越来越大,它所承载的信息的安全成为当前人们关心的焦点。

如何确保基于网络的图像/视频信息的安全,是当前信息处理技术领域的亟待解决的难点和研究热点之。

本次作业主要研究Matlab 实现数字图像Arnold 变换的置乱及恢复。

置乱技术是一种图像加密技术,它利用数字图像具有的数字阵列的特点,搅乱图像中像素的位置或颜色使之变成一幅杂乱无章的图像,从而达到无法辨认出原图像的目的,可用于数字图像水印的预处理和后处理过程。

置乱过程不仅可以在数字图像的空间域上进行,还可以在其频率域上进行。

常见置乱方法有Arnold 变换、幻方变换、Hilbert 曲线、Conway 游戏、广义Gray 码变换、仿射变换、正交拉丁方变换等。

1. 置乱技术的特点及优点:置乱技术具有以下特点:置乱技术一般来说具有周期性;置乱变换之后的图像大小不发生改变,直方图不变,只是打乱图像各像素的次序;置乱技术是可逆变换,水印在提取后需要进行置乱变换的逆变换。

对水印进行置乱处理的优点:1)采用置乱技术的合法使用者可以自由控制算法的选择、参数的选择以及使用随机数技术,从而使非法使用者难以破译图像内容,即可以提高水印信息的安全性。

2)置乱技术可以分散错误比特的分布, 提高数字水印的视觉效果从而增强其鲁棒性。

2. Arnold 变换及其Matlab 实现Arnold 变换是Arnold 在遍历理论研究中提出的一种变换,俗称猫脸变换,即“cat mapping ”。

arnold(猫脸变换)

arnold(猫脸变换)

矩阵大小与置乱周期的关系
• • • • • • • • • • • • • • • clc; clear; permutation=[1 1;1 2]; m=[1;1]; s=48; n=mod((permutation*m),s); N=1; while 1 n=mod((permutation*n),s); N=N+1; if n==m break; end end N
arnold(猫脸变换) matlab 代码
• • • • • • • • • • function index=arnold(row,col,s,number) %This function is to permutate matrix %row and col are the coordinates of matrix %s is the size of matrix %number is the number of permutation permutate=[1 1;1 2]; index=mod((permutate*[row-1;col-1]),s); for i=1:number-1 index=mod((permutate*index),s); end
• • • • • • • • • • •
• • • •
for i=1:iTimes for u=1:iH for v=1:iW temp=tempImg(u,v); ax=mod((u-1)+(v-1),iW)+1; ay=mod(2*(u-1)+3*(v-1),iW)+1; outImg(ax,ay)=temp; end end tempImg=outImg; end
outImg=tempImg; figure, imshow(outImg); %输出原图 imwrite(outImg,'unmysecret.bmp')

arnold分割变换

arnold分割变换

arnold分割变换Arnold分割变换的原理及应用引言:Arnold分割变换是一种基于混沌理论的图像处理方法,通过对图像进行迭代变换,可以实现图像的分割和加密。

本文将介绍Arnold分割变换的原理、算法和应用,帮助读者更好地理解和应用该方法。

一、Arnold分割变换的原理Arnold分割变换是基于Arnold映射的图像处理方法。

Arnold映射是一种混沌映射,可以将二维平面上的点映射到另一个位置。

Arnold分割变换通过对图像进行多次Arnold映射,实现对图像的分割和加密。

Arnold分割变换的原理如下:1. 将输入图像划分为若干个小块,每个小块称为一个像素块。

2. 对每个像素块进行Arnold映射,将其映射到另一个位置。

3. 重复第2步,进行多次Arnold映射,直到达到设定的迭代次数。

4. 将经过迭代变换后的像素块重新组合成输出图像。

二、Arnold分割变换的算法Arnold分割变换的算法如下:1. 输入图像的大小为N×N,将其划分为N个大小为1×1的像素块。

2. 对每个像素块进行Arnold映射,映射公式如下:新的像素坐标 = (原始像素坐标 + 迭代次数) mod N3. 重复第2步,进行多次Arnold映射,直到达到设定的迭代次数。

4. 将经过迭代变换后的像素块重新组合成输出图像。

三、Arnold分割变换的应用Arnold分割变换在图像处理领域有广泛的应用,主要包括以下几个方面:1. 图像分割:Arnold分割变换可以将图像分割为若干个小块,可以用于图像的特征提取和目标识别。

2. 图像加密:通过对图像进行Arnold分割变换,可以实现对图像的加密,提高图像的安全性。

3. 图像压缩:Arnold分割变换可以将图像分割为若干个小块,可以减少图像的冗余信息,实现图像的压缩。

4. 图像恢复:通过对经过Arnold分割变换的图像进行逆变换,可以恢复原始的图像信息。

5. 数字水印:Arnold分割变换可以将数字水印嵌入到图像中,实现对图像的认证和版权保护。

一种基于Arnold变换的图像加密算法

一种基于Arnold变换的图像加密算法

l l jⅣ ; m o d
图 1 An l置 乱 od
有 需 要 , 迎 广 大 爱 好 者 联 系 探 讨 ) 欢 。 () 击 “ 文 件 ” 令 后 , 打 开 Wi- 2点 源 命 会 n

( ) 原 图像 a
( ) 代1 次后 的 图像 b迭 5
() 代10 e迭 8 次后 的图像
( 迭代12 f ) 9 次后 的图像
置 不 会 重 叠 。 样 , 始 图 像 的 全 部 像 素 将 这 原 被 随 机 而 均 匀 地 置 乱 到 密 文 图 像 的 整 个 像 以此 ( ) 相空 间限 制在 单位 正 方形 素 空 间 。 于 置 乱 后 图 像 只 是 改 变 了 图 像 X, 的 由 1 l, 内。 l,×0 l 上式定 义了变换矩阵 c, 0 I 1 注 像 素 的 位 置 而 没 有 改 变 图 像 的 像 素 值 , 所 意 到 变 换 矩 阵 的 行 列 式 值 I =1, 以 CI 所 以 图像 的 像 素 直 方 图 不 变 。 我 们 在 实 验 中 以 一 副 2 6 5 5 x2 6大 小 的 Ar 1 映 射 是 一 个 保 面 积 映 射 ( 有 吸 引 no d 没 5级 当 = b 时 以 5 子 ) 同 时 它 又 是 一 一 映 射 , 位 矩 阵 内 的 2 6 灰 度 图 像 为 例 , 取 a 1 , =7 , 。 单 下 分 别 是 迭 代 次 数 分 别 取 l 次 、 0 、 0 5 9 次 l 3 每 一 点 唯 一 地 变 换 到 单 位 矩 阵 内 的 另 一 次 、 0 和 l 2 时 的 置 乱 图 像 , 迭 代 达 1 次 8 9次 当 点 。 上 述 映 射 作 如 下 推 广 l: 将 】 1 到 l 2 时 , 乱 的 图像 又 恢 复成 原 图像 。 次 9 置 对于 不同参数 值 和不 同尺寸 的图像 , Ar od 射 都 具 有 不 同 的 周 期 。 种 反 复 迭 n l映 这 在 对坐标点的取值改用{,, N}{ 2…, 代 的 结 果 , 开 始 阶 段 象 素 点 的 位 置 变 化 1 …, X 1 , Ⅳ} 2 , 但 表 示 , A n l 映 射 扩 散 到 N ×N 并 离 散 会 出 现 相 当 程 度 的 混 乱 , 由 于 动 力 系 统 将 rod 固 有 的 特 性 , 迭 代 进 行 到 一 定 步 数 时 会 当 化 , 到 得 恢 复 到 原 来 的 图 像 , Ar od 换 具 有 周 期 即 n l变 可 2 2, mo 州 ㈥ 性 。 以 验 证 当 图 像 大 小 为 时 3 x3 迭 代 周 期 为 2 图 像 大 小 为 10 1 0时 , 代 周 4; 2x2 迭 0; 1 x5 2时 其 迭 代 周 其 中 , 是 大 小 为 N xN 的 图 像 置 期 为 6 当 图 像 大 小 为 5 2 1 。 8 换 前 像素 的位 置 , + , 是 置 换 后 像 素 的 期 为 3 4 位 置 , 数 是 正 整 数 。 用 上 式 来 置 换 图 像 参 利 [ 参考 文献] 像 素 点 的 位 置 : 原 始 明 文 图 像 的 各 像 素 坐 将 []朱 从 旭 , 立 , 志 刚 . 于 多 维 混 1 李 陈 基 标 (,) J 作为初值 (0Y ) 用给定 系数矩阵 沌 系 统 组 合 的 图 像 加 密 新 算 法 [] 计 算 机 , X,。 , J. ( 独 立 参 数 a 6决 定 ) 迭 代 次 数 作 密 钥 , 由 , 和 工程 ,0 7 3 ()l 2 4 2 0 , 32 : 4 -1 4.

Arnold变换及其逆变换研究

Arnold变换及其逆变换研究

Arnold变换及其逆变换研究毛雷波【期刊名称】《重庆工商大学学报(自然科学版)》【年(卷),期】2012(029)003【摘要】Arnold变换由于具有周期性,被广泛地应用于图像加密.但在利用其周期性进行解密时,有时会比较费时,因此提出了一种Arnold逆变换算法;在此基础上,将其拓展到非方阵图像,即一般的矩形图像上,扩展了其在图像加密上的应用范围;最后在理论上将二维推广到n维Arnold变换及逆变换.%Arnold transform, due to its periodicity, is widely used in image encryption, however, it is quite time-consuming when the periodicity of the transform is used in deeryption, as a result, anti-Arnold transform algorithm is presented, and based on this, the algorithm is extended into non-square matrix image, general rectangular image, therefore, its application range in image eneryption is expanded. Finally, 2-dimensional Arnold transform is extended to n-dimensional Arnold transform and anti-Arnold transform in theory.【总页数】6页(P16-21)【作者】毛雷波【作者单位】重庆师范大学数学学院,重庆401331【正文语种】中文【中图分类】TP391【相关文献】1.Arnold变换与伪魔方变换在图像置乱中的研究 [J], 李博2.Arnold变换及其逆变换 [J], 吴玲玲;张建伟;葛琪3.非等长Arnold变换图像加密算法研究 [J], 兰红;方毅4.基于混沌随机分块与Arnold变换的彩色图像加密算法研究 [J], 谌贻会5.基于混沌随机分块与Arnold变换的彩色图像加密算法研究 [J], 谌贻会[1]因版权原因,仅展示原文概要,查看原文内容请购买。

Arnold变换在图像置乱中的应用研究

Arnold变换在图像置乱中的应用研究

叫做信息伪装 。图像置乱所依赖 的信息 隐藏技术
不仅 提供 了非密 码 的安全 途径 , 引发 了信 息 战尤 更 其是 网络情 报 战的革命 , 产生 了一 系列新 颖 的作 战 方式 , 引起 了许 多 国家 的重视 。 网络情 报 战是信 息 战 的重 要组 成部 分 , 核 心 内容是 利用 公用 网络 进 其
然 l 与非 1正整 数 均互 素 , Al 因此可 以得 出结论 : 对
N × 像 素 的 数 字 图像 进 行 A o N n d置 r l 乱 具 备 周 期 性 。A l mo d置乱 的周 期 性 是 一 个 很 好 的性 质 。在 利用 Anl 乱 对 数 字 图 像 进 行 置 乱 变 换 时 , rod置 起

好, 这样就限制了图像 的选择 , 所以, 使用求逆矩阵 的方 法可 能 效果会 更 好 。 比如 周期 为 10次 , 前 0 之 已经置 乱 了 3 0次 , 么 , 用 逆 向置 乱 的方 法 , 那 使 就 只需要 运行 3 0次 , 传 统 的 方 法就 需 要 把 剩 下 的 而

1 基于 A o n d变 r l 换 的 图像 置 乱
1 1 Anl . rod置乱 算 法原 理 有单 位正 方形 上 的点 ( y 如 图 … : , )
幅新 的 图像 。 除 了简 单 、 于 实 现外 , mod置 易 A l
将 点 ( Y 变 到 另一点 ( , 的变换 为 : ,) Y)
增加 , 图像会 变得 越 来 越 杂 乱 无 章 , 继 续 反 复 使 但 用 Anl 乱 , 图 2 h 所 示 , 可 以恢 复 出 原 rod置 如 () 就 图 , 到 与 图 2 a 一 模 一 样 的 图像 , 里 通 过 在 得 () 这 mtb. al 7 1上 的仿 真 实验 , a 验证 了 Anl 法 的 周 ro d算 期性 及 其在 图像 加 密 中的作 用 。

基于Arnold变换的图像分存加密方法

基于Arnold变换的图像分存加密方法

r s l h w h tte ag rt m a t n e s ie ef c n t e e tr a k y ,r sssp an e tat c n i e e t latc e u t s o t a h o h h sa sr g s n i v f t h xe l e s e it l it x t k a d df r n i t k s l i o t e o n a f a a
Ab t a t T mp o e t e e u t f i g s a n n n rp i n a ag r h w ih o i e h s r mb i g s r c : o i r v h s c r y o ma e h r g a d e cy t , n l oi m h c c mb n d t e c a l i i o t n e c y t n w t h r g tc n lg n i e i u in wa rp s d n rp i i s a i h oo y a d p x ld f so sp o o e .F rt ,te L gsi h oi p i g ag r h w su e o h n e f il s y h o it c a t ma p n o i m a s d c c l t t e e ae t e p r mee f Ar od ta som. S c n l , t - i n in n o d t n f r w t a a l a a t r a o g n r t h a a tr o n l r n f r e o d y wo d me so a Ar l r so m i v r b e p r mee s W s l a h i a o td t c a l ie o i o s o h ma e F n l ,t r e d me s n l Ar od t n f r i a i be p r mee s w s d p e o s r mb e px l p st n ft e i g . ia y h e — i n i a n l r so i l o a m w t v a l aa t r a h r a o td t i u e px lv le ft e s r mb e ma e S h ma e c u d b e o o e no t o i g s d p e o d f s ie au s o c a ld i g , O t e i g o l e d c mp s d i t w ma e .Th x e i n a f h ee p r me t l
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像保密通信技术之Arnold 变换
一、作业目的
1.利用Matlab 实现数字图像Arnold 变换的置乱及恢复。

2.深入学习通讯保密技术,进一步了解图像保密通讯技术。

3.向大家展示实现图像保密技术的方法和技术。

二、作业介绍
近年来,随着网络带宽和速度的极大提高,多媒体数据特别是数字图像的流传和使用越来越广。

而人们对安全性和隐私的也愈发关注,图像加解密技术得到了极快地发展。

在机要、军事、政府、金融和私人通信中,数字图像所占的比例越来越大,它所承载的信息的安全成为当前人们关心的焦点。

如何确保基于网络的图像/视频信息的安全,是当前信息处理技术领域的亟待解决的难点和研究热点之。

本次作业主要研究Matlab 实现数字图像Arnold 变换的置乱及恢复。

置乱技术是一种图像加密技术,它利用数字图像具有的数字阵列的特点,搅乱图像中像素的位置或颜色使之变成一幅杂乱无章的图像,从而达到无法辨认出原图像的目的,可用于数字图像水印的预处理和后处理过程。

置乱过程不仅可以在数字图像的空间域上进行,还可以在其频率域上进行。

常见置乱方法有Arnold 变换、幻方变换、Hilbert 曲线、Conway 游戏、广义Gray 码变换、仿射变换、正交拉丁方变换等。

1. 置乱技术的特点及优点:
置乱技术具有以下特点:置乱技术一般来说具有周期性;置乱变换之后的图像大小不发生改变,直方图不变,只是打乱图像各像素的次序;置乱技术是可逆变换,水印在提取后需要进行置乱变换的逆变换。

对水印进行置乱处理的优点:
1)采用置乱技术的合法使用者可以自由控制算法的选择、参数的选择以及使用随机数技术,从而使非法使用者难以破译图像内容,即可以提高水印信息的安全性。

2)置乱技术可以分散错误比特的分布, 提高数字水印的视觉效果从而增强其鲁棒性。

2. Arnold 变换及其Matlab 实现
Arnold 变换是Arnold 在遍历理论研究中提出的一种变换,俗称猫脸变换,即“cat mapping ”。

根据所选择不同的相位空间可分为二维、三维、四维直至N 维的Arnold 变换。

本文针对的研究对象因为是二维图像故采用的是二维Arnold 变换。

其定义为:
其中,(x, y )是原图像的像素点,(x ’,y ’)是变换后新图像的像素点,n 是图像阶数,即图像的尺寸大小,一般多为正方形图像。

由于Arnold 变换具有周期性,因此可利用其周期性Period 来对图像进行反变换,即在水印嵌入过程中可将水印置乱次数作为密钥key ,再进行水印嵌入,当水印提取出来时,再将其继续置乱(Period —key)次即可使其恢复至原图。

这就是利用Arnold 的正变换来进行的置乱恢复方案。

由于这种方案用到了Arnold 周期性,如果置乱次数key 较小而周期较大时,就比较浪费时间。

这里,我们对二维Arnold 的反变换进行了Matlab 实现, 在恢复时只需根据密钥key ,置乱()'11mod '12x x N y y ⎛⎫⎛⎫⎛⎫= ⎪ ⎪⎪⎝⎭⎝⎭⎝⎭
相同的次数:key次便可恢复出原水印图像,从而大大减少了置乱处理的时间,且也不像利用正变换恢复那样需要先进行周期计算,省去麻烦的一步,提高了效率。

在实际情况中,我们应以处理时间最短为准则,根据置乱密钥来自由选择正、反变换策略恢复图像。

三、作业过程
1.Arnold变换
打开Matlab软件,新建一个M—file ,在里面打入如下代码:
function Arnold(Image,key)
%图像数值矩阵Arnold转换函数
%key: 图像需要变换迭的次数
%M:转换后图像数据矩阵
if nargin<2
disp('请按程序的输入参数格式输入参数!!!');
return;
end
%将Q赋值给M,计算Q的大小
Q=imread(Image);
M = Q ;
Size_Q = size(Q);
%Arnold转换
n = 0;
K = Size_Q(1);
M1_t = Q;
M2_t = Q;
for s = 1:key
n = n + 1;
if mod(n,2) == 0
for i = 1:K
for j = 1:K
c = M2_t(i,j);
M1_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1) = c;
end
end
else
for i = 1:K
for j = 1:K
c = M1_t(i,j);
M2_t(mod(i+j-2,K)+1,mod(i+2*j-3,K)+1) = c;
end
end
end
end
if mod(key,2) == 0
M = M1_t;
else
M = M2_t;
end
imwrite( double(M)/255,strcat( 'Arnold_',num2str(key),'_',Image ),'bmp' );
imshow(M);
然后保存为Arnold.m并运行,然后随便找一个图片,放在D:\MA TLAB7\work文件夹里,而后在Matlab窗口的Command Window里按照格式Arnold(Image,key)输入Arnold('001.bmp',1)回车,这是1次Arnold变换,可以改变key的值来改变变换次数,如如下图:
原图:1次Arnold变换2次Arnold变换
2.Arnold反变换
再新建一个M—file ,在里面打入如下代码:
%文件名:FanArnold.m
%函数功能:本函数将完成对按Arnold置换策略进行置乱的图像的置乱恢复
%输入格式举例:FanArnold('lena.bmp',3)
%参数说明:Key为置乱控制密钥
function FanArnold(Image,key)
[X,map]=imread(Image);w1=X;w0=double(w1)/255;w1=w0;subplot(2,2,3);
imshow(w1,[]);title('待恢复的图像'); Size_X = size(X);n=Size_X(1); %将图像的阶数赋值给n
for k=1:key
for x=1:n
for y=1:n
x1=2*x-y; y1=y-x; x2=2*x-y-n;y2=n+y-x;
x3=n+2*x-y; y3=y-x; x4=2*x-y; y4=n+y-x;
if(x1<n)&(x1>=0)&(y1<n)&(y1>=0)
if x1==0x1=n;end;
if y1==0y1=n;end;
w1(x1,y1)=w0(x,y);
elseif(x2<n)&(x2>=0)&(y2<n)&(y2>=0)
if x2==0x2=n;end;
if y2==0y2=n;end;
w1(x2,y2)=w0(x,y);
elseif(x3<n)&(x3>=0)&(y3<n)&(y3>=0)
if x3==0x3=n;end;
if y3==0y3=n;end;
w1(x3,y3)=w0(x,y);
else
if x4==0x4=n;end;
if y4==0y4=n;end;
w1(x4,y4)=w0(x,y);
end
end
end
w0=w1;
end
subplot(2,2,4); imshow(w0,[]); title('置乱反变换后的原图');
然后保存为FanArnold.m并运行, 在Matlab窗口的Command Window里按照格式Fan Arnold(Image,key)输入并回车,
如图:输入FanArnold('Arnold_1_001.bmp',1)将一次Arnold变换所置乱的图像恢复
可以看到只要知道密钥key 就可利用这个新程序可以将杂乱无章的图形还原出来。

假如你不知道置乱的次数key 你就没有办法将图像还原,
如果输入FanArnold('Arnold_1_001.bmp',5)得到如下图形:
这要你就无法恢复出原图了,这样就大大的保证了图像的保密性。

相关文档
最新文档