一种基于可逆仿生元胞自动机的图像加密方法与流程

文档序号:11691496阅读:575来源:国知局
一种基于可逆仿生元胞自动机的图像加密方法与流程

本发明涉及一种基于可逆仿生元胞自动机的图像加密方法,属于信息安全领域中的图像保密技术。



背景技术:

图像是人类获取信息,表达信息和传递信息的重要手段。随着互联网和多媒体技术的迅猛发展,越来越多图像可以在网络上方便、快捷地发布和传输。一些涉及个人隐私、商业机密或国家秘密的图像就很容易被恶意攻击者轻易地浏览、窃取、窜改、非法复制与传播,若不对这些图像采取必要的安全保护措施,由此带来的严重后果是不可估量的。因而,图像加密作为图像安全保护的核心技术,其应用愈来愈广泛,其要求也愈来愈高。与文本信息不同,图像具有数据量大、冗余度高、相邻像素间相关性强等特点,一些传统的对称加密算法如des、aes尽管具备良好的混淆和扩散特性,但在处理图像数据时显得效率不高、效果不理想,这些问题对图像加密提出了新的挑战,我们迫切需要研究和开发出更多适合图像自身特点的加密方法。

元胞自动机是一个时间、空间和状态都离散的动力学系统。它具有很多重要的特性,例如组成单元的简单性、信息处理的并行性以及全局演化的复杂性等,这些特点都非常适用于密码研究。如今,元胞自动机在密码学领域得到了广泛的应用,成为密码学研究中的热点。近年来,许多学者提出了基于元胞自动机的图像加密方法。吴颖芝等人构造一种t型可逆元胞自动机,并且利用其演化对图像进行分组加密;张水平等人提出一种基于元胞自动机分治策略的图像加密算法,其基本思想是先将明文图像分解为若干幅图像,在使用不同的元胞自动机规则分别对分解后的图像进行加密,最后把加密后的图像合并,得到加密图像;王福来等人提出一种基于误差快速扩散元胞自动机的加密技术,构造出一种新型一维元胞自动机,密钥采用了伪随机数序列生成方法,用密文直接产生流密码,利用元胞自动机演化规则进行加密;上述方法均基于一维元胞自动机,然而利用一维元胞自动机进行加密,元胞自动机规则空间较小,扩散程度较低,且仅仅局限在水平方向上,因此加密算法安全性不高。

针对一维元胞自动机加密技术的缺陷,有学者提出基于二维元胞自动机的加密技术。丁玮等人提出了一种基于生命游戏的图像加密方法,该方法可有效降低图像相邻像素的相关性,但存在以下问题:首先,只改变像素位置,没有进行扩散操作,这难以产生雪崩效应;其次,加密后的图像存在明显的纹理,加密效果不好;最后,由于该算法只有置乱操作,因此难以抵抗选择明文攻击;李敬医等人提出一种3d混沌映射和二阶可逆元胞自动机相结合的图像加密算法。该算法的优点是采用比特级别的混淆操作,能有效抵抗统计分析和差分分析,具有较高的安全性。但是,其缺点是置乱为像素级别,而混淆为比特级别,需要多次将图像的像素值转换为比特值,然后再次转换为像素值,这样降低了加密效率。



技术实现要素:

发明目的:针对现有技术中存在的问题,本发明提供一种基于可逆仿生元胞自动机的图像加密方法。

技术方案:一种基于可逆仿生元胞自动机的图像加密方法,包括如下步骤:

步骤1,提取明文图像的像素矩阵im×n,m是图像的高度,n是图像的宽度,均以像素计;

步骤2,将明文图像的像素矩阵im×n转换为二进制矩阵pm×(w×n),转换方法为:若明文图像为灰度图像,则令w=8,将每个像素值转换为8位二进制,得到一个m行和8n列的二进制矩阵;若明文图像为彩色图像,则令w=24,将每个像素值转换为24位二进制,得到一个m行和24n列的二进制矩阵;

步骤3,将二进制矩阵pm×(w×n)按照左右划分为两个大小相同的矩阵p′m×(w×n/2)和p″m×(w×n/2),矩阵p′m×(w×n/2)和p″m×(w×n/2)均有m行和w×n/2列;

步骤4,将二进制矩阵p′m×(w×n/2)和p″m×(w×n/2)分别作为仿生元胞自动机的两个初始状态c0和c1,其中c0表示t=0时刻仿生元胞自动机的状态,c1表示t=1时刻仿生元胞自动机的状态,然后选取一个仿生元胞自动机规则f作为密钥;

步骤5,根据仿生元胞自动机规则f,计算:ct表示t时刻仿生元胞自动机的状态,ct-1表示t-1时刻仿生元胞自动机的状态,ct+1表示t+1时刻仿生元胞自动机的状态,t的取值为正整数且大于等于1;

步骤6,重复步骤5,仿生元胞自动机迭代n次,得到仿生元胞自动机的两个终止状态cn和cn+1,左右合并后转为十进制数像素矩阵即为密文图像;

所述步骤4中该仿生元胞自动机有m×(w×n/2)个元胞,其中m表示元胞的行数,w×n/2表示元胞的列数,每个元胞具有活和死两个状态,分别用1和0表示,每个元胞与其上下左右以及对角线上的元胞组成一个3×3的moore邻域;对仿生元胞自动机边界上的元胞进行周期型边界处理:第0行元胞的状态值等于第m行元胞的状态值,第m+1行元胞的状态值等于第1行元胞的状态值,第0列元胞的状态值等于第w×n/2列元胞的状态值,第w×n/2+1列元胞的状态值等于第1列元胞的状态值。

所述步骤4中的仿生规则f表示为bx/sy,其中x和y是0-8中任意的数字,bx表示当前元胞如果是死的,那么它的邻居必须出现x中规定个数的活元胞,下一时刻它才能活。sy表示当前元胞如果是活的,那么它的邻居必须出现y中规定个数的活元胞,下一时刻它才能活。

本发明采用上述技术方案,具有以下有益效果:

首先,置乱和混淆均在比特级别进行,能够同时改变像素位置和像素值,提高了安全性和加密效率。其次,与李敬医等人提出的二阶可逆元胞自动机相比,采用仿生元胞自动机无需存储规则表以及进行查表操作,提高了加密效率

附图说明

图1是实施例1中的明文图像;

图2是实施例1中密文图像;

图3是实施例1中明文图像的直方图;

图4是实施例1中密文图像的直方图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

采用mathematica8软件进行仿真本发明提供的基于可逆仿生元胞自动机的图像加密方法,下面给出本发明的一个实施例:

明文图像选用大小为256×256的灰度图像,灰度图像的每一个像素由8比特组成,如图1所示。

实施例的图像加密的具体实施步骤如下:

步骤1:提取明文图像的像素矩阵i256×256,图像的高度为256个像素,图像的宽度为256个像素;

步骤2,将明文图像的像素矩阵i256×256转换为二进制矩阵p256×2048;

步骤3,将二进制矩阵p256×2048按照左右划分为两个大小相同的矩阵p2′56×1024和p2′5′6×1024;

步骤4,令仿生元胞自动机水平方向元胞的数量为1024,仿生元胞自动机垂直方向元胞的数量为256,设定一个大小为256×1024个元胞的仿生元胞自动机;该仿生元胞自动机的每个元胞具有活和死两个状态,分别用1和0表示,每个元胞与其上下左右以及对角线上的元胞组成一个3×3的moore邻域,由于仿生元胞自动机边界上的元胞没有完整的moore邻域,因此需要进行合理的边界处理,在这里我们做如下周期型边界处理:第0行元胞的状态值等于第256行元胞的状态值,第257行元胞的状态值等于第1行元胞的状态值,第0列元胞的状态值等于第1024列元胞的状态值,第1025列元胞的状态值等于第1列元胞的状态值;将二进制矩阵p′256×1024和p″256×1024,分别作为仿生元胞自动机的两个初始状态c0和c1,并选取一个仿生元胞自动机规则f作为密钥;假定仿生元胞自动机的规则f为b3/s1234,规则描述如下:若一个状态为0的元胞,当它的moore邻域中有3个元胞的状态为1,那么在下一时刻,该元胞的状态为1;若一个状态为1的元胞,当它的moore邻域中有1个或2个或3个或4个元胞的状态为1,那么在下一时刻,该元胞的状态仍为1;否则,不论该元胞的当前状态为0或1,下一时刻均为0;

步骤5,根据仿生元胞自动机规则f,计算:

步骤6,重复步骤5,仿生元胞自动机迭代700次,最后交换c700和c701,左右合并后转为十进制数像素矩阵即为密文图像,如图2所示;

下面结合附图对实施例进行性能分析:

1、直方图分析

直方图是图像信息统计规律的客观反映,一个好的图像加密算法应该使得密文图像在统计上不能提供任何有用的信息。比较理想的状态是加密过程将原始图像像素值的不均匀分布变成了像素值的均匀分布,使密文像素值在整个空间范围内的取值概率均等。图3是明文灰度图像图1的直方图,图4是采用本发明方法加密过后密文图像图2的直方图,对比可以看出,密文图像的直方图与明文图像完全不同,其直方图分布呈平坦而均匀的分布,这表明密文图像的像素值在[0,255]上的取值概率趋于均等,因此本发明方法能够有效抵抗基于统计分析的攻击。

2、相关性分析

数字图像中相邻像素的相关性通常很高,图像加密的目标之一就是降低相邻像素的相关性。为了分析相邻像素的相关性,首先在水平方向、垂直方向和对角方向上分别随机选择20000对相邻像素,然后根据式(1)-(4)计算三个方向上的相关系数γxy。

其中,x和y分别表示图像中相邻2个像素点的像素值。表1列出了原图与密文图像在水平、垂直和对角三个方向上相邻像素的相关性。从表1中可知,原图像三个方向上相邻像素的相关系数接近于1,这说明原图中相邻像素间具有很强的相关性。而加密后图像同方向上相邻像素相关系数几乎为0,可见加密后的图像像素相关性大幅降低,相邻像素已经基本上不相关了。

表1

3、差分分析

一个好的密码系统应当对明文变化十分敏感,也就是说明文的微小改变能够引起密文的很大变化,以隐蔽明文的统计特性和结构规律。为了说明算法的扩散效果,下面引入两个量:像素数目改变率(npcr)和平均强度变化率(uaci)。像素数目改变率是指当明文图像改变一个像素时,加密图像像素值发生改变的数目所占的百分比,平均强度变化率是指加密图像像素值变化的程度。设两幅仅相差一个像素的明文图像加密后的密文图像为c1,c2,则:

其中,w和h表示图像的宽和高。c1(i,j),c2(i,j)分别为密文图像c1,c2中像素点(i,j)的灰度值。d(i,j)是一个二维矩阵,当c1(i,j)=c2(i,j)时,d(i,j)=0,否则d(i,j)=1。

实验选取明文图像图1中6个不同位置的像素进行明文敏感性测试。测试过程中,首先保持密钥不变,然后计算图像中单个像素点的差值而产生的npcr和uaci的值。实验结果如表2所示,本发明方法的npcr和uaci均非常接近理想的期望值,这表明本发明方法对明文非常敏感。

表2

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1