FPGA/DSP > DSP系统 > 详情

一种基于级联混沌系统的图像加密算法

发布时间:2020-06-28 发布时间:
|

    目前混沌加密己成为密码学研究的热点之一,但已有的大部分混沌加密算法都是基于单个混沌系统的。事实表明,一些混沌映射可通过相空间重构的方法精确预测出来[1]。另外,由于计算机精度的限制,单混沌系统输出的时间序列并不能达到理论上的完全随机,而可通过多个混沌系统的级联使这一缺陷得到改善[2]。为此,本文提出了一种基于多混沌系统级联的图像加密算法,理论分析与数值实验均表明本算法能够达到密码学要求的混淆和扩散的目的,并能有效地预防差分攻击。

1 混沌序列的生成

1.1 Logistic映射

    Logistic映射由数学生态学家May于1976年提出,是非线性迭代方程和研究最广泛的动力系统。Logistic映射的定义为:

    当3.569 945 6

1.2 时空混沌映射

    时空混沌系统是一个空间上的扩展系统[3],它展现了时间和空间上的混沌性。耦合映射格子(CML)通常被作为时空混沌系统使用,这种系统是具有离散时间、离散空间和连续状态的动力系统。它由位于格子站点上的称为局部映射的非线性映射组成,每个局部映射与其他局部映射以一定规则进行耦合连接。由于每个局部映射所固有的非线性动力特性及相互间耦合所产生的发散性,CML可以展现时空混沌性。所以采用不同的局部映射和耦合方法便可以构造出不同形式的CML[4]。本算法构造的二维CML为:

2 加密与解密的实现

    本算法选用的混沌系统为时空混沌系统与一维Logistic映射。首先利用式(2)时空混沌系统产生随机序列,然后将这个序列值分别作为式(1)的Logistic映射初始值,经过特定次数的迭代以后得到最后所需的混沌序列。这个特定次数是由上一个图像像素加密后的结果决定的。

    (4)对图像c1按相反的方向从最后两个像素开始按步骤(3)对像素值进行操作得到图像c,即为加密后的密文图像。
2.2 解密过程

    解密过程与加密过程相反,即:将步骤(2)中提到的迭代的次数改为由密文图像的前两个像素值决定,再将步骤(3)与步骤(4)的顺序颠倒过来,即可完成密文图像的解密。

3 安全性分析

    本算法有很高的安全性,具有更大的密钥空间,且能够抵御大部分常见的攻击。


3.3 统计分析

    图像中相邻像素的相关性非常大,在加密过程中为了防御统计攻击,必须使得相邻像素间的相关性降低[5]。本文在待加密图像和加密后的图像中各随机地选取了2 008对像素对,测试其水平方向、垂直方向、对角方向的像素相关性,并利用式(8)计算其相关系数:

3.4 差分攻击分析

    通过对待加密图像做微小的改变,然后观察该改变带来的结果的方法,攻击者可以获得加密后图像与原图像之间的关联。若某加密算法可使原图像发生微小变化,使前后加密的结果变化很大,则该算法即可很好地预防差分攻击。

    像素数目改变率(NPCR)是指当待加密图像改变一个像素时,加密后图像像素数目的改变率。NPCR越大,表明加密算法对于待加密图像变化越敏感,则该加密算法抵抗明文攻击能力越强;平均强度变化率(UACI)是指待加密图像和加密后图像相应像素的平均强度的变化率,该指标越大,表示加密后图像与待加密图像比平均强度变化越大,则该加密算法抵抗差分攻击能力越强。设两幅加密后的图像分别为c1和c2,则:

    本文提出一种基于级联混沌系统的图像加密算法,采用由Logistic映射构成的一维CML作为时空混沌系统,然后将它的输出序列作为Logistic由某一初始值经过特定次数的迭代后得到最终的密钥序列。安全性分析表明,本算法的密钥空间足够大,使得暴力攻击不可能。仿真实验结果也表明,本算法具有较高的性能,在图像加密和图像传输中具有一定的潜在应用价值。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
基于NI Scope实时数据采集系统设计