图像置乱加密-Arnold加密算法

置乱加密是另一种较常用的加密方法,现也被许多文献选用,置乱加密可以是以像素为单位进行全局置乱,该方式打乱了图像像素值的位置,使其图像内容失去相关性,达到保护的目的。也可以是以块为单位进行置乱,该方式保留块内像素的相关性,但是打乱块与块之间的相关性,达到加密效果。另外,也有部分文献采用上述的混合方法,即先进行块置乱加密,再块内像素置乱加密,这一方法有着更好的安全性,同时,也保留块内像素部分相关性。

Arnold加密算法

典型的以像素为单位进行全局置乱加密的算法是Arnold加密算法,该加密算法也叫做“猫脸变换”,该变换在进行矩阵运算时,经过一定次数会变换为原始图像,呈现出一定的周期性,所以解密时也是依据Arnold加密算法的周期性,其变换周期根据图像大小不同而不一样,若图像阶数为N,那么其Arnold变换周期{​{T}_{N}},如表所示。

在图像解密时,只需对照变换周期及加密密钥,就可以对密文图像进行解密,也就是使其变换为原始图像,如图像大小为512×512,选取的加密密钥Key=135,那么解密时只需对密文图像再进行384-135=249次变换,即能得到原始图像。需要说明的是,Arnold变换只是改变了像素值的位置,其像素值是没发生变化的,因此其像素直方图统计特性是没有改变的,非常有利于采用直方图平移嵌入额外信息。也正是因为像素值没发生变化,其图像的信息内容存在着泄漏可能。

 另一种置乱方法是以块为单位进行置乱,设图像I的大小为M×N,分块大小为s×s,那么图像一共可以被分为互不重叠的n块,其中n由公式(1)得出:

n=\left\lfloor \frac{M\times N}{s\times s} \right\rfloor                      (1)

 上式的 [.] 符号表示取下整。块置乱的一般加密方法是先对块进行排序,然后再利用随机函数打乱序列,达到置乱目的。首先根据图像及分块大小,将图像分为n块,然后按照从左到右、从上到下的顺序扫描块,将二维矩阵块转换为一维向量,按照公式2-5对图像I进行排序,式中T表示n个块的排列序列。

T=\{​{​{I}_{1}},{​{I}_{2}},{​{I}_{3}},\cdot \cdot \cdot ,{​{I}_{n}}\}     (2)

块的位置排列完成后,再利用位置置乱函数randperm对序列进行随机打乱,得到置乱后的密文图像。从块置乱加密的方法中,可以看出块置乱只是依据置乱函数随机改变了块的位置,而块内像素的位置及其数值都没发生变化,保持者一定的相关性,也正是基于这一特性,从整幅密文图像来看,像素值没发生变化,适合利用直方图平移进行信息隐藏;而从块内像素的相对位置及像数值来看,非常适合基于差值扩展和预测误差的方法来进行信息隐藏,这两种思路也在文献[59-60]中使用。但是需要注意的是,块置乱密文图像安全性与块的大小有着直接关系,一般来说,块的阶数越小,分块数目越多,那么置乱加密后安全性越好,关于块大小及其密文图像关系见图。

从图中可以看出,块的阶数越大,其置乱后密文图像越不安全,主要原因是分块太大,导致其置乱后块内图像信息安全有泄漏的风险,可以凭借肉眼就能分辨得出明文图像,而分块小时,如图(b)所示,置乱加密后图像信息内容安全得到很好保护,同时分块太大,其密文图像会将块的大小给清晰呈现出,间接给出了加密方式,不利于信息内容的保护。而针对这一安全问题,若分块较大时,常用的办法是在对块置乱后,然后再对块内像素进行位置置乱,打乱块内的相关性,使其密文图像呈现出无规律,该方法结合块置乱和位置置乱,能有效保护图像的信息内容安全。

相关推荐

  1. 安全算法 - 加密算法

    2024-04-29 06:22:02       40 阅读
  2. 加密算法:RSA非对称加密算法

    2024-04-29 06:22:02       24 阅读
  3. 算法:简单加密

    2024-04-29 06:22:02       50 阅读
  4. 安全加密算法

    2024-04-29 06:22:02       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 06:22:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 06:22:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 06:22:02       87 阅读
  4. Python语言-面向对象

    2024-04-29 06:22:02       96 阅读

热门阅读

  1. electron 数据持久化方案

    2024-04-29 06:22:02       31 阅读
  2. 搜索引擎的发展历史

    2024-04-29 06:22:02       27 阅读
  3. ElasticSearch

    2024-04-29 06:22:02       32 阅读
  4. React的基础概念

    2024-04-29 06:22:02       32 阅读
  5. mysql数据库提权

    2024-04-29 06:22:02       26 阅读
  6. 3D头模加载

    2024-04-29 06:22:02       25 阅读
  7. 高频SQL 查找拥有有效邮箱的用户

    2024-04-29 06:22:02       29 阅读
  8. 拿来即用的响应式布局方法

    2024-04-29 06:22:02       32 阅读