阿诺德图像加密c语言,基于Arnold置乱的数字图像加密算法(二)

前文我们介绍了基于Arnold置乱的数字图像加密算法的两种图像置乱变换,今天我们介绍的是另外三种图像置乱变换:基于骑士巡游的图像置乱变换、基于Arnold变换的数字图像置乱和基于仿射变换的置乱变换。

一、基于骑士巡游的图像置乱变换

所谓骑士巡游,就如同象棋一样,给出一块具有n²个格子的n×n棋盘,一位骑士(knight)按国际象棋规则移动,放在初始坐标为(x0,y0)的格子里,骑士巡游问题(Knight-tour Problem)就是要求寻找一种方案使之过每个格子一次,且仅一次。该问题可以较自然地推广到n×m棋盘。一个9×9棋盘的骑士巡游路线如下面的矩阵T所示,称其为巡游矩阵,其中1表示骑士巡游的起点,t(i, j)的值表示其实第t(i, j)步巡游到i行j列。

20722-1.jpg

骑士巡游变换:对于图像A={a(i, j)}nxm,用巡游矩阵T={t(i, j)}nxm作置乱变换,得到图像B。其变换方法如下:将A与T按行列作一一对应,将A中与T中位置1对应(下简称对应位置)的像素灰度值(或R、G、B分量值)移到对应位置2,将对应位置2的像素灰度值移到对应位置3,......以此类推,最后将对应nxm位置的像素灰度值移动对应位置1,就得到了按T置乱后的图像B。这种按骑士巡游路径进行置乱的变换,简称为骑士巡游变换。

按骑士巡游变换对图像作置乱,不仅可以隐藏图像细节,而且可以使用图像总的形象保持不变,用骑士巡游变换来作图像的隐藏,其保密度是比较高的。密钥个数大于Hilber曲线、Peano方法、E-曲线、幻方置乱变换的密钥个数。通过骑士巡游起点和终点的选取、巡游方向的变化以及挖洞的位置和数量的确定来构成不同的密钥,它既适合单密钥体制,所以其保密度较高。

骑士巡游交换具有以下优点:

(1)适用于高和宽不同的图像,而幻方变化仅适用于高和宽相同的图像;

(2)置乱方法灵活,可通过编程来控制巡游的起点、终点以及巡游的方向,还可控制一些点不巡游(挖洞),从而得到不同的置乱方法;

(3)不仅能隐藏图像的细节,而且特别能隐藏图像中的文字信息,也可应用于其他计算机文件的加密。骑士巡游变换同样具有周期性,其变换周期就是n²。

二、基于Arnold变换的数字图像置乱

20722-2-1.jpg

这是对一个一般的二维可逆保面积映射加了取正整数的限制,这种变换具有拉伸和折叠的性质,经变换后原来相邻的亮点(i, j)和(i, j+1)经几次迭代后就不再相邻,这样图像经迭代若干次后就变得不可辨认,从而达到加密的效果。当|A|=+1时,变换后的图像保持面积不变。由于这是一种双射而且图像是一个有限点集,所以反复变换必然能够恢复到原来的位置,即变换具有周期性,从而对加密图像只需继续变换相应的次数就能对图像解密。若P满足一定条件,此变换具有周期性,其周期与图像大小和内容没有直接联系。Arnold变换实际上是一种点的位置移动,且这种变换是一一对应的。Arnold变换仅有4个参数,用户数据加密尚嫌太少。

20722-3-1.jpg

所以变换的周期T是使下式成立的最小自然数m:Am(mod N)=E,其中E为单位矩阵。这样就很容易通过编程求出变换的周期。

A作为加密矩阵应具有以下特点:映射是单的,满的。即:保持图像面积的不变性。

加密因子a,b,c,d都是整数,因为图像中作为离散的点都是取整数的。

变换具有周期性或可逆,以保证加密后可以解密。

三、基于仿射变换的置乱变换

仿射变换是几何中感到一种常见变换,它可以分解成:运动变换、斜对称变换、相似变换、压缩(拉伸)变换、正交变换、剪移等变换的组合,其矩阵形式:

20722-4.jpg

从数据加密角度考虑,仿射变换的参数有6个,比Arnold变换增加了两个,从密钥角度出发,增加了大量的密钥。

虽然对于平面仿射变换由三对对应点代入后就可完全确定,但由于目的是要它作图像的置乱。因此对仿射变换还有特殊的要求,即:要寻找恰当的系统数使得变换是区域{1,2...N}到自身的单映射和满映射。我们可以从仿射变换的特点出发,从而可求得满足要求的一系列解。求得的系数可作为图像置乱加密的密钥。

定义1:上式是仿射变换的必要条件是:ad-bc=+1.

证明:根据仿射变换的定义,变换前后的图像面积保持不变,即图像所在区域的几何面积不变,因此ad-bc=+1。

作为数字图像加密的仿射变换是不容易求出的,需要很强的技巧。下面是三种交换:

20722-5.jpg

和Arnold变换相类似,这是一种二维可逆保面积映射加了一定的限制条件,这种变换具有拉伸和折叠的性质,经变换后原来相邻的两点(i, j)和(i, j+1)经几次迭代后就不再相邻,这样副图像经迭代若干次后就变得不可辨认,从而达到加密的效果。由于这是一种双射而且图像是一个有限点集,所以反复变换必然能够恢复到原来的位置,即变换具有周期性,从而对加密图像只需继续变换相应的次数就能对图像解密。根据仿射变换的定义,容易得到下面的性质:

性质1:仿射变换的积仍是仿射变换。

性质2:仿射变换的和不是仿射变换。

性质3:仿射变换的逆一定存在,且仍是仿射变换。

仿射变换用于图像置乱有较好的效果。在经过一定的迭代置乱变换后,可将图像的各种灰度值均匀的分布到图像区域中,从而能较好的隐藏原图像的信息。另外由于这种仿射变换是双射且图像是由有限个点组成的,所以经过一定的迭代次数后能够得到原图像。

20722-6.jpg

也可以利用仿射变换的逆变换对图像进行加密,这就增加了一种新的加密算法,而且它和仿射变换具有相似的性质。

仿射变换避免了取模运算,从而运算速度快,它的逆交换也具有简洁的解析表达式,使得解密过程无需进行周期次数的迭代。该新变换只需进行十几次的迭代过程就可以使图像完全置乱,因此它即可作为图像加密的变换方法,另一方面,从信息隐藏的角度考虑,图像置乱变换作为信息隐藏的预处理,如置乱后再进行隐藏,Arnold变换在进行迭代置乱时,有较强的纹理特征,而仿射变换使得图像置乱后,其中灰度值均匀的分布在图像所在的区域,减少了置乱图像的纹理特征,从而提供了信息的安全性。

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

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

相关文章

8.2 css3 新增标签 盒子模型 长度单位 颜色 渐变 径像渐变

# CSS3 盒子模型* box-sizing 值 content-box 默认值 包括所有的值 / border-box 只算边框的长与宽* resize(调节框的大小) * 值 none不允许 / horizontal调节宽度 / vertical调节高度 / both都可以* outline轮廓边框 o…

Tomcat服务器的安装及配置

学习目标: 了解Tomcat服务器的主要作用掌握Tomcat服务器的安装与配置掌握Tomcat安装目录下主要文件夹的作用jsp的执行流程1.Web的工作原理流程图:从图中可以看出Tomcat服务器的主要作用就是接受客户端的请求和响应。 2.jsp执行流程 1)客户端发…

织梦DEDE网站后台如何上传附件

首先登录织梦网站后台: 分别点击 核心 — 附件管理 — 文件式管理 里面有织梦自带的几个文件夹,包括图片,视频,软件等文件夹。我们来新建一个file文件夹 点击 新建目录 建立file文件夹。 默认应该是跳转进file文件夹了&#xff…

泰拉瑞亚mod鸿蒙方舟,三款高评分的沙盒生存类手游,经典之作泰拉瑞亚你有玩过吗?...

沙盒类游戏由一个或多个地图区域构成,往往包含多种游戏要素,包括角色扮演,动作、射击、驾驶等等。能够改变或影响甚至创造世界是沙盒游戏的特点。自由度高也成为了沙盒游戏的一个标配,所以今天小皮就给大家推荐几款超赞的沙盒生存…

android任务 进程 线程详解,Android任务、进程、线程详解

singleTop模式,基本上于standard分歧,仅正在请求的Activity反好位于栈顶时,无所区别。此时,配放成singleTop的Activity,不再会构制新的实例加入到Task栈外,而是将新来的Intent发送到栈顶Activity外&#xf…

csdn markdown 编辑器开启

1、打开我的博客网址https://mp.csdn.net/ 2、在博客设置栏目中勾选markdown,并且选择自己喜欢的主题 3、保存

html检查输入为空,html input输入验证不为空

html5的话使用required即可,比较简单。但是ie10以下的浏览器没有required特性。所以就要靠其他方式来对用户输入做验证。下面是利用js的方法:function validate(){var domain document.getElementById(domain).value;var domainInfo document.getEleme…

Nagle算法延时确认

数据流分类成块数据交互数据Rlogin需要远程系统(服务器)回显我们(客户)键入的字符数据字节和数据字节的回显都需要对方确认rlogin 每次只发送一个字节到服务器,而Telnet 可以选择发送一行数据确认是通过期望数据序号Na…

https简述

协议栈 https是在http应用层和tcp传输层之间加入了一个安全层(SSL、TLS) ,加入安全层的主要目的是将传输内容加解密,这样就避免了传输内容被窃听后,泄露重要信息(如用户名、密码),加…

040、全卷积

之——FCN 目录 之——FCN 杂谈 正文 1.FCN 2.实现 杂谈 FCN(Fully Convolutional Network)是一种深度学习网络架构,专门设计用于语义分割任务。传统的深度学习网络如卷积神经网络(CNN)在处理图像时通常用于分类…

html不支持ie7,解决IE6/IE7/IE8不支持before,after问题

对从事web开发的朋友来讲,低版本的永远是一个痛点,不支持最新技术(如css3,html5)。在现在web开发中使用图标字体已经很广泛,如Font Awesome,Bootstrap等,字体图片主要是通过css选择器before,after结合content来实现,但…

前端学习(2511):路径出错

./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?typescript&index0!./src/ 原因路径出错,引入正确路径即可