图像加密

    技术2022-07-11  70

    图像加密

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

     

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

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

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

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

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

    ——西方世界民谣

     

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

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

     

    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:  解密过程为加密的逆过程。

    仿真:

                                                                              

                                                                                               原图

                                                                              

     

                                                                                           加密图片

                                                                               

                                                                                          解密图片

    加密效果分析:

                                                                       

                                                                                  加密前像素分布直方图

     

                                                                       

                                                                                  加密后像素分布直方图

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

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

                                                                         

    Processed: 0.017, SQL: 9