首页> 中国专利> 类分形模型和希尔伯特同步置乱扩散的加密方法

类分形模型和希尔伯特同步置乱扩散的加密方法

摘要

类分形模型和希尔伯特同步置乱扩散的加密方法,涉及图像加密技术领域,解决现有图像加密安全性方面存在的加密速度慢、抗攻击能力弱等问题,本发明所述的图像加密方法,由三元分数阶离散混沌神经网络系统,生成明文相关的混沌序列,由类分形模型思想对原始图像执行类分形排序置乱,为了获得更好的效果,再进行一次行列双重加扰过程;最后依据希尔伯特曲线遍历顺序执行同步置乱扩散操作,此过程可以同时更改像素值的位置和大小。本方法首次将分形思想应用到加密的置乱过程中,获得了较好的置乱效果,同步置乱扩散操作则在一定程度上提高了加密的效率。

著录项

  • 公开/公告号CN114978466A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利权人 长春理工大学;

    申请/专利号CN202210465554.3

  • 发明设计人 李锦青;底晓强;刘泽飞;

    申请日2022-04-29

  • 分类号H04L9/00(2022.01);H04L9/08(2006.01);G06N3/04(2006.01);G06T7/10(2017.01);G06T9/00(2006.01);

  • 代理机构长春众邦菁华知识产权代理有限公司 22214;

  • 代理人曲博

  • 地址 130000 吉林省长春市朝阳区卫星路7089号

  • 入库时间 2023-06-19 16:36:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):H04L 9/00 专利申请号:2022104655543 申请日:20220429

    实质审查的生效

说明书

技术领域

本发明涉及图像加密技术领域,具体涉及一种基于类分形模型和希尔伯特同步置乱扩散的图像加密算法加密解密方法。

背景技术

近年来,互联网与通信技术正以惊人的速度发展,并且从未停下其脚步。图像是信息的重要来源,在许多领域都发挥着不可或缺的作用。例如社交媒体信息,存储病患的医疗信息,卫星捕获的航空图像等,包含着大量的隐私机密信息。这些信息在开放共享的网络环境中传输面临着巨大的威胁,因此保护图像信息的安全变得越来越重要。图像加密是保护图像信息安全的有效手段。大量研究者们已经提出了许多优秀的图像加密算法。DNA计算,分数傅里叶变换,压缩感知,S盒变换,位级操作等都是现有的先进加密技术。混沌系统由于其对初值敏感,具有伪随机性和不可预测性,也在加密领域展现出其独特的优势。传统的图像加密技术通常是置乱-扩散结构,置乱过程用于打乱图像的像素值,从而降低相邻像素之间的相关性;扩散过程则是改变像素值的大小,将明文像素的冗余度分散开,防止被攻击者盗取破解。优秀的加密算法应该能够抵抗明文/选择明文攻击、差分攻击、剪切攻击和噪声攻击等各种类型的攻击,而现有算法还存在一些速度慢、安全性有待提高等问题,仍需我们研究和解决。

发明内容

本发明为解决现有图像加密安全性方面存在的加密速度慢、抗攻击能力弱等问题,提供一种类分形模型和希尔伯特同步置乱扩散的加密方法。

类分形模型和希尔伯特同步置乱扩散的加密方法,该方法由以下步骤实现:

步骤一、选择大小为M×N的图像作为原始图像Image;

步骤二、将原始图像Image进行分割,获得子图像Image1和子图像Image2;

步骤三、计算原始图像Image以及子图像Image1和子图像Image2的信息熵ks,ks1,ks2,用作加密密钥;

步骤四、采用三元分数阶离散混沌神经网络系统生成混沌序列,初值由信息熵ks,ks1,ks2生成,迭代混沌系统t+M×N次,t为与明文相关的密钥指针,将前t组值丢弃,获得三组长度均为M×N的混沌密钥流,分别记为X、Y、Z;

步骤五、将原始图像Image所表示的二维像素矩阵映射在二维直角坐标系中,记录二维像素矩阵四个顶点的位置,并作为类分形模型的四个基点,记为基点矩阵B;

步骤六、对步骤四生成的长度均为M×N的混沌密钥流X进行预处理,将X映射在[1,4]的范围内,获得基点选择矩阵R={R

所述类分形模型下式表示为:

式中,f为距离比,f∈(0,1),(u

步骤七、初始化矩阵C中所有元素的值为-1,用原始图像Image位置(u

步骤八、将原始图像Image中未遍历到的像素值依次插入到矩阵C中值为-1的位置,获得类分形排序置乱后的像素矩阵SC;

步骤九、截取步骤四中生成的混沌密钥流Y,获得长度分别为M和N的序列S1,S2;对序列S1,S2做升序排列,并记录索引序列矩阵ID1,ID2;

采用索引序列矩阵ID1对步骤八生成的类分形排序置乱后的像素矩阵SC进行列置乱,生成列置乱后的像素矩阵ISC1;

采用索引序列矩阵ID2对所述像素矩阵ISC1进行置乱,生成行置乱后的像素矩阵ISC2;

步骤十、将步骤四中生成的混沌密钥流Z中元素映射在0-255的范围之间,获得序列Z1;并将所述序列Z1变形为M×N的矩阵Z2;

步骤十一、按照希尔伯特曲线的遍历路径对步骤十生成的像素矩阵ISC2进行同步置乱扩散操作,获得最终的密文图像C

本发明的有益效果:本发明所述的图像加密方法,由三元分数阶离散混沌神经网络系统,生成明文相关的混沌序列,由“类分形模型”思想对原始图像执行类分形排序置乱,为了获得更好的效果,再进行一次行列双重加扰过程;最后依据希尔伯特曲线遍历顺序执行同步置乱扩散操作,此过程可以同时更改像素值的位置和大小。本方法首次将分形思想应用到加密的置乱过程中,获得了较好的置乱效果,同步置乱扩散操作则在一定程度上提高了加密的效率。

附图说明

图1为采用本发明所述的类分形模型和希尔伯特同步置乱扩散的加密方法进行加密解密的效果图:其中图1(a)为“机场”的原始图像,图1(b)为“机场”的加密图像,图1(c)为“机场”的解密图像;

图2为采用本发明所述的类分形模型和希尔伯特同步置乱扩散的加密方法直方图分析:其中图2(a)为图1(a)的直方图,图2(b)为图1(b)的直方图。

具体实施方式

具体实施方式一、类分形模型和希尔伯特同步置乱扩散的加密方法,该方法由以下步骤实现:

步骤一、选择大小为M×N的图像作为原始图像Image;

步骤二、将原始图像Image进行分割,分割方法如公式(1)所示,得到原始图像Image的两个子图像Image1和Image2;

其中,Image1为截取Image的1至M/2列所得的左半部分子图像,Image2为截取Image的

步骤三、计算原始图像Image以及两个子图像Image1和Image2的信息熵ks,ks1,ks2,用作加密密钥;

步骤四、利用三元分数阶离散混沌神经网络系统生成混沌序列,初值由ks,ks1,ks2生成,迭代混沌系统t+M×N次,t为与明文相关的密钥指针,计算方法如公式(2)所示。为了消除瞬时效应,将前t组值丢弃,获得3组长度为M×N的混沌密钥流,分别记为X、Y、Z;

式中,ceil()代表向上取整函数,T,l为用户密钥,T,l∈N

步骤五、将原始图像Image所表示的二维像素矩阵映射在二维直角坐标系中,记录二维像素矩阵四个顶点的位置,并作为类分形模型的4个基点,记为基点矩阵B,如公式(3)所示;

步骤六、对步骤四生成的混沌密钥流X进行预处理,将X映射在[1,4]的范围内,得到基点选择矩阵R,计算方式如公式(4)所示,用来从4个基点中随机选择一个基点以生成类分形模型中的新游戏点;

R=mod(ceil(mod(X,1)×10

其中,ceil为向上取整函数,mod是取余函数。ks为步骤三中的信息熵,s,r为用户密钥,s,r∈N

步骤七、所述类分形模型如公式(5)-(6)所示;

其中,floor()为向下取整函数,rand()为随机数生成函数,f代表距离比,f∈(0,1),(u

步骤八、初始化矩阵C(M×N)中所有元素的值为-1,用原始图像Image(u

C(m,n)=Image(u

Image(u

其中,m=1,2,3,…,M;n=1,2,3,…,N;k=1,2,3,…,M×N。

步骤九、将矩阵Image中未遍历到(即值不等于-1)的像素值依次插入到矩阵C中值为-1的位置,得到类分形排序置乱后的像素矩阵SC;

步骤十、截取步骤四中生成的混沌密钥流Y,如公式(9)所示,得到两个长度分别为M和N的序列S1,S2;

步骤十一、对步骤十得到的序列S1,S2做升序排列,并记录索引序列矩阵ID1,ID2,如公式(10)所示;

步骤十二、用索引序列矩阵ID1对步骤九生成的类分形排序置乱后的像素矩阵SC执行进一步列置乱,如公式(11)所示,生成列置乱后的像素矩阵ISC1;

ISC1=SC(:,ID1) (11)

其中,上述公式表示矩阵每一行中元素位置不变,根据索引矩阵ID1打乱矩阵SC列的位置。

步骤十三、用索引序列矩阵ID2对步骤十二中生成的像素矩阵ISC1执行一次行置乱,如公式(12)所示,生成行置乱后的像素矩阵ISC2;

ISC2=ISC1(ID2,:) (12)

其中,上述公式表示矩阵每一列中元素位置不变,根据索引矩阵ID2打乱矩阵ISC1行的位置。

步骤十四、将步骤四中生成的混沌密钥流Z中元素映射在0-255的范围之间,如公式(13)所示,得到序列Z1;

Z1=mod(floor(Z1×10

其中,d代表用户设定的参数,d∈[1,16]。

步骤十五、将序列Z1变形为M×N大小的矩阵Z2,如公式(14)所示;

Z2=reshape(Z1,M,N) (14)

步骤十六、按照希尔伯特曲线遍历顺序对步骤十三生成的像素矩阵ISC2执行同步置乱扩散操作,具体方式如公式(15)-(18)所示,得到最终的密文图像C

其中,符号

本实施方式中,还包括解密方法,具体过程为:

步骤十七、对加密图像C

步骤十八、恢复得到列置乱后的像素矩阵ISC1′,如公式(23)所示;

ISC1′(ID2,:)=ISC2′ (23)

步骤十八、恢复得到类分形排序置乱后像素矩阵SC′,如公式(24)所示;

SC′(:,ID1)=ISC1′ (24)

步骤十九、将像素矩阵SC′变形为一维像素矩阵SC1',如公式(25)所示;

SC1′=reshape(SC′,1,M×N) (25)

步骤二十、初始化矩阵C'(M×N)中所有元素的值为-1,根据步骤七中生成的类分形序列u

C′(u

式中,k=1,2,3,…,M×N。

步骤二十一、将矩阵SC1'变形为M×N的像素矩阵SC2';

步骤二十二、将矩阵SC2'中值不等于-1的像素值依次插入到矩阵C'中值为-1的位置,得到解密后的像素矩阵Image'。

具体实施方式二、结合图1和图2说明本实施方式,本实施方式为具体实施方式一所述的类分形模型和希尔伯特同步置乱扩散的加密方法的实施例:具体过程如下:

步骤一、选择大小为512×512的“机场”图像作为原始图像Image,如附图1(a)所示;

步骤二、将原始图像Image进行分割,分割方法如公式(1)所示,得到原始图像Image的两个子图像Image1和Image2;

步骤三、计算原始图像Image以及两个子图像Image1和Image2的信息熵ks,ks1,ks2,计算方法如公式(2)所示,用作加密密钥;

其中,L代表图像的灰度级,ii∈N

步骤四、利用三元分数阶离散混沌神经网络系统生成混沌序列,混沌系统的数学表达式如公式(3)所示;初值x(0),y(0),z(0)由ks,ks1,ks2生成,生成方式如公式(4)所示;迭代混沌系统t+512×512次,t为与明文相关的密钥指针,计算方法如公式(5)所示。为了消除瞬时效应,将前t组值丢弃,获得3组长度为512×512的混沌密钥流,分别记为X、Y、Z;

其中,x,y,z为三元分数阶离散神经网络混沌系统的状态变量;h表示离散步长,v表示分数阶数,h∈R

步骤五、将原始图像Image所表示的二维像素矩阵映射在二维直角坐标系中,记录二维像素矩阵四个角的位置,并作为“类分形模型”的4个基点,记为基点矩阵B,如公式(6)所示;

步骤六、对步骤四生成的混沌密钥流X进行预处理,将X映射在[1,4]的范围内,得到基点选择矩阵R,计算方式如公式(7)所示,用来从4个基点中随机选择一个基点以生成“类分形模型”中的新游戏点;

R=mod(ceil(mod(X,1)×10

其中,ceil为向上取整函数,mod是取余函数。s,r为用户密钥,s,r∈N

步骤七、本方法所用“类分形模型”如公式(8)-(9)所示;

其中,f代表距离比,f∈(0,1),本实施方式中设置f=0.5,(u

步骤八、初始化矩阵C(512×512)中所有元素的值为-1,用原始图像Image(u

C(m,n)=Image(u

Image(u

其中,m=1,2,3,…,M;n=1,2,3,…,N;k=1,2,3,…,M×N.

步骤九、将矩阵Image中未遍历到(即值不等于-1)的像素值依次插入到矩阵C中值为-1的位置,得到类分形排序置乱后的像素矩阵SC;

步骤十、截取步骤四中生成的混沌密钥流Y,如公式(12)所示,得到两个长度为512的序列S1,S2;

步骤十一、对步骤十得到的序列S1,S2做升序排列,并记录索引序列矩阵ID1,ID2,如公式(13)所示;

步骤十二、用索引序列矩阵ID1对步骤九生成的类分形排序置乱后的像素矩阵SC执行进一步列置乱,如公式(14)所示,生成列置乱后的像素矩阵ISC1;

ISC1=SC(:,ID1) (14)

步骤十三、用索引序列矩阵ID2对步骤十二中生成的像素矩阵ISC1执行一次行置乱,如公式(15)所示,生成行置乱后的像素矩阵ISC2;

ISC2=ISC1(:,ID2) (15)

步骤十四、将步骤四中生成的混沌密钥流Z中元素映射在0-255的范围之间,如公式(16)所示,得到序列Z1;

Z1=mod(floor(Z1×10

其中,l代表用户设定的参数,l∈[1,16],本实施方式中l=13。

步骤十五、将序列Z1变形为512×512大小的矩阵Z2,如公式(17)所示;

Z2=reshape(Z1,512,512) (17)

步骤十六、按照希尔伯特曲线遍历顺序对步骤十三生成的像素矩阵ISC2执行同步置乱扩散操作,具体方式如公式(18)-(21)所示,得到最终的密文图像C

其中,符号

本实施方式中,还包括解密方法,具体过程为:

步骤十七、对加密图像C

恢复得到列置乱后的像素矩阵ISC1′,如公式(26)所示;

ISC1′(ID2,:)=ISC2′ (26)

步骤十八、恢复得到类分形排序置乱后像素矩阵SC′,如公式(27)所示;

SC′(:,ID1)=ISC1′ (27)

步骤十九、将像素矩阵SC′变形为一维像素矩阵SC1',如公式(28)所示;

SC1′=reshape(SC′,1,M×N) (28)

步骤二十、初始化矩阵C'(512×512)中所有元素的值为-1,根据步骤七中生成的类分形序列u

C′(u

式中,k=1,2,3,…,M×N。

步骤二十一、将矩阵SC1'变形为M×N的像素矩阵SC2';

步骤二十二、将矩阵SC2'中值不等于-1的像素值依次插入到矩阵C'中值为-1的位置,得到解密后的像素矩阵Image',如附图1(c)所示。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号