【图像加密】图像处理之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个不重复的坐标点。

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

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

             

加密前                               加密后


  • 14
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值