数字图像加解密的方法

文档序号:8362083阅读:589来源:国知局
数字图像加解密的方法
【技术领域】
[0001]本发明涉及数字图像处理技术领域,具体涉及一种数字图像加解密的方法。
【背景技术】
[0002]信息时代,数字图像逐渐成为一种信息存储和交流的重要手段。在图像存储和传输过程中,可能会遭遇到数据的泄漏或恶意篡改。如何安全有效地对图像进行加密解密是目前数字图像安全的一个研宄热点。
[0003]“图像置乱”是图像加密的一种重要手段。常见的图像置乱算法有Arnold变换、Gray代码变换等。这些方法各有优缺点,比如Arnold变换堪称经典,但因有明显的周期性,使得置乱程度时高时低缺乏稳定性,解密所需时间很长;Gray变换也因具有周期性,导致抗攻击性不高;且由于此类算法的明文算子是事先确定的,所以容易受到密码分析的攻击。
[0004]另一类基于混沌变换的图像置乱算法,如Baker变换、Fibonacci变换,此类算法虽有其动态系统的伪随机性,但缺点是必须对混沌系统确定一个固定的参数和初始值作为密钥,而且对图像矩阵尺寸有限制,只适用于方形矩阵,矩阵大小必须是2的倍数或方幂,从而限制了算法的抗攻击性和适用范围。

【发明内容】

[0005]本发明克服了现有技术的不足,提供一种提高加密安全性的数字图像加解密的方法。
[0006]考虑到现有技术的上述问题,根据本发明公开的一个方面,本发明采用以下技术方案:
[0007]一种数字图像加解密的方法,它包括以下步骤:
[0008]步骤一、像素置乱
[0009]首先利用预存的随机第一映射表对待加密图像进行像素置乱,将像素点移至置乱矩阵对应表示的新位置处;
[0010]步骤二、分块置乱
[0011]然后利用预存的随机第二映射表对所述像素点移至置乱矩阵对应表示的新位置处进行分块矩阵置乱,以得到最终的加密图像;
[0012]步骤三、解密时逆向处理
[0013]分别使用与所述像素置乱和分块置乱相同的映射表,以还原出原始图像。
[0014]为了更好地实现本发明,进一步的技术方案是:
[0015]根据本发明的一个实施方案,它还包括采用行列数相同而取值不同的多个查找表置乱。
[0016]根据本发明的另一个实施方案,它还包括:
[0017](一)对MXN的图像矩阵forigi(M, N)进行基于C_pixe_mX C_pixe_n的像素置乱和C_matr_m X C_matr_n的矩阵置乱:
[0018]I)先确定像素置乱矩阵的彳丁列数 C_pixe_m和C_pixe_n:
[0019]计算 M+C_pixe_m = m_pixe...re_pixe_m ;
[0020]N+C_pixe_n = n_pixe...re_pixe_n ;
[0021]A.C_pixe_m 的确定:
[0022]首先令C_pixe_m = 13,若 re_pixe_m = 0,则确定 C_pixe_m 取 13 ;
[0023]若re_pixe_m Φ.0,则再令 C_pixe_m = 12,11,......,当 re_pixe_m = O 时,可确定C_piXe_m为对应的取值;
[0024]若直到C_pixe_m = 4都无法满足re_pixe_m = O的情况,则取C_pixe_m为re_pixe_m最小,即余数最小情况下的对应值。比如若除数为10时余数最小,则取C_pixe_m =10 ;
[0025]B.同理确定C_pixe_n的值,使得re_pixe_n = O ;若无re_pixe_n = O的情况,则取C_pixe_n为re_pixe_n最小,即余数最小情况下的对应值。比如若除数为10时余数最小,则取 C_pixe_n = 8 ;
[0026]2)进行像素置乱。共有m_pixeXn_pixe fC_pixe_mXC_pixe_n的单位矩阵进行像素置乱。对它们用“C_pixe_mXC_pixe_n像素置乱查找表”进行像素置乱。可以只用一个查找表置乱一次,也可迭代置乱多次,还可置乱多次但每次用不同的查找表,从而得到像素置乱矩阵fpixe(M, N);
[0027]3)再确定分块置乱的矩阵行列数--C_matr_m和C_matr_n:
[0028]m_pixe + C_matr_m = m_matr...re_matr_m ;
[0029]n_pixe + C_matr_n = n_matr...re_matr_n:
[0030]当C_matr_m = 13,若 re_matr_m_x = 0,则确定 C_matr_m 取 13 ;若 re_matr_m Φ 0,则再令 C_matr_m =12,11,......,当 re_matr_m = 0 时,则确定 C_matr_m 为对应值;
[0031]若直到C_matr_m = 4 都无 re_matr_m = O 的情况,则取 C_matr_m 为 re_matr_m最小,即余数最小情况下的对应X值。比如若re_matr_m_5比其它情况下的余数都小,贝Ij取C_matr_m = 5 ;
[0032]同理确定C_matr_n的值,使得re_matr_n = O ;若无re_matr_n = O的情况,则取C_matr_n为re_matr_n最小,即余数最小情况下的对应y值。比如若除数为7时对应的余数最小,则取C_matr_n = 7 ;
[0033]4)进行分块置乱。共有m_matrXn_matr个C_matr_mXC_matr_n的分块矩阵;把每个C_pixe_l XC_pixe_n的单位矩阵当作一个像素值,对每个m_matr Xn_matr的分块矩阵用“C_matr_mX C_matr_n矩阵置乱查找表”进行矩阵置乱;
[0034]5)最后得到两步置乱后的最终图像fperm(M, N);
[0035](二)对fperm(M, N)的图像矩阵进行基于C_matr_mX C_matr_n的分块矩阵复原和C_pixe_mXC_pixe_n的像素复原:
[0036]I)首先进行矩阵复原:对m_matr Xn_matr个C_matr_mX C_matr_n的分块矩阵,用“C_matr_mX C_matr_n矩阵置乱查找表”进行置乱复原。置乱迭代次数和对应所用的查找表必须和之前的分块矩阵置乱时所用的一致;
[0037]2)像素复原:对110^6\1^116个(^^6_111\(^^6_11的单位矩阵用“(^^6_mXC_piXe_n像素置乱查找表”进行置乱复原。置乱迭代次数和对应的查找表必须和之前像素置乱时所用的一致。
[0038]与现有技术相比,本发明的有益效果之一是:
[0039]本发明的一种数字图像加解密的方法,采用随机性强的查找表方式进行像素置乱,而不是采用某种固定的置乱公式进行像素置乱或复原,查找表的数量、表内单元的取值、迭代次数、使用顺序,都是根据用户自定达到灵活变化的,从而提高了加密的安全性。
【附图说明】
[0040]为了更清楚的说明本申请文件实施例或现有技术中的技术方案,下面将对实施例或现有技术的描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是对本申请文件中一些实施例的参考,对于本领域技术人员来讲,在不付出创造性劳动的情况下,还可以根据这些附图得到其它的附图。
[0041]图1不出了根据本发明一个实施例可使用的8X8的置乱查找表的不意图。
[0042]图2示出了根据本发明另一个实施例可使用的8X8的置乱查找表的示意图。
[0043]图3示出了根据本发明一个实施例可使用的8X12的置乱查找表的示意图。
[0044]图4示出了根据本发明另一个实施例的算法流程图示意图。
【具体实施方式】
[0045]下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0046]针对图像的加解密,一方面要求算法简洁有效、安全可靠,具有不可检测性和随机性;另方面要求适用范围宽,置乱效果好,解密时能完美复原图像。
[0047]基于以上考虑,本发明提供一种新的数字图像置乱方法:
[0048]该算法分“像素置乱”和“分块置乱”两步:首先利用预存的随机映射表I对待加密图像forigi (x, y)进行像素置乱,将像素点移至置乱矩阵对应表示的新位置处,得到fpixe(x, y);然后利用预存的随机映射表2对fpixe(x,y)进行分块矩阵置乱,得到最终的加密图像fperm(x, y)。解密时逆向处理,只要使用的是原来的相同的映射表,即能可靠地还原出原始图像。
[0049]每一步可以只置乱一次,也可以置乱多次,还可以用行列数相同而取值不同的多个查找表置乱多次。迭代次数越多,耗时越长,但随机性也就越好,越不易被破解。
[0050]该方法的好处是算法简洁有效,不需要事先确定置乱移动路径,也不需要先基于某参数生成混沌序列;对图像尺寸无方形限制,可对任意MXN的灰度图像进行置乱处理(彩色图也可先经过算法处理转换成灰度图,再用此方法进行置乱),可以遍
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1