一种基于特殊矩阵运算的图像加密方法、解密方法

文档序号:31154816发布日期:2022-08-17 06:58阅读:96来源:国知局
一种基于特殊矩阵运算的图像加密方法、解密方法

1.本发明涉及图像加密技术领域,尤其涉及一种基于特殊矩阵运算的图像加密方法、解密方法。


背景技术:

2.在信息化社会,信息安全尤为重要,图像中蕴含着大量的信息,在传输过程中,可能出现泄漏的隐患,而造成损失。因而,图像信息安全需要采取保护性的加密措施,并在接收端进行相应的解密措施,达到全方位保护信息安全的目的。
3.在传统图像加密领域中,经常使用aes和res加密手段来对图像进行加密。而该技术往往需要s-box和64轮迭代运算,该技术对文本信息有较好的加密效果,但是由于彩色图像具有更大的数据量和更多的像素信息,使用传统方法不仅费时,而且很难达到预期的加密要求。因此,如何高效且快速地进行图像的加密、解密是亟待解决的问题。


技术实现要素:

4.有鉴于此,有必要提供及一种基于特殊矩阵运算的图像加密方法、解密方法,用以克服现有技术中难以高效省时地加密解密图像的问题。
5.为了解决上述技术问题,本发明提供一种基于特殊矩阵运算的图像加密方法,包括:
6.获取待加密图像;
7.根据随机数,生成行加密向量和列加密向量;
8.根据所述行加密向量和所述列加密向量,对所述待加密图像的行数据和列数据进行打乱,生成加密图像。
9.进一步地,所述根据随机数,生成行加密向量和列加密向量,包括:
10.根据随机数,确定第一首位数和第一随机步长;
11.根据所述第一首位数、所述第一随机步长和预设的加密长度,提取预设整数集合中的整数,生成所述列加密向量和所述行加密向量。
12.进一步地,所述根据所述行加密向量和所述列加密向量,对所述待加密图像的行数据和列数据进行打乱,生成加密图像,包括:
13.将所述行加密向量和所述待加密图像转换的数据矩阵的每一行的行数据相加,得到第一转换矩阵;
14.根据所述第一转换矩阵的第1行的行数据至所述第一转换矩阵的第i行的所有行数据之和,确定第二转换矩阵的第i行的行数据,生成所述第二转换矩阵,其中,i为整数;
15.将所述行加密向量化为正序后,将所述第二转换矩阵打乱后并转置,生成所述第三转换矩阵。
16.进一步地,所述根据所述行加密向量和所述列加密向量,对所述待加密图像的行数据和列数据进行打乱,生成加密图像,包括:
17.将所述列加密向量和所述第三转换矩阵的数据矩阵的每一列的列数据相加,得到所述第四转换矩阵;
18.根据所述第四转换矩阵的第1行的行数据至所述第四转换矩阵的第i行的所有行数据之和,确定第五转换矩阵的第i行的行数据,生成所述第五转换矩阵;
19.将所述列加密向量化为正序后,将所述第五转换矩阵打乱后并转置,生成所述第六转换矩阵;
20.根据所述第六转换矩阵,生成所述加密图像。
21.本发明还提供了一种基于特殊矩阵运算的图像解密方法,包括:
22.获取加密图像,其中,所述加密图像根据如上所述的基于特殊矩阵运算的图像加密方法生成;
23.根据随机数,生成行解密向量和列解密向量;
24.根据所述行加密向量和所述列加密向量,对所述加密图像的行数据和列数据进行解密,生成解密图像。
25.进一步地,所述根据随机数,生成行解密向量和列解密向量,包括:
26.根据随机数,确定第二首位数和第二随机步长;
27.根据所述第二首位数、所述第二随机步长和预设的解密长度,提取预设整数集合中的整数,生成所述列解密向量和所述行解密向量。
28.进一步地,所述根据所述行加密向量和所述列加密向量,对所述加密图像的行数据和列数据进行解密,生成解密图像,包括:
29.将所述列解密向量化为正序后,将所述加密图像转置后的数据矩阵打乱,生成第七转换矩阵;
30.根据所述第七转换矩阵的第i行的行数据与所述第七转换矩阵的第i-1行的所有行数据之差,确定第八转换矩阵的第i行的行数据,生成所述第八转换矩阵,其中,i为整数;
31.将所述第八转换矩阵的每一列的列数据都减去所述列解密向量,并进行转置,确定第九转换矩阵。
32.进一步地,所述根据所述行加密向量和所述列加密向量,对所述加密图像的行数据和列数据进行解密,生成解密图像,包括:
33.将所述行解密向量化为正序后,将所述第九转换矩阵转置后的数据矩阵打乱,生成第十转换矩阵;
34.根据所述第十转换矩阵的第i行的行数据与所述第七转换矩阵的第i-1行的所有行数据之差,确定第十一转换矩阵的第i行的行数据,生成所述第十一转换矩阵,其中,i为整数;
35.将所述第十一转换矩阵的每一行的行数据都减去所述行解密向量,确定第十二转换矩阵;
36.根据所述第十二转换矩阵,生成所述解密图像。
37.与现有技术相比,本发明的有益效果包括:在加密方法中,首先,对待加密图像进行有效的获取;进而,分别利用行列首位,步长生成行加密向量和列加密向量;最后,把行列密钥与重构后矩阵的合并,合并后的矩阵进行特殊矩阵运算并利用mod打乱,得到最终的密文图像。在解密方法中,首先,对加密图像进行有效获取;进而,分别利用行列首位,步长生
成行解密向量和列解密向量;最后,恢复打乱加密图片由行解密向量和列解密向量决定,且恢复后的加密图片相邻像素值之间存在很强的相关性,即只要知道一个像素值和其前一个像素值,配合密钥就能恢复真实的像素值。综上,本发明利用首位,步长生成的行加密向量和列加密向量,并实现密钥与图像矩阵的合并,特殊矩阵运算及打乱,以此分别对图像矩阵行和列进行加密,利用了矩阵运算的高效性,既保持了很低算法的时间复杂度,又提高了对大图像的加密质量,同时也能保证图像信息的安全性。
附图说明
38.图1为本发明提供的基于特殊矩阵运算的图像加密方法一实施例的流程示意图;
39.图2为本发明提供的图1中步骤s102一实施例的流程示意图;
40.图3为本发明提供的图1中步骤s103一实施例的流程示意图;
41.图4为本发明提供的图1中步骤s103另一实施例的流程示意图;
42.图5为本发明提供的基于特殊矩阵运算的图像解密方法一实施例的流程示意图;
43.图6为本发明提供的图5中步骤s502一实施例的流程示意图;
44.图7为本发明提供的图5中步骤s503一实施例的流程示意图;
45.图8为本发明提供的图5中步骤s503另一实施例的流程示意图;
46.图9为本发明提供的加密图像、解密图像一实施的对比示意图;
47.图10为本发明提供的lena图像灰度直方图一实施例的直方示意图;
48.图11为本发明提供的lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像灰度直方图一实施例的灰度示意图;
49.图12为本发明提供的lena图像像素相关性图一实施例的相关性示意图;
50.图13为本发明提供的lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像像素相关性一实施例的相关性示意图;
51.图14为本发明提供的图像加密装置一实施例的结构示意图;
52.图15为本发明提供的图像解密装置一实施例的结构示意图;
53.图16为本发明提供的电子设备一实施例的结构示意图。
具体实施方式
54.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
55.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。此外,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
56.在本发明的描述中,提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,所描述的实施例可以与其它实施例相结合。
57.本发明提供了一种基于特殊矩阵运算的图像加密方法、解密方法,利用行解密向
量和列加密向量进行矩阵运算,并对应进行解密,为进一步提高加密、解密的效率性提供了新思路。
58.在实施例描述之前,对相关词语进行释义:
59.图像加密:利用数字图像的特性设计加密算法,以提高加密的安全性和运算效率的一种技术。为了实现数字图像保密,实际操作中一般先将二维图像转换成一维数据,再采用传统加密算法进行加密。与普通的文本信息不同,图像和视频具有时间性、空间性、视觉可感知性,还可进行有损压缩,这些特性使得为图像设计更加高效、安全的加密算法成为可能。自上世纪90年代起,研究者利用这些特性提出了多种图像加密算法。
60.图像解密:将加密后的图像与密钥图像进行相应的运算,从而从加密图像中解密出原图像信息的技术。
61.rgb:对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。rgb(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示-红色绿色以及蓝色的强度。记录及显示彩色图像时,rgb是最常见的一种方案。但是,它缺乏与早期黑白显示系统的良好兼容性。因此,许多电子电器厂商普遍采用的做法是,将rgb转换成yuv颜色空间,以维持兼容,再根据需要换回rgb格式,以便在电脑显示器上显示对应的彩色图形。
62.基于上述技术名词的描述,现有技术中,往往着重于s-box和64轮迭代运算的应用,存在加密时间长,资源占用大,加密效果不理想的问题,因而,本发明旨在提出一种高效准确的图像加密、解密方法。
63.以下分别对具体实施例进行详细说明:
64.本发明实施例提供了一种基于特殊矩阵运算的图像加密方法,结合图1来看,图1为本发明提供的基于特殊矩阵运算的图像加密方法一实施例的流程示意图,包括步骤s101至步骤s103,其中:
65.在步骤s101中,获取待加密图像;
66.在步骤s102中,根据随机数,生成行加密向量和列加密向量;
67.在步骤s103中,根据所述行加密向量和所述列加密向量,对所述待加密图像的行数据和列数据进行打乱,生成加密图像。
68.在本发明实施例中,首先,对待加密图像进行有效的获取;进而,分别利用行列首位,步长生成行加密向量和列加密向量;最后,把行列密钥与重构后矩阵的合并,合并后的矩阵进行特殊矩阵运算并利用mod打乱,得到最终的密文图像。
69.需要说明的是,首先会针对被加密的彩色明文图像进行预处理,其具体包括rgb图像的像素的拆分,拆分后矩阵重构,以得到相关的待加密图像转换的数据矩阵。
70.作为优选的实施例,结合图2来看,图2为本发明提供的图1中步骤s102一实施例的流程示意图,步骤s102包括步骤s201至步骤s202,其中:
71.在步骤s201中,根据随机数,确定第一首位数和第一随机步长;
72.在步骤s202中,根据所述第一首位数、所述第一随机步长和预设的加密长度,提取预设整数集合中的整数,生成所述列加密向量和所述行加密向量。
73.在本发明实施例中,根据预设的第一首位数和第一随机步长,提取预设整数集合中的整数,以有效生成随机的列加密向量和行加密向量。
74.在本发明一个具体的实施例中,可以根据给定的首位和步长,对全体整数集合进行提取,得到行列密钥,例如首位为3,步长为2,所需密钥向量长度为5,那么对应的密钥向量就为[3,5,7,9,11],再由该密钥向量随机生成mod,mod为实数且满足步长%mod不可等于0,且当密钥向量元素全为非负整数时,1-向量元素中最大值≤mod≤向量元素中最大值,当密钥向量元素全为非正整数时,向量元素中最小值≤mod≤-1-向量元素中最小值,当密钥向量元素既有正数也有负数且递增时,向量元素中最小值-向量元素中最大值-1≤mod≤向量元素中最大值-向量元素中最小值+1,当密钥向量元素既有正数也有负数且递减时,向量元素中最小值-向量元素中最大值≤mod≤向量元素中最大值-向量元素中最小值,最后使用该密钥和mod来对明文图像进行加密。
[0075]
作为优选的实施例,结合图3来看,图3为本发明提供的图1中步骤s103一实施例的流程示意图,步骤s103包括步骤s301至步骤s303,其中:
[0076]
在步骤s301中,将所述行加密向量和所述待加密图像转换的数据矩阵的每一行的行数据相加,得到第一转换矩阵;
[0077]
在步骤s302中,根据所述第一转换矩阵的第1行的行数据至所述第一转换矩阵的第i行的所有行数据之和,确定第二转换矩阵的第i行的行数据,生成所述第二转换矩阵,其中,i为整数;
[0078]
在步骤s303中,将所述行加密向量化为正序后,将所述第二转换矩阵打乱后并转置,生成所述第三转换矩阵。
[0079]
在本发明实施例中,根据行加密向量对待加密图像进行有效的加密转换。
[0080]
作为优选的实施例,结合图4来看,图4为本发明提供的图1中步骤s103另一实施例的流程示意图,步骤s103包括步骤s401至步骤s404,其中:
[0081]
在步骤s401中,将所述列加密向量和所述第三转换矩阵的数据矩阵的每一列的列数据相加,得到所述第四转换矩阵;
[0082]
在步骤s402中,根据所述第四转换矩阵的第1行的行数据至所述第四转换矩阵的第i行的所有行数据之和,确定第五转换矩阵的第i行的行数据,生成所述第五转换矩阵;
[0083]
在步骤s403中,将所述列加密向量化为正序后,将所述第五转换矩阵打乱后并转置,生成所述第六转换矩阵;
[0084]
在步骤s404中,根据所述第六转换矩阵,生成所述加密图像。
[0085]
在本发明实施例中,根据列加密向量对待加密图像转化的第三转换矩阵进行有效的加密转换。
[0086]
在本发明一个具体的实施例中,可以根据所确定的行列密钥和mod,与经过预处理的明文图像进行合并,特殊矩阵运算,打乱,行或者列加密过程都只包含三次矩阵运算,运算效率高,而且这样得到的密文图像,不仅其像素之间的相关性会变更强,即当前像素值的改变可以影响到多个像素,而且其所有像素拆分后的rgb值之间的相关性会变更强,即当前像素r值,g值,b值不仅影响该像素的r值,g值,b值,还可以影响到多个像素的r值,g值,b值,具有更高的安全性。
[0087]
本发明实施例还提供了一种基于特殊矩阵运算的图像解密方法,结合图5来看,图5为本发明提供的基于特殊矩阵运算的图像解密方法一实施例的流程示意图,包括步骤s501至步骤s503,其中:
[0088]
在步骤s501中,获取加密图像,其中,所述加密图像根据如上所述的基于特殊矩阵运算的图像加密方法生成;
[0089]
在步骤s502中,根据随机数,生成行解密向量和列解密向量;
[0090]
在步骤s503中,根据所述行加密向量和所述列加密向量,对所述加密图像的行数据和列数据进行解密,生成解密图像。
[0091]
在本发明实施例中,首先,对加密图像进行有效获取;进而,分别利用行列首位,步长生成行解密向量和列解密向量;最后,恢复打乱加密图片由行解密向量和列解密向量决定,且恢复后的加密图片相邻像素值之间存在很强的相关性,即只要知道一个像素值和其前一个像素值,配合密钥就能恢复真实的像素值。
[0092]
需要说明的是,根据给定的正确的首位,步长,可以得到解密的行列密钥,密文图像利用密钥和给定的mod对打乱的矩阵进行复原后,再进行特殊矩阵逆运算再减去行列密钥,可以得到正确的明文图像。
[0093]
进一步地,结合图6来看,图6为本发明提供的图5中步骤s502一实施例的流程示意图,包括步骤s601至步骤s602,其中:
[0094]
在步骤s601中,根据随机数,确定第二首位数和第二随机步长;
[0095]
在步骤s602中,根据所述第二首位数、所述第二随机步长和预设的解密长度,提取预设整数集合中的整数,生成所述列解密向量和所述行解密向量。
[0096]
在本发明实施例中,根据预设的第二首位数和第二随机步长,提取预设整数集合中的整数,以有效生成随机的列解密向量和行解密向量。
[0097]
进一步地,结合图7来看,图7为本发明提供的图5中步骤s503一实施例的流程示意图,包括步骤s701至步骤s703,其中:
[0098]
在步骤s701中,将所述列解密向量化为正序后,将所述加密图像转置后的数据矩阵打乱,生成第七转换矩阵;
[0099]
在步骤s702中,根据所述第七转换矩阵的第i行的行数据与所述第七转换矩阵的第i-1行的所有行数据之差,确定第八转换矩阵的第i行的行数据,生成所述第八转换矩阵,其中,i为整数;
[0100]
在步骤s703中,将所述第八转换矩阵的每一列的列数据都减去所述列解密向量,并进行转置,确定第九转换矩阵。
[0101]
在本发明实施例中,根据列解密向量,对加密图像进行初次的转换,保证有效的解密。
[0102]
进一步地,结合图8来看,图8为本发明提供的图5中步骤s503另一实施例的流程示意图,包括步骤s801至步骤s804,其中:
[0103]
在步骤s801中,将所述行解密向量化为正序后,将所述第九转换矩阵转置后的数据矩阵打乱,生成第十转换矩阵;
[0104]
在步骤s802中,根据所述第十转换矩阵的第i行的行数据与所述第七转换矩阵的第i-1行的所有行数据之差,确定第十一转换矩阵的第i行的行数据,生成所述第十一转换矩阵,其中,i为整数;
[0105]
在步骤s803中,将所述第十一转换矩阵的每一行的行数据都减去所述行解密向量,确定第十二转换矩阵;
[0106]
在步骤s804中,根据所述第十二转换矩阵,生成所述解密图像。
[0107]
在本发明实施例中,根据行解密向量,对加密图像进行再次的转换,保证有效的解密。
[0108]
下面结合一个具体的应用例更好地说明本发明技术方案如下:
[0109]
结合图9来看,图9为本发明提供的加密图像、解密图像一实施的对比示意图,该实验数据来自lena图像,整体的技术思路是构建一个基于特殊矩阵运算的大图像加密系统,包括图像信息提取模块,图像预处理模板,行列密钥生成模块,明文图像加密模板,密文图像解密模板;行列密钥生成模块用于随机生成整数为首位,步长(不为0),并定义行列加密向量长度,利用首位和步长,对全体整数集合进行提取,得到行列密钥,进而生成mod(不为0);明文图像加密模板用于将行加密向量和图像拆分后的rgb矩阵合并,进行特殊矩阵运算,打乱;对结果矩阵进行转置操作,将列加密向量和结果矩阵合并,进行特殊矩阵运算,打乱;对结果矩阵进行转置操作并模256后输出加密图像;密文图像解密模板用于对加密图像进行操作,将加密的图像转成拆分后的rgb矩阵并转置,定义列解密向量长度,利用首位和步长,对全体整数集合进行提取,得到列密钥,利用col_mod对结果矩阵进行复原,进行特殊矩阵逆运算并减去列解密密钥并转置,定义行解密向量长度,利用首位和步长,对全体整数集合进行提取,得到行密钥,利用row_mod对结果矩阵进行复原,进行特殊矩阵逆运算并减去行解密密钥并以此还原明文图像;
[0110]
其中,加密阶段具体步骤如下:
[0111]
第一步,首先对lena图像进行预处理,将其转为尺寸512x512x3图像矩阵ma_0,再将图像矩阵进行rgb拆分,得到512x1536的rgb矩阵ma_1;
[0112]
第二步,随机生成整数1为首位initial_1,随机生成整数1为步长step_1(不为0),并令行加密向量长度size_1=512,利用首位initial_1,步长step_1,行加密向量长度size_1提取全体整数集合中的整数,生成长度为512的行加密向量row_mix,定义row_mod为3(不为0);同样地,随机生成整数1为首位initial_2,随机生成整数1为步长step_2(不为0),并令列加密向量长度size_2=1536,利用首位initial_2,步长step_2,列加密向量长度size_2提取全体整数集合中的整数,生成长度为1536的列加密向量col_mix,定义col_mod为3(不为0);
[0113]
第三步,将行加密向量row_mix和rgb矩阵ma_1合并,即对矩阵ma_1的每一列都加上行加密向量row_mix得到矩阵ma_2;对矩阵ma_2进行特殊矩阵运算,即结果矩阵ma_3的第一行等于矩阵ma_2的第一行,第二行为矩阵ma_2的第一行和第二行之和,第三行为矩阵ma_2的第一行,第二行和第三行之和,以此类推;公式表述:ma3=θ(row
mixt
i+ma1),其中θ是尺寸为512x512的下三角阵,且下三角部分元素全为1,i是尺寸为1x1536的全1向量,利用行加密向量row_mix和row_mod将矩阵ma_3打乱为矩阵ma_4,具体为,如果对行加密向量row_mix模rol_mod后进行x操作可以使其化为正序,那么对矩阵ma_3进行x操作使之打乱为矩阵ma_4,公式表述:如果x(row
mix mod row
mod
)

正序,那么xma3→
ma4;
[0114]
进一步地,将矩阵ma_4进行转置操作得到矩阵ma_5,将列加密向量col_mix和矩阵ma_5合并,即对矩阵ma_5的每一列都加上列加密向量col_mix得到矩阵ma_6,对矩阵ma_6进行特殊矩阵运算,即结果矩阵ma_7的第一行等于矩阵ma_6的第一行,第二行为矩阵ma_6的第一行和第二行之和,第三行为矩阵ma_6的第一行,第二行和第三行之和,以此类推;公式
表述为ma7=θ(col
mixt
i+ma5),其中θ是尺寸为1536x1536的下三角阵,且下三角部分元素全为1,i是尺寸为1x512的全1向量,利用列加密向量col_mix和col_mod将矩阵ma_7打乱为矩阵ma_8,具体为,如果对列加密向量col_mix模col_mod后进行y操作可以使其化为正序,那么对矩阵ma_7进行y操作使之打乱为矩阵ma_8,公式表述:如果y(col
mix mod col
mod
)

正序,那么yma7→
ma8,将矩阵ma_8进行转置操作并模256得到矩阵ma_9,将矩阵ma_9重新组成m x n的图像矩阵ma_10,进而构成加密图片p_1。
[0115]
其中,解密阶段具体步骤如下:
[0116]
第1步,对加密图片p_1转为尺寸为512x512x3图像矩阵ma_10,将图像矩阵ma_10重新组成512x1536的矩阵ma_9,将矩阵ma_9进行转置操作得到矩阵ma_8,令列解密向量长度size_2=1536,利用首位initial_2=1,步长step_2=1,列解密向量长度size_2提取全体整数集合中的整数,生成长度为1536的列解密向量col_key,利用列解密向量col_key和col_mod对矩阵ma_8进行复原,具体为,如果对列解密向量col_key模col_mod后进行y操作可以使其化为正序,那么对矩阵ma_8进行y
t
操作使之复原,公式表述:如果y(col
key mod col
mod
)

正序,那么y
t
ma8→
ma7,并进行特殊矩阵逆运算即除了第一行,其他的每一行等于这一行减去前一行,得到结果矩阵ma_6;
[0117]
第2步,矩阵ma_6的每一列都减去列解密向量col_key并转置得到矩阵ma_5,公式表述:ma5=(θma
7-col
keyt
i)
t
其中θ是尺寸为1536x1536的矩阵,且主对角线上元素全为1,主对角线下方最靠近主对角线的那条对角线上的元素全为-1,其他元素全为0,i是尺寸为1x512的全1向量;
[0118]
令行解密向量长度size_1=512,利用首位initial_1=1,步长step_1=1,行解密向量长度size_1提取全体整数集合中的整数,生成长度为512的行解密向量row_key,利用行解密向量row_key和row_mod对矩阵ma_5进行复原,具体为,如果对行解密向量row_key模row_mod后进行x操作可以使其化为正序,那么对矩阵ma_5进行x
t
操作使之复原,公式表述:如果x(row
key mod row
mod
)

正序,那么x
t
ma5→
ma4,并进行特殊矩阵逆运算,即除了第一行,其他的每一行等于这一行减去前一行,得到结果矩阵ma_3,对矩阵ma_3的每一列都减去行解密向量row_key得到矩阵ma_2,将矩阵ma_2模256得到ma_1,公式表述:ma1=(θma
4-row
keyt
i)mod 256,利用ma_1重新组成512x512x3的图像矩阵ma_0,进而得到明文图片lena。
[0119]
其中,附图加密解密参数:首位为1,步长为1,mod为3,密钥敏感性分析mod改为2;
[0120]
其中,下表1是lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像和lena图像在给定首位为1,步长为1,mod为2的条件下基于该系统加密后的图像的加密算法密钥敏感性分析:
[0121]
表1
[0122] psnruacir99.6098%33.4431%g99.5937%33.5308%b99.5865%33.3873%
[0123]
其中,下表2是lena图像相关系数和lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像相关系数对比:
[0124]
表2
[0125]
通道horizontalverticaldiagonalr0.97820.98930.9664g0.96990.98050.9548b0.93590.95720.9239
[0126]
通道horizontalverticaldiagonalr0.0219-0.0172-0.0059g0.0081-0.0226-0.0293b0.01990.0018-0.0053
[0127]
其中,下表3是lena图像和lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像的信息熵分析:
[0128]
表3
[0129]
信息熵计算原lena图像加密图像r6.8797.999g6.9267.999b6.9687.999
[0130]
其中,下表4是lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像随机性分析:
[0131]
表4
[0132]
gvd原图加密图像r0.9864g0.9755b0.977
[0133]
其中,下表5是lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像加密质量分析:
[0134]
表5
[0135]
eq原图加密图像r805g587b1023
[0136]
其中,结合图10至图13来看,图10为本发明提供的lena图像灰度直方图一实施例的直方示意图,图11为本发明提供的lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像灰度直方图一实施例的灰度示意图,图12为本发明提供的lena图像像素相关性图一实施例的相关性示意图,图13为本发明提供的lena图像在给定首位为1,步长为1,mod为3的条件下基于该系统加密后的图像像素相关性一实施例的相关性示意图。
[0137]
本发明实施例还提供了一种图像加密装置,结合图14来看,图14为本发明提供的图像加密装置一实施例的结构示意图,图像加密装置1400包括:
[0138]
第一获取单元1401,用于获取待加密图像;
[0139]
第一处理单元1402,用于根据随机数,生成行加密向量和列加密向量;
[0140]
加密单元1403,用于根据所述行加密向量和所述列加密向量,对所述待加密图像的行数据和列数据进行打乱,生成加密图像。
[0141]
图像加密装置的各个单元的更具体实现方式可以参见对于上述基于特殊矩阵运算的图像加密方法的描述,且具有与之相似的有益效果,在此不再赘述。
[0142]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法。
[0143]
本发明实施例还提供了一种图像解密装置,结合图15来看,图15为本发明提供的图像解密装置一实施例的结构示意图,图像解密装置1500包括:
[0144]
第二获取单元1501,用于获取加密图像,其中,所述加密图像根据如上所述的基于特殊矩阵运算的图像加密方法生成;
[0145]
第二处理单元1502,用于根据随机数,生成行解密向量和列解密向量;
[0146]
解密单元1503,用于根据所述行加密向量和所述列加密向量,对所述加密图像的行数据和列数据进行解密,生成解密图像。
[0147]
图像解密装置的各个单元的更具体实现方式可以参见对于上述基于特殊矩阵运算的图像解密方法的描述,且具有与之相似的有益效果,在此不再赘述。
[0148]
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法。
[0149]
一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介质,除了临时性地传播中的信号本身。
[0150]
计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0151]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言,特别是可以使用适于神经网络计算的python语言和基于tensorflow、pytorch等平台框架。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0152]
本发明实施例还提供了一种电子设备,结合图16来看,图16为本发明提供的电子
设备一实施例的结构示意图,电子设备1600包括处理器1601、存储器1602及存储在存储器1602上并可在处理器1601上运行的计算机程序,处理器1601执行程序时,实现如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法。
[0153]
作为优选的实施例,上述电子设备1600还包括显示器1603,用于显示处理器1601执行如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法。
[0154]
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器1602中,并由处理器1601执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在电子设备1600中的执行过程。例如,计算机程序可以被分割成上述实施例中的第一获取单元1401、第一处理单元1402、加密单元1403、第二获取单元1501、第二处理单元1502以及解密单元1503,各单元的具体功能如上所述,在此不一一赘述。
[0155]
电子设备1600可以是带可调摄像头模组的桌上型计算机、笔记本、掌上电脑或智能手机等设备。
[0156]
其中,处理器1601可能是一种集成电路芯片,具有信号的处理能力。上述的处理器1601可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0157]
其中,存储器1602可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。其中,存储器1602用于存储程序,所述处理器1601在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流程定义的方法可以应用于处理器1601中,或者由处理器1601实现。
[0158]
其中,显示器1603可以是lcd显示屏,也可以是led显示屏。例如,手机上的显示屏。
[0159]
可以理解的是,图16所示的结构仅为电子设备1600的一种结构示意图,电子设备1600还可以包括比图16所示更多或更少的组件。图16中所示的各组件可以采用硬件、软件或其组合实现。
[0160]
根据本发明上述实施例提供的计算机可读存储介质和电子设备,可以参照根据本发明如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法具体描述的内容实现,并具有与如上所述的基于特殊矩阵运算的图像加密方法,和/或如上所述的基于特殊矩阵运算的图像解密方法类似的有益效果,在此不再赘述。
[0161]
本发明公开了一种基于特殊矩阵运算的图像加密方法、解密方法,在加密方法中,首先,对待加密图像进行有效的获取;进而,分别利用行列首位,步长生成行加密向量和列
加密向量;最后,把行列密钥与重构后矩阵的合并,合并后的矩阵进行特殊矩阵运算并利用mod打乱,得到最终的密文图像。在解密方法中,首先,对加密图像进行有效获取;进而,分别利用行列首位,步长生成行解密向量和列解密向量;最后,恢复打乱加密图片由行解密向量和列解密向量决定,且恢复后的加密图片相邻像素值之间存在很强的相关性,即只要知道一个像素值和其前一个像素值,配合密钥就能恢复真实的像素值。
[0162]
本发明技术方案,利用首位,步长生成的行加密向量和列加密向量,并实现密钥与图像矩阵的合并,特殊矩阵运算及打乱,以此分别对图像矩阵行和列进行加密,利用了矩阵运算的高效性,既保持了很低算法的时间复杂度,又提高了对大图像的加密质量,同时也能保证图像信息的安全性。
[0163]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1