利用简单混沌系统进行图像加密

图像加密

随着计算机与互联网技术迅速发展,再加上大数据的崛起,网络传输信息量与速度的不断发展,网络传输的信息量和速度令人惊叹。但在传输过程中却很少有人关注到安全问题,为防止在数据传输过程中被他人拦截盗取和破坏,则可以利用混沌系统在图像、音频、视频等方面加密来设计缜密的算法。

少了一个铁钉,掉了一个马掌;

掉了一个马掌,失了一匹战马;

失了一匹战马,丢了一个国王;

丢了一个国王,输了一场战争;

输了一场战争,亡了一个国家。

——西方世界民谣

正如这首西方世界民谣一样,在混沌系统中,对其初始条件进行及其微小的改变,就会发生生翻天覆地的变化。这正是混沌系统对初始条件的敏感依赖性特性,而这一特性应用在密码学上再合适不过了。因此,本文将利用这一特性进行图像加密。

图像加密的基本原理有两种:置乱和扩散。置乱是将图像各像素点按一定的规则打乱顺序。扩散是通过在元素之间建立扩散路径,使元素沿着该路径向其他元素扩散。每一个元素都沿着指定的路径扩散,从而使元素间相互发生影响。

logstics混沌系统图像加密

函数系统方程:

                                                                         

当满足以下条件时:

                                                                                   1<x0<1

                                                                                  3.57<μ<4

Logistic函数工作于混沌状态。

图像加密算法:

Step1:  利用logistics系统生成一维序列。

Step2: 取其中一段长度满足需加密图片像素width*height的一维序列chaos_seq。

Step3:  然后将chaos_seq序列从小到大排列,记录下标序列indx_en。

Step4:  利用序列indx_en生成width*height的矩阵,最后交换排列前后的像素位置进行置乱。

Step5:  解密过程为加密的逆过程。

仿真:

                                                                          

                                                                                           原图

                                                                          

                                                                                       加密图片

                                                                           

                                                                                      解密图片

加密效果分析:

                                                                   

                                                                              加密前像素分布直方图

                                                                   

                                                                              加密后像素分布直方图

基本上可以完成加密,但是加密的密钥空间较小,而且容易被破解且通过像素直方图可看出加密前后的分布不算均匀,算法任需改进。

关注公众号"数学TT"回复"图像加密"即可获得完整python仿真代码,欢迎关注一起学习!

                                                                     

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值