码迷,mamicode.com
首页 > 其他好文 > 详细

图像处理之Logistic混沌置乱加密

时间:2015-05-14 12:06:19      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:logistic   混沌加密   置乱加密   

前言:本文原发表在新浪博客http://blog.sina.com.cn/s/blog_b27f71160101h5gi.html,现新浪博客将其搬家至CSDN,原新浪博客停止更新。

①申请搬家后,迟迟未能收到申请搬家的码

②再熟悉一下算法

③联系键盘打字

基于以上三点,遂将博文重新敲一遍。


Logistic混沌置乱加密:

       这里再根据Logistic混沌进行另一种置乱:位置置乱。

       什么是位置置乱,顾名思义就是把图像中某一像素点的位置,移动到另一目的点。我们知道这个目的点当然是越随机越好。这个过程,所有像素的灰度值都没有改变,只是进行了位置的置乱,所以其直方图不会发生改变。下面我们就来进行位置置乱。

       如上面讲的一样:图像处理之Logistic混沌序列加密假如一幅M*N大小的图片,我们Logistic迭代了M*N次,得到M*N(0,1)之间的浮点数序列(记做序列A),将序列A中的每个元素乘以M*N,也就是说将A扩展到了(0,M*N)的浮点数了,然后我们对其取整数得到(0,M*N)之间的整数序列B,好的,貌似很多工作都做完了,下面就可以进行加密了。

       我们要用这个序列来产生随机坐标(也就是目的点),因此将B中每一个元素B(i)(i=1,2,…,M*N),随机坐标表示为F(x,y)x: y:列):

      列坐标:y=B(i)/N;

      行坐标:x=B(i)%N;

这样,我们就得到了M*N个随机坐标点,真相大白了。待加密图像中的第一个点的灰度值搬移到第一个随机坐标中的,一次类推,当所有灰度都经过移动之后,置乱结束,便完成了一次置乱加密。

       如果你仔细读这篇文章并想了,你会觉得存在一个问题:按道理说这(0,M*N)个值肯定是没有重复的,但是由于计算机精度和类型转化,所以肯定存在重复的值,也就是随机坐标点存在重复的!!!这肯定是不行的,那么怎么避免呢?我们一般这样来处理:在迭代过程中,每迭代一次,产生一个随机坐标点,判断这个坐标点有没有被占用,若没有则打一个占用标志,若已被占用,则放弃该点继续迭代,直到找到没有没占用的坐标点,如此下去,直到找到M*N个不重复的坐标点。

      当然还需要注意处理好坐标边界问题。

       这里就不贴代码了,大家自己写一下。

技术分享        技术分享

加密前                               加密后

图像处理之Logistic混沌置乱加密

标签:logistic   混沌加密   置乱加密   

原文地址:http://blog.csdn.net/hujingshuang/article/details/45718069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!