1.本技术涉及信息安全领域,具体而言,涉及一种图像加密方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.在对图像进行加密时需要尽量避免图像的失真问题,其中,现有技术中为了避免图像的失真问题,通常是在加密算法中增加图像处理算法,从而实现兼顾图像加密以及图像不失真的目的。
3.但是,在金融领域,需要加密传输的图像数量很大,计算机在处理每张图像时都需要同时运行加密算法和图像处理算法,从而会导致计算机的运行负担很大,并且造成每张图像的加密时长都过长,进而影响了整体的图像加密效率。
4.针对上述的问题,目前尚未提出有效的j9九游会真人的解决方案。
技术实现要素:
5.本技术提供了一种图像加密方法、装置、电子设备及计算机可读存储介质,以至少解决现有技术中对图像进行加密时存在的图像加密效率低的技术问题。
6.根据本技术的一个方面,提供了一种图像加密方法,包括:获取待加密的第一图像和目标矩阵,其中,目标矩阵用于增强第一图像的图像分辨率,第一图像对应n个像素值,目标矩阵包括n个数值,目标矩阵中的每个数值与n个像素值中的一个像素值相对应;将第一图像对应的n个像素值随机排序为第一序列,并将目标矩阵中的n个数值随机排序为第二序列;将第一序列转换为第三序列,其中,第三序列由n个第一编码字符串组成,每个第一编码字符串由第一序列中的一个像素值转换得到;将第二序列转换为第四序列,其中,第四序列由n个第二编码字符串组成,每个第二编码字符串由第二序列中的一个数值转换得到;依据第三序列和第四序列生成第一图像对应的加密信息。
7.可选地,图像加密方法还包括:获取待加密的第一图像以及第一图像对应的第二图像,其中,第二图像的分辨率低于第一图像的分辨率,第一图像和第二图像均对应n个像素值;依据n个第一像素值与n个第二像素值生成目标矩阵,其中,目标矩阵中的每个数值用于表征一个第一像素值与一个第二像素值的映射关系,第一像素值为第一图像对应的一个像素值,第二像素值为第二图像中与第一像素值相对应的像素值。
8.可选地,图像加密方法还包括:在将第一序列转换为第三序列之前,通过预设函数依据第一初值和第二初值生成n个第一函数值和n个第二函数值,其中,第一初值和第二初值分别对应预设函数中的不同参数,第一函数值与第二函数值存在数学关联关系;将n个第一函数值作为第一混沌序列;将n个第二函数值作为第二混沌序列。
9.可选地,图像加密方法还包括:对第一混沌序列进行归一化处理,得到第五序列,其中,第五序列中的每个元素均在预设范围内;将第一序列划分为第一数组和第二数组,其中,第一数组和第二数组分别包含第一序列中不同的元素;根据第五序列、第一数组以及第
二数组生成第三序列。
10.可选地,图像加密方法还包括:在n为偶数的情况下,将第一序列中的前p个元素作为第一数组,将第一序列中的后p个元素作为第二数组,其中,p=n/2;在n为奇数的情况下,将第一序列中的前k个元素作为第一数组,将第一序列中除前k个元素之外的元素作为第二数组,k=(n 1)/2。
11.可选地,图像加密方法还包括:根据第五序列将第一数组转换为第一矩阵,并将第二数组转换为第二矩阵,其中,第一矩阵和第二矩阵中的数值均为预设数值区间内的一个整数,第一矩阵中的每个整数值与第一数组中的一个元素相对应,第二矩阵中的每个整数值与第二数组中的一个元素相对应;依据预设的编码规则将第一矩阵中的每个整数值转换为一个第一子编码字符串;依据编码规则将第二矩阵中的每个整数值转换为一个第二子编码字符串;依据第一矩阵对应的所有第一子编码字符串和第二矩阵对应的所有第二子编码字符串生成第三序列。
12.可选地,图像加密方法还包括:将第一矩阵中的每个整数值转换为j个二进制字符,其中,j为正整数;根据编码规则确定j个二进制字符中的每个二进制字符对应的预设编码,得到每个整数值对应的j个预设编码;根据每个整数值对应的j个预设编码生成该整数值对应的第一子编码字符串。
13.可选地,图像加密方法还包括:依据第五序列通过第一变换规则对第一矩阵对应的每个第一子编码字符串进行字符串变换,得到第一矩阵对应的第一目标编码字符串;依据第五序列通过第二变换规则对第二矩阵对应的每个第二子编码字符串进行字符串变换,得到第二矩阵对应的第二目标编码字符串,其中,第一变换规则与第二变换规则针对同一个子编码字符串的变换方式不同;依据第一矩阵对应的第一目标编码字符串以及第二矩阵对应的第二目标编码字符串生成第三序列。
14.可选地,图像加密方法还包括:将第三序列转换为与目标矩阵的矩阵维度数量相同的第三矩阵,并将第四序列转换为与目标矩阵的矩阵维度数量相同的第四矩阵;通过对称加密算法将预设函数、第一初值以及第二初值加密为第一密文,其中,第一密文对应的对称密钥为第一对称密钥;通过非对称加密算法对第一对称密钥进行公钥加密,得到第二密文;依据第三矩阵、第四矩阵、第一密文以及第二密文生成加密信息。
15.可选地,图像加密方法还包括:在依据第三矩阵、第四矩阵、第一密文以及第二密文生成加密信息之后,通过非对称加密算法的私钥对加密信息中的第二密文进行解密,得到第一对称密钥;通过第一对称密钥对加密信息中的第一密文进行解密,得到预设函数、第一初值以及第二初值;通过预设函数、第一初值以及第二初值对第三矩阵和第四矩阵进行逆变换,得到第一图像和目标矩阵;依据目标矩阵将第一图像转换为第三图像,其中,第三图像的图像分辨率大于第一图像的图像分辨率。
16.根据本技术的另一方面,还提供了一种图像加密装置,包括:获取单元,用于获取待加密的第一图像和目标矩阵,其中,目标矩阵用于增强第一图像的图像分辨率,第一图像对应n个像素值,目标矩阵包括n个数值,目标矩阵中的每个数值与n个像素值中的一个像素值相对应;排序单元,用于将第一图像对应的n个像素值随机排序为第一序列,并将目标矩阵中的n个数值随机排序为第二序列;第一转换单元,用于将第一序列转换为第三序列,其中,第三序列由n个第一编码字符串组成,每个第一编码字符串由第一序列中的一个像素值
转换得到;第二转换单元,用于将第二序列转换为第四序列,其中,第四序列由n个第二编码字符串组成,每个第二编码字符串由第二序列中的一个数值转换得到;生成单元,用于依据第三序列和第四序列生成第一图像对应的加密信息。
17.根据本技术的另一方面,还提供了一种计算机可读存储介质,其中,计算机可读存储介质中存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述任意一项图像加密方法。
18.根据本技术的另一方面,还提供了一种电子设备,其中,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项图像加密方法。
19.在本技术中,通过将图像对应的像素值、目标矩阵分别转换为序列的方式,首先获取待加密的第一图像和目标矩阵,其中,目标矩阵用于增强第一图像的图像分辨率,第一图像对应n个像素值,目标矩阵包括n个数值,目标矩阵中的每个数值与n个像素值中的一个像素值相对应。然后,将第一图像对应的n个像素值随机排序为第一序列,并将目标矩阵中的n个数值随机排序为第二序列,随后将第一序列转换为第三序列,其中,第三序列由n个第一编码字符串组成,每个第一编码字符串由第一序列中的一个像素值转换得到;将第二序列转换为第四序列,其中,第四序列由n个第二编码字符串组成,每个第二编码字符串由第二序列中的一个数值转换得到。最后,依据第三序列和第四序列生成第一图像对应的加密信息。
20.由上述内容可知,本技术通过获取待加密的第一图像和目标矩阵,分别将第一图像和目标矩阵随机排序为第一序列、第二序列,从而打乱了图像像素值和矩阵数值的顺序。随后将第一序列转换为第三序列、将第二序列转换为第四序列,实现了将乱序后的图像像素值和矩阵数值加密为编码字符串,从而达到了对第一图像和目标矩阵分别加密的目的。此外,由于目标矩阵可以增强第一图像的图像分辨率,因此,本技术不需要额外提供图像处理算法对第一图像进行防失真处理,加密信息的接收方可以依据目标矩阵实现对第一图像的分辨率增强。
21.由此可见,本技术实现了在兼顾对图像进行加密的同时,避免使用额外的图像处理算法的目的,从而降低了计算机的运行负担,缩短了图像的加密时长,提高了图像加密效率,进而解决了现有技术中对图像进行加密时存在的图像加密效率低的技术问题。
附图说明
22.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
23.图1是根据本技术实施例的一种可选的图像加密方法的流程图;
24.图2是根据本技术实施例的一种可选的对图像进行退化操作的流程图;
25.图3是根据本技术实施例的一种可选的深度学习算法的流程图;
26.图4是根据本技术实施例的一种可选的卷积神经网络的示意图;
27.图5是根据本技术实施例的一种可选的扫描置乱方法的示意图;
28.图6是根据本技术实施例的一种可选的编码规则的示意图;
29.图7是根据本技术实施例的一种可选的dna加法运算规则的示意图;
30.图8是根据本技术实施例的一种可选的dna减法运算规则的示意图;
31.图9是根据本技术实施例提供的一种可选的图像加密装置的示意图;
32.图10是根据本技术实施例提供的一种电子设备的示意图。
具体实施方式
33.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
34.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
35.还需要说明的是,本技术所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
36.下面结合各实施例来进一步说明本技术。
37.实施例1
38.随着网络技术和多媒体技术迅速发展,数字图像作为最重要的信息载体之一,尤其在商业、金融业等领域的应用需求不断提高,如大型金融机构中存储着大量客户身份信息与交易图像信息。因此,数字图像的安全性研究得到了人们广泛的关注。
39.其中,在对图像进行加密时需要尽量避免图像的失真问题,现有技术中为了避免图像的失真问题,通常是在加密算法中增加图像处理算法,从而实现兼顾图像加密以及图像不失真的目的。
40.但是,在金融领域,需要加密传输的图像数量很大,计算机在处理每张图像时都需要同时运行加密算法和图像处理算法,从而会导致计算机的运行负担很大,并且造成每张图像的加密时长都过长,进而影响了整体的图像加密效率。
41.为了解决上述问题,根据本技术实施例,提供了一种图像加密方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
42.图1是根据本技术实施例的一种可选的图像加密方法的流程图,如图1所示,该方法包括如下步骤:
43.步骤s101,获取待加密的第一图像和目标矩阵。
44.在步骤s101中,目标矩阵用于增强第一图像的图像分辨率,第一图像对应n个像素值,目标矩阵包括n个数值,目标矩阵中的每个数值与n个像素值中的一个像素值相对应。
45.可选地,一种图像加密系统可作为本技术实施例中的图像加密方法的执行主体。
46.假设待加密的第一图像为图像a,其大小为m*m,即图像a包括m*m个像素点,每个像素点对应一个像素值,其中,m为正整数,n=m*m。
47.进一步地,图像加密系统可以对图像a进行退化操作,得到低分辨率的图像b,图像b的大小也是m*m。随后,图像加密系统利用深度学习技术学习得到图像b到图像a的映射关系矩阵f(对应上述目标矩阵)。其中,映射关系矩阵f的大小为m*m,即映射关系矩阵f共包括n个数值,每个数值对应图像a的一个像素值。
48.可选地,对图像的退化操作是指预先对真实的高分辨率图像进行模糊操作,得到高分辨率图像的低分辨率图。如图2所示,本技术中的退化操作采用模糊处理、下采样处理和噪声退化等操作。模糊处理通过两个卷积(各向同性与各项异性高斯模糊)进行模拟,下采样从最近邻、双线性和双三次插值中随机挑选,噪声则通过不同噪声水平的高斯噪声、不同压缩质量的图片压缩等产生。
49.图2中的退化过程使用到的公式(1)如下:
[0050][0051]
其中,表示低分辨率图,i表示高分辨率图,k代表模糊核,n代表高斯噪声,
↓s表示下采样s倍,代表卷积操作。
[0052]
图2中的退化的逆过程所使用到的公式(2)表示如下:
[0053][0054]
其中,表示高分辨率估计图,表示低分辨率图,φ-1
表示逆变换,θ
β
表示各种导致图像模糊的因素,例如噪声、运动模糊等。
[0055]
此外,本技术中涉及的深度学习算法包括如下:
[0056]
深度学习算法流程如图3所示,首先获取待加密图像,对其进行退化操作得到低分辨率图像,并将未退化的待加密图像当作高分辨率图像;然后将低分辨率图像和高分辨率图一起送入卷积神经网络中进行学习,在送入卷积神经网络之前,首先会提取一一对应的高分辨率图像块和低分辨率图像块,然后将一一对应的图像块送入卷积神经网络学习低分辨率图像到高分辨率图像的映射关系矩阵,并在均方差损失函数的约束下不断迭代优化此矩阵。其中,均方差损失函数如公式(3)。
[0057][0058]
其中是卷积神经网络的期望输出,y是卷积神经网络实际输出,∑表示求和运算,n是样本个数。
[0059]
在一种可选的实施例中,图4是根据本技术实施例的一种可选的卷积神经网络的示意图,如图4所示,卷积神经网络由8个卷积层组成,卷积神经网络处理图像之前,会先对输入的低、高分辨率图像提取一一对应的图像块,然后将提取到的图像块送入8个卷积层中,学习低、高分辨率图像块之间的特征,最后将低、高图像块的特征进行拼接得到低、高分
辨率图像的特征。
[0060]
步骤s102,将第一图像对应的n个像素值随机排序为第一序列,并将目标矩阵中的n个数值随机排序为第二序列。
[0061]
可选地,图像加密系统可以对图像a进行zigzag置乱,得到一维数列(即第一序列),第一序列可记为x(i)(i=1,2,...,m2);图像加密系统还可以对映射关系矩阵f也进行zigzag置乱,得到另一个一维数列(即第二序列),第二序列可记为y(i)(i=1,2,...,m2)。
[0062]
需要说明的是,zigzag变换是一种扫描置乱方法,如图5所示,以图像a为例,图像加密系统依据zigzag置乱方法,可以从图像a左上角开始,将图像a中的像素值以锯齿形扫描,形成第一序列。
[0063]
步骤s103,将第一序列转换为第三序列。
[0064]
在步骤s103中,第三序列由n个第一编码字符串组成,每个第一编码字符串由第一序列中的一个像素值转换得到。
[0065]
步骤s104,将第二序列转换为第四序列。
[0066]
在步骤s104中,第四序列由n个第二编码字符串组成,每个第二编码字符串由第二序列中的一个数值转换得到。
[0067]
可选地,图像加密系统可以将第一序列中的像素值转换为二进制数,然后基于转换得到的二进制数进行dna编码,得到第一序列中每个像素值所对应的第一编码字符串。同理,图像加密算法可以将第二序列中的数值转换为二进制数,然后基于转换得到的二进制数进行dna编码,得到第二序列中每个数值所对应的第二编码字符串。
[0068]
最后,图像加密系统基于第一序列中每个像素值所对应的第一编码字符串生成第三序列,基于第二序列中每个数值所对应的第二编码字符串生成第四序列。
[0069]
步骤s105,依据第三序列和第四序列生成第一图像对应的加密信息。
[0070]
在步骤s105中,图像加密系统可以对第三序列和第四序列进行计算,并依据计算结果生成第一图像对应的加密信息。
[0071]
在一种可选的实施例中,图像加密系统可以获取待加密的第一图像以及第一图像对应的第二图像,其中,第二图像的分辨率低于第一图像的分辨率,第一图像和第二图像均对应n个像素值。随后,图像加密系统依据n个第一像素值与n个第二像素值生成目标矩阵,其中,目标矩阵中的每个数值用于表征一个第一像素值与一个第二像素值的映射关系,第一像素值为第一图像对应的一个像素值,第二像素值为第二图像中与第一像素值相对应的像素值。
[0072]
可选地,假设待加密的第一图像为图像a,其大小为m*m,即图像a包括m*m个像素点,每个像素点对应一个像素值,其中,m为正整数,n=m*m。
[0073]
进一步地,图像加密系统可以对图像a进行退化操作,得到低分辨率的图像b,图像b的大小也是m*m。随后,图像加密系统利用深度学习技术学习得到图像b到图像a的映射关系矩阵f(对应上述目标矩阵)。其中,映射关系矩阵f的大小为m*m,即映射关系矩阵f共包括n个数值,每个数值对应图像a的一个像素值。
[0074]
在一种可选的实施例中,图像加密系统可以通过预设函数依据第一初值和第二初值生成n个第一函数值和n个第二函数值,其中,第一初值和第二初值分别对应预设函数中的不同参数,第一函数值与第二函数值存在数学关联关系。随后,图像加密系统将n个第一
函数值作为第一混沌序列,并将n个第二函数值作为第二混沌序列。
[0075]
可选地,预设函数可以是如下公式(4)。
[0076][0077]
其中,a和b为控制参数。当a=1.4、b=0.3时,系统工作于混沌状态,公式(4)也可以称为h
é
non映射的混沌动力学方程。
[0078]
需要说明的是,上述的第一初值可以用x1(0)表示,第二初值可以用y1(0),第一初值与公式(4)中的xn相对应,第二初值与公式(4)中的yn相对应。
[0079]
可选地,图像加密系统可以依据公式(4)对第一初值x1(0)和第二初值y1(0)的h
é
non映射进行多次迭代,例如,在n为100时,通过迭代2100次,得到2100个第一函数值(对应x
n 1
)和2100个第二函数值(对应y
n 1
),然后去除前2000个第一函数值和前2000个第二函数值,并将剩余的100个第一函数值作为第一混沌序列x1,将剩余的100个第二函数值作为第二混沌序列y1。
[0080]
在一种可选的实施例中,图像加密系统还可以对第一混沌序列进行归一化处理,得到第五序列,其中,第五序列中的每个元素均在预设范围内。然后,图像加密系统将第一序列划分为第一数组和第二数组,其中,第一数组和第二数组分别包含第一序列中不同的元素。最后,图像加密系统根据第五序列、第一数组以及第二数组生成第三序列。
[0081]
进一步地,在n为偶数的情况下,图像加密系统将第一序列中的前p个元素作为第一数组,将第一序列中的后p个元素作为第二数组,其中,p=n/2;在n为奇数的情况下,图像加密系统将第一序列中的前k个元素作为第一数组,将第一序列中除前k个元素之外的元素作为第二数组,k=(n 1)/2。
[0082]
可选地,图像加密系统可以对第一混沌序列进行归一化处理,例如,将第一混沌序列的各个元素归一化处理为均在预设范围[0,255]之内。其中,归一化函数方程如公式(5)。
[0083]
x
′
(i)=mod(βx(i),256),(i=1,2,...,m2)(5)
[0084]
其中,公式(5)中的x(i)为待处理数据;β为控制因子;x
′
(i)为处理后数据。
[0085]
进一步地,归一化处理后的第一混沌序列为第五序列。
[0086]
此外,在将第一序列划分为第一数组和第二数组时,如果n为偶数,则图像加密系统可以将第一序列划分为第一数组a(j)(j=1,2,...,p)与第二数组b(u)(k=p 1,p 2,...,n),其中,p=n/2。如果n为奇数,则图像加密系统可以将第一序列划分为第一数组c(j)(j=1,2,...,k)与第二数组b(u)(k=k 1,k 2,...,n),其中,k=(n 1)/2。
[0087]
需要注意到的是,在一种可选的实施例中,图像加密系统还可以对第二混沌序列进行归一化处理,得到第六序列,其中,第六序列中的每个元素均在预设范围内。然后,图像加密系统将第二序列划分为第三数组和第四数组,其中,第三数组和第四数组分别包含第二序列中不同的元素。最后,图像加密系统根据第六序列、第三数组以及第四数组生成第四序列。
[0088]
进一步地,在n为偶数的情况下,图像加密系统将第二序列中的前p个元素作为第三数组,将第二序列中的后p个元素作为第四数组,其中,p=n/2;在n为奇数的情况下,图像加密系统将第二序列中的前k个元素作为第三数组,将第二序列中除前k个元素之外的元素作为第四数组,k=(n 1)/2。
[0089]
举例而言,如果n为偶数,则图像加密系统可以将第二序列划分为第三数组c(j)(j=1,2,...,p)与第四数组d(u)(k=p 1,p 2,...,n),其中,p=n/2。如果n为奇数,则图像加密系统可以将第二序列划分为第三数组c(j)(j=1,2,...,k)与第四数组d(u)(k=k 1,k 2,...,n),其中,k=(n 1)/2。
[0090]
在一种可选的实施例中,图像加密系统可以根据第五序列将第一数组转换为第一矩阵,并将第二数组转换为第二矩阵,其中,第一矩阵和第二矩阵中的数值均为预设数值区间内的一个整数,第一矩阵中的每个整数值与第一数组中的一个元素相对应,第二矩阵中的每个整数值与第二数组中的一个元素相对应。随后,图像加密系统依据预设的编码规则将第一矩阵中的每个整数值转换为一个第一子编码字符串,并依据编码规则将第二矩阵中的每个整数值转换为一个第二子编码字符串。最后,图像加密系统依据第一矩阵对应的所有第一子编码字符串和第二矩阵对应的所有第二子编码字符串生成第三序列。
[0091]
可选地,上述的预设数值区间为[1,8],以第五序列与第一混沌序列x1相同、第一数组为第一数组为a(j)、第二数组为b(u)为例,通过以下公式(6)得到第一矩阵和第二矩阵。
[0092][0092][0093]
需要说明的是,通过相同的操作,图像加密系统可以根据第六序列将第三数组转换为第三矩阵,并将第四数组转换为第四矩阵,其中,第三矩阵和第四矩阵中的数值均为预设数值区间内的一个整数,第三矩阵中的每个整数值与第三数组中的一个元素相对应,第四矩阵中的每个整数值与第四数组中的一个元素相对应。
[0094]
进一步地,为了依据预设的编码规则将第一矩阵中的每个整数值转换为一个第一子编码字符串,图像加密系统将第一矩阵中的每个整数值转换为j个二进制字符,其中,j为正整数,然后,图像加密系统根据编码规则确定j个二进制字符中的每个二进制字符对应的预设编码,得到每个整数值对应的j个预设编码,并最终根据每个整数值对应的j个预设编码生成该整数值对应的第一子编码字符串。
[0095]
可选地,上述预设的编码规则为dna编码规则,其来源于dna碱基配对规则,预设编码a和预设编码t互补,预设编码g和预设编码c配对。
[0096]
依据dna编码规则,图像加密系统首先将第一矩阵中的整数值转换为二进制字符,随后每两位二进制用一个dna编码值(a、t、g、c)表示。考虑到二进制中0与1互相补码,用二进制数00,01,10,11表示dna序列a、t、g、c,符合watson-crick规则的有8种,具体如图6所示。举例而言,若规定用00表示a、11表示t、01表示c和10表示g,则数值183转化为二进制为10110111,按照dna编码规则进行dna编码结果为:gtct。
[0097]
需要说明的是,图像加密系统还可以依据编码规则将第二矩阵中的每个整数值转换为一个第二子编码字符串,并依据第一矩阵对应的所有第一子编码字符串和第二矩阵对应的所有第二子编码字符串生成第三序列。
[0098]
进一步地,图像加密系统还可以依据预设的编码规则将第三矩阵中的每个整数值转换为一个第三子编码字符串;依据编码规则将第四矩阵中的每个整数值转换为一个第四子编码字符串;依据第三矩阵对应的所有第三子编码字符串和第四矩阵对应的所有第四子编码字符串生成第四序列。
[0099]
在一种可选的实施例中,为了依据第一矩阵对应的所有第一子编码字符串和第二矩阵对应的所有第二子编码字符串生成第三序列,图像加密系统还依据第五序列通过第一变换规则对第一矩阵对应的每个第一子编码字符串进行字符串变换,得到第一矩阵对应的第一目标编码字符串,然后依据第五序列通过第二变换规则对第二矩阵对应的每个第二子编码字符串进行字符串变换,得到第二矩阵对应的第二目标编码字符串,其中,第一变换规则与第二变换规则针对同一个子编码字符串的变换方式不同。最后,图像加密系统依据第一矩阵对应的第一目标编码字符串以及第二矩阵对应的第二目标编码字符串生成第三序列。
[0100]
可选地,第一变换规则还可以称为dna加法运算规则、第二变换规则还可以称为dna减法运算规则,图7是根据本技术实施例的一种可选的dna加法运算规则的示意图,如图7所示,如果第i个第一子编码字符串为agct、第五序列中的第i个元素经过dna编码规则转换后对应的编码字符串为acgt,则根据图7示出的dna加法运算规则,agct和acgt对应相加后为attg(a a=a、g c=t、c g=t、t t=g)。
[0101]
进一步地,图8是根据本技术实施例的一种可选的dna减法运算规则的示意图,如图8所示,如果第二子编码字符串为agct、该第二子编码字符串与第五序列中的第v个元素相对应,该第v个元素经过dna编码规则转换后对应的编码字符串也为acgt,则根据图8示出的dna减法运算规则,agct和acgt对应相加后为atca(a-a=a、g-c=t、c-g=c、t-t=a)。
[0102]
最后,图像加密系统将第一矩阵对应的所有第三子编码字符串以及第二矩阵对应的所有第四子编码字符串组合生成第三序列。
[0103]
需要说明的是,图像管理系统还可以依据第六序列通过第一变换规则对第三矩阵对应的每个第三子编码字符串进行字符串变换,得到第三矩阵对应的第三目标编码字符串;依据第六序列通过第二变换规则对第四矩阵对应的每个第四子编码字符串进行字符串变换,得到第四矩阵对应的第四目标编码字符串;依据第三矩阵对应的第三目标编码字符串以及第四矩阵对应的第四目标编码字符串生成第四序列。
[0104]
在一种可选的实施例中,图像加密系统还将第三序列转换为与目标矩阵的矩阵维度数量相同的第三矩阵,并将第四序列转换为与目标矩阵的矩阵维度数量相同的第四矩阵。然后,图像加密系统通过对称加密算法将预设函数、第一初值以及第二初值加密为第一密文,其中,第一密文对应的对称密钥为第一对称密钥。进一步地,图像加密系统通过非对称加密算法对第一对称密钥进行公钥加密,得到第二密文,并依据第三矩阵、第四矩阵、第一密文以及第二密文生成加密信息。
[0105]
可选地,将第三序列记为s1、第四序列记为s2,图像加密系统将s1转换成大小为m*m的第三矩阵a
′
,即为置乱加密后的图像;将s2恢复成大小为m*m的第四矩阵f
′
,即为置乱加密后的映射关系矩阵。
[0106]
进一步地,图像加密系统使用sm4对称加密算法将各项置乱参数(a,b,β,x1(0),y1(0))=p作为明文进行加密,得到第一密文r,其中,a,b为预设函数的控制参数,β为归一化函数方程的控制因子,x1(0),y1(0)分别为第一初值和第二初值。
[0107]
进一步地,图像加密系统使用sm2非对称加密算法对sm4的对称密钥(即第一对称秘钥)进行公钥加密,得到sm4密钥密文q,并最终图像加密系统将置乱加密图像a
′
、置乱加密映射关系矩阵f
′
和密文r和q作为加密信息进行传输。
[0108]
在一种可选的实施例中,在依据第三矩阵、第四矩阵、第一密文以及第二密文生成加密信息之后,图像加密系统还可以通过非对称加密算法的私钥对加密信息中的第二密文进行解密,得到第一对称密钥;通过第一对称密钥对加密信息中的第一密文进行解密,得到预设函数、第一初值以及第二初值;通过预设函数、第一初值以及第二初值对第三矩阵和第四矩阵进行逆变换,得到第一图像和目标矩阵;依据目标矩阵将第一图像转换为第三图像,其中,第三图像的图像分辨率大于第一图像的图像分辨率。
[0109]
可选地,图像加密系统可利用sm2算法的私钥对sm4对称密钥密文q进行解密,得到sm4的对称密钥,然后利用sm4对称密钥对密文r进行解密,得到各项置乱参数(a,b,β,x1(0),y1(0))=p。最后,图像加密系统利用置乱参数p对置乱加密图像a
′
和映射关系f
′
进行逆变换与逆操作,获得原始图像a和映射关系矩阵f,然后利用深度学习获得的映射关系矩阵f对图像a进行分辨率增强,得到第三图像。
[0110]
由上述内容可知,本技术通过获取待加密的第一图像和目标矩阵,分别将第一图像和目标矩阵随机排序为第一序列、第二序列,从而打乱了图像像素值和矩阵数值的顺序。随后将第一序列转换为第三序列、将第二序列转换为第四序列,实现了将乱序后的图像像素值和矩阵数值加密为编码字符串,从而达到了对第一图像和目标矩阵分别加密的目的。此外,由于目标矩阵可以增强第一图像的图像分辨率,因此,本技术不需要额外提供图像处理算法对第一图像进行防失真处理,加密信息的接收方可以依据目标矩阵实现对第一图像的分辨率增强。
[0111]
由此可见,本技术实现了在兼顾对图像进行加密的同时,避免使用额外的图像处理算法的目的,从而降低了计算机的运行负担,缩短了图像的加密时长,提高了图像加密效率,进而解决了现有技术中对图像进行加密时存在的图像加密效率低的技术问题。
[0112]
实施例2
[0113]
本实施例提供了一种可选的图像加密装置,该图像加密装置中的各个实施单元对应于实施例一中各个实施步骤。
[0114]
图9是根据本技术实施例提供的一种可选的图像加密装置的示意图,如图9所示,包括:获取单元901、排序单元902、第一转换单元903、第二转换单元904以及生成单元905。
[0115]
获取单元901,用于获取待加密的第一图像和目标矩阵,其中,目标矩阵用于增强第一图像的图像分辨率,第一图像对应n个像素值,目标矩阵包括n个数值,目标矩阵中的每个数值与n个像素值中的一个像素值相对应;排序单元902,用于将第一图像对应的n个像素值随机排序为第一序列,并将目标矩阵中的n个数值随机排序为第二序列;第一转换单元903,用于将第一序列转换为第三序列,其中,第三序列由n个第一编码字符串组成,每个第一编码字符串由第一序列中的一个像素值转换得到;第二转换单元904,用于将第二序列转换为第四序列,其中,第四序列由n个第二编码字符串组成,每个第二编码字符串由第二序列中的一个数值转换得到;生成单元905,用于依据第三序列和第四序列生成第一图像对应的加密信息。
[0116]
可选地,获取单元包括:第一获取子单元和第一生成子单元。其中,第一获取子单元,用于获取待加密的第一图像以及第一图像对应的第二图像,其中,第二图像的分辨率低于第一图像的分辨率,第一图像和第二图像均对应n个像素值;第一生成子单元,用于依据n个第一像素值与n个第二像素值生成目标矩阵,其中,目标矩阵中的每个数值用于表征一个
第一像素值与一个第二像素值的映射关系,第一像素值为第一图像对应的一个像素值,第二像素值为第二图像中与第一像素值相对应的像素值。
[0117]
可选地,图像加密装置还包括:第一生成单元、第一函数值处理单元以及第二函数值处理单元。其中,第一生成单元,用于通过预设函数依据第一初值和第二初值生成n个第一函数值和n个第二函数值,其中,第一初值和第二初值分别对应预设函数中的不同参数,第一函数值与第二函数值存在数学关联关系;第一函数值处理单元,用于将n个第一函数值作为第一混沌序列;第二函数值处理单元,用于将n个第二函数值作为第二混沌序列。
[0118]
可选地,第一转换单元包括:归一化处理子单元、数组划分子单元以及第二生成子单元。其中,归一化处理子单元,用于对第一混沌序列进行归一化处理,得到第五序列,其中,第五序列中的每个元素均在预设范围内;数组划分子单元,用于将第一序列划分为第一数组和第二数组,其中,第一数组和第二数组分别包含第一序列中不同的元素;第二生成子单元,用于根据第五序列、第一数组以及第二数组生成第三序列。
[0119]
可选地,数组划分子单元包括:第一处理模块和第二处理模块。其中,第一处理模块,用于在n为偶数的情况下,将第一序列中的前p个元素作为第一数组,将第一序列中的后p个元素作为第二数组,其中,p=n/2;第二处理模块,用于在n为奇数的情况下,将第一序列中的前k个元素作为第一数组,将第一序列中除前k个元素之外的元素作为第二数组,k=(n 1)/2。
[0120]
可选地,第二生成子单元包括:矩阵转换模块、第三处理模块、第四处理模块以及第一生成模块。其中,矩阵转换模块,用于根据第五序列将第一数组转换为第一矩阵,并将第二数组转换为第二矩阵,其中,第一矩阵和第二矩阵中的数值均为预设数值区间内的一个整数,第一矩阵中的每个整数值与第一数组中的一个元素相对应,第二矩阵中的每个整数值与第二数组中的一个元素相对应;第三处理模块,用于依据预设的编码规则将第一矩阵中的每个整数值转换为一个第一子编码字符串;第四处理模块,用于依据编码规则将第二矩阵中的每个整数值转换为一个第二子编码字符串;第一生成模块,用于依据第一矩阵对应的所有第一子编码字符串和第二矩阵对应的所有第二子编码字符串生成第三序列。
[0121]
可选地,第三处理模块包括:字符转换子模块、第一确定子模块、第一生成子模块。其中,字符转换子模块,用于将第一矩阵中的每个整数值转换为j个二进制字符,其中,j为正整数;第一确定子模块,用于根据编码规则确定j个二进制字符中的每个二进制字符对应的预设编码,得到每个整数值对应的j个预设编码;第一生成子模块,用于根据每个整数值对应的j个预设编码生成该整数值对应的第一子编码字符串。
[0122]
可选地,第一生成模块包括:第一处理子模块、第二处理子模块以及第二生成子模块。其中,第一处理子模块,用于依据第五序列通过第一变换规则对第一矩阵对应的每个第一子编码字符串进行字符串变换,得到第一矩阵对应的第一目标编码字符串;第二处理子模块,用于依据第五序列通过第二变换规则对第二矩阵对应的每个第二子编码字符串进行字符串变换,得到第二矩阵对应的第二目标编码字符串,其中,第一变换规则与第二变换规则针对同一个子编码字符串的变换方式不同;第二生成子模块,用于依据第一矩阵对应的第一目标编码字符串以及第二矩阵对应的第二目标编码字符串生成第三序列。
[0123]
可选地,生成单元包括:第三序列转换子单元、第一加密子单元、第二加密子单元、第三生成子单元。其中,第三序列转换子单元,用于将第三序列转换为与目标矩阵的矩阵维
度数量相同的第三矩阵,并将第四序列转换为与目标矩阵的矩阵维度数量相同的第四矩阵;第一加密子单元,用于通过对称加密算法将预设函数、第一初值以及第二初值加密为第一密文,其中,第一密文对应的对称密钥为第一对称密钥;第二加密子单元,用于通过非对称加密算法对第一对称密钥进行公钥加密,得到第二密文;第三生成子单元,用于依据第三矩阵、第四矩阵、第一密文以及第二密文生成加密信息。
[0124]
可选地,图像加密装置包括:第一解密单元、第二解密单元、逆变换单元以及图像转换单元。其中,第一解密单元,用于通过非对称加密算法的私钥对加密信息中的第二密文进行解密,得到第一对称密钥;第二解密单元,用于通过第一对称密钥对加密信息中的第一密文进行解密,得到预设函数、第一初值以及第二初值;逆变换单元,用于通过预设函数、第一初值以及第二初值对第三矩阵和第四矩阵进行逆变换,得到第一图像和目标矩阵;图像转换单元,用于依据目标矩阵将第一图像转换为第三图像,其中,第三图像的图像分辨率大于第一图像的图像分辨率。
[0125]
实施例3
[0126]
根据本技术实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述实施例1中的图像加密方法。
[0127]
实施例4
[0128]
根据本技术实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述实施例1中的图像加密方法。
[0129]
图10是根据本技术实施例提供的一种电子设备的示意图,如图10所示,本技术实施例提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例1中的图像加密方法。
[0130]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0131]
在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0132]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0133]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0134]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0135]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可
以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0136]
以上仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。