一种图像加密方法及相关装置与流程

文档序号:24002541发布日期:2021-02-20 16:46阅读:68来源:国知局
一种图像加密方法及相关装置与流程

[0001]
本申请涉及信息安全领域,尤其涉及一种图像加密方法及相关装置。


背景技术:

[0002]
随着互联网的发展,越来越多的信息以数字化的形式存储和传送,在数字化的信息中,图像信息因具有形象性、直观性和生动性以及可视化强等突出优点,在信息交互中应用非常广泛。为了增加图像在传输过程中的安全性,一般对图像进行加密,对加密后的图像进行传输。但时,在网络传输过程中,图像信息的不安全因素,给恶意攻击提供了可乘之机,使得原始图像信息有可能遭受攻击,进而导致信息泄露或者信息破坏。因此,如何提高抗攻击能力是当下亟需解决的问题。
[0003]
为了进一步提高传输过程中的抗攻击能力,提出了采用比特置乱或基于混沌序列的加密算法,对图像进行加密,然后,对加密后的图像进行传输。比特置乱或基于混沌序列的加密算法虽然保留了原算法的优点,也可通过比特置乱进一步改变像素值,具有掩盖明文统计特性,同时将混沌序列与明文产生关联,使得中间密钥随明文自适应变化,能较为有效抵御选择明(密)文攻击。
[0004]
但是,采用该加密方法对图像加密后,在加密后的图像传输过程中,对选择明文攻击的防御力较差。


技术实现要素:

[0005]
本申请提供了一种图像加密方法及相关装置,目的在于解决加密后的图像在传输过程中,对选择明文攻击的防御能力较差的问题。
[0006]
为了实现上述目的,本申请提供了以下技术方案:
[0007]
本申请提供了一种图像加密方法,包括:
[0008]
将待加密图像输入预设的神经网络模型,得到所述待加密图像的特征向量;所述特征向量为1
×
n矩阵;
[0009]
将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵;所述m的取值为所述待加密图像中像素总数量;
[0010]
采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像;
[0011]
对所述置乱图像进行gamma变换,得到中间密文图像;
[0012]
依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像。
[0013]
可选的,采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像,包括:
[0014]
从所述转换后矩阵中,分别确定所述特征向量的每个数值指示的位置上的像素值,得到所述特征向量的每个数值在所述转换后矩阵中对应的像素值;
[0015]
按照所述特征向量中数值的先后顺序,对所述特征向量的数值对应的像素值进行排序,得到所述置乱图像。
[0016]
可选的,所述依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像,包括:
[0017]
按照公式进行加密计算,得到所述加密图像;
[0018]
所述t
i
表示所述特征向量中的第i个数值;mod表示求余运算;t
i
表示依据公式对t
i
的计算结果;所述c
i
'表示中间密文图像中的第i个像素值;c
i
表示依据所述公式对所述c
i
'的计算结果。
[0019]
可选的,所述将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵,包括:
[0020]
按照所述待加密图像的行顺序,依次遍历所述待加密图像的各行像素值,得到所述转换后矩阵。
[0021]
本申请还提供了一种图像加密装置,包括:
[0022]
输入模块,用于将待加密图像输入预设的神经网络模型,得到所述待加密图像的特征向量;所述特征向量为1
×
n矩阵;
[0023]
转换模块,用于将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵;所述m的取值为所述待加密图像中像素总数量;
[0024]
置乱模块,用于采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像;
[0025]
变换模块,用于对所述置乱图像进行gamma变换,得到中间密文图像;
[0026]
加密计算模块,用于依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像。
[0027]
可选的,所述置乱模块,用于采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像,包括:
[0028]
所述置乱模块,具体用于从所述转换后矩阵中,分别确定所述特征向量的每个数值指示的位置上的像素值,得到所述特征向量的每个数值在所述转换后矩阵中对应的像素值按照所述特征向量中数值的先后顺序,对所述特征向量的数值对应的像素值进行排序,得到所述置乱图像。
[0029]
可选的,所述加密计算模块,用于依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像,包括:
[0030]
所述加密计算模块,具体用于按照公式进行加密计算,得到所述加密图像;其中,所述t
i
表示所述特征向量中的第i个数值;mod表示求余运算;t
i
表示依据公式对t
i
的计算结果;所述c
i
'表示中间密文图像中的第i个像素值;c
i
表示依据所述公式对所述c
i
'的计算结果。
[0031]
可选的,所述转换模块,用于将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵,包括:
[0032]
所述转换模块,具体用于按照所述待加密图像的行顺序,依次遍历所述待加密图像的各行像素值,得到所述转换后矩阵。
[0033]
本申请还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述任意一项所述的图像加密方法。
[0034]
本申请还提供了一种设备,所述设备包括至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的图像加密方法。
[0035]
本申请所述的图像加密方法及相关装置,将待加密图像输入预设的神经网络模型,得到所述待加密图像的特征向量;所述特征向量为1
×
n矩阵;将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵;所述m的取值为所述待加密图像中像素总数量;采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像;对所述置乱图像进行gamma变换,得到中间密文图像;依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像。
[0036]
可以看出,本申请是依据待加密图像的特征向量,对待加密图像进行置乱,得到置乱图像,并通过对置乱图像进行gamma变换,得到中间密文图像,以及对中间密文图像进行预设的加密计算,得到加密图像。即对待加密图像的加密过程中,并不涉及密钥,使得在传输加密图像的过程中,不需传输密钥,进而,可以避免现有技术中,不法分子通过对传输中的密钥进行恶意攻击而导致的对明文选择攻击的防御能力较差的问题。
附图说明
[0037]
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]
图1为本申请实施例公开的一种图像加密方法的流程图;
[0039]
图2为本申请实施例公开的一种图像加密装置的结构示意图;
[0040]
图3为本申请实施例公开的一种设备的结构示意图。
具体实施方式
[0041]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]
图1为本申请实施例提供的一种图像加密方法,可以包括以下步骤:
[0043]
s101、将待加密图像输入预设的神经网络模型,得到待加密图像的特征向量。
[0044]
在本实施例中,神经网络模型可以为vgg深度神经网络模型,当然,在实际中,神经网络模型还可以为除了vgg深度神经网络模型之外的其他神经网络模型,本实施例不对神经网络模型的具体形式作限定。
[0045]
可选的,在本步骤中,预设的神经网络模型可以为训练后的vgg深度神经网络模型,其中,具体训练方式为现有技术,这里不再赘述。
[0046]
在本实施例中,训练后的vgg深度神经网络模型的输入为待加密图像,输出为特征向量,其中,输出的特征向量为1
×
n矩阵。作为示例,在本实施例中,特征向量可以表示为t
={t1,t2,t3,...,t
n
}。
[0047]
s102、将待加密图像转换为1
×
m矩阵,得到转换后矩阵。
[0048]
在本步骤中,m的取值为待加密图像中像素的总数量,例如,待加密图像中像素总数量为10000,则转换后矩阵的大小为1
×
10000。
[0049]
可选的,在本步骤中,可以按照待加密图像的行顺序,将待加密图像转换为矩阵。例如,按照待加密图像的行顺序,将待加密图像的第二行像素排列在第一行像素之后,将第三行像素排列在第二行像素的结尾,依次类推,将待加密图像转换为1
×
m的矩阵,为了描述方便,将转换得到的矩阵称为转换后矩阵。
[0050]
需要说明的是,在本实施例中,按照待加密图像的行顺序,将待加密图像转换为矩阵只是一种具体实现方式,在实际中,还可以按照待加密图像的列顺序,将待加密图像转换为1
×
m,本实施例不对具体的转换方式作限定。
[0051]
作为示例,在本步骤中,转换后矩阵可以表示为p={p1,p2,p3,...,p
m*n-1
,p
m*n
}。
[0052]
s103、采用特征向量,对转换后矩阵进行置乱,得到置乱图像。
[0053]
在本实施例中,以特征向量为t={t1,t2,t3,...,t
n
},转换后矩阵为p={p1,p2,p3,...,p
m*n-1
,p
m*n
}为例,置乱图像可以表示为p1={p
11
,p
12
,p
13
,...,p
1m*n-1
,p
1m*n
}
[0054]
其中,转换的具体方式如公式(1)所示。
[0055][0056]
式中,p
1k
表示置乱图像中的第k个元素,表示转换后矩阵中t
k
指示的位置上的像素值。
[0057]
在本实施例中,采用特征向量,对转换后矩阵进行置乱,得到置乱图像的实现过程可以包括以下步骤a1~步骤a2:
[0058]
a1、从转换后矩阵中,分别确定特征向量的每个数值指示的位置上的像素值,得到特征向量的每个数值在转换后矩阵中对应的像素值。
[0059]
还以特征向量为t={t1,t2,t3,...,t
n
},转换后矩阵为p={p1,p2,p3,...,p
m*n-1
,p
m*n
}为例,在本步骤中,从p={p1,p2,p3,...,p
m*n-1
,p
m*n
}中,确定特征向量中t1,t2,t3,...,t
n
分别指示的位置上的像素值。
[0060]
在本步骤中,对特征向量中的每个数值,从转化后矩阵中确定该数值指示的位置上的像素值的实现原理相同,为了描述方便,以特征向量中任一数值(例如t1)为例,介绍从转换后矩阵中确定该数值指示的位置上的像素值的过程。具体的,可以包括:假设任一数值为t1,且t1的取值为100,则确定转换后矩阵中从左到右第100个像素值,得到t1在转换后矩阵中对应的像素值。
[0061]
a2、按照特征向量中数值的先后顺序,对特征向量的数值对应的像素值进行排序,得到置乱图像。
[0062]
在本步骤中,按照t1,t2,t3,...,t
n
的顺序,对t1,t2,t3,...,t
n
分别对应的像素值进行排序,得到置乱图像。
[0063]
s104、对置乱图像进行gamma变换,得到中间密文图像。
[0064]
在本步骤中,gamma变换的具体实现方式为现有技术,这里不再赘述。
[0065]
s105、依据特征向量,对中间密文图像进行预设的加密计算,得到待加密图像的加
密图像。
[0066]
可选的,在本实施例中,对中间密文图像进行预设的加密计算,可以包括:按照公式(2)对中间密文图像进行加密计算,得到加密图像。
[0067][0068]
式中,t
i
表示特征向量中的第i个数值,mod表示求余运算;t
i
表示依据公式对t
i
的计算结果;c
i
'表示中间密文图像中的第i个像素值;c
i
表示依据公式对所述c
i
'的计算结果。
[0069]
本申请实施例具有以下有益效果:
[0070]
有益效果一:
[0071]
在本实施例中,依据待加密图像的特征向量,对待加密图像进行置乱,得到置乱图像,并通过对置乱图像进行gamma变换,得到中间密文图像,以及对中间密文图像进行预设的加密计算,得到加密图像。即对待加密图像的加密过程中,并不涉及密钥,使得在传输加密图像的过程中,不需传输密钥,进而,可以避免现有技术中,不法分子通过对传输中的密钥进行恶意攻击而导致的对明文选择攻击的防御能力较差的问题。
[0072]
有益效果二:
[0073]
在本实施例中,只需将待加密图像输入神经网络模型,得到特征向量,然后,基于该特征向量对待加密图像进行置乱,并基于置乱图像进行加密处理,即可得到待加密图像的加密图像,因此,相对于现有技术中,基于混沌序列对待加密图像进行置乱等操作来说,本申请对待加密图像进行加密的实现过程更简单。
[0074]
结合有益效果一,本申请实施例可以实现更加安全、方便和有效的图像加密,实现电子数据安全性、保护图像数据隐私。
[0075]
图2为本申请实施例提供的一种图像加密装置,可以包括:输入模块201、转换模块202、置乱模块203、变换模块204和加密计算模块205,其中,
[0076]
输入模块201,用于将待加密图像输入预设的神经网络模型,得到所述待加密图像的特征向量;所述特征向量为1
×
n矩阵;
[0077]
转换模块202,用于将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵;所述m的取值为所述待加密图像中像素总数量;
[0078]
置乱模块203,用于采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像;
[0079]
变换模块204,用于对所述置乱图像进行gamma变换,得到中间密文图像;
[0080]
加密计算模块205,用于依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像。
[0081]
可选的,所述置乱模块203,用于采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像,包括:
[0082]
所述置乱模块203,具体用于从所述转换后矩阵中,分别确定所述特征向量的每个数值指示的位置上的像素值,得到所述特征向量的每个数值在所述转换后矩阵中对应的像素值按照所述特征向量中数值的先后顺序,对所述特征向量的数值对应的像素值进行排序,得到所述置乱图像。
[0083]
可选的,所述加密计算模块205,用于依据所述特征向量,对所述中间密文图像进
行预设的加密计算,得到所述待加密图像的加密图像,包括:
[0084]
所述加密计算模块205,具体用于按照公式进行加密计算,得到所述加密图像;其中,所述t
i
表示所述特征向量中的第i个数值;mod表示求余运算;t
i
表示依据公式对t
i
的计算结果;所述c
i
'表示中间密文图像中的第i个像素值;c
i
表示依据所述公式对所述c
i
'的计算结果。
[0085]
可选的,所述转换模块202,用于将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵,包括:
[0086]
所述转换模块202,具体用于按照所述待加密图像的行顺序,依次遍历所述待加密图像的各行像素值,得到所述转换后矩阵。
[0087]
本实施例提供的图像加密装置,可以实现更加安全、方便和有效的图像加密,实现电子数据安全性、保护图像数据隐私。
[0088]
图像加密装置包括处理器和存储器,上述输入模块201、转换模块202、置乱模块203、变换模块204和加密计算模块205等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0089]
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决对选择明文攻击的防御力较差的问题。
[0090]
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述图像加密方法。
[0091]
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述图像加密方法。
[0092]
本发明实施例提供了一种设备,如图3所示,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的图像加密方法。本文中的设备可以是服务器、pc、pad、手机等。
[0093]
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
[0094]
将待加密图像输入预设的神经网络模型,得到所述待加密图像的特征向量;所述特征向量为1
×
n矩阵;
[0095]
将所述待加密图像转换为1
×
m矩阵,得到转换后矩阵;所述m的取值为所述待加密图像中像素总数量;
[0096]
采用所述特征向量,对所述转换后矩阵进行置乱,得到置乱图像;
[0097]
对所述置乱图像进行gamma变换,得到中间密文图像;
[0098]
依据所述特征向量,对所述中间密文图像进行预设的加密计算,得到所述待加密图像的加密图像。
[0099]
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0100]
在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
[0101]
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
[0102]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0103]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0104]
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0105]
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
[0106]
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0107]
本说明书的各个实施例中记载的特征可以相互替换或者组合,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0108]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1