基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法转让专利
申请号 : CN202011524802.4
文献号 : CN112769545B
文献日 : 2022-01-28
发明人 : 张勋才 , 李林伟 , 刘鹏 , 牛莹 , 岳伟超 , 王凤仙 , 任杭丽 , 王延峰 , 杨飞飞 , 张曲遥 , 张峰升 , 张建伟
申请人 : 郑州轻工业大学
摘要 :
权利要求 :
1.一种基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,其步骤如下:
步骤一:将大小为M*N的原始的灰度图像P转换成二维矩阵P1;
步骤二:计算灰度图像P的哈希值和灰度图像P像素值的平均值,根据哈希值、平均值及给定值分别计算2D‑LSCM混沌映射和Lorenz混沌映射的初始值;
步骤三:根据二维希尔伯特曲线的扫描路线,将二维矩阵P1进行像素级置换,从而置乱成一维向量得到一维的像素序列P2;
步骤四:将2D‑LSCM混沌映射的初始值代入2D‑LSCM混沌映射并进行迭代,得到2个长度为M*N的混沌序列LSX和混沌序列LSY;对混沌序列LSX和LSY进行处理分别得到序列LSX'和序列LSY',以序列LSX'为起点、LSY'为步长,利用约瑟夫遍历对像素序列P2的相邻像素的二进制位进行相邻像素点间比特置乱,得到像素序列P3;
步骤五:利用Lorenz混沌映射的初始值对Lorenz混沌映射进行迭代,得到3个长度为4*M*N的序列LOX、LOY和LOZ,对序列LOX、LOY和LOZ进行处理分别得到新的序列为LOX'、LOY'和LOZ';其中,序列LOX'中元素用于规则选择,根据DNA编码技术将像素序列P3转换为DNA序列P4;
步骤六,利用Mealy状态转换机将DNA序列P4作为输入、LOY'作为转换状态,得到新的DNA序列P5;
步骤七、将序列LOZ'中元素用于编码规则选择,根据DNA编码技术,将DNA序列P5转换为二进制序列,进而转换为十进制序列,恢复成矩阵形式,得到密文图像P6。
2.根据权利要求1所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述计算灰度图像P的哈希值的方法为:使用SHA‑3算法对灰度图像P进行加密运算得到256位的二进制值哈希值H;
所述计算2D‑LSCM混沌映射和Lorenz混沌映射的初始值的方法为:将哈希值H按字节划分为32个字节并表示为:h1,h2,…,h32,则初始值为:其中,x′01、y′01、θ′0、x′02、y′02和z′02为给定值,x01、y01和θ为二维Logistic‑Sine耦合映射的初始值,x02、y02和z02为Lorenz混沌映射的初始值,Avg为灰度图像P的像素值的平均值,取模函数mod(x1,y1)表示x1除以y1的余数,He为哈希值H的第e位二进制值,⊕为异或运算。
3.根据权利要求1或2所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述2D‑LSCM混沌映射是由一维混沌映射Logistic映射和Sine映射融合得到,数学表达式为:
其中,xi1和yi1为第i1次迭代得到的元素值,xi1+1和yi1+1为第i1+1次迭代得到的元素值,sin为正弦函数;当系统参数θ∈[0,1]时,2D‑LSCM混沌映射处于混沌状态;
所述Lorenz混沌映射的动力学方程为:其中, 和 分别是状态变量x、y和z的导数,α、β、γ为系统参数,在保持系统参数α,γ不变的情况下,β≥24.74时,Lorenz混沌映射进入混沌状态。
4.根据权利要求1所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述步骤三中像素级置换的方法为:利用希尔伯特曲线遍历二维矩阵P1中的每一个像素点,希尔伯特曲线连续访问二维矩阵P1中的所有像素一次,并对每一个像素进行线性排序,从而将二维矩阵P1的像素位置打乱并重组一幅新的像素图像,从而得到置乱后的像素序列P2。
5.根据权利要求3所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述对混沌序列LSX和LSY进行处理分别得到序列LSX'和序列LSY'的方法为:其中,lsxi和lsyi分别为混沌序列LSX和LSY的第i个元素,lsx′i和lsy′i分别为处理后的序列LSX'和LSY'的第i个元素,floor()为向上取整函数;且i=1,2,...M*N;
所述对序列LOX、LOY和LOZ进行处理分别得到新的序列为LOX'、LOY'和LOZ'的方法为:其中,loxi、loyi、lozi分别为伪随机序列LOX、LOY和LOZ的第i个元素,lox′i、loy′i、loz′i分别为处理后的序列LOX'、LOY'和LOZ'的第i个元素;且i=1,2,...M*N。
6.根据权利要求4或5所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述约瑟夫遍历的函数为:J=f(T,a,s,r),T为在约瑟夫函数f执行前存放的初始序列,J存放遍历后的序列,a为初始序列长度,s为开始遍历的起始位置,且1≤s≤a,r为遍历时出列位置的报数值,1≤r≤a;
所述相邻像素点间比特置乱的方法是:设定每4个相邻像素为一组,然后转换成二进制形式,对转换后的序列进行约瑟夫遍历;且下一组的第一个像素为上一组的最后一个像素。
7.根据权利要求6所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述DNA编码和DNA解码的规则为:规则 1 2 3 4 5 6 7 8
00 A A C G C G T T
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A。
8.根据权利要求7所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述DNA编码过程中,对于像素序列P3中的每个像素,用序列LOX’中对应位置的元素值作为编码的规则,将像素序列P3编码成DNA序列;对于Mealy状态机输出的DNA序列,用序列LOZ'的对应位置的元素值作为解码规则,将DNA序列P5解码成像素序列。
9.根据权利要求1或7所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,所述Mealy状态机是一个6元组(S,S0,Σ,Λ,T1,G),其中,S是状态的有限集合,S0∈S是初始状态,Σ是有限输入字母表的集合,Λ为有限输出字母表集合,T1是状态转换函数且:S×Σ→S,G是输出函数且由:S×Σ→Λ构成;
将Mealy状态机的状态集合S设置为{S0,S1,S2,S3},开始状态为S0,输入字母表的有限集合Σ为{A,C,G,T},输出字母表的有限集合Λ为{A,C,G,T},S0,S1,S2,S3表示状态机的四种状态,输出表如下表所示:
输入A 输入C 输入G 输入TS0 T G C A
S1 G T A C
S2 C A T G
S3 A C G T
。
10.根据权利要求9所述的基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法,其特征在于,通过输出表得到的状态转移表为: 输入A 输入C 输入G 输入TS0 S1 S0 S3 S2
S1 S2 S1 S0 S3
S2 S3 S2 S1 S0
S3 S0 S3 S2 S1
;
Mealy状态机以状态S0启动,Mealy状态机读取DNA序列P5中的每个DNA碱基,通过状态转移表输出得到一个新的DNA碱基序列;
为了提高加密的安全性,下一个状态随机产生,Mealy状态机中输入第i个碱基,其下一个状态由序列LOY'中的第i+1个元素确定,也即下一个状态
说明书 :
基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法
技术领域
背景技术
效保护数字图像传输的重要手段,因此,图像加密已成为计算机领域的一个热门研究方向。
法,有基于混沌理论的加密方案、基于DNA计算的加密方案等。其中,混沌系统因具有良好的
伪随机特性、对初值的敏感性和轨道的不可预测性,使得基于混沌的图像加密得到了广泛
地研究,取得了良好的效果。
中。例如,Li等提出了一种基于混沌帐篷映射的图像加密算法,Wang等人提出了一种基于
Logistic映射的快速图像加密算法,然而,这些加密算法的密钥空间小,不能有效地抵御蛮
力攻击。相比之下,多维混沌映射特别是超混沌映射,变量和参数较多,动态特性更加复杂,
密钥空间更大,因此,使用多维混沌映射是一种更加优异的理想图像加密方案。Zhang等人
提出了一种基于新型多维多翼超混沌吸引子的图像加密算法,该系统具有两个大于零的
Lyapunov指数,它们可以在不同参数下生成超混沌吸引子。尽管多维混沌映射在图像加密
中取得了较好的效果,但是仍然存在一些不足。比如文献[G.Guan,C.Wu,Q.Jia An
improved high performance Lorenz system and its application Acta Phys.Sin.,64
(2)(2015),pp.35‑48]中,Gao等人提出了一种使用像素级置换的基于超混沌的图像加密算
法,尽管该算法具有密钥空间大的优点,但不能有效抵抗选择明文和密文攻击。特别地,当
原始图像是具有相同像素的特殊图像时,整个加密系统的安全性仅取决于扩散操作。一旦
破解了用于扩散的密钥流,攻击者就可以轻松获得原始图像的统计信息。
统来确保混沌序列的复杂性,以提高算法的安全性。但是,不可否认的是,单一的混沌映射
构成的加密算法无法保证所加密的图像具有较高安全性。
发明内容
与混沌序列结合,通过将混沌序列与约瑟夫遍历结合实现位级置换;混沌序列与DNA编码技
术、Mealy状态机结合实现像素的扩散,保证了扩散效果,减少了迭代次数,且抗选择明文
(密文)攻击更强,明文敏感性更好。
LSX'和序列LSY',以序列LSX'为起点、LSY'为步长,利用约瑟夫遍历对像素序列P2的相邻像
素的二进制位进行相邻像素点间比特置乱,得到像素序列P3;
LOY'和LOZ';其中,序列LOX'中元素用于规则选择,根据DNA编码技术将像素序列P3转换为
DNA序列P4;
度图像P的哈希值的方法为:使用SHA‑3算法对灰度图像P进行加密运算得到256位的二进制
值哈希值H;
均值,取模函数mod(x1,y1)表示x1除以y1的余数,He为哈希值H的第e位二进制值, 为异或
运算。
性排序,从而将二维矩阵P1的像素位置打乱并重组一幅新的像素图像,从而得到置乱后的
像素序列P2。
时出列位置的报数值,1≤r≤a;
像素。
00 A A C G C G T T
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A
。
序列LOZ'的对应位置的元素值作为解码规则,将DNA序列P5解码成像素序列。
数且:S×Σ→S,G是输出函数且由:S×Σ→Λ构成;
四种状态,输出表如下表所示:
S1 G T A C
S2 C A T G
S3 A C G T
。
S0 S1 S0 S3 S2
S1 S2 S1 S0 S3
S2 S3 S2 S1 S0
S3 S0 S3 S2 S1
;
约瑟夫遍历的起点和步长,对相邻像素进行约瑟夫遍历,实现比特级置换。最后,对置换后
的图像进行DNA编码,并将编码后的图像序列输入Mealy状态机进行状态转换,输出转换结
果,经解码后还原成二维矩阵形式,得到密文图像,实现了像素的扩散,进一步增强算法的
混淆和扩散特性。实验结果和安全性分析表明,该算法对密钥的敏感性强,能有效抵抗统计
攻击和差分攻击等,具有很好的安全性和应用潜力。本发明通过Hilbert扫描、约瑟夫置换
以及Mealy状态转换实现了像素的位置置乱和像素值的扩散,综合使用明文哈希值与明文
像素值的平均值对明文变化更为敏感,使得抗选择明文(密文)攻击更强,明文敏感性更好。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
解密图像,(g)为Cameraman原始图像,(h)为Cameraman密文图像,(i)为Cameraman解密图
像。
文直方图,(f)为Cameraman密文直方图。
具体实施方式
本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
Bit级置换:将原始图像的每相邻的4个像素点进行约瑟夫遍历;然后进行DNA编码,并将编
码后的序列输入Mealy状态机进行状态变换,再DNA解码技术恢复成矩阵形式,得到密文图
像。具体步骤如下:
信。
展到二维,有效地提高了系统的复杂度,进而得到更加复杂的混沌行为,二维Logistic‑
Sine耦合映射的数学表达式定义如下:
像的攻击,明文图像必须高度分散到加密方案使用的密钥流中。为此,本发明利用明文图像
的哈希值和明文图像像素值的平均值来生成自适应密钥。
值都将完全不同,加密密钥也将完全不同。将原图像的信息与密钥相结合,能有效的抵抗已
知明文、选择明文攻击以及蛮力攻击。使用SHA‑3算法(输出哈希值长度可以输出512位、384
位、256位等),通过对明文图像进行加密运算得到256位的二进制值哈希值H,用于产生混沌
系统的初始值。将哈希值H按字节划分为32个字节表示为:h1,h2,…,h32。根据以下公式计算
分别得到3D混沌系统的初始值:
取模函数mod(x1,y1)表示x1除以y1的余数,He为哈希值H的第e位二进制值, 为异或运算。
这样生成的初始值与明文关联,具有随机性优势,能有效抵抗统计明文攻击和已知明文攻
击。
线。一条空间填充曲线(SFC)可以连续访问图像中的所有像素一次,并对每一个像素进行线
性排序,从而将原图像的像素位置打乱并重组一幅新的像素图像。通过使用填充曲线进行
扫描可以对图像进行快速置乱。意大利数学家Peano和德国数学家Hilbert分别于1890年和
1891年给出了填满一个方形网格的FASS曲线,利用这条连续曲线遍历网格中每一个结点,
即Hilbert曲线,如图2所示。Hilbert曲线对图像置乱具有很好的效果。
LSX'和序列LSY',以序列LSX'为起点、LSY'为步长,利用约瑟夫遍历像素序列P2的相邻像素
的二进制位,得到像素序列P3。
始报数,数到第r的人又出列,……,如此重复直到所有的人全部出列为止。对于任意给定的
a、s和r,均可得到这a个人员的出列次序。若把出列顺序看成是遍历序列,则称其为“约瑟夫
遍历”。定义约瑟夫遍历函数为:J=f(T,a,s,r),T为在约瑟夫函数f执行前存放的初始序
列,J存放遍历后的序列,a为初始序列长度,s为开始遍历的起始位置,且1≤s≤a,r为遍历
时出列位置的报数值,1≤r≤a。
瑟夫遍历与混沌序列相结合,通过将混沌映射产生的伪随机序列作为约瑟夫遍历的起点和
步长参数,综合置乱效率和效果,本发明设定每4个相邻像素为一组,然后转换成二进制形
式,对其进行约瑟夫遍历。为进一步增强扩散的效果,规定下一组的第一个像素为上一组
(已进行约瑟夫遍历)的最后一个像素。相邻4个像素共32位二进制数的置乱,充分利用了全
局置乱后相邻像素点间的相关性被完全打破的特性,解决单一像素点二进制下置乱所用混
沌序列不敏感问题,也间接实现了像素的扩散。
给定的数据矩阵,图3的(b)为序列LSX'和LSY',图3的(c)为采用约瑟夫序列对图3(a)遍历
后的矩阵,图3的(d)为约瑟夫置乱过程。
LOX'、LOY'和LOZ';其中,序列LOX'中元素用于规则选择,根据DNA编码技术将像素序列P3转
换为DNA序列P4。
三个氢键配对,这一天然的四进制组合,正好与半导体通断所形成的二进制类似。因此,运
用碱基的排列组合可以进行信息的存储和计算。如果按照A→00、C→01、G→10、T→11进行
对应编码,则互补数字配对 及 与碱基对的互补配对 及 吻合。这
样共有8中编码组合满足互补配对规则。
01 C G A A T T C G
10 G C T T A A G C
11 T T G C G C A A
图像处理中。在加密图像中,为了达到像素值扰乱的目的,本发明结合Mealy状态机对图像
像素进行扩散。
素进行处理,记处理后的序列为LOX'、LOY'和LOZ'。
列,同理,对于Mealy状态机输出的DNA序列,用序列LOZ'的对应位置的元素值作为解码规则
的选择,将DNA序列编码成像素序列。
j+1个元素为2,则表示下一个状态为S2。这样通过将图像序列转换为DNA编码序列,输入
Mealy状态机进行状态转换并输出新的DNA序列,进一步结合混沌序列进行DNA解码,实现像
素的扩散。
它的状态图的每个转移边包括输入和输出,与输出只依赖于机器当前状态的摩尔有限状态
机不同,它的输出与当前状态和输入都有关。
×Σ→S,G是输出函数且由:S×Σ→Λ构成。
字符串(一系列输出)。然而,尽管可以使用Mealy模型来描述Enigma(恩尼格玛密码机),但
状态图太复杂,无法提供设计复杂加密机器的可行方法。为此,本发明将结合DNA编码技术,
给出一种四个字母表的状态图,对图像像素进行扩散。
态转换机的四种状态,输出表如表2所示,状态表随机生成,表3为一个状态表实例。
S1 G T A C
S2 C A T G
S3 A C G T
S0 S1 S0 S3 S2
S1 S2 S1 S0 S3
S2 S3 S2 S1 S0
S3 S0 S3 S2 S1
一个DNA序列,Mealy状态机的作用是读取一个DNA序列中的每个DNA碱基,通过状态转换输
出得到一个新的DNA碱基序列;然后再根据表1中的DNA编码方案进行解码,恢复成像素值。
状态转换借助于状态转移表来实现,为了体现随机性,本发明采用了随机序列来确定下一
个状态。为了提高加密的安全性,下一个状态将随机产生。为此,采用混沌系统产生的随机
序列来确定状态机的下一个状态。所述Mealy状态机中输入第j个碱基A,其下一个状态由序
列LOY'中的第j+1个元素直接确定,也即下一个状态
的初始给定值x01'=y01'=θ0'=x02'=y02'=z02'=0.01,实验仿真结果如图5所示。由图5可
知,本发明能实现图像的有效加密与解密。
析和讨论所提出的加密算法的性能和安全性。
15 90
击。在本发明中,包括6个系统参数,如果计算精度为10 ,则密钥空间为10 ,因此本发明的
密钥空间足够大,能够有效的抵御蛮力攻击。
计算方法如下:
则D(i,j)=1,否则D(i,j)=0。对给定的三幅明文图像,计算UACI和NPCR的值结果如表4所示,
由表4可知UACI和NPCR的值均接近理论值,因此本发明具有较强的抵抗差分攻击的能力。
Pepper 99.6381 33.6835
Cameraman 99.6032 33.4637
任何信息。否则,通过对加密图像统计特性的分析,可以通过统计分析攻击获得一定数量的
信息。因此,好的加密方法对原始图像加密后产生的密文图像的像素值都是均匀分布的。
Lena、Peppers和Cameraman明文图像和密文图像的统计直方图如图6所示,从实验结果可以
得出,像素扩散及置换操作使所得加密图像统计直方图分布非常均匀,这说明了本发明具
有很好的抵抗统计攻击能力。
Peppers和Cameraman明文图像和密文图像的信息熵如表5所示,进一步说明了本发明的有
效性。
衡量图像相邻像素之间的相关性,被定义为:
关性如图7所示。由图7可以看出,原始图像中相邻像素的分布高度集中,说明原始图像相关
性很强。密文图像中相邻像素的分布是随机分布的,这表明密文图像相关性很低。三个方向
的相关系数计算结果如表6所示。由表6可以看出,经过加密后,密文图像有效地降低了相邻
像素相关性。