专利名称:图像置乱加密方法
技术领域:
本发明涉及图像加密,更具体地讲,涉及一种图像置乱加密方法。
背景技术:
图像置乱是将数字点阵图像中每一像点的位置移动到其它位置,使之变成一幅杂 乱无章的图像,达到无法辨认出原始图像的目的。图像置乱作为一种加密技术,已成为数字 图像安全传输、数字水印加密和图像保密存储的重要手段之一。在图像加密中,置乱技术主 要关心的是加密强度或解密难度、以及图像置乱和复原的开销(时间和计算量)是否尽可 能少。目前使用较多的置乱技术有基于Arnold变换、幻方变换、分形Hilbert曲线、Gray码 变换、混沌序列等的方法。在上述方法中,Arnold变换算法(俗称猫脸变换)简单且易于实现,在数字水印 方面得到了很好的应用。Arnold变换是V. I. Arnold在研究环面上的自同态时提出的一种变换。将Arnold 变换应用于数字图像,定义如下
9 (\ ιΥχλ
VJ
12JW
mod N x,y e {0,1,. ·,N—1} (1) 其中,(X,y)是像素在原始图像的坐标,(x',y')是变换后该像素在新图像的坐
广1 1、
标,
Vl 2y
是Arnold变换矩阵。例如,原始图像上第一个点的坐标是(1,1),经Arnold变换后该点像素将移动到 (2,3)。N是数字图像矩阵的阶数(NXN方阵),即图像的大小。mod N是求除以N的余数, 以保持像素坐标在N范围内。通常考虑正方形图像。Arnold变换矩阵记为A,反复进行这 一变换,则有迭代过程P^ 二 AP: mod N m = 0,1,2,· · . (2)Arnold变换可以看作是裁剪和拼接的过程,通过这一过程将数字图像矩阵中的点 重新排列,以达到置乱的目的。由于离散数字图像是有限点集,对图像反复进行Arnold变 换,迭代到一定步数时,必然会恢复原始图像,即,Arnold变换具有周期性。F. J. Dyson和 H. Falk给出了对于任意N > 2,Arnold变换的周期Tn SN2A的结论。显然,此周期值的上 限估计较为粗糙,实际应用的价值不大。马苗在《基于MATLAB的数字水印技术研究》(中国 科技论文在线,http://WWW. paper, edu. cn)中继续讨论了 Arnold变换的周期性问题,并给 出了计算不同N值下Arnold变换周期的公式,结果如表1所示。可以发现,Arnold变换的 周期与图像大小有关,一般随N的增大而增大。表1 不同阶数图像对应的Arnold变换周期 图1示出了 Arnold变换的一个示例。其中,图1中的(a)是原始图像,该图像为N =171的灰度图像,图1中的(b)是将原始图像扩展为正方形图像的结果,图1中的(c)是 一次Arnold变换的结果,图1中的(d)是两次Arnold变换的结果,图1中的(e)是10次 Arnold变换的结果。从图1中的(e)可以看出,此时原始图像的内容已经全部置乱。当继 续进行Arnold变换达到36次时,又可以恢复原始图像。由于Arnold变换存在周期性,所以破解方可以将置乱的图像继续进行Arnold变 换,直到出现原始图像从而实现破解的目的。因此,Arnold变换的加密强度不高。因此,需要一种加密强度较高的图像置乱加密方法。
发明内容
本发明的目的在于提供一种图像置乱加密方法,该方法的加密强度较高,置乱的 效果更好,减少了计算量,提高了变换效率。根据本发明的一方面,提供一种二维平面图像的置乱加密方法,包括(1)确定将 被置乱加密的二维平面图像是否为正方形图像;(2)如果所述二维平面图像不是正方形图
像,则将所述二维平面图像扩展为正方形图像;(3)选择变换矩阵T=
rt t \
1OO iOl V^io ^ii J
,其中,变换
矩阵T中的各个系数均为整数,并且‘ X LftcilXtici= 士 1 ;(4)使用选择的变换矩阵T对 所述正方形图像进行变换;(5)重复执行步骤(3)和(4),直到变换次数达到预定次数,从而 对所述二维平面图像进行置乱加密。 根据本发明的另一方面,提供一种三维立体图像的置乱加密方法,包括(1) 确定将被置乱加密的三维立体图像是否为正六面体图像;(2)如果所述三维立体图像 不是正六面体图像,则将所述三维立体图像扩展为正六面体图像;(3)选择变换矩阵
T=
^OO ^Ol ^02 广10 ^ll '12 V^20 ^21 ^22 J
,其中,变换矩阵T中的各个系数均为整数,并且‘、‘+‘、^+^‘‘
-t01t10t22-t00t12t21-t02tnt20 = 士1 ;(4)使用选择的变换矩阵T对所述正六面体图像进行变 换;(5)重复执行步骤(3)和(4),直到变换次数达到预定次数,从而对所述三维立体图像进 行置乱加密。
通过结合附图,从下面的实施例的描述中,本发明这些和/或其它方面及优点将 会变得清楚,并且更易于理解,其中图1示出了现有技术的Arnold变换的一个示例;图2是根据本发明实施例的二维平面图像置乱加密方法的流程图;图3示出了采用根据本发明的图像置乱加密方法对图像进行置乱加密的示例;
图4示出了对彩色图像用FAN变换进行置乱加密的一个示例;图5示出了对同一彩色图像采用Arnold变换和FAN变换进行置乱加密的结果的 比较的一个示例
具体实施例方式以下,参照附图来详细说明本发明的原理以及实施例。所谓变换,必须是具有一一对应特性的映射,这样才能存在唯一逆映射,从而构成 变换,而图像位置的变换还要求是正整数型变换,这是因为当前图像的点位置(x,y)均在 x,y取正整数处。如果把Arnold变换看成是一种对图像点坐标的变换中的一种,那是否还有其它 种类的坐标变换呢?如果将Arnold变换中去掉对N的取余数,则将NXN图像中的点影射 到2NX3N图像中,由于该变换是线性且一一对应的,故存在逆变换,而变换后的点坐标在 每个NXN方阵中都不重复,所以可以用对N取余算法(mod N)将2NX3N的图像压缩到NXN 内。因此,如果新设计的变换的点坐标在每个NXN方阵中都不重复,就可以用对N取余算 法(mod N)将变换后的图像压缩到NXN内。因此,问题就转化为是否可以找到满足上述条 件的变换及其逆变换。本发明就提出了这样的变换,且这样的变换有无穷多种,在本发明中 称为FAN变换集合。考虑对NXN方阵(NXN个像素数)二维平面图像正变换的一般表达方式为如下
vyJ
V t yx\ o h\Xy)
+K
(N、
mod TV
(3)
其中,(x,y)是像素在原始正方形图像的坐标,(x' ,y')是变换后该像素在新图
像的坐标,
^00 ^01 vio
是变换矩阵(也称为置乱矩阵),K = Max[ABS(t00),ABS(t01),ABS(t10),
ABS(tn)],BP, K为变换矩阵中的各个系数的值的绝对值的最大值。K的作用是防止出现负整数。 当2X2的变换矩阵的秩是2时(即,变换矩阵为满秩矩阵时),存在唯一的逆变 换,其一般表达式为
、U /aA
「X、,00
Vi o
■-oi
X
\y)
+K
N v^y
mod N ⑷其中,K的作用同样是为了保证位置坐标x,y为正整数。二阶矩阵求逆很容易。对正变换x' = tQ(1XX+tQ1Xy以及y' = t1QX x+tn X y,存 在逆变换
h\ j , 一bix =y =
-X +'
/00 xtu —tQl xt}0
^00 X,ll _ ^01 X^10
o X
o ,01
,1 I 』
X
00
■X +
广00
o
X
T 』
X o ro
少 (5)以及 少’(6) 简记为
6
(7)以及
也就是,变换矩阵//Oo /箱’\的逆矩阵‘也称为逆变换矩阵,为/\0 为了使正变换和逆变换的系数均为整数,只要满足
(9)或
至此,可定义FAN变换集合如下
逆变换
其中,
并且
满足FAN变换中的等式(13)是比较容易的。下面是一些FAN变换的例子当叭汎广加,有七州斗当叭止)时,有暸1)=t-3一小在下面的表2中用表格表示低位数的几个FAN变换的例子如下 从以上表格的例子可以看出,逆变换矩阵也满足i^Xru-i^X、= 士 1的关系。 因此,将以上示例中的逆变换与正变换交换,形成的置乱变换仍然成立。此关系可以证明如 下如果等式(9)成立,则有r00 X rn-r01 X r10 = tn X (_t00) +t01 X t10 = _1 (14)
如果等式(10)成立,则有 r00 X rn-r01 X r10 = tn X t00_t10 Xt10 = 1 (15)综合等式(14)和(15),可以得到iQQXrn-i^Xi^ = 士 1(16)等式(16)是逆变换的重要性质。由于等式(13)和(16)均为不定方程,可以有无穷多组变换作为解,故FAN变换有 无穷多组变换,是一个变换集合。FAN变换的置乱矩阵不是一个而是有无穷多个,虽然FAN变换也具有周期性,但如果不知道置乱矩阵则无法继续进行变换。因此,置乱矩阵成为一个加密的密钥。由于满秩的矩阵的逆矩阵是唯一的,故该变换具有“一对一对应”的性质。可以证 明,等式(13)是FAN变换成立的充分必要条件。证明如下证明二维图像置乱的FAN变换是一对一的,且‘Xtn-^Xti。= 士 1是FAN变 换存在的充分必要条件。充分条件证明由于图像变换中像素点的位置必须在整数点位置,因此要求正变 换及逆变换的矩阵中各系数tQQ、tQ1、t1Q、tn及rQQ、rQ1、r1Q、rn必须是整数。tQ(1、tQ1、t1(1、tn 在定义中已经是整数,因此当分母‘Xtn-^Xti。= 士 1时,r。。、!^、!^、!^均为整数。必要条件证明由于要求!^!^!^!^均为整数,而^“^^^^可以是任意整 数,如果等于1,则此时rn为整数的必要条件是分母‘Xtn-^Xti。= 士 1,必要性得 证。一对一性质的证明正变换等式(11)可以简记为X,= TX+KN mod N逆变换等式(12)可以简记为:X = RX,+KN mod N假设逆变换得到X”,即X” = RX,+KN mod N,只要证明X”等于X,则该变换是一对一的(如果是一对多的,则逆变换将有多个结 果)。证明如下X,,= RX,+KN mod N 代入 X,有X” = R(TX+KN mod N) +KN mod N由于tQQ X tn-t01 X t1Q = 士 1,故T和R均是实系数,上式可以化简为X” = R(TX) +KN mod Ngp,X” = IX = X,一对一性质得证。FAN变换可以进一步扩展到三维立体图像以及更高维的情况,具体如下对于三维立体正六面体图像的FAN变换可以如下定义
f <\ X
y
't t t Yx\ 广/V、 l00 l01 l02 A ly
'10 1
"12
j V20 h\ hiA2) V^J
y
+K N
modTV (17)其中,K = Max[ABS (t00), ABS (t01), ABS (t10), ABS (tn). . . ABS (t22) ], t00,t01 >t02,t10>
tn、t12、t2Q、t21、t22是整数。(x,y,z)是变换前的图像像素点的坐标,(x' ,y' ,z')是置 乱后图像像素点的新坐标,N是三维正六面体图像的边长(即边长的像素点数)。并且,tQ(l tllt22+t0lt12t20+t10t21t02_t01t10t22_t00t12t21_t02tnt20 — it 1。 上式中等号左边是行列式
^00 ^01 ^02 ,10 ^11 ^12
^20 ^21 ^22
的值,简记为I T |。即上式可表示为| T | =
士 1,这是逆变换矩阵R的系数全部为整数的充分必要条件。
此时有FAN逆变换如下
9
y
roorojr02(,\ X(N^Hornrny+ KNV20rnr22jV /
mod N 按照上述定义,可以很容易列举出如下几个三维FAN变换的例子
'1 1 1、'2 -1 0、
示例 1 -J =1 2 2,R =-1 2 -1,这是扩展至I 20-11
变换矩阵c示例2,T =22、21「32
示例3:T =22、11fl1
示例4.T =12,11
2
R =
R =
R =
10
0-1
-21
1-1
-12
1
0、
v° 一1 2y
3 -1 -1 1 -1 0 进一步扩展到n维的Arnold变换有
12 3 12 2 -1 1 1
1 2 3
n
3 一
N
+K
N
mod TV 而进一步扩展到n维的FAN变换集合有
X;「
11 '12
^21 122
txn hn
Xn
+K
N N
N
mod TV其中,K= Max [ABS (tn),ABS (t12),ABS (t21),ABS (t22) . ABS (tj ]。只要满足变换矩阵T构成的行列式的值| T | = 士 1这一充分必要条件,则n维的 FAN变换成立。此时有FAN逆变换如下
10
其中,矩阵R是矩阵T的逆矩阵,且矩阵T和R中的各个系数均为整数c例如一个4维的FAN变换如下 一个5维的FAN变换如下 反复进行FAN变换,可以表达为下式CX—N m = 0,l,2,. 对于选定的同一变换矩阵T,FAN变换也同样具有周期性。
下面参照图2和图3来描述根据本发明的二维平面图像置乱加密方法的具体过 程。图2示出了所述图像置乱加密方法的流程图,图3示出了根据所述图像置乱加密方法 对图像进行置乱加密的示例。参照图2和图3,在步骤201,确定待加密的原始图像是否为正方形图像。在图3 的(a)中示出的图像为164X162点阵图像,S卩,为非正方形图像。如果待加密的原始图像为非正方形图像,则在步骤202,将其扩展为正方形图像。 扩展的部分像素点的值可以取任意值,也可以取该图像的另一部分的像素点的值。在图3 的(b)中示出的图像为扩展为164X164点阵图像,扩展部分像素点的值取0值。如果待加 密的原始图像为正方形图像,则直接进行到步骤203。 在步骤203,选择变换矩阵T=
。其中,变换矩阵T中的各个系数(即,、
tQ1、t1Q、tn)均为整数,并且变换矩阵T构成的行列式的值|T| = 士 1,即,t^Xtn-t^Xti。 =士 1,满足等式(13)。 例如,任选t00 = 77, tn = 55,两数乘积为4235。按照等式(13),t01和t10的乘积 应该等于4236或4234。如果选4236,则可以有1412X3,706X6,2118X2,353X 12四种,
可以选353和12组成FAN变换矩阵T=
。此变换矩阵也就是变换密钥,可以对此矩阵求逆,得到逆变换矩阵
。显然也有逆变换矩阵R
的行列式的值的|R| = 士 1。在步骤204,使用选择的变换矩阵T对正方形图像进行变换,从而对该图像进行置 乱加密。可按照等式(3)对正方形图像进行变换例如,进行1 次 t00 = 77、t01 = 353、t10 = 12、tn = 55 的 FAN 变换,得到如图 3 中 的(c)所示的置乱加密图像。该图像已经具有较好的置乱效果。如果希望达到更好的置乱
效果,可继续采用变换矩阵T=
进行变换。图3中的(d)示出了进行8
次变换后的置乱加密图像,与原始图像相比,该置乱加密图像的置乱效果已经很高了。在步骤205,重复执行步骤203和204,直到变换次数达到预定次数,达到期望的加 密效果。每次执行步骤203和204时,可选择相同的变换矩阵,也可以选择不同的变换矩阵。 每次选择不同的变换矩阵,可更为显著地提高图像加密的强度。对加密的图像,可使用与每次采用的变换矩阵对应的逆矩阵逐次做逆变换,来进 行解密(即,恢复原始图像)。在每次选用相同的变换矩阵的情况下,如果预先得知变换次数(加密次数),则做 同样次数的逆变换即可恢复原始图像;如果不记得加密次数,只要得知变换矩阵的逆矩阵 (或者得知变换矩阵也可以,因为可以求出该变换矩阵的唯一逆矩阵),用逆矩阵逐次做逆 变换,直到恢复原始图像为止。另一方面,在每次选用相同的变换矩阵的情况下,在加密完成之后,可使用选择的 变换矩阵对置乱加密的图像继续逐次进行变换,直到恢复原始图像。这是由于对于选定的 同一变换矩阵,FAN变换也同样具有周期性。下面的表3是列举了对不同的图像阶数N及不同的FAN变换的循环恢复的次数。表3 在实际应用中,由于正变换和逆变换的计算量是相同的,故当对图像进行置乱加 密时,如果变换次数少于循环周期数的一半时,用逆变换可恢复原始图像以减少工作量。反之,用正变换可更快恢复原始图像。由于破解图像置乱的难度与变换矩阵的种类数相关,FAN变换集合有无穷多的变 换元素构成无穷多的变换矩阵,这将大大增加加密的强度。对RGB彩色图像,可以直接做 FAN变换,也可以对RGB三基色选不同的FAN变换矩阵,从而使得置乱加密图像更难破解。 此时,应该理解,在上一次变换中对RGB三基色选择的不同的变换矩阵可与在下一次变换 中对RGB三基色选择的不同的变换矩阵分别相同,或者部分相同,或者彼此完全不同。图4示出了对彩色图像用FAN变换进行置乱加密的一个示例。图4中的(a)为原
,变换2次的结果如图4中的(b)
始彩色图像。用FAN变换,变换矩阵 所示。如前所述,为了进一步提高的图像加密的强度,还可以每次变换采用不同的变换 矩阵,恢复图像(即,解密图像)时使用对应的逆变换矩阵进行逆变换即可。采用这种加密 方式,其加密强度将和变换次数的阶乘成正比,强度很高,很难破解。此外,当变换矩阵中的系数的绝对值中的最大值大于W(W为图像的维数)时,置乱 加密的效果比系数取值小时更为显著。图5示出了对同一彩色图像采用Arnold变换和FAN变换进行置乱加密的结果的 比较的一个示例。
图5中的(a)示出了使用Arnold变换矩阵 像,图5中的(c)示出了使用Arnold变换矩阵 5中(b)的示出了使用根据本发明的FAN变换矩阵
进行两次变换所得的置乱加密图 进行三次变换所得的置乱加密图像,图 进行两次变换所得的置乱加密图
像,图5中的(d)示出了使用本发明的FAN变换矩阵
进行三次变换所得的置乱加密
图像。可以看出,由于根据本发明的FAN变换矩阵中的系数的绝对值中的最大值为3,大于 二维图像的维数2,移位较多,所以图像置乱效果更为显著。 虽然图2和图3示出了针对二维平面图像应用上述图像置乱加密方法,但是本领 域技术人员应该理解,也可以针对三维立体图像应用上述图像置乱加密方法,选择相应的
变化矩阵
,变换矩阵T构成的行列式的值|T| = 士 1,具体的图像置乱加
密方法与前面所述的针对二维平面图像的置乱加密方法类似(包含“扩展为三维正六面体 图像”、“选择变换矩阵”、“对三维正六面体图像进行变换”、“变换次数达到预定次数”等步 骤),这里不再详细描述。 如上所述,Arnold变换的变换矩阵是本领域技术人员所熟知的。由于Arnold变 换存在周期性,因此只要对采用Arnold变换进行加密的图像继续执行Arnold变换达到特 定次数,就可破解加密的图像。因此,Arnold变换的加密强度不高。
为此,本发明提出了一种包含有无穷种变换的FAN变换集合,变换种类的扩大直 接提高了加密强度。本发明给出了 FAN变换及逆变换的理论表达式以及构成FAN变换的条 件。FAN变换中选用的系数普遍比Arnold变换选用的系数大,因此置乱的效果更好,减少了 计算量,提高了变换效率。虽然本发明是参照其示例性的实施例被具体描述和显示的,但是本领域的普通技 术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进 行形式和细节的各种改变。
权利要求
一种二维平面图像的置乱加密方法,包括(1)确定将被置乱加密的二维平面图像是否为正方形图像;(2)如果所述二维平面图像不是正方形图像,则将所述二维平面图像扩展为正方形图像;(3)选择变换矩阵其中,变换矩阵T中的各个系数均为整数,并且t00×t11 t01×t10=±1;(4)使用选择的变换矩阵T对所述正方形图像进行变换;(5)重复执行步骤(3)和(4),直到变换次数达到预定次数,从而对所述二维平面图像进行置乱加密。FSA00000186347500011.tif
2.根据权利要求1所述的置乱加密方法,其中,在步骤(4)中,按照下面的等式对所述 正方形图像进行变换 其中,(x,y)是像素在变换前的正方形图像的坐标,(χ' ,ι')是该像素在变换后的正 方形图像的坐标,K为选择的变换矩阵T中的各个系数的值的绝对值的最大值,N为所述正 方形图像矩阵的阶数,mod N是求除以N的余数。
3.根据权利要求2所述的置乱加密方法,其中,在所述预定次数的变换中,每次选择的 变换矩阵T相同。
4.根据权利要求2所述的置乱加密方法,其中,在所述预定次数的变换中,每次选择的 变换矩阵T不同。
5.根据权利要求3或4所述的置乱加密方法,其中,使用与每次选择的变换矩阵T对应 的逆矩阵对置乱加密的图像逐次进行逆变换,以对置乱加密的图像进行解密。
6.根据权利要求3所述的置乱加密方法,其中,使用选择的变换矩阵T对置乱加密的图 像逐次进行变换,直到恢复原始图像。
7.—种三维立体图像的置乱加密方法,包括(1)确定将被置乱加密的三维立体图像是否为正六面体图像;(2)如果所述三维立体图像不是正六面体图像,则将所述三维立体图像扩展为正六面 体图像;(3)选择变换矩阵T ,其中,换矩阵T中的各个系数均为整数,并且 (4)使用选择的变换矩阵T对所述正六面体图像进行变换;(5)重复执行步骤(3)和(4),直到变换次数达到预定次数,从而对所述三维立体图像 进行置乱加密。
8.根据权利要求7所述的置乱加密方法,其中,在步骤(4)中,按照下面的等式对所述正六面体图像进行变换 V20 ,21 ,22人2乂其中,(X,y,ζ)是像素在变换前的正六面体图像的坐标,(X' ,y' ,Z')是该像素在 变换后的正六面体图像的坐标,K为选择的变换矩阵T中的各个系数的值的绝对值的最大 值,N为所述正六面体图像的边长的像素点数,mod N是求除以N的余数。
9.根据权利要求8所述的置乱加密方法,其中,在所述预定次数的变换中,每次选择的 变换矩阵T相同。
10.根据权利要求8所述的置乱加密方法,其中,在所述预定次数的变换中,每次选择 的变换矩阵T不同。
11.根据权利要求9或10所述的置乱加密方法,其中,使用与每次选择的变换矩阵T对 应的逆矩阵对置乱加密的图像逐次进行逆变换,以对置乱加密的图像进行解密。
12.根据权利要求9所述的置乱加密方法,其中,使用选择的变换矩阵T对置乱加密的 图像逐次进行变换,直到恢复原始图像。
全文摘要
本发明提供一种图像置乱加密方法。该图像置乱加密方法包括(1)确定将被置乱加密的二维平面图像是否为正方形图像;(2)如果所述二维平面图像不是正方形图像,则将所述二维平面图像扩展为正方形图像;(3)选择变换矩阵其中,变换矩阵T中的各个系数均为整数,并且t00×t11-t01×t10=±1;(4)使用选择的变换矩阵T对所述正方形图像进行变换;(5)重复执行步骤(3)和(4),直到变换次数达到预定次数,从而对所述二维平面图像进行置乱加密。
文档编号G06T1/00GK101894359SQ20101022494
公开日2010年11月24日 申请日期2010年7月13日 优先权日2010年7月13日
发明者李红莲, 范京 申请人:北京信息科技大学