CN102523365B - 一种基于元胞自动机的图像加密和解密方法 - Google Patents
一种基于元胞自动机的图像加密和解密方法 Download PDFInfo
- Publication number
- CN102523365B CN102523365B CN201110397232.1A CN201110397232A CN102523365B CN 102523365 B CN102523365 B CN 102523365B CN 201110397232 A CN201110397232 A CN 201110397232A CN 102523365 B CN102523365 B CN 102523365B
- Authority
- CN
- China
- Prior art keywords
- binary sequence
- cellular
- input
- cellular automata
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明提供一种基于元胞自动机的图像加密和解密方法,属于信息安全领域中的图像保密技术。该加密方法首先提取明文图像的像素矩阵,将像素矩阵的每一行转换为二值序列,然后采用多个元胞自动机对图像的每一行进行两轮链式循环迭代,将迭代结果转换成相应像素矩阵后得到密文图像。在每个迭代环节中,迭代次数预先设定,使用的规则号由伪随机序列发生器产生。本发明的解密过程是加密过程的逆过程,规则号使用的顺序与加密时相反。本发明的效果和益处是采用元胞自动机的链式循环迭代使得明文、密钥与密文之间具有复杂且不可预测的关系,既保证了网络传输过程中图像的安全性,又具有一定的容错能力。
Description
技术领域:
本发明涉及一种基于元胞自动机的图像加密和解密方法,属于信息安全领域中的图像保密技术。
背景技术:
图像是人类获取信息,表达信息和传递信息的重要手段。随着互联网和多媒体技术的迅猛发展,越来越多图像可以在网络上方便、快捷地发布和传输。一些涉及个人隐私、商业机密或国家秘密的图像就很容易被恶意攻击者轻易地浏览、窃取、窜改、非法复制与传播,若不对这些图像采取必要的安全保护措施,由此带来的严重后果是不可估量的。因而,图像加密作为图像安全保护的核心技术,其应用愈来愈广泛,其要求也愈来愈高。与文本信息不同,图像具有数据量大、冗余度高、相邻像素间相关性强等特点,一些传统的对称加密算法如DES、AES尽管具备良好的混淆和扩散特性,但在处理图像数据时显得效率不高、效果不理想,这些问题对图像加密提出了新的挑战,我们迫切需要研究和开发出更多适合图像自身特点的加密方法。
近年来,将元胞自动机应用于密码学引起了广泛关注。元胞自动机是一种空间、时间和状态均离散的动力系统,它由元胞空间、状态、邻域和规则四个主要部分构成。空间中的每一个元胞取有限的离散状态,并根据相同的局部规则作同步更新。元胞自动机具有组成单元的简单性、单元之间作用的局部性、信息处理的高度并行性以及全局的复杂性等特点,这些特点非常有利于设计出简单、并行、高效的加密系统。目前,元胞自动机加密研究主要集中在序列密码和分组密码,而专门涉及图像加密的方法较少。Martin提出了一种基于元胞自动机的二值图像加密方法,该方法利用混合元胞自动机构造出伪随机序列发生器,然后通过伪随机序列与明文图像进行异或来实现图像的加密。这种流密码加密方法虽然处理速度快,但安全性完全依赖于伪随机序列发生器的安全,并且经不住已知明文攻击。Chen等人利用元胞自动机的迭代实现图像加密过程中的替代操作,并利用SCAN技术实现置换操作。这类方法具有良好的混淆和扩散性能,但未能考虑算法的容错能力,当密文图像在传输过程中出错或受损时,即便是1比特的错误,也会因为误差的全局扩散而导致解密失败。
发明内容:
针对现有技术中的不足,本发明结合元胞自动机理论和密码学理论,提出一种安全性好且具有容错能力的基于元胞自动机的图像加密和解密方法。
本发明的技术方案如下:
1、加密过程(如图2):
提取明文图像的像素矩阵IM×N,M是图像的宽度,N是图像的高度,均以像素计,并且N为偶数,如果不是偶数,在像素矩阵末尾补上1行,补上的像素值全为0,然后将像素矩阵的每一行转换为二进制序列,得到N个二进制序列B1,B2,...,BN,每个二进制序列的长度为L=M×D,其中D代表存储每个像素所用的二进制位数;
(1)第一轮
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列C1、二进制序列C2;
步骤2:将B3和C1异或的结果、B4和C2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代d次,产生的输出1和输出2分别为二进制序列C3、二进制序列C4;
以此类推继续执行,直到将BN-1和CN-3异或的结果、BN和CN-2异或的结果分别作为加密端的第N/2个元胞自动机的输入1和输入2,加密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别为二进制序列CN-1、二进制序列CN;
(2)第二轮
令B1=CN,B2=C1,B3=C2,...,BN=CN-1,然后重复第一轮的迭代:
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列C′1、二进制序列C′2;
步骤2:将B3和C′1异或的结果、B4和C′2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代d次,产生的输出1和输出2分别为二进制序列C′3、二进制序列C′4;
以此类推继续执行,直到将BN-1和C′N-3异或的结果、BN和C′N-2异或的结果分别作为加密端的第N/2个元胞自动机的,加密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别为二进制序列C′N-1、二进制序列C′N,最终第二轮输出的二进制序列C′1,C′2,...,C′N转换为像素矩阵I′M×N后得到密文图像;
2、解密过程(如图3):
提取密文图像的像素矩阵I′M×N,然后将像素矩阵的每一行转换为二进制序列,得到N个二进制序列C1,C2,...,CN,每个二进制序列的长度为L=M×D;
(1)第一轮
步骤1:将二进制序列CN、二进制序列CN-1分别作为解密端的第N/2个元胞自动机的输入1和输入2,解密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别与二进制序列CN-2、CN-3进行异或运算,从而得到二进制序列BN、二进制序列BN-1;
步骤2:将二进制序列CN-2、二进制序列CN-3分别作为解密端的第N/2-1个元胞自动机的输入1和输入2,解密端的第N/2-1个元胞自动机根据输入的规则号fN/2-1迭代d次,产生分别与二进制序列CN-4、CN-5进行异或运算,从而得到二进制序列BN-2、二进制序列BN-3;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列B2、二进制序列B1;
(2)第二轮
令C1=B2,C2=B3,...,CN-1=BN,CN=B1,然后重复第一轮的迭代:
步骤1:将二进制序列CN、二进制序列CN-1分别作为解密端的第N/2个元胞自动机的输入1和输入2,解密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别与二进制序列CN-2、CN-3进行异或运算,从而得到二进制序列B′N、二进制序列B′N-1;
步骤2:将二进制序列CN-2、二进制序列CN-3分别作为解密端的第N/2-1个元胞自动机的输入1和输入2,解密端的第N/2-1个元胞自动机根据输入的规则号fN/2-1迭代d次,产生分别与二进制序列CN-4、CN-5进行异或运算,从而得到二进制序列B′N-2、二进制序列B′N-3;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列B′2、二进制序列B′1,最终第二轮输出的二进制序列B′1,B′2,...,B′N转换为像素矩阵IM×N后得到明文图像;
(1)建立第j个元胞自动机的迭代表达式:
式中为第i个元胞在t时刻的状态,为第i-1个元胞在t时刻的状态,为第i+1个元胞在t时刻的状态,为第i个元胞在t-1时刻的状态,为第i个元胞在t+1时刻的状态,状态取值为0或1;是异或运算符;g是具有3个变量的逻辑函数,当的取值分别为000,001,010,011,100,101,110,111时,对应的逻辑函数的值分别为规则号fj中的元素k8j-7k8j-6k8j-5k8j-4k8j-3k8j-2k8j-1k8j,当i=1时,令当i=L时,令
所述规则号fj由伪随机序列发生器产生,该伪随机序列发生器以密钥种子K作为输入,然后输出一串长度为4N比特的二进制伪随机序列k1k2k3,...,k4N,规则号fj取二进制伪随机序列k1k2k3,...,k4N中的k8j-7k8j-6k8j-5k8j-4k8j-3k8j-2k8j-1k8j,
(2)初始化:将从第j个元胞自动机的输入1输入的长度为L的二进制序列作为t=0时刻的第j个元胞自动机的全局状态分别表示第j个元胞自动机中t=0时刻的各个元胞的状态值,将从第j个元胞自动机的输入2输入的长度为L的二进制序列作为t=1时刻的第j个元胞自动机的全局状态分别表示第j个元胞自动机中t=1时刻的各个元胞的状态值,
(3)计算第j个元胞自动机t=2时刻的全局状态方法为:第i个元胞(i=1,2,...L)根据的取值,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=1时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=L时,令 表示第j个元胞自动机中t=0时刻的第i个元胞的状态值,表示第j个元胞自动机中t=2时刻的第i个元胞的状态值,
(4)计算元胞自动机t=3时刻的全局状态方法为:第i个元胞,i=1,2,...L,根据的取值,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=2时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=L时,令 表示第j个元胞自动机中t=1时刻的第i个元胞的状态值,表示第j个元胞自动机中t=3时刻的第i个元胞的状态值,
以此类推继续执行,直到计算出第j个元胞自动机t=d时刻的全局状态和t=d+1时刻的全局状态然后将这两个全局状态分别作为第j个元胞自动机迭代d次后的输出1的输出值和输出2的输出值,其中,分别表示第j个元胞自动机中t=d时刻的各个元胞的状态值,分别表示第j个元胞自动机中t=d+1时刻的各个元胞的状态值。
本发明的有益效果在于:
首先,利用元胞自动机(如图1所示)无信息损失和不需要进行浮点运算的特点,杜绝了由于计算机精度产生的舍入误差。其次,采用二轮链式循环迭代不仅具有良好的全局扩散性能,而且使得明文图像、密文图像和密钥之间的依赖关系非常复杂,提高了安全性。另外,本发明对密文图像的数据损失具有一定的容错能力,适合用于误码率较高的无线网络环境下的图像加密。
附图说明:
图1是元胞自动机模块;
图2是第一轮链式迭代加密示意图;
图3是第一轮链式迭代解密示意图;
图4是元胞自动机的迭代过程;
图5是明文图像;
图6是密文图像;
图7是明文图像的直方图;
图8是密文图像的直方图;
图9是明文图像水平方向相邻像素的相关性分布图;
图10是密文图像水平方向相邻像素的相关性分布图;
图11是受损密文的解密图像。
具体实施方式:
下面结合附图和实施例对本发明作进一步详细说明,所给出的实施例是为了说明本发明方法的技术特点和功能特点,而不是限制本发明的范围。
本发明的实施例采用Mathematica 8软件进行仿真,明文图像选用大小为256×256的标准测试灰度图像“Lena”,图像的每一个像素由8比特组成,如图5所示。
加密方法的步骤如下:
首先,利用Mathematica的Import函数提取明文图像的像素矩阵I256×256,然后将像素矩阵的每一行转换为256个二值序列B1,B2,B3,...,B256,每个二值序列长度为2048比特。设定迭代次数d=512。然后,采用Mathematica的Random函数生成1024比特的二进制伪随机序列k1k2k3,...,k1024,依次赋值于规则号,令f1=k1k2k3k4k5k6k7k8,f2=k9k10k11k12k13k14k15k16,...,f128=k1017k1018k1019k1020k1021k1022k1023k1024。接着,
(1)第一轮
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代512次,产生的输出1和输出2分别为二进制序列C1、二进制序列C2;
步骤2:将B3和C1异或的结果、B4和C2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代512次,产生的输出1和输出2分别为二进制序列C3、二进制序列C4;
以此类推继续执行,直到将B255和C253异或的结果、B256和C254异或的结果分别作为加密端的第128个元胞自动机的输入1和输入2,加密端的第128个元胞自动机根据输入的规则号f128迭代512次,产生的输出1和输出2分别为二进制序列C255、二进制序列C256;
(2)第二轮
令B1=C256,B2=C1,B3=C2,...,B256=C255,然后重复第一轮的迭代:
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代512次,产生的输出1和输出2分别为二进制序列C′1、二进制序列C′2;
步骤2:将B3和C′1异或的结果、B4和C′2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代512次,产生的输出1和输出2分别为二进制序列C′3、二进制序列C′4;
以此类推继续执行,直到将B255和C′253异或的结果、B256和C′254异或的结果分别作为加密端的第128个元胞自动机的,加密端的第128个元胞自动机根据输入的规则号f128迭代512次,产生的输出1和输出2分别为二进制序列C′255、二进制序列C′256,最终第二轮输出的二进制序列C′1,C′2,...,C256′转换为像素矩阵I′256×256后得到密文图像如图6所示,它类似于“噪声”图像,很好地隐藏了原图像的信息。
解密方法的步骤如下:
首先,利用Mathematica的Import函数提取密文图像的像素矩阵I′256×256,然后将像素矩阵的每一行转换为256个二值序列C1,C2,C3,...,C256,每个二值序列长度为2048比特。设定迭代次数d=512。
(1)第一轮
步骤1:将二进制序列C256、二进制序列C255分别作为解密端的第128个元胞自动机的输入1和输入2,解密端的第128个元胞自动机根据输入的规则号f128迭代512次,产生的输出1和输出2分别与二进制序列C254、C253进行异或运算,从而得到二进制序列B256、二进制序列B255;
步骤2:将二进制序列C254、二进制序列C253分别作为解密端的第127个元胞自动机的输入1和输入2,解密端的第127个元胞自动机根据输入的规则号f127迭代512次,产生分别与二进制序列C252、C251进行异或运算,从而得到二进制序列B254、二进制序列B253;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代512次,产生的输出1和输出2分别为二进制序列B2、二进制序列B1;
(2)第二轮
令C1=B2,C2=B3,...,C255=B256,C256=B1,然后重复第一轮的迭代:
步骤1:将二进制序列C256、二进制序列C255分别作为解密端的第128个元胞自动机的输入1和输入2,解密端的第128个元胞自动机根据输入的规则号f128迭代512次,产生的输出1和输出2分别与二进制序列C254、C253进行异或运算,从而得到二进制序列B′256、二进制序列B′255;
步骤2:将二进制序列C254、二进制序列C253分别作为解密端的第127个元胞自动机的输入1和输入2,解密端的第127个元胞自动机根据输入的规则号f127迭代512次,产生分别与二进制序列C252、C251进行异或运算,从而得到二进制序列B′254、二进制序列B′253;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代512次,产生的输出1和输出2分别为二进制序列B′2、二进制序列B′1,最终第二轮输出的二进制序列B′1,B′2,...,B256′转换为像素矩阵I256×256后得到明文图像;
令j=1、2、…、128,第j个元胞自动机根据输入的规则号fj迭代512次的步骤如下:
(1)建立第j个元胞自动机的迭代表达式:
式中为第i个元胞在t时刻的状态,为第i-1个元胞在t时刻的状态,为第i+1个元胞在t时刻的状态,为第i个元胞在t-1时刻的状态,为第i个元胞在t+1时刻的状态,状态取值为0或1;当i=1时,令当i=2048时,令 是异或运算符;g是具有3个变量的逻辑函数,又称为规则,规则的另一种表示形式为真值表,如下:
表1规则真值表
真值表中输入项是邻域内元胞状态取值的所有可能组合{000,001,010,011,100,101,110,111},按二进制数递增排列。真值表的输出项是所有输入变量取值下的逻辑函数的值{a0,a1,a2,a3,a4,a5,a6,a7},其中ak∈{0,1},k=0,1,...,7。输入项和输出项的对应关系为:(0,0,0)→a0;(0,0,1)→a1;(0,1,0)→a2;(0,1,1)→a3;(1,0,0)→a4;(1,0,1)→a5;(1,1,0)→a6;(1,1,1)→a7。这样,输入变量取值一旦确定,即可从真值表中查找到相应的输出值ak,然后将该输出值与元胞t-1时刻的状态值进行异或,从而得到元胞t+1时刻的状态值这里,将a0a1a2a3a4a5a6a7这样一个长度为8比特的二进制序列称为规则号。一旦给定了规则号fj,就可以建立该规则号的规则真值表。由于本实施例中一共有128个规则号f1,f2,...,f128,因此可建立128张真值表。
(2)初始化:将从第j个元胞自动机的输入1输入的长度为2048比特的二进制序列作为t=0时刻的第j个元胞自动机的全局状态分别表示第j个元胞自动机中t=0时刻的各个元胞的状态值,将从第j个元胞自动机的输入2输入的长度为2048比特的二进制序列作为t=1时刻的第j个元胞自动机的全局状态分别表示第j个元胞自动机中t=1时刻的各个元胞的状态值,
(3)计算第j个元胞自动机t=2时刻的全局状态方法为:第i个元胞(i=1,2,...2048)根据的取值,查找规则号为fj的真值表,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=1时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=2048时,令 表示第j个元胞自动机中t=0时刻的第i个元胞的状态值,表示第j个元胞自动机中t=2时刻的第i个元胞的状态值,
(4)计算元胞自动机t=3时刻的全局状态方法为:第i个元胞,i=1,2,...2048,根据的取值,查找规则号为fj的真值表,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=2时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=2048时,令 表示第j个元胞自动机中t=1时刻的第i个元胞的状态值,表示第j个元胞自动机中t=3时刻的第i个元胞的状态值,
以此类推继续执行,直到计算出第j个元胞自动机t=512时刻的全局状态和t=513时刻的全局状态然后将这两个全局状态分别作为第j个元胞自动机迭代512次后的输出1的输出值和输出2的输出值,其中,分别表示第j个元胞自动机中t=512时刻的各个元胞的状态值,分别表示第j个元胞自动机中t=513时刻的各个元胞的状态值。
下面结合附图对实施例进行性能分析:
密文图像的直方图如图8所示,它与明文图像的直方图7完全不同,密文图像的直方图分布十分均匀,这表明密文图像的像素值在[0,255]上的取值概率均等,因此能够有效抵抗统计分析。
图9和图10分别给出了明文图像和密文图像水平方向相邻像素的相关性分布,由图可见,明文图像像素之间的相关性呈现明显的线性结构,而密文图像像素之间的相关性呈现均匀、随机分布。因此,加密图像比原始图像的相关性降低了。
为了测试当密文图像经过有噪信道发生误码时是否能恢复原始图像,我们在仿真过程中改变密文图像的一个像素值,然后检验解密效果。从图11可以看出,误码仅在局部扩散,只有若干分组不能恢复原始图像,其他部分仍然能正确解码,因此本发明方法对于密文受损具有一定的容错能力。
由上述性能分析可见,本发明方法具有良好的加密效果,能有效抵抗直方图和相关性等统计分析攻击,并且对密文受损具有一定的容错能力。
Claims (1)
1.一种基于元胞自动机的图像加密和解密方法,其特征在于:包括加密步骤和解密步骤,
所述加密步骤为:
提取明文图像的像素矩阵IM×N,M是图像的宽度,N是图像的高度,均以像素计,并且N为偶数,如果不是偶数,在像素矩阵末尾补上1行,补上的像素值全为0,然后将像素矩阵的每一行转换为二进制序列,得到N个二进制序列B1,B2,...,BN,每个二进制序列的长度为L=M×D,其中D代表存储每个像素所用的二进制位数;
(1)第一轮
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列C1、二进制序列C2;
步骤2:将B3和C1异或的结果、B4和C2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代d次,产生的输出1和输出2分别为二进制序列C3、二进制序列C4;
以此类推继续执行,直到将BN-1和CN-3异或的结果、BN和CN-2异或的结果分别作为加密端的第N/2个元胞自动机的输入1和输入2,加密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别为二进制序列CN-1、二进制序列CN;
(2)第二轮
令B1=CN,B2=C1,B3=C2,...,BN=CN-1,然后重复第一轮的迭代:
步骤1:将二进制序列B1、二进制序列B2分别作为加密端的第一个元胞自动机的输入1和输入2,加密端的第一个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列C′1、二进制序列C′2;
步骤2:将B3和C′1异或的结果、B4和C′2异或的结果分别作为加密端的第二个元胞自动机的输入1和输入2,加密端的第二个元胞自动机根据输入的规则号f2迭代d次,产生的输出1和输出2分别为二进制序列C′3、二进制序列C′4;
以此类推继续执行,直到将BN-1和C′N-3异或的结果、BN和C′N-2异或的结果分别作为加密端的第N/2个元胞自动机的,加密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别为二进制序列C′N-1二进制序列C′N最终第二轮输出的二进制序列C′1,C′2,...,C′N转换为像素矩阵I′M×N后得到密文图像;
所述解密步骤为:
提取密文图像的像素矩阵I′M×N,然后将像素矩阵的每一行转换为二进制序列,得到N个二进制序列C1,C2,...,CN,每个二进制序列的长度为L=M×D;
(1)第一轮
步骤1:将二进制序列CN、二进制序列CN-1分别作为解密端的第N/2个元胞自动机的输入1和输入2,解密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别与二进制序列CN-2、CN-3进行异或运算,从而得到二进制序列BN、二进制序列BN-1;
步骤2:将二进制序列CN-2、二进制序列CN-3分别作为解密端的第N/2-1个元胞自动机的输入1和输入2,解密端的第N/2-1个元胞自动机根据输入的规则号fN/2-1迭代d次,产生分别与二进制序列CN-4、CN-5进行异或运算,从而得到二进制序列BN-2、二进制序列BN-3;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列B2、二进制序列B1;
(2)第二轮
令C1=B2,C2=B3,...,CN-1=BN,CN=B1,然后重复第一轮的迭代:
步骤1:将二进制序列CN、二进制序列CN-1分别作为解密端的第N/2个元胞自动机的输入1和输入2,解密端的第N/2个元胞自动机根据输入的规则号fN/2迭代d次,产生的输出1和输出2分别与二进制序列CN-2、CN-3进行异或运算,从而得到二进制序列B′N、二进制序列B′N-1;
步骤2:将二进制序列CN-2、二进制序列CN-3分别作为解密端的第N/2-1个元胞自动机的输入1和输入2,解密端的第N/2-1个元胞自动机根据输入的规则号fN/2-1迭代d次,产生分别与二进制序列CN-4、CN-5进行异或运算,从而得到二进制序列B′N-2、二进制序列B′N-3;
以此类推继续执行,直到将二进制序列C2、二进制序列C1分别作为解密端的第1个元胞自动机的输入1和输入2,解密端的第1个元胞自动机根据输入的规则号f1迭代d次,产生的输出1和输出2分别为二进制序列B′2、二进制序列B′1,最终第二轮输出的二进制序列B′1,B′2,...,B′N转换为像素矩阵IM×N后得到明文图像;
(1)建立第j个元胞自动机的迭代表达式:
式中为第i个元胞在t时刻的状态,为第i-1个元胞在t时刻的状态,为第i+1个元胞在t时刻的状态,为第i个元胞在t-1时刻的状态,为第i个元胞在t+1时刻的状态,状态取值为0或1;⊕是异或运算符;g是具有3个变量的逻辑函数,的取值分别为000,001,010,011,100,101,110,111时,对应的逻辑函数的值分别为规则号fj中的元素k8j-7k8j-6k8j-5k8j-4k8j-3k8j-2k8j-1k8j,当i=1时,令当i=L时,令
所述规则号fj由伪随机序列发生器产生,该伪随机序列发生器以密钥种子K作为输入,然后输出一串长度为4N比特的二进制伪随机序列k1k2k3,...,k4N,规则号fj取二进制伪随机序列k1k2k3,...,k4N中的k8j-7k8j-6k8j-5k8j-4k8j-3k8j-2k8j-1k8j,
(2)初始化:将从第j个元胞自动机的输入1输入的长度为L的二进制序列作为t=0时刻的第j个元胞自动机的全局状态 分别表示第j个元胞自动机中t=0时刻的各个元胞的状态值,将从第j个元胞自动机的输入2输入的长度为L的二进制序列作为t=1时刻的第j个元胞自动机的全局状态 分别表示第j个元胞自动机中t=1时刻的各个元胞的状态值,
(3)计算第j个元胞自动机t=2时刻的全局状态方法为:第i个元胞(i=1,2,...L)根据的取值,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=1时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=L时,令 表示第j个元胞自动机中t=0时刻的第i个元胞的状态值,表示第j个元胞自动机中t=2时刻的第i个元胞的状态值,
(4)计算元胞自动机t=3时刻的全局状态方法为:第i个元胞,i=1,2,...L,根据的取值,得到对应的逻辑函数的值,然后将该逻辑函数的值与进行异或,从而得到其中,分别表示第j个元胞自动机中t=2时刻的第i-1,i,i+1个元胞的状态值,当i=1时,令当i=L时,令 表示第j个元胞自动机中t=1时刻的第i个元胞的状态值,表示第j个元胞自动机中t=3时刻的第i个元胞的状态值,
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110397232.1A CN102523365B (zh) | 2011-12-05 | 2011-12-05 | 一种基于元胞自动机的图像加密和解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110397232.1A CN102523365B (zh) | 2011-12-05 | 2011-12-05 | 一种基于元胞自动机的图像加密和解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102523365A CN102523365A (zh) | 2012-06-27 |
CN102523365B true CN102523365B (zh) | 2014-02-19 |
Family
ID=46294150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110397232.1A Expired - Fee Related CN102523365B (zh) | 2011-12-05 | 2011-12-05 | 一种基于元胞自动机的图像加密和解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102523365B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103745427B (zh) * | 2014-01-16 | 2017-01-04 | 浙江传媒学院 | 基于迭代振幅-相位恢复算法的图像加密方法 |
CN104766266A (zh) * | 2015-03-19 | 2015-07-08 | 河海大学 | 一种基于二维元胞自动机的图像置乱方法 |
CN105099654A (zh) * | 2015-06-16 | 2015-11-25 | 南京理工大学 | 基于耦合自触发元胞自动机加解密方法 |
CN106056527B (zh) * | 2016-09-05 | 2019-08-20 | 中山大学 | 基于混合型平衡二阶可逆二维细胞自动机图像加密方法 |
CN106971367A (zh) * | 2017-03-23 | 2017-07-21 | 河海大学 | 一种基于可逆仿生元胞自动机的图像加密方法 |
CN107590843B (zh) * | 2017-09-07 | 2019-08-13 | 电子科技大学 | 基于构造的二维可逆元胞自动机的图像加密方法 |
CN108021814B (zh) * | 2017-11-27 | 2019-07-23 | 河海大学 | 一种基于平衡规则的仿生元胞自动机的图像加密方法 |
CN110213037B (zh) * | 2019-06-03 | 2022-05-20 | 华中师范大学 | 一种适合硬件环境的流密码加密方法及系统 |
CN113422682B (zh) * | 2021-06-21 | 2022-07-26 | 北京邮电大学 | 基于色散均衡和元胞自动机的物理层安全密钥分发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515307A (en) * | 1994-08-04 | 1996-05-07 | Bell Communications Research, Inc. | Pseudo-random generator |
US6064738A (en) * | 1996-12-10 | 2000-05-16 | The Research Foundation Of State University Of New York | Method for encrypting and decrypting data using chaotic maps |
CN101739695A (zh) * | 2009-11-26 | 2010-06-16 | 西北工业大学 | 一种基于三维Arnold映射的图像分组加密方法 |
-
2011
- 2011-12-05 CN CN201110397232.1A patent/CN102523365B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5515307A (en) * | 1994-08-04 | 1996-05-07 | Bell Communications Research, Inc. | Pseudo-random generator |
US6064738A (en) * | 1996-12-10 | 2000-05-16 | The Research Foundation Of State University Of New York | Method for encrypting and decrypting data using chaotic maps |
CN101739695A (zh) * | 2009-11-26 | 2010-06-16 | 西北工业大学 | 一种基于三维Arnold映射的图像分组加密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102523365A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102523365B (zh) | 一种基于元胞自动机的图像加密和解密方法 | |
Chen et al. | An efficient image encryption scheme using lookup table-based confusion and diffusion | |
Talhaoui et al. | Fast image encryption algorithm with high security level using the Bülban chaotic map | |
Xiong et al. | Color image chaos encryption algorithm combining CRC and nine palace map | |
Norouzi et al. | A novel image encryption based on hash function with only two-round diffusion process | |
Ye et al. | Chaotic image encryption algorithm using wave-line permutation and block diffusion | |
Zhang | A new unified image encryption algorithm based on a lifting transformation and chaos | |
Wang et al. | A new chaos-based fast image encryption algorithm | |
Sun et al. | A new cryptosystem based on spatial chaotic system | |
Xu et al. | An improved chaotic cryptosystem based on circular bit shift and XOR operations | |
Kumar et al. | IEHC: An efficient image encryption technique using hybrid chaotic map | |
Khan et al. | A new hybrid image encryption algorithm based on 2D-CA, FSM-DNA rule generator, and FSBI | |
CN104917617B (zh) | 一种加密群签名的混淆方法 | |
CN107330338B (zh) | 基于双混沌交叉扩散的彩色图像加密和解密方法及系统 | |
CN103414549A (zh) | 一种qr二维码二值图像分区变密钥混沌加密方法 | |
Gao et al. | Digital image encryption scheme based on generalized Mandelbrot-Julia set | |
Chen et al. | Cryptanalysis of a chaotic image cipher based on plaintext-related permutation and lookup table | |
Al-Arjan et al. | Intelligent security in the era of AI: The key vulnerability of RC4 algorithm | |
CN101022331B (zh) | 一种基于载体的混沌加密方法 | |
CN103458316B (zh) | 一种图像加密方法 | |
Song et al. | Multi-image reorganization encryption based on SLF cascade chaos and bit scrambling | |
Wen et al. | Secure image encryption algorithm using chaos-based block permutation and weighted bit planes chain diffusion | |
Ning et al. | Construction of new 5D Hamiltonian conservative hyperchaotic system and its application in image encryption | |
Zhang et al. | Reverse iterative image encryption scheme using 8-layer cellular automata | |
Faraoun | Design of fast one-pass authenticated and randomized encryption schema using reversible cellular automata |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140219 Termination date: 20161205 |