注:以下内容参考《新编密码学》范九伦 张雪锋 侯红霞 编著
10.2 混沌密码
混沌动力学系统固有的特点使其产生的混沌序列具备优良的密码学特性。自1989年R. Mathews、D. Wheeler、L. M. Pecora和Carroll等人首次将混沌理论用于序列密码及保密通信以来,数字化混沌密码系统和基于混沌同步的保密通信系统研究得到了广泛关注。混沌密码可用于信息加密、保密通信、扩频通信、智能卡加密、数字水印等方面,被视为现代密码学的重要研究前沿。
10.2.1 混沌系统理论
混沌系统是一种高度复杂的非线性动态系统。20世纪60年代,人们发现有些系统虽然由确定的方程描述,但对初值具有极强的敏感性------初值极微小的变化会引起系统不可预测的改变。这种对初值的敏感性,即确定性系统内在的随机性,就是混沌。混沌理论与相对论、量子理论并称为20世纪的三大科学革命。
Lorenz方程:美国气象学家Lorenz在研究天气预报时首先发现了确定方程中的混沌现象。他将大气对流模式简化为三维常微分方程组(Lorenz方程):

固定参数σ=10,b=8/3,当参数r>24.74后系统进入"混沌区",r=28时呈混沌态。
混沌学发展里程碑:
-
1971年:D. Ruelle和F. Takens发表"论混沌的本质"
-
1975年:李天岩和J. Yorke发表"周期三蕴含混沌"
-
1977年:第一届国际混沌会议召开,标志混沌科学诞生
混沌系统的五个特征:
-
对初值的极端敏感性(蝴蝶效应)
-
内随机性:确定系统内部产生的随机性
-
分维性:运动状态具有多叶、多层结构,无限层次的相似结构
-
普适性:不同混沌系统趋向混沌时的共同特征(结构普适性和测度普适性)
-
标度性:混沌运动中无序中的有序态
10.2.2 混沌密码的基本原理
混沌系统与密码学系统的自然联系:混沌的动力学特性对应高强度密码系统的安全特征。混沌系统与密码学的关系如表10-2所示。
| 关系 | 混沌系统 | 传统密码学 |
|---|---|---|
| 相似点 | 对初始条件和参数的极端敏感性 | 扩散性 |
| 类似随机行为的长周期不稳定轨道 | 伪随机信号 | |
| 混沌映射迭代将初始域扩散到整个相空间 | 密码算法产生预期的扩散和混乱 | |
| 混沌映射的参数 | 加密算法的密钥 | |
| 不同点 | 混沌映射定义在实数域 | 加密算法定义在有限集上 |
| 混沌映射的混合特性和鲁棒性 | 密码系统的安全性和性能 |
混沌密码的两个研究方向:
-
以混沌同步为核心的混沌保密通信系统(模拟混沌电路)
-
利用混沌系统构造流密码和分组密码(数字化混沌系统)
满足密码学要求的混沌映射应具有三个特性:
-
混合特性:单个明文符号的影响扩散到许多密文符号(对应密码学的扩散特性)
-
鲁棒混沌:小参数扰动下系统仍保持混沌状态
-
大的参数集:避免弱密钥
10.2.3 混沌密码的设计和实现方案
两种通用设计思路:
-
序列密码思路:混沌系统生成伪随机密钥流,直接掩盖明文
-
分组密码思路:使用明文和/或密钥作为初始条件和/或控制参数,通过迭代/反迭代得到密文
其他方案:基于搜索机制的混沌密码、S盒混沌分组密码、基于混沌系统的概率分组密码、组合密码方案等。
- 数字混沌序列密码
用混沌系统代替传统密码的密钥流生成器,利用单个或多个级联混沌系统产生随机序列作为密钥。常用混沌系统:二维Henon吸引子、Logistic映射、分段线性混沌映射、Lorenz系统等。增强安全性可采用多混沌系统(如比较两个混沌系统输出生成伪随机比特流)。
- 混沌分组密码
理论基础:混淆和扩散理论是分组密码设计的基石。
- 基于搜索的混沌密码
-
Baptista方案:将混沌时间序列分成S个单元,每个单元代表明文;迭代混沌系统直至轨道到达明文所代表的单元;记录迭代次数作为密文。
-
Alvarez方案:根据门限产生伪随机序列,在序列中搜索明文,记录混沌系统当前状态和门限值作为密文。
- S盒混沌分组密码
-
静态S盒:L. Kocarev等人提出
-
动态S盒:李树钧首次提出,使用2^n+1个分段线性混沌映射,2^n个用于加密,1个用于控制,动态产生伪随机S盒。
- 基于混沌系统的概率分组密码
Papadimitriou提出,将d比特明文加密为e比特密文(e>d)。通过混沌轨道构造虚拟状态空间和虚拟吸引子,将明文与虚拟吸引子关联。缺点:明文长度和密文长度在可实现性和安全性上存在矛盾。
10.2.4 混沌密码的应用
- 混沌保密通信
混沌信号的特性(非周期性连续宽频带谱、类似噪声、隐蔽性好、对初值敏感、长期不可预测、高复杂度)使它特别适合保密通信。
历史发展:
-
Tag等人研究混沌同步电路后提出混沌保密通信想法
-
Endo和Chua研究锁相电路混沌同步效应
-
Carrol和Pecora证明某些混沌系统由统一信号连接时能保持同步
-
Halle以Chua电路为驱动系统,证实解码对不匹配参数极其敏感
同步方法:PC同步、主动-被动同步法、微扰反馈同步法、自适应同步法等
通信方案:混沌掩蔽、混沌切换等
局限性:目前研究假设信道理想,时变信道将破坏同步;低维混沌保密通信系统抗破译能力有限。
- 基于混沌的图像加密算法
图像数据特点:冗余度高、数据量大、像素间相关性强,传统加密算法效率不高。
Logistic映射:

加密具体步骤:
(1) 产生混沌信号:以Logistic映射模型取x₀为初始值,迭代KK次得到混沌序列{x₁,x₂,... }。
(2) 计算中间量:通过下列运算得到中间量Ak+1:
Ak+1=(xk+1 mod 1)×10⁴
进而得到加密图像像素的灰度值Ck+1。
(3) 动态更新迭代次数:基于步骤(1)中产生的xk+1和步骤(2)中产生的加密图像像素灰度值Ck+1,计算下一次的迭代次数K:

(4) 更新初始值:设定xk+1作为下一轮混沌模型迭代的初始值。
(5) 重复迭代:重复步骤(1)~(4)共M×N−1次,直到产生所有加密图像像素的灰度值为止。
图10-5给出了应用以上方法加密图像的效果图

- 基于二维混沌映射的图像加密
除了基于一维混沌映射的分组密码外,Jiri Fridrich等人发展了一种基于二维混沌映射的分组密码加密体制。其基本思路是:应用二维混沌系统(如Arnold映射)实现对明文的置换操作,通过多次迭代实现有效加密,特别适合对图像数据进行加密。
二维Arnold映射(连续形式):

其中mod 1表示只取数字的小数部分,即x mod 1=x−⌊x⌋。因此(x,y)的相空间限制在单位正方形0,1×0,1内。二维Arnold映射生成序列的分布情况如图10-6所示。

整数形式Arnold映射:

应用式定义的整数形式映射,可以实现对图像的置乱加密。图10-7给出了相应的加密结果。

应用特点:
-
可变的密钥长度(获得不同级别的安全性)
-
相对大的分组尺寸(几KB或更大),特别适合大图像数据
-
相对高的加密效率
-
加密过程不需要图像预处理,节省时间
-
缺点:未进行数据压缩,加密后的图像在通信时占用较多资源
注:以上内容的理解和计算,如果有任何错误,希望各位读者和大佬指出改正,非常感谢!!!