一种图像加密方法及相关设备与流程

allin2024-12-08  54



1.本公开涉及图像处理技术领域,尤其涉及一种图像加密方法及相关设备。


背景技术:

2.在互联网时代,图像与普通的文本信息相比,具有冗余度高、数据量大、像素间相关性强等特点,因此,图像的信息安全显得尤为重要。
3.目前,在网络中经常会传输大量的图像,为了保护图像中的信息安全,通常需要对图像进行加密。然而,传统的图像加密方法所依据的图像像素间的关联程度高,导致加密后的图像比较容易被破解,造成图像的信息泄露,难以保证图像的信息安全。


技术实现要素:

4.鉴于上述问题,本公开提供一种克服上述问题或者至少部分地解决上述问题的一种图像加密方法及相关设备,技术方案如下:
5.一种图像加密方法,包括:
6.获得未加密的第一图像对应的第一灰度矩阵,其中,所述第一灰度矩阵由所述第一图像中各像素点的灰度值组成;
7.获得用户输入的加密参数,其中,所述加密参数包括混沌密钥;
8.基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵;
9.将所述第一图像划分为第一子图像和第二子图像,其中,所述第一子图像与所述第一灰度矩阵中的第一灰度子矩阵对应,所述第二子图像与所述第一灰度矩阵中的第二灰度子矩阵对应;
10.利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,所述第一灰度子矩阵与所述第二灰度矩阵中的第三灰度子矩阵对应,所述第二灰度子矩阵与所述第二灰度矩阵的第四灰度子矩阵对应;
11.基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;
12.将所述第五灰度子矩阵与所述第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;
13.将所述第六灰度子矩阵与所述第四灰度子矩阵进行合并,获得已加密的第二图像。
14.可选的,所述混沌密钥包括第一密钥和第二密钥,所述基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵,包括:
15.基于格子模型,依次利用所述第一密钥和所述第二密钥对所述第一灰度矩阵进行切比雪夫映射,获得第二混沌矩阵;
16.对所述第二混沌矩阵进行单向耦合混沌处理,获得第三混沌矩阵;
17.对所述第三混沌矩阵进行双向耦合混沌处理,获得第四混沌矩阵;
18.对所述第四混沌矩阵进行整型数据化处理,获得第一混沌矩阵。
19.可选的,所述利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,包括:
20.对所述第一灰度矩阵进行快速傅里叶变换,获得第一幅度谱矩阵;
21.对所述第一幅度谱矩阵进行幅度减弱处理,获得第二幅度谱矩阵,其中,所述第二幅度谱矩阵中的第一幅度谱子矩阵与所述第一灰度子矩阵对应,所述第二幅度谱矩阵中的第二幅度谱子矩阵与所述第二灰度子矩阵对应;
22.将所述第一幅度谱子矩阵与所述第一灰度子矩阵进行异或处理,将所述第二幅度谱子矩阵与所述第二灰度子矩阵进行异或处理,获得第三幅度谱矩阵;
23.对所述第三幅度谱矩阵进行快速傅里叶逆变换,获得第二灰度谱矩阵。
24.可选的,所述基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵,包括:
25.按照预设混沌值预处理算法对所述第一混沌矩阵进行处理,获得第五混沌矩阵;
26.基于推进型加密算法,将所述第五混沌矩阵中的混沌值作为第三密钥,对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
27.可选的,所述将所述第六灰度子矩阵与所述第四灰度子矩阵进行合并,获得已加密的第二图像,包括:
28.将所述第六灰度子矩阵与所述第四灰度子矩阵进行位置互换拼接,获得已加密的第二图像,其中,所述第四灰度子矩阵在所述第二图像中的位置与所述第一灰度子矩阵在所述第一图像中对应的位置相同,所述第六灰度子矩阵在所述第二图像中的位置与所述第二灰度子矩阵在所述第一图像中对应的位置相同。
29.可选的,所述加密参数还包括加密轮数,在所述获得已加密的第二图像之后,所述方法还包括:
30.对所述第一图像的加密次数加1;
31.在所述加密次数未超过所述加密轮数的情况下,将所述第二图像作为第一图像,将所述第二图像对应的第三灰度矩阵作为第一灰度矩阵,返回执行所述基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵的步骤。
32.可选的,在所述获得已加密的第二图像之后,所述方法还包括:
33.按照预设加密效果分析算法对所述第一图像和所述第二图像进行比较分析,获得图像加密分析结果。
34.一种图像加密装置,包括:第一获得单元、第二获得单元、第三获得单元、第一划分单元、第一加密单元、第二加密单元、第四获得单元以及第五获得单元,
35.所述第一获得单元,用于获得未加密的第一图像对应的第一灰度矩阵,其中,所述第一灰度矩阵由所述第一图像中各像素点的灰度值组成;
36.所述第二获得单元,用于获得用户输入的加密参数,其中,所述加密参数包括混沌密钥;
37.所述第三获得单元,用于基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵;
38.所述第一划分单元,用于将所述第一图像划分为第一子图像和第二子图像,其中,所述第一子图像与所述第一灰度矩阵中的第一灰度子矩阵对应,所述第二子图像与所述第一灰度矩阵中的第二灰度子矩阵对应;
39.所述第一加密单元,用于利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,所述第一灰度子矩阵与所述第二灰度矩阵中的第三灰度子矩阵对应,所述第二灰度子矩阵与所述第二灰度矩阵的第四灰度子矩阵对应;
40.所述第二加密单元,用于基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;
41.所述第四获得单元,用于将所述第五灰度子矩阵与所述第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;
42.所述第五获得单元,用于将所述第六灰度子矩阵与所述第四灰度子矩阵进行合并,获得已加密的第二图像。
43.一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的图像加密方法。
44.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的图像加密方法。
45.借由上述技术方案,本公开提供的一种图像加密方法及相关设备,可以获得未加密的第一图像对应的第一灰度矩阵,其中,第一灰度矩阵由第一图像中各像素点的灰度值组成;获得用户输入的加密参数,其中,加密参数包括混沌密钥;基于格子模型,利用混沌密钥对第一灰度矩阵进行混沌处理,获得第一混沌矩阵;将第一图像划分为第一子图像和第二子图像,其中,第一子图像与第一灰度矩阵中的第一灰度子矩阵对应,第二子图像与第一灰度矩阵中的第二灰度子矩阵对应;利用幅度值加密算法对第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,第一灰度子矩阵与第二灰度矩阵中的第三灰度子矩阵对应,第二灰度子矩阵与第二灰度矩阵的第四灰度子矩阵对应;基于推进型加密算法,利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;将第五灰度子矩阵与第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;将第六灰度子矩阵与第四灰度子矩阵进行合并,获得已加密的第二图像。本公开可以使用幅度值加密算法、基于格子模型的混沌技术以及推进型加密算法对图像进行加密操作,能够对图像中的像素数据特征进行有效置乱,降低了加密后的图像中像素之间的关联程度,使得加密后的图像难以被攻击破解,有效地保障了图像的信息安全。
46.上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
47.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本公开的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
48.图1示出了本公开实施例提供的图像加密方法的一种实施方式的流程示意图;
49.图2示出了本公开实施例提供的图像加密方法中步骤s300的一种具体实施方式的流程示意图;
50.图3示出了本公开实施例提供的图像加密方法中步骤s500的一种具体实施方式的流程示意图;
51.图4示出了本公开实施例提供的图像加密方法中步骤s600的一种具体实施方式的流程示意图;
52.图5示出了本公开实施例提供的图像加密方法的另一种实施方式的流程示意图;
53.图6示出了本公开实施例提供的图像加密方法的另一种实施方式的流程示意图;
54.图7示出了本公开实施例提供的图像加密方法的另一种实施方式的流程示意图;
55.图8示出了本公开实施例提供的图像加密装置的一种结构示意图。
具体实施方式
56.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
57.如图1所示,本公开实施例提供的图像加密方法的一种实施方式的流程示意图,该图像加密方法可以包括:
58.s100、获得未加密的第一图像对应的第一灰度矩阵,其中,第一灰度矩阵由第一图像中各像素点的灰度值组成。
59.具体的,本公开实施例可以获得第一图像,并从第一图像从第一行的最左边的像素点开始直至最后一行的最右边的像素点进行灰度值读取,依次确定各像素点对应的灰度值,从而获得第一图像对应的第一灰度矩阵。
60.可以理解的是,本公开实施例不对第一图像的尺寸和位宽进行限定。
61.s200、获得用户输入的加密参数,其中,加密参数包括混沌密钥。
62.其中,混沌密钥可以是用于格子混沌系统进行迭代的序列。在通常情况下,格子混沌系统的初始的混沌密钥由用户提供。可选的,混沌密钥包括第一密钥和第二密钥。例如:第一密钥可以为“x0=0.123456789”,第二密钥可以为“x1=0.987654321”。
63.s300、基于格子模型,利用混沌密钥对第一灰度矩阵进行混沌处理,获得第一混沌矩阵。
64.其中,格子模型(lattice model)的实现形式可以是1个二维数组。该二维数组中的第二维的下角标用于指示格子的编号,gezi[0][0]表示第0个格子的第0个元素,以此类推。可选的,在本公开实施例中使用的二维数组可以为gezi[64][8004],在实际应用中可以只使用了61
×
8001个空间大小,多出的空间是为了防止出现数组越界的问题。格子模型用于装载加密算法产生的混沌值。
[0065]
可选的,基于图1所示方法,如图2所示,本公开实施例提供的图像加密方法中步骤s300的一种具体实施方式的流程示意图,步骤s300可以包括:
[0066]
s310、基于格子模型,依次利用第一密钥和第二密钥对第一灰度矩阵进行切比雪
夫映射,获得第二混沌矩阵。
[0067]
其中,切比雪夫映射(chebyshew mapping)与白噪声的统计特性一致,适合作为扩频地址码。该映射产生的混沌序列具有理想的线性复杂度及良好的平衡特性。对基于切比雪夫映射的混沌序列与gold码序列性能接近,具有生成简单、序列数目多、保密性好等优点,是替代传统扩频码的理想选择。切比雪夫映射的计算公式为:x
n+1
=cos(2
×
arcos(xn)),xn=[-1,1]。
[0068]
可选的,本公开实施例可以先使用第一密钥对第一灰度矩阵进行切比雪夫映射,确定一部分下角标为0的格子的值,再使用第二密钥对第一灰度矩阵进行切比雪夫映射,确定另一部分下角标为0的格子的值。
[0069]
优选的,本公开实施例可以使用第一密钥作为对第一灰度矩阵进行切比雪夫映射的初始输入值,首先迭代2000次,对这2000次迭代的迭代结果不进行任何操作。从第2001次迭代开始,每迭代1次,若该迭代的结果为0至1的任意实数的情况下,将该结果相应作为第0个格子至第30个格子中下角标为0的混沌值。接着使用第二密钥作为对第一灰度矩阵进行切比雪夫映射的初始输入值进行如上迭代操作,确定第31个格子至第60个格子中下角标为0的混沌值。可以理解的是,在依次获得各个格子下角标为0的混沌值之后,即获得第二混沌矩阵。
[0070]
s320、对第二混沌矩阵进行单向耦合混沌处理,获得第三混沌矩阵。
[0071]
可选的,本公开实施例可以使用单向耦合映像格子混沌系统(one-way coupled map lattice,ocml),对第二混沌矩阵进行单向耦合混沌处理。
[0072]
可选的,本公开实施例可以依次以第二混沌矩阵中任一格子的下角标为0的混沌值作为单向耦合映像格子混沌系统的初始输入值进行迭代,将每次迭代的迭代结果作为对应该格子的混沌值,从而生成第三混沌矩阵。优选的,第0个格子为例,将第二混沌矩阵中该第0个格子中下角标为0的混沌值作为单向耦合映像格子混沌系统的初始输入值,先进行4000次的单向耦合混沌迭代,每次迭代的迭代结果作为该第0个格子对应的混沌值,则此时该第0格子对应下角标0至4000共4001个混沌值。其他编号的格子也如上述进行迭代,则第三混沌矩阵中的61个格子一共有61
×
4001=244061个混沌值。
[0073]
s330、对第三混沌矩阵进行双向耦合混沌处理,获得第四混沌矩阵。
[0074]
可选的,本公开实施例可以使用双向耦合映像格子系统(two-way coupled map lattice,tcml),对第三混沌矩阵进行双向耦合混沌处理,获得第四混沌矩阵。
[0075]
可选的,本公开实施例可以依次以第三混沌矩阵中任一格子的下角标为4000的混沌值作为双向耦合映像格子系统的初始输入值进行迭代,将每次迭代的迭代结果作为对应该格子的混沌值,从而生成第四混沌矩阵。优选的,以第0个格子为例,将第三混沌矩阵中该第0个格子中下角标为4000的混沌值作为双向耦合映像格子系统的初始输入值,进行4000次迭代的双向耦合混沌迭代,每次迭代的迭代结果作为该第0个格子对应的混沌值,则此时该第0个格子对应下角标0至8001共8001个混沌值。其他编号的格子也如上述进行迭代,则第四混沌矩阵中的61个格子一共有61
×
8001=488061个混沌值。
[0076]
s340、对第四混沌矩阵进行整型数据化处理,获得第一混沌矩阵。
[0077]
由于第四混沌矩阵中各格子对应的混沌值为浮点型数据,本公开实施例可以将第四混沌矩阵中各格子对应的混沌值进行整型数据化,获得整数型的混沌值。
[0078]
可选的,本公开实施例可以将第四混沌矩阵中各格子对应的各浮点型数据的混沌值的小数点后的最后位数作为一个新的混沌值,将各新的混沌值对256求余(即mod256),将求余结果替换原先的浮点型的混沌值,使得第一混沌矩阵中各格子对应的混沌值为限制在0至256之间的整数型数据。
[0079]
本公开实施例利用格子模型、切尔雪夫映射、单向耦合混沌处理以及双向耦合混沌处理生成加密所需的混沌值,有效改善了混沌系统在计算机有限精度实现时的混沌动力学特性退化问题,增强了混沌值的随机性,提高了图像的加密强度。
[0080]
s400、将第一图像划分为第一子图像和第二子图像,其中,第一子图像与第一灰度矩阵中的第一灰度子矩阵对应,第二子图像与第一灰度矩阵中的第二灰度子矩阵对应。
[0081]
可选的,本公开实施例可以将第一图像划分为尺寸和位宽均相等的第一子图像和第二子图像。例如:假设第一图像的尺寸和位宽为“m
×n×
8bit”,则第一子图像和第二子图像可以的尺寸和位宽为
“”
。可选的,本公开实施例可以将第一图像划分为均等的上半部分图像和下半部分图像,将该上半部分图像作为第一子图像,将该下半部分图像作为第二子图像。
[0082]
可以理解的是,在第一图像划分为第一子图像和第二子图像的同时,可以在第一灰度矩阵中确定与第一子图像对应的第一灰度子矩阵,在第一灰度矩阵中确定与第二子图像对应的第二灰度子矩阵。
[0083]
s500、利用幅度值加密算法对第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,第一灰度子矩阵与第二灰度矩阵中的第三灰度子矩阵对应,第二灰度子矩阵与第二灰度矩阵的第四灰度子矩阵对应。
[0084]
可选的,基于图1所示方法,如图3所示,本公开实施例提供的图像加密方法中步骤s500的一种具体实施方式的流程示意图,步骤s500可以包括:
[0085]
s510、对第一灰度矩阵进行快速傅里叶变换,获得第一幅度谱矩阵。
[0086]
其中,快速傅里叶变换(fast fourier transform,fft)是离散傅里叶变换的快速算法,也可用于计算离散傅里叶变换的逆变换。
[0087]
具体的,本公开实施例可以对第一灰度矩阵中的各个灰度值进行快速傅里叶变换,将变换后的灰度值保存至一个二维数组中,生成第一幅度谱矩阵。
[0088]
s520、对第一幅度谱矩阵进行幅度减弱处理,获得第二幅度谱矩阵,其中,第二幅度谱矩阵中的第一幅度谱子矩阵与第一灰度子矩阵对应,第二幅度谱矩阵中的第二幅度谱子矩阵与第二灰度子矩阵对应。
[0089]
具体的,本公开实施例可以对第一幅度谱矩阵中各个幅度值分别开两次根号,将得到的新的幅度值对应取代第一幅度谱矩阵中原先的幅度值,得到第二幅度谱矩阵。
[0090]
可以理解的是,基于对第一图像划分为第一子图像和第二子图像的方式,可以在第二幅度谱矩阵中确定与第一灰度子矩阵对应的第一幅度谱子矩阵和与第二灰度子矩阵对应的第二灰度子矩阵对应的第二幅度谱子矩阵。
[0091]
s530、将第一幅度谱子矩阵与第一灰度子矩阵进行异或处理,将第二幅度谱子矩阵与第二灰度子矩阵进行异或处理,获得第三幅度谱矩阵。
[0092]
具体的,本公开实施例可以将第一幅度谱子矩阵中的各幅度值分别与第一灰度子
矩阵中对应的灰度值进行异或运算,将结果对应进行保存,同理,本公开实施例可以将第二幅度谱子矩阵中的各幅度值分别与第二灰度子矩阵中对应的灰度值进行异或运算,将结果对应进行保存,最终得到第三幅度谱矩阵。
[0093]
s540、对第三幅度谱矩阵进行快速傅里叶逆变换,获得第二灰度谱矩阵。
[0094]
具体的,本公开实施例可以对第三幅度谱矩阵中的各个幅度值进行快速傅里叶逆变换,将变换后的幅度值对应取代原先的幅度值,获得第二灰度谱矩阵。
[0095]
可以理解的是,基于对第一图像划分为第一子图像和第二子图像的方式,可以在第二灰度谱矩阵中确定与第一灰度子矩阵对应的第三灰度子矩阵,在第二灰度谱矩阵中确定与第二灰度子矩阵对应的第四灰度子矩阵。
[0096]
s600、基于推进型加密算法,利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0097]
本公开实施例可以基于feistel加密结构下的推进型加密算法(propelled encrypted algorithm,pea),利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0098]
其中,feistel密码结构是用于分组密码中的一种对称结构。feistel加密结构可以顺序地执行两个或多个基本密码系统,使最后结果的密码强度高于每个密码系统的结果。分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换为等长的输出数字(简称密文数字)序列。
[0099]
可选的,基于图1所示方法,如图4所示,本公开实施例提供的图像加密方法中步骤s600的一种具体实施方式的流程示意图,步骤s600可以包括:
[0100]
s610、按照预设混沌值预处理算法对第一混沌矩阵进行处理,获得第五混沌矩阵。
[0101]
具体的,本公开实施例可以根据公式:
[0102]yn
(i)=(yn(i)+y
n+1
(i))%256,n=[0,59]
[0103]y60
(i)=(y
60
(i)+y0(i))%256
[0104]
对第一混沌矩阵中的各混沌值进行处理,获得第五混沌矩阵。其中,y的下角标为格子的编号,i为幅度值的编号。
[0105]
s620、基于推进型加密算法,将第五混沌矩阵中的混沌值作为第三密钥,对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0106]
可选的,本公开实施例可以基于推进型加密算法,依次将第五混沌矩阵中各格子对应的各混沌值作为第三密钥,对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0107]
具体的,本公开实施例可以先从第五混沌矩阵中第0个格子到第60个格子中下角标为0的混沌值作为第三密钥,对第四灰度子矩阵中的各灰度值进行一轮异或操作,在此基础上,接着再以第五混沌矩阵中第0个格子到第60个格子中下角标为1的混沌值作为第三密钥进行另一轮异或操作,以此类推,直至使用完第60个格子的第8001个混沌值或对第四灰度子矩阵中的各灰度值完成一轮加密。
[0108]
在上述一轮加密后的第四灰度子矩阵的基础上,下一轮加密从第五混沌矩阵中第1个格子到第60个格子中下角标为0的混沌值作为第三密钥,继续对上述一轮加密后的第四灰度子矩阵中的各灰度值进行一轮异或操作,在此基础上,接着再以第五混沌矩阵中第1个
格子到第60个格子中下角标为1的混沌值作为第三密钥进行另一轮异或操作,以此类推,直至使用完第60个格子的第8001个混沌值或对第四灰度子矩阵中的各灰度值完成一轮加密。
[0109]
在上述一轮加密后的第四灰度子矩阵的基础上,以此类推,每一轮加密都比上一轮加密少用一个格子对应的混沌值,实现一个推进加密的使用过程。
[0110]
本公开实施例通过基于feistel加密结构下的推进型加密算法对图像进行加密,有效实现了图像数据的混淆,进一步提高了图像加密的强度。
[0111]
s700、将第五灰度子矩阵与第三灰度子矩阵进行异或处理,获得第六灰度子矩阵。
[0112]
具体的,本公开实施例可以将第五灰度子矩阵与第三灰度子矩阵中位置相对应的两个灰度值进行异或处理,将异或处理后的值确定为第六灰度子矩阵上该位置对应的灰度值。例如:将第五灰度子矩阵中左上角第一个像素点对应的灰度值与第三灰度子矩阵中左上角第一个像素点对应的灰度值进行异或处理,获得异或处理后的灰度值,将该灰度值确定为第六灰度子矩阵中左上角的灰度值。
[0113]
s800、将第六灰度子矩阵与第四灰度子矩阵进行合并,获得已加密的第二图像。
[0114]
可选的,本公开实施例可以根据对第一图像划分为第一子图像和第二子图像的方式,将第六灰度子矩阵与第四灰度子矩阵进行拼接,获得已加密的第二图像。
[0115]
可选的,基于图1所示方法,如图5所示,本公开实施例提供的图像加密方法中步骤s800的一种具体实施方式的流程示意图,步骤s800可以包括:
[0116]
s810、将第六灰度子矩阵与第四灰度子矩阵进行位置互换拼接,获得已加密的第二图像,其中,第四灰度子矩阵在第二图像中的位置与第一灰度子矩阵在第一图像中对应的位置相同,第六灰度子矩阵在第二图像中的位置与第二灰度子矩阵在第一图像中对应的位置相同。
[0117]
可以理解的是,在对第一图像划分为第一子图像和第二子图像的情况下,经过幅度加密处理、推进型加密算法加密处理以及一系列异或处理后,第一子图像与第六灰度子矩阵对应,第二子图像与第四灰度子矩阵对应。本公开实施例通过第六灰度子矩阵与第四灰度子矩阵的进行位置互换拼接,使得加密后的第二图像相对于第一图像两部分子图像位置互换。例如:假设第一子图像为第一图像的上半部分图像,第二子图像为第一图像的下半部分,则在第二图像中,与第一子图像对应的第六灰度子矩阵为第二图像的下半部分,与第二子图像对应的第四灰度子矩阵为第二图像的上半部分。
[0118]
本公开提供的一种图像加密方法,可以获得未加密的第一图像对应的第一灰度矩阵,其中,第一灰度矩阵由第一图像中各像素点的灰度值组成;获得用户输入的加密参数,其中,加密参数包括混沌密钥;基于格子模型,利用混沌密钥对第一灰度矩阵进行混沌处理,获得第一混沌矩阵;将第一图像划分为第一子图像和第二子图像,其中,第一子图像与第一灰度矩阵中的第一灰度子矩阵对应,第二子图像与第一灰度矩阵中的第二灰度子矩阵对应;利用幅度值加密算法对第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,第一灰度子矩阵与第二灰度矩阵中的第三灰度子矩阵对应,第二灰度子矩阵与第二灰度矩阵的第四灰度子矩阵对应;基于推进型加密算法,利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;将第五灰度子矩阵与第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;将第六灰度子矩阵与第四灰度子矩阵进行合并,获得已加密的第二图像。本公开可以使用幅度值加密算法、基于格子模型的混沌技术以及推进型加密算法
对图像进行加密操作,能够对图像中的像素数据特征进行有效置乱,降低了加密后的图像中像素之间的关联程度,使得加密后的图像难以被攻击破解,有效地保障了图像的信息安全。
[0119]
可选的,加密参数还包括加密轮数。
[0120]
其中,加密轮数可以根据实际需求进行设置。优选的,加密轮数可以为5。
[0121]
可选的,基于图1所示方法,如图6所示,本公开实施例提供的图像加密方法的另一种实施方式的流程示意图,在步骤s800之后,该图像加密方法还可以包括:
[0122]
a100、对第一图像的加密次数加1。
[0123]
本公开实施例可以对第一图像的加密次数进行统计,在对第一图像加密为已加密的第二图像之后,对第一图像的加密次数加1。
[0124]
a200、在加密次数未超过加密轮数的情况下,将第二图像作为第一图像,将第二图像对应的第三灰度矩阵作为第一灰度矩阵,返回执行步骤s300。
[0125]
本公开实施例可以在加密次数未超过加密轮数的情况下,对已加密的第二图像又进行一轮幅度加密处理、推进型加密算法加密处理以及一系列异或处理的加密处理,对图像进一步加密,直至加密次数达到加密轮数。
[0126]
可以理解的是,与本公开实施例提供的图像加密方法相对应的解密操作使用同一个算法,对已加密的图像使用相同的混沌密钥进行与加密过程相同的解密过程,通过运行比加密轮数少一轮的解密轮数进行解密。
[0127]
可选的,基于图1所示方法,如图7所示,本公开实施例提供的图像加密方法的另一种实施方式的流程示意图,在步骤s800之后,该图像加密方法还可以包括:
[0128]
b100、按照预设加密效果分析算法对第一图像和第二图像进行比较分析,获得图像加密分析结果。
[0129]
其中,预设加密效果分析算法可以包括两极化相关值算法、灰度平均值算法、均方差比较算法、密钥空间分析算法、密钥敏感性分析算法、灰度直方图算法、信息熵算法、相邻像素相关性算法以及差分分析算法中的至少一种算法。
[0130]
在实际中,通过上述预设加密效果分析算法对第一图像和第二图像进行分析后的图像加密分析结果表明,即使未加密的图像发生微小变化,在加密得到的已加密图像也会发生巨大变化,因此,本公开实施例提供的图像加密方法可以达到更高的图像加密安全性,能够抵抗不同程度的差分攻击,保障用户的图像信息安全。
[0131]
本公开实施例通过多种加密效果分析算法对图像加密效果进行分析评价,可以确定已加密图像的加密效果,并生成相应的图像加密分析结果,方便技术人员根据图像加密分析结果对加密相关参数进行改进。
[0132]
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
[0133]
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0134]
与上述方法实施例相对应,本公开实施例还提供一种图像加密装置,其结构如图8所示,可以包括:第一获得单元100、第二获得单元200、第三获得单元300、第一划分单元
400、第一加密单元500、第二加密单元600、第四获得单元700以及第五获得单元800。
[0135]
第一获得单元100,用于获得未加密的第一图像对应的第一灰度矩阵,其中,第一灰度矩阵由第一图像中各像素点的灰度值组成。
[0136]
第二获得单元200,用于获得用户输入的加密参数,其中,加密参数包括混沌密钥。
[0137]
第三获得单元300,用于基于格子模型,利用混沌密钥对第一灰度矩阵进行混沌处理,获得第一混沌矩阵。
[0138]
第一划分单元400,用于将第一图像划分为第一子图像和第二子图像,其中,第一子图像与第一灰度矩阵中的第一灰度子矩阵对应,第二子图像与第一灰度矩阵中的第二灰度子矩阵对应。
[0139]
第一加密单元500,用于利用幅度值加密算法对第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,第一灰度子矩阵与第二灰度矩阵中的第三灰度子矩阵对应,第二灰度子矩阵与第二灰度矩阵的第四灰度子矩阵对应。
[0140]
第二加密单元600,用于基于推进型加密算法,利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0141]
第四获得单元700,用于将第五灰度子矩阵与第三灰度子矩阵进行异或处理,获得第六灰度子矩阵。
[0142]
第五获得单元800,用于将第六灰度子矩阵与第四灰度子矩阵进行合并,获得已加密的第二图像。
[0143]
可选的,混沌密钥包括第一密钥和第二密钥。
[0144]
可选的,第三获得单元300包括:第一获得子单元、第二获得子单元、第三获得子单元以及第四获得子单元。
[0145]
第一获得子单元,用于基于格子模型,依次利用第一密钥和第二密钥对第一灰度矩阵进行切比雪夫映射,获得第二混沌矩阵。
[0146]
第二获得子单元,用于对第二混沌矩阵进行单向耦合混沌处理,获得第三混沌矩阵。
[0147]
第三获得子单元,用于对第三混沌矩阵进行双向耦合混沌处理,获得第四混沌矩阵。
[0148]
第四获得子单元,用于对第四混沌矩阵进行整型数据化处理,获得第一混沌矩阵。
[0149]
可选的,第一加密单元500包括:第五获得子单元、第六获得子单元、第七获得子单元以及第八获得子单元。
[0150]
第五获得子单元,用于对第一灰度矩阵进行快速傅里叶变换,获得第一幅度谱矩阵。
[0151]
第六获得子单元,用于对第一幅度谱矩阵进行幅度减弱处理,获得第二幅度谱矩阵,其中,第二幅度谱矩阵中的第一幅度谱子矩阵与第一灰度子矩阵对应,第二幅度谱矩阵中的第二幅度谱子矩阵与第二灰度子矩阵对应。
[0152]
第七获得子单元,用于将第一幅度谱子矩阵与第一灰度子矩阵进行异或处理,将第二幅度谱子矩阵与第二灰度子矩阵进行异或处理,获得第三幅度谱矩阵。
[0153]
第八获得子单元,用于对第三幅度谱矩阵进行快速傅里叶逆变换,获得第二灰度谱矩阵。
[0154]
可选的,第二加密单元600包括:第九获得子单元以及第十获得子单元。
[0155]
第九获得子单元,用于按照预设混沌值预处理算法对第一混沌矩阵进行处理,获得第五混沌矩阵。
[0156]
第十获得子单元,用于基于推进型加密算法,将第五混沌矩阵中的混沌值作为第三密钥,对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。
[0157]
可选的,第五获得单元800,可以具体用于将第六灰度子矩阵与第四灰度子矩阵进行位置互换拼接,获得已加密的第二图像,其中,第四灰度子矩阵在第二图像中的位置与第一灰度子矩阵在第一图像中对应的位置相同,第六灰度子矩阵在第二图像中的位置与第二灰度子矩阵在第一图像中对应的位置相同。
[0158]
可选的,加密参数还包括加密轮数。
[0159]
可选的,该图像加密装置还可以包括:加密次数统计单元以及第一确定单元。
[0160]
加密次数统计单元,用于第五获得单元800获得已加密的第二图像之后,对第一图像的加密次数加1。
[0161]
第一确定单元,用于在加密次数未超过加密轮数的情况下,将第二图像作为第一图像,将第二图像对应的第三灰度矩阵作为第一灰度矩阵,触发第三获得单元300。
[0162]
可选的,该图像加密装置还可以包括:第六获得单元。
[0163]
第六获得单元,用于第五获得单元800获得已加密的第二图像之后,按照预设加密效果分析算法对第一图像和第二图像进行比较分析,获得图像加密分析结果。
[0164]
本公开提供的一种图像加密装置,可以获得未加密的第一图像对应的第一灰度矩阵,其中,第一灰度矩阵由第一图像中各像素点的灰度值组成;获得用户输入的加密参数,其中,加密参数包括混沌密钥;基于格子模型,利用混沌密钥对第一灰度矩阵进行混沌处理,获得第一混沌矩阵;将第一图像划分为第一子图像和第二子图像,其中,第一子图像与第一灰度矩阵中的第一灰度子矩阵对应,第二子图像与第一灰度矩阵中的第二灰度子矩阵对应;利用幅度值加密算法对第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,第一灰度子矩阵与第二灰度矩阵中的第三灰度子矩阵对应,第二灰度子矩阵与第二灰度矩阵的第四灰度子矩阵对应;基于推进型加密算法,利用第一混沌矩阵对第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;将第五灰度子矩阵与第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;将第六灰度子矩阵与第四灰度子矩阵进行合并,获得已加密的第二图像。本公开可以使用幅度值加密算法、基于格子模型的混沌技术以及推进型加密算法对图像进行加密操作,能够对图像中的像素数据特征进行有效置乱,降低了加密后的图像中像素之间的关联程度,使得加密后的图像难以被攻击破解,有效地保障了图像的信息安全。
[0165]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0166]
所述图像加密装置包括处理器和存储器,上述第一获得单元100、第二获得单元200、第三获得单元300、第一划分单元400、第一加密单元500、第二加密单元600、第四获得单元700以及第五获得单元800等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0167]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个
或以上,通过调整内核参数来使用幅度值加密算法、基于格子模型的混沌技术以及推进型加密算法对图像进行加密操作,能够对图像中的像素数据特征进行有效置乱,降低了加密后的图像中像素之间的关联程度,使得加密后的图像难以被攻击破解,有效地保障了图像的信息安全。
[0168]
本公开实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述图像加密方法。
[0169]
本公开实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述图像加密方法。
[0170]
本公开实施例提供了一种电子设备,电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的图像加密方法。本文中的电子设备可以是服务器、pc、pad、手机等。
[0171]
本公开还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有图像加密方法步骤的程序。
[0172]
本公开是参照根据本公开实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0173]
在一个典型的配置中,电子设备包括一个或多个处理器(cpu)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
[0174]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0175]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0176]
在本公开的描述中,需要理解的是,如若涉及术语“上”、“下”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的位置或元件必须具有特定方位、以特定的方位构成和操作,因此不能理解为本公开的限制。
[0177]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0178]
本领域技术人员应明白,本公开的实施例可提供为方法、系统或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0179]
以上仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。

技术特征:
1.一种图像加密方法,其特征在于,包括:获得未加密的第一图像对应的第一灰度矩阵,其中,所述第一灰度矩阵由所述第一图像中各像素点的灰度值组成;获得用户输入的加密参数,其中,所述加密参数包括混沌密钥;基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵;将所述第一图像划分为第一子图像和第二子图像,其中,所述第一子图像与所述第一灰度矩阵中的第一灰度子矩阵对应,所述第二子图像与所述第一灰度矩阵中的第二灰度子矩阵对应;利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,所述第一灰度子矩阵与所述第二灰度矩阵中的第三灰度子矩阵对应,所述第二灰度子矩阵与所述第二灰度矩阵的第四灰度子矩阵对应;基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;将所述第五灰度子矩阵与所述第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;将所述第六灰度子矩阵与所述第四灰度子矩阵进行合并,获得已加密的第二图像。2.根据权利要求1所述的方法,其特征在于,所述混沌密钥包括第一密钥和第二密钥,所述基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵,包括:基于格子模型,依次利用所述第一密钥和所述第二密钥对所述第一灰度矩阵进行切比雪夫映射,获得第二混沌矩阵;对所述第二混沌矩阵进行单向耦合混沌处理,获得第三混沌矩阵;对所述第三混沌矩阵进行双向耦合混沌处理,获得第四混沌矩阵;对所述第四混沌矩阵进行整型数据化处理,获得第一混沌矩阵。3.根据权利要求1所述的方法,其特征在于,所述利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,包括:对所述第一灰度矩阵进行快速傅里叶变换,获得第一幅度谱矩阵;对所述第一幅度谱矩阵进行幅度减弱处理,获得第二幅度谱矩阵,其中,所述第二幅度谱矩阵中的第一幅度谱子矩阵与所述第一灰度子矩阵对应,所述第二幅度谱矩阵中的第二幅度谱子矩阵与所述第二灰度子矩阵对应;将所述第一幅度谱子矩阵与所述第一灰度子矩阵进行异或处理,将所述第二幅度谱子矩阵与所述第二灰度子矩阵进行异或处理,获得第三幅度谱矩阵;对所述第三幅度谱矩阵进行快速傅里叶逆变换,获得第二灰度谱矩阵。4.根据权利要求1所述的方法,其特征在于,所述基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵,包括:按照预设混沌值预处理算法对所述第一混沌矩阵进行处理,获得第五混沌矩阵;基于推进型加密算法,将所述第五混沌矩阵中的混沌值作为第三密钥,对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵。5.根据权利要求1所述的方法,其特征在于,所述将所述第六灰度子矩阵与所述第四灰
度子矩阵进行合并,获得已加密的第二图像,包括:将所述第六灰度子矩阵与所述第四灰度子矩阵进行位置互换拼接,获得已加密的第二图像,其中,所述第四灰度子矩阵在所述第二图像中的位置与所述第一灰度子矩阵在所述第一图像中对应的位置相同,所述第六灰度子矩阵在所述第二图像中的位置与所述第二灰度子矩阵在所述第一图像中对应的位置相同。6.根据权利要求1所述的方法,其特征在于,所述加密参数还包括加密轮数,在所述获得已加密的第二图像之后,所述方法还包括:对所述第一图像的加密次数加1;在所述加密次数未超过所述加密轮数的情况下,将所述第二图像作为第一图像,将所述第二图像对应的第三灰度矩阵作为第一灰度矩阵,返回执行所述基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵的步骤。7.根据权利要求1所述的方法,其特征在于,在所述获得已加密的第二图像之后,所述方法还包括:按照预设加密效果分析算法对所述第一图像和所述第二图像进行比较分析,获得图像加密分析结果。8.一种图像加密装置,其特征在于,包括:第一获得单元、第二获得单元、第三获得单元、第一划分单元、第一加密单元、第二加密单元、第四获得单元以及第五获得单元,所述第一获得单元,用于获得未加密的第一图像对应的第一灰度矩阵,其中,所述第一灰度矩阵由所述第一图像中各像素点的灰度值组成;所述第二获得单元,用于获得用户输入的加密参数,其中,所述加密参数包括混沌密钥;所述第三获得单元,用于基于格子模型,利用所述混沌密钥对所述第一灰度矩阵进行混沌处理,获得第一混沌矩阵;所述第一划分单元,用于将所述第一图像划分为第一子图像和第二子图像,其中,所述第一子图像与所述第一灰度矩阵中的第一灰度子矩阵对应,所述第二子图像与所述第一灰度矩阵中的第二灰度子矩阵对应;所述第一加密单元,用于利用幅度值加密算法对所述第一灰度矩阵进行幅度加密处理,获得第二灰度谱矩阵,其中,所述第一灰度子矩阵与所述第二灰度矩阵中的第三灰度子矩阵对应,所述第二灰度子矩阵与所述第二灰度矩阵的第四灰度子矩阵对应;所述第二加密单元,用于基于推进型加密算法,利用所述第一混沌矩阵对所述第四灰度子矩阵进行加密处理,获得第五灰度子矩阵;所述第四获得单元,用于将所述第五灰度子矩阵与所述第三灰度子矩阵进行异或处理,获得第六灰度子矩阵;所述第五获得单元,用于将所述第六灰度子矩阵与所述第四灰度子矩阵进行合并,获得已加密的第二图像。9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的图像加密方法。10.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器
用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的图像加密方法。

技术总结
本公开提供的一种图像加密方法及相关设备,可以使用幅度值加密算法、基于格子模型的混沌技术以及推进型加密算法对图像进行加密操作,能够对图像中的像素数据特征进行有效置乱,降低了加密后的图像中像素之间的关联程度,使得加密后的图像难以被攻击破解,有效地保障了图像的信息安全。保障了图像的信息安全。保障了图像的信息安全。


技术研发人员:韩国谦
受保护的技术使用者:中国农业银行股份有限公司
技术研发日:2022.04.06
技术公布日:2022/7/4
转载请注明原文地址: https://www.8miu.com/read-17442.html

最新回复(0)