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

news2024/11/26 23:57:15

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

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)所示,置乱加密后图像信息内容安全得到很好保护,同时分块太大,其密文图像会将块的大小给清晰呈现出,间接给出了加密方式,不利于信息内容的保护。而针对这一安全问题,若分块较大时,常用的办法是在对块置乱后,然后再对块内像素进行位置置乱,打乱块内的相关性,使其密文图像呈现出无规律,该方法结合块置乱和位置置乱,能有效保护图像的信息内容安全。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1631965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件开发技巧---TODO特殊事项标注

软件开发技巧—TODO特殊事项标注 文章目录 软件开发技巧---TODO特殊事项标注1、前言2、环境3、TODO注释规范4、Qt中使用TODO5、VS中使用TODO6、总结 更多精彩内容👉个人内容分类汇总 👈👉开发工具 👈 1、前言 🧘&…

头歌:Spark的安装与使用

第1关:Scala语言开发环境的部署 相关知识 Scala是一种函数式面向对象语言,它融汇了许多前所未有的特性,而同时又运行于JVM之上。随着开发者对Scala的兴趣日增,以及越来越多的工具支持,无疑Scala语言将成为你手上一件…

电脑已经有了一个Windows10,再多装一个Windows10组成双系统

前言 前段时间已经讲过一次双Windows系统的安装教程,但是小白重新去看了一下,发现写的内容太多,怕小伙伴看了之后一脸萌。 所以今天咱们就重新再来讲讲:在同一台机器上安装Windows10双系统的教程。 注意哦!这里的Wi…

paddlehub的简单应用

1、下载安装 pip install paddlehub -i https://pypi.tuna.tsinghua.edu.cn/simple 报错&#xff1a; Collecting onnx<1.9.0 (from paddle2onnx>0.5.1->paddlehub)Using cached https://pypi.tuna.tsinghua.edu.cn/packages/73/e9/5b953497c0e36df589fc60cc6c6b35…

语音识别的基本概念

语音识别的基本概念​​​​​​​ ​​​​​​​ 言语是一种复杂的现象。人们很少了解它是如何产生和感知的。天真的想法常常是语音是由单词构成的&#xff0c;而每个单词又由音素组成。不幸的是&#xff0c;现实却大不相同。语音是一个动态过程&#xff0c;没有明确区分的…

【Unity动画系统】详解Root Motion动画在Unity中的应用(二)

Root Motion遇到Blend Tree 如果Root Motion动画片段的速度是1.8&#xff0c;那么阈值就要设置为1.8&#xff0c;那么在代码中的参数就可以直接反映出Root Motion的最终移动速度。 Compute Thresholds&#xff1a;根据Root Motion中某些数值自动计算这里的阈值。 Velocity X/…

公共代理IP与独享代理IP的区别是什么?

IP地址&#xff0c;是网络世界中设备互相识别的重要线索&#xff0c;当我们谈论相关话题的时候&#xff0c;总会听说“公共IP”和“独享IP”这两个词。作为用户&#xff0c;我们该如何选择更适合自己的IP资源呢&#xff0c;两者又有何区别&#xff1f; 承载用户量&#xff1a;公…

ArcGIS小技巧—基于DEM的河网提取

1、使用DEM数据提取河流水系网络 原始DEM数据中存在误差&#xff0c;或喀斯特地貌等真实地形情况&#xff0c;将引起DEM数据中存在凹陷区域。 在进行水流方向的计算上&#xff0c;如果有洼地会造成错误&#xff0c;因此我们需要进行填洼处理&#xff0c;获得相对准确的DEM数据…

ULTIMATE VOCAL REMOVER V5 for Mac:专业人声消除软件

ULTIMATE VOCAL REMOVER V5 for Mac是一款专为Mac用户设计的人声消除软件&#xff0c;它凭借强大的功能和卓越的性能&#xff0c;在音乐制作和后期处理领域崭露头角。 ULTIMATE VOCAL REMOVER V5 for Mac v5.6激活版下载 这款软件基于深度神经网络&#xff0c;通过先进的训练模…

在美国站群服务器部署时如何保障从253个IP到1000个IP的无缝扩展?

在美国站群服务器部署时如何保障从253个IP到1000个IP的无缝扩展? 在当今企业的数字化转型中&#xff0c;服务器的部署和管理成为了保证业务连续性和拓展性的关键。尤其对于站群服务器来说&#xff0c;随着企业业务的增长和市场的扩展&#xff0c;需要从较小规模的253个IP地址…

Python列表:全面指南

一、引言 1.1 Python列表简介 在Python编程中&#xff0c;列表&#xff08;List&#xff09;是最常用的数据结构之一&#xff0c;它是一个有序的集合&#xff0c;可以容纳任意类型的对象&#xff0c;如数字、字符串甚至其他列表。列表的特点是可变性&#xff0c;这意味着你可…

CAPS Wizard for Mac:打字输入辅助应用

CAPS Wizard for Mac是一款专为Mac用户设计的打字输入辅助应用&#xff0c;以其简洁、高效的功能&#xff0c;为用户带来了全新的打字体验。 CAPS Wizard for Mac v5.3激活版下载 该软件能够智能预测用户的输入内容&#xff0c;实现快速切换和自动大写锁定&#xff0c;从而大大…

看来我对PYTHON的感觉没错,谷歌也已经受不了了

看来不是我一个人感觉PYHTON不完美了&#xff0c;老东家谷歌已经受不了&#xff0c;直接让走人&#xff01; 你们用Python真的感觉那么好用吗? 你们用Python真的感觉那么好用吗&#xff08;二&#xff09;

实习面试算法准备之图论

这里写目录标题 1 基础内容1.1 图的表示1.2图的遍历 2 例题2.1 所有可能的路径 1 基础内容 图没啥高深的&#xff0c;本质上就是个高级点的多叉树而已&#xff0c;适用于树的 DFS/BFS 遍历算法&#xff0c;全部适用于图。 1.1 图的表示 图的存储在算法题中常用邻接表和邻接矩…

基于Albedo-NDVI特征空间遥感荒漠化信息提取

1. 背景 土地荒漠化是指包括气候变异和人类活动在内的种种因素造成的干旱半干旱和亚湿润干地区的土地退化。及时准确地掌握土地荒漠化发生发展情况是有效防止和治理土地荒漠化的基本前提。目前遥感技术在土地荒漠化监测中起到了不可替代的作用。使用遥感影像数据可以提取土地荒…

Ubuntu20.04 [Ros Noetic]版本——在catkin_make编译时出现报错的解决方案

今天在新的笔记本电脑上进行catkin_make的编译过程中遇到了报错&#xff0c;这个报错在之前也遇到过&#xff0c;但是&#xff0c;我却忘了怎么解决。很是头痛&#xff01; 经过多篇博客的查询&#xff0c;特此解决了这个编译报错的问题&#xff0c;于此特地记录&#xff01;&…

Java数组深度剖析:掌握数据结构的基石

引言 在编程世界中&#xff0c;数仅仅是一种数据类型&#xff0c;它是理解内存分配、多维数据处理以及性能优组像是构建复杂数据结构的基本积木。它们简洁、高效&#xff0c;是管理元素集的首选方式。在Java中&#xff0c;数组不化的关键。 这篇文章致力于深入探讨Java数组的各…

PhotosCollage for Mac:优雅且实用的照片拼贴软件

PhotosCollage for Mac是一款优雅且实用的照片拼贴软件&#xff0c;为Mac用户提供了一个便捷、高效的平台&#xff0c;以创建精美、个性化的照片拼贴作品。 PhotosCollage for Mac v1.4.1激活版下载 该软件界面简洁直观&#xff0c;操作便捷。用户只需将想要拼贴的照片拖入“照…

java案例-服务端与客户端(传输对象)

需求 代码 SysUser 用户类Operation 操作类Client 客户端Server 服务端ServerReaderThread 服务端线程类 SysUser 用户类 需要实现Serializable 方便序列化&#xff0c;传输对象 public class SysUser implements Serializable {private String username;private String passwo…