基于混沌序列的图像加解密——实现及攻击测试
在本篇文章中,我们将介绍基于混沌序列的图像加解密算法,并提供 matlab 代码实现。同时,我们还将对该算法进行各类攻击测试,以验证其安全性。
一、算法原理
本算法的主要思想是利用混沌系统的特点生成伪随机序列,从而达到加密的目的。具体地,该算法包含以下步骤:
-
初始化操作,包括初始化混沌序列、读入明文图像并将其转换为二进制数列等。
-
生成伪随机序列。本算法使用改进的 Tinkerbell 混沌系统生成伪随机序列,其中,初始值 x0 = y0 = z0 = w0 = 0.1。
-
对明文图像进行加密。加密操作包括将明文图像二进制数列与生成的伪随机序列异或,然后再将异或后的结果转换为图像格式保存。
-
对密文图像进行解密。解密操作同样包括将密文图像二进制数列与生成的伪随机序列异或,然后将异或后的结果转换为图像格式保存。
二、算法实现
下面给出本算法的 matlab 代码实现,其中包括初始化混沌序列、生成伪随机序列、加密和解密等操作。
初始化混沌序列:
function [x,y,z,w]=Tinkerbell(h,k)
x=0.1;y=0.1;z=0.1;w=0.1;
end