利用矩阵密钥的图像加解密传输方法和电子设备转让专利

申请号 : CN202310053159.9

文献号 : CN115834791B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘昊天刘冲赵峰徐莉萍

申请人 : 徐工汉云技术股份有限公司

摘要 :

本申请提供了一种利用矩阵密钥的图像加解密传输方法和电子设备,该加密传输方法包括:获取用户终端发送的针对第一图像的传输请求,所述传输请求中包含用户标识;当所述第一图像相对于所述用户标识属于敏感内容时,生成与所述用户标识对应的3*3阶可逆矩阵密钥;将所述第一图像的每个像素的RGB值形成1*3阶矩阵,与所述矩阵密钥进行运算,形成第二图像;获取与所述第一图像相匹配的第三图像;将所述第二图像中的像素信息隐藏至所述第三图像中,形成第四图像及可用做对所述第四图像进行解密的密钥的图像标识;将所述第四图像传输至所述用户终端进行保存。本申请可以在不需要占用电子设备过多的计算资源的情况下,达到很好的信息保密传输的效果。

权利要求 :

1.一种利用矩阵密钥的图像加密传输方法,其特征在于,所述方法包括:获取用户终端发送的针对第一图像的传输请求,所述传输请求中包含用户标识;

当所述第一图像相对于所述用户标识属于敏感内容时,生成与所述用户标识对应的3*

3阶可逆矩阵密钥,包括:接收所述用户终端发送的固定值,根据所述固定值生成所述矩阵密钥,所述固定值为用户在所述用户终端上输入的数值,所述矩阵密钥中的每行元素的之和为所述固定值;

将所述第一图像的每个像素的RGB值形成1*3阶矩阵,与所述矩阵密钥进行运算,形成第二图像;

获取与所述第一图像相匹配的第三图像;

将所述第二图像中的像素信息隐藏至所述第三图像中,形成第四图像及可用做对所述第四图像进行解密的密钥的图像标识;

将所述第四图像传输至所述用户终端进行保存。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:检测传输所述第一图像所需要的权限是否超过所述用户标识对应的权限;和/或检测所述用户终端的当前操作环境是否属于非安全环境;

当任意一项检测结果为是时,判定所述第一图像相对于所述用户标识属于敏感内容。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:当检测到与所述用户标识相匹配的登录账号在预设时间段内输入错误的次数超过预设次数阈值时,和/或当检测所述用户终端不属于与所述用户标识对应的常用设备时,判定所述用户终端的当前操作环境属于非安全环境。

4.根据权利要求1所述的方法,其特征在于,所述将所述第一图像的每个像素的RGB值形成1*3阶矩阵,与所述矩阵密钥进行运算,形成第二图像,包括:将所述第一图像的每个像素的RGB值形成1*3阶矩阵,并与所述矩阵密钥相乘,得到新的1*3阶矩阵;

将所述新的1*3阶矩阵三个元素分别除以所述固定值并取整,将得到结果作为所述第二图像对应像素的RGB值。

5.根据权利要求1所述的方法,其特征在于,所述获取与所述第一图像相匹配的第三图像,包括:从预设图像库中获取与所述第一图像相似度最高的图像作为所述第三图像,且所述第三图像的尺寸大于所述第一图像的尺寸。

6.一种利用矩阵密钥的图像解密传输方法,其特征在于,所述方法包括:获取由用户终端发送的图像显示请求,所述请求中包含用户标识和待展示图像的图像标识,所述待展示图像为根据权利要求1至5中任一项所述的方法所保存的第四图像;

基于所述图像标识确定出用于解密所述待展示图像的矩阵密钥的逆矩阵和第三图像;

基于所述第三图像从所述第四图像中分离出第二图像;

根据所述逆矩阵对所述第二图像进行解密,得到第一图像;

检测所述用户标识是否具有访问所述第一图像的权限,若是,将所述第一图像在所述用户终端上进行显示。

7.根据权利要求6所述的方法,其特征在于,当所述用户标识不具有访问所述第一图像的权限时,将所述第三图像在所述用户终端上进行显示。

8.一种电子设备,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至7中任一项所述的方法。

9.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1至7中任一项所述的方法。

说明书 :

利用矩阵密钥的图像加解密传输方法和电子设备

技术领域

[0001] 本申请涉及信息安全技术领域,具体涉及一种利用矩阵密钥的图像加密传输方法、利用矩阵密钥的图像解密传输方法、存储介质和电子设备。

背景技术

[0002] 随着互联网技术与通讯技术的快速发展,大量的图像数据在网络和通讯中传输与储存,然而互联网在提供信息共享的方便时,也存在着大量数据被泄露、篡改、盗用等情况。保证信息的安全性,已成为互联网技术研究的重要方向。图像数据是人类信息的重要载体,对图像数据的保护,研究图像加密技术,成了一项重要而紧迫的信息安全研究课题。
[0003] 对于图像加密,首先要考虑加密方式的安全性,其次也要考虑到该加密算法的复杂度和运算量。然而现有的一些图像加密方式一味地考虑加密方式的安全性,而完全不顾加密算法的复杂度和运算量,使得图像加密和解密需要耗费大量的计算资源。

发明内容

[0004] 有鉴于此,有必要提出一种利用矩阵密钥的图像加密传输方法、利用矩阵密钥的图像解密传输方法、存储介质和电子设备,以在保证信息传输的安全性的同时,尽量降低对系统计算资源的耗费。
[0005] 本申请第一方面,提供了一种利用矩阵密钥的图像加密传输方法,所述方法包括:
[0006] 获取用户终端发送的针对第一图像的传输请求,所述传输请求中包含用户标识;
[0007] 当所述第一图像相对于所述用户标识属于敏感内容时,生成与所述用户标识对应的3*3阶可逆矩阵密钥;
[0008] 将所述第一图像的每个像素的RGB值形成1*3阶矩阵,与所述矩阵密钥进行运算,形成第二图像;
[0009] 获取与所述第一图像相匹配的第三图像;
[0010] 将所述第二图像中的像素信息隐藏至所述第三图像中,形成第四图像及可用做对所述第四图像进行解密的密钥的图像标识;
[0011] 将所述第四图像传输至所述用户终端进行保存。
[0012] 在其中一个实施例中,所述方法还包括:
[0013] 检测传输所述第一图像所需要的权限是否超过所述用户标识对应的权限;和/或[0014] 检测所述用户终端的当前操作环境是否属于非安全环境;
[0015] 当任意一项检测结果为是时,判定所述第一图像相对于所述用户标识属于敏感内容。
[0016] 在其中一个实施例中,所述方法还包括:
[0017] 当检测到与所述用户标识相匹配的登录账号在预设时间段内输入错误的次数超过预设次数阈值时,和/或
[0018] 当检测所述用户终端不属于与所述用户标识对应的常用设备时,
[0019] 判定所述用户终端的当前操作环境属于非安全环境。
[0020] 在其中一个实施例中,所述矩阵密钥中的每行元素的之和为固定值,所述将所述第一图像的每个像素的RGB值形成1*3阶矩阵,与所述矩阵密钥进行运算,形成第二图像,包括:
[0021] 将所述第一图像的每个像素的RGB值形成1*3阶矩阵,并与所述矩阵密钥相乘,得到新的1*3阶矩阵;
[0022] 将所述新的1*3阶矩阵三个元素分别除以所述固定值并取整,将得到结果作为所述第二图像对应像素的RGB值。
[0023] 在其中一个实施例中,所述生成与所述用户标识对应的3*3阶可逆矩阵密钥,包括:
[0024] 接收所述用户终端发送的所述固定值,根据所述固定值生成所述矩阵密钥,所述固定值为用户在所述用户终端上输入的数值。
[0025] 在其中一个实施例中,所述获取与所述第一图像相匹配的第三图像,包括:
[0026] 从预设图像库中获取与所述第一图像相似度最高的图像作为所述第三图像,且所述第三图像的尺寸大于所述第一图像的尺寸。
[0027] 本申请第二方面,提供了一种利用矩阵密钥的图像解密传输方法,所述方法包括:
[0028] 获取由用户终端发送的图像显示请求,所述请求中包含用户标识和待展示图像的图像标识,所述待展示图像为根据本申请任一实施例中所述的方法所保存的第四图像;
[0029] 基于所述图像标识确定出用于解密所述待展示图像的矩阵密钥的逆矩阵和第三图像;
[0030] 基于所述第三图像从所述第四图像中分离出第二图像;
[0031] 根据所述逆矩阵对所述第二图像进行解密,得到第一图像;
[0032] 检测所述用户标识是否具有访问所述第一图像的权限,若是,将所述第一图像在所述用户终端上进行显示。
[0033] 在其中一个实施例中,当所述用户标识不具有访问所述第一图像的权限时,将所述第三图像在所述用户终端上进行显示。
[0034] 本申请第三方面,提供了一种电子设备,包括:
[0035] 一个或多个处理器;
[0036] 存储器,用于存储一个或多个程序,
[0037] 其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行本申请任一实施例中的方法。
[0038] 本申请第四方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行本申请任一实施例中的方法。
[0039] 上述的利用矩阵密钥的图像加密传输方法、利用矩阵密钥的图像解密传输方法、存储介质和电子设备,对于待传输的第一图像,首先利用矩阵密钥对其进行运算形成第二图像,再将第二图像中的像素信息隐藏至第三图像中,这样经过两次简单的处理,即不需要花费过多的计算资源,又可以很好的保证第一图像的安全性,可达到很好的信息保密效果。

附图说明

[0040] 图1为一个实施例中利用矩阵密钥的图像加密传输方法的应用场景图;
[0041] 图2为一个实施例中利用矩阵密钥的图像加密传输方法的流程示意图;
[0042] 图3为一个实施例中将第二图像中的像素信息隐藏至第三图像中的流程示意图;
[0043] 图4为另一个实施例中利用矩阵密钥的图像加密传输方法的流程示意图;
[0044] 图5为一个实施例中利用矩阵密钥的图像解密传输方法的流程示意图;
[0045] 图6为一个实施例中电子设备的内部结构图。

具体实施方式

[0046] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0047] 本申请所使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0048] 比如本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一图像称为第二图像,且类似地,可将第二图像称为第一图像。第一图像和第二图像两者都是图像,但其不是同一图像。
[0049] 再比如本申请所使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0050] 如图1所示,本申请中的图像加密传输方法和图像解密传输方法可应用于如图1所示的应用场景中。其中,用户可在其用户终端110上浏览由后台服务器120中提供的相关信息。比如可登录相应的平台账号,并进行相关的数据浏览与作业等。该服务器120上提供的部分数据可具有不同的敏感等级或需要一定的权限才能访问,在某些情况下,用户可通过一些系统漏洞绕开相关的权限审核,从而可在用户终端110上查看到对应的信息,并通过截屏或点击相应的数据保存操作,将该信息以图像的方式保存在本地。服务器120检测到该数据保存操作而触发的保存请求后,可获取对应待保存数据,并初步转化成第一图像,并对第一图像进行加密处理,形成第四图像传输到用户终端110进行保存。
[0051] 同时,当用户需要在其终端上对加密的第四图像进行打开时,可将该第四图像发送给后台服务器120,后台服务器120可基于与上述加密操作对应的解密操作,还原出对应的第一图像,并在检测到用户具备访问该第一图像的权限时,将第一图像提供给用户终端进行展示。通过上述加解密操作,避免了图像数据被轻易的泄露。
[0052] 在一个实施例中,如图2所示,提供了一种利用矩阵密钥的图像加密传输方法,该方法包括:
[0053] 步骤202,获取用户终端发送的针对第一图像的传输请求。
[0054] 本实施例中,该传输请求中包括用户标识,用户标识用于唯一识别用户的身份。传输请求可为将服务器上的图像传输到用户终端本地的请求。比如可为针对屏幕的截屏操作而触发的请求,也可为针对终端显示的信息进行图像下载的保存操作而触发的请求,也可为其他的操作方式而触发的保存请求。
[0055] 电子设备在获取到该传输请求后,可获取该请求对应的第一图像,该第一图像为待加密的原始图像。
[0056] 步骤204,生成与用户标识对应的3*3阶可逆矩阵密钥。
[0057] 本实施例中,电子设备预设了矩阵密钥的生成规则,基于该生成规则可生成对应的矩阵密钥。该矩阵密钥可为3*3阶的可逆矩阵,矩阵密钥为用于对第一图像进行加密的矩阵。所生成的矩阵密钥可与用户标识相关,使得不同的用户对应使用的矩阵密钥各不相同,从而让用户可拥有属于个人的加密方式。
[0058] 在一个实施例中,当第一图像相对于用户标识属于敏感内容时,执行步骤204。
[0059] 具体的,可检测传输第一图像所需要的权限是否超过用户标识对应的权限,和/或检测用户终端的当前操作环境是否属于非安全环境。当任意一项检测结果为是时,比如若识别为非安全环境,和/或该待保存数据具有一定的敏感性,则判定待保存数据相对于用户标识属于敏感内容,并执行步骤204。
[0060] 其中,该第一图像中的内容可能为具有一定敏感性的内容,其需要具备一定的权限才能进行显示或保存、传输等操作,故而电子设备可基于该用户标识获取用户的权限,并比较保存该第一图像所需要的权限与用户的权限的高低,若检测不满足该权限,则执行步骤204。
[0061] 本实施例中,当用户的权限不足时,说明该用户是通过非常规途径对第一图像进行的保存,可能是绕开了系统的检测,此时阻拦用户的保存可能起不到效果,故继续执行步骤204。
[0062] 在一个实施例中,当检测到与用户标识相匹配的登录账号在预设时间段内输入错误的次数超过预设次数阈值时,和/或当检测用户终端不属于与用户标识对应的常用设备时,判定用户终端的当前操作环境属于非安全环境。
[0063] 可检测该用户的登录账号和密码在预设时间段内是否产生过异常,和/或检测登录该用户信息的设备是否属于非常用设备,若其中一项为是,或者均为是,则判定用户终端的当前操作环境属于非安全环境,进而可以判定待保存数据相对于用户标识属于敏感内容,并执行步骤204。
[0064] 其中,该异常可为在预设时间段内是否连续产生过预设次数以上的密码输入错误的情况发生。预设时间段可为最近一天内、一周内或3小时内等任意合适的时长,预设次数可为3次、5次、8次等任意合适的次数。
[0065] 步骤206,将第一图像的每个像素的RGB值形成1*3阶矩阵,与矩阵密钥进行运算,形成第二图像。
[0066] 其中,第一图像中的每个像素包括RGB值,即R值、G值和B值,电子设备可以将该RGB值放入一个1*3阶矩阵中,该矩阵中的三个元素分别表示对应位置的像素的R值、G值和B值。
[0067] 矩阵与矩阵密钥的运算可为任意合适的矩阵运算,形成新的1*3阶矩阵,所形成的新的矩阵中的元素的值,可为第二图像中,对应的像素的RGB值。即第一图像中的每个像素经过上述运算后,可得到第二图像中的对应的像素。
[0068] 其中,矩阵与矩阵密钥的运算方式可为两个矩阵相乘或者相除等任意合适的运算。
[0069] 其中,所形成的第二图像的尺寸与第一图像的尺寸相同,第二图像中的像素即为第一图像中的对应位置处的像素被加密后的值。
[0070] 步骤208,获取与第一图像相匹配的第三图像。
[0071] 本实施例中,第三图像为用于与第二图像进行融合的图像,电子设备中预设了第三图像的图像库,可从该图像库中选取合适的图像作为与第一图像相匹配的第三图像。
[0072] 具体地,与第一图像相匹配的第三图像可为与第一图像具有一定相似度的图像,这样,在融合第二图像的时候,可以使得不清楚第一图像的用户认为对应的第三图像即为所需要的图像,从而提高了第一图像中的信息的隐蔽性。
[0073] 其中,电子设备可以计算第一图像与图像库中的每个图像的相似度,并选取相似度最高的图像作为第三图像。处于图像库中的图像可为可公开的图像。
[0074] 在一个实施例中,从预设图像库中获取与第一图像相似度最高的图像作为第三图像,且第三图像的尺寸大于第一图像的尺寸。
[0075] 其中,图像的尺寸表示图像中的像素的数量的大小,第一图像的吃存和第三图像的尺寸并不相同。其中,所选出来的第三图像的像素数量多于第一图像的像素数量。比如第一图像的尺寸是m0*n0,则第三图像的尺寸则为m1*n1,其中,m1*n1>m0*n0。比如可设置m1≥2m0,n1≥2n0。
[0076] 第二图像的尺寸与第一图像的尺寸相同,第四图像的尺寸与第三图像的尺寸相同。最终形成的第四图像中,并非每个位置的像素点中均融合有第一图像的像素信息,从而进一步加强了对第一图像的隐蔽性。
[0077] 第三图像的图像库中存储有多个用于与需要进行图像融合的第三图像,该图像具有多种不同的尺寸。可选地,每种相同尺寸的图像的数量也具有多个。电子设备可以基于第一图像的尺寸来确定需要选取的第三图像的尺寸。具体的,可以设定第三图像的尺寸为第一图像的尺寸的2倍以上,则电子设备可以确定出需要选取的第三图像的尺寸。
[0078] 在确定了第三图像的尺寸之后,可以从该图像库中选取与第一图像的相似度最高的一幅,将其作为用于与第二图像进行融合的图像。
[0079] 其中,电子设备可以计算具有合适的尺寸的图像与该第一图像的相似度,从而选取出最高相速度的图像作为第三图像。还可以根据该用户的图像保存操作来确定对应的需要选取的第三图像,进而将该图像作为第三图像。
[0080] 比如说,该第一图像是系统某个功能单元下的用户信息表,则电子设备可以从该图像库中选取与该功能单元下的用户信息表相接近的尺寸大于第一图像的尺寸的图像,将其作为第三图像。其中,选取的第三图像可为专门设立的用于与该功能单元下的第一图像进行融合的图像。
[0081] 上述方法中,通过进一步选取与第一图像相似度高的第三图像来与第二图像进行融合,使得最终生成的第四图像与第一图像也比较接近,这样,不清楚该第四图像为经过处理后的图像的人员,可能直接将该第四图像作为第一图像,从而可以进一步提高第一图像中的数据的安全性。
[0082] 步骤210,将第二图像中的像素信息隐藏至第三图像中,形成第四图像及可用做对第四图像进行解密的密钥的图像标识。
[0083] 本实施例中,可将第二图像中的像素A与第三图像中对应的像素B进行叠加,形成第四图像中对应的像素。其中,该叠加可为加权求和,像素A和像素B可为图像中的相同位置的像素,也可为不同位置的像素。
[0084] 具体地,可确定第二图像中的像素与第三图像中进行融合的像素,基于所确定的像素进行融合。比如所确定的像素为相同位置的像素,将两者进行加权求和,将求和得到的像素值作为第四图像对应位置处的像素值。
[0085] 其中,两者的权值可以根据情况设置成任意合适的归一化数值,比如可以将权值均设置为0.5,或者将第二图像的权值设为0.3,而第三图像的权值设置为0.7。进一步地,第三图像的权值大于第二图像的权值,从而可以进一步隐藏第二图像的信息。
[0086] 在一个实施例中,可针对RGB值中的每个通道设置独立的权值,比如针对R值,设置第二图像和第三图像中的权值为c1和d1,针对G值,设置第二图像和第三图像中的权值为c2和d2,针对B值,设置第二图像和第三图像中的权值为c3和d3,其中,c1>d1,c2>d2,c3>d3。
[0087] 在生成了第四图像的同时,还可以基于上述的图像操作过程,形成用于对该第四图像进行相应解密的密钥,将该解密密钥作为该第四图像的图像标识。即还同时生成可用做对第四图像进行解密的密钥的图像标识。这样,电子设备在获取到该第四图像后,可以直接基于其图像标识还原出第一图像。
[0088] 步骤212,将第四图像传输至用户终端进行保存。
[0089] 本实施例中,将第四图像传输至用户终端进行保存。该用户终端可为识别到的发起图像保存操作的终端。
[0090] 电子设备在按照上述步骤完成对第一图像的处理之后,可将形成的第四图像从平台传输至用户终端,以在用户终端上对该第四图像进行保存。
[0091] 上述的利用矩阵密钥的图像加密传输方法,对于待传输的第一图像,首先利用矩阵密钥对其进行运算形成第二图像,再将第二图像中的像素信息隐藏至第三图像中,这样经过两次简单的处理,即不需要花费过多的计算资源,又可以很好的保证第一图像的安全性,可达到很好的信息保密效果。
[0092] 在一个实施例中,矩阵密钥中的每行元素的之和为固定值,步骤206包括:将第一图像的每个像素的RGB值形成1*3阶矩阵,并与矩阵密钥相乘,得到新的1*3阶矩阵;将新的1*3阶矩阵三个元素分别除以固定值并取整,将得到结果作为第二图像对应像素的RGB值。
[0093] 其中,矩阵密钥的每行元素之和为固定值,该固定值可为预设的固定值,还可为有用户自定义设置的任意固定值。
[0094] 在一个实施例中,接收用户终端发送的固定值,根据固定值生成矩阵密钥,固定值为用户在用户终端上输入的数值。
[0095] 用户终端上可提供输入固定值的界面,并获取用户所输出的固定值,将该固定值发送至电子设备,电子设备基于该固定值生成对应的矩阵密钥。举例来说,该固定值K可为6,则基于该固定值所生成的密钥矩阵A可为 。
[0096] 电子设备可以遍历读取第一图像中的像素,获得每个单个像素的RGB值,比如其中的一个像素的RGB值放入1*3阶矩阵B中为B=[253 86 104],将矩阵B与矩阵A进行相乘,得到新的1*3阶矩阵C。C=B*A=[1035 276 1347],再将该矩阵C除以上述的固定值K,并按照四舍五入取整,得到的R值、G值和B值分别为[R G B]=[173 46 225],该值即为第二图像中对应像素的RGB值。
[0097] 针对第一图像中的每个像素值都进行处理,从而最终形成了第二图像。
[0098] 在一个实施例中,将第二图像中的像素信息隐藏至第三图像中,包括:将第二图像中的处于位置(x,y)的像素信息隐藏至第三图像中处于位置(x’,y’)的像素信息中。其中,(x,y)与(x’,y’)不一定相等,(x,y)表示处于图像中第x行第y列的位置。
[0099] 本实施例中,电子设备可以计算出每个位置(x,y)与(x’,y’)之间的映射关系,基于对应的映射关系,可以确定每个第二图像中的像素需要与第三图像中的哪个像素进行融合。
[0100] 比如基于该映射关系,计算出(1,1)对应的位置为(2,3),则可以将第二图像中处于(1,1)位置的像素与第三图像中,处于(2,3)位置的像素进行融合。
[0101] 在一个实施例中,针对每个通道的像素值可单独设立对应的映射关系,第二图像中同一个位置下的不同通道的像素值与第三图像中相应通道的像素的位置不同。
[0102] 比如针对第二图像中的位置(x,y)的像素,其R值对应的位置是(x1,y1),G值对应的是(x2,y2),B值对应的是(x3,y3)。即将第二图像中处于(x,y)处的R值与第三图像中处于(x1,y1)处的R值进行融合,将第二图像中处于(x,y)处的G值与第三图像中处于(x2,y2)处的G值进行融合,将第二图像中处于(x,y)处的B值与第三图像中处于(x3,y3)处的B值进行融合。其中,该x1、x2和x3并不一定相同,y1、y2、y3也并不一定相同。
[0103] 本实施例中,通过进一步打乱第二图像与第三图像中的像素的融合的位置,可以进一步提高第一图像中的信息的安全性。
[0104] 在一个实施例中,如图3所示,将第二图像中的像素信息隐藏至第三图像中,包括:
[0105] 步骤302,获取对应的像素融合矩阵D。
[0106] 本实施例中,电子设备预设有对应的像素融合矩阵D,该像素融合矩阵用于计算相应通道中各位置处的像素与第三图像中的哪个位置的像素进行融合,即计算出对应的第三图像中的像素的位置信息。其中,相同位置的各个通道的像素的与第三图像中的待融合的像素的位置可以是相同的,也可以是不同的。当为相同位置时,该像素融合矩阵可为二维矩阵,当为不同位置时,该像素融合矩阵D为针对图像的所有通道综合设置的一个三维矩阵,其中一个维度用于体现对应的通道,另外两个维度用于体现对应位置的横纵坐标。图像的通道包括用于体现上述RGB值的R通道、G通道和B通道。
[0107] 步骤304,计算出与用户对应的像素融合参数e。
[0108] 电子设备还预设了相应的像素融合参数e,该参数e可以根据用户的信息来确定,比如可以根据用户的用户标识,按照一定的规则计算出融合参数e。其中,该参数e可为对应的数值,也可为相应的矩阵。可以理解地,不同的用户对应的像素融合参数e并不一定相同。
[0109] 步骤306,基于像素融合参数e和像素融合矩阵D计算第二图像中各通道下每个位置处的像素与第三图像中对应通道的待融合像素的位置。
[0110] 步骤308,将第二图像中各通道下每个位置处的像素与计算出来的第三图像对应通道的待融合像素的位置处的像素进行融合。
[0111] 具体的,电子设备可以按照预设的数学运算规则对参数e和矩阵D进行对应的运算,所运算出来的结果即可作为对应待融合像素的位置,并将该位置对相应的像素与第二图像中的像素进行融合。
[0112] 本实施例中,通过设置简单的融合矩阵D,再根据用户的信息计算出对应的融合参数e,基于融合矩阵D和融合参数e可以计算出第三图像中,与第二图像对应像素的进行融合的像素的位置。且由于融合参数e是根据用户的信息而计算出来的,这样,可以使得相同的第一图像在不同的用户进行保存操作时,对第二图像中的像素与第一图像中的像素进行融合的位置也是不一样的,进一步提高了图像传输过程的安全性。
[0113] 在一个实施例中,可将第二图像中的像素的位置信息(x,y)与融合参数e和像素融合矩阵D进行相乘,将得到的结果与一个合适的数值进行取余,从而得到对应像素的与第三图像中待融合像素的位置信息。
[0114] 举例来说,该融合矩阵D为三维矩阵,则其可为3*2*2的三维矩阵,其中3即为RGB三个通道的通道数。则基于该融合矩阵计算出来的第一维度的下的数值即为对应通道下的第一图像的像素与第三图像中待融合像素的位置信息。
[0115] 若该融合矩阵D为二维矩阵,并且每个通道下独立具有一个二维矩阵,则该二维矩阵可为2*2的二维矩阵,通过该二维矩阵计算出来的可为1*2的向量或2*1的向量,该向量的参数分别表示针对像素的行融合位置信息和列融合位置信息。
[0116] 若该融合矩阵D为二维矩阵,并且各个通道综合使用一个二维矩阵,则该二维矩阵可为k*k的二维矩阵,最终计算出来的结果可为一个k维向量,其每个维度表示一个通道下第一图像的像素与第三图像中待融合像素的位置信息。k为通道数,比如为3。
[0117] 若该融合矩阵D为一维矩阵,则其可为1*k或k*1的矩阵,各个通道综合使用该矩阵,同样地,计算出每个维度的数值为对应通道下第一图像的像素与第三图像中待融合像素的位置信息。
[0118] 在一个实施例中,可根据公式:(x’,y’)=e·(x,y)·D·mod(M,N)来计算出第三图像中,与第二图像对应位置(x,y)的像素进行融合的像素的位置(x’,y’)。
[0119] 其中,融合矩阵D为2×2矩阵,每个通道可对应设置不同的融合矩阵D,e可为根据用户信息计算出来的参数,比如可为0.1,1,2,2.5,10等任意合适的数值。x’为第三图像中待融合的像素所处的行位置,y’为第三图像中待融合的像素所处的列位置,x为第二图像中待融合的像素所处的行位置,y为第二图像中待融合的像素所处的列位置,mod(M,N)表示对计算出来的e·(x,y)·D中的第一个数值对M取余取整,对计算出来的e·(x,y)·D中的第二个数值对N取余取整,M和N为根据第三图像的尺寸而确定的大于0的参数。
[0120] 在一个实施例中,该M和N的数值可为根据最终选定的第三图像的尺寸来确定,比如直接将M取值为第三图像的行数量值,N取值为第三图像的列数量值。比如选定的第三图像的像素量为1000*2000,则该M为1000,N为2000。如果计算出来的e·(x,y)·D的某个数值为(1024.3,2058.2),则对应的e·(x,y)·D·mod(M,N)数值即为(24,58),即x’=24,y’=58,表示将第二图像中对应处于(x,y)位置的像素与第三图像中处于(24,58)位置的像素进行融合。
[0121] 举例来说,M为1000,N为2000。对于R通道,其对应的融合矩阵D为 ,e为1。
[0122] 则针对处于第1行第2列位置的像素点(即x为1,y为2),可计算出x’=3,y’=5,表示将第二图像中对应处于(1,2)位置的像素R值与第三图像中处于(3,5)位置的像素的R值进行融合。
[0123] 对于G通道,其对应的融合矩阵D为 ,e为2。
[0124] 则针对处于第1行第2列位置的像素点(即x为1,y为2),可计算出x’=3,y’=5,表示将第二图像中对应处于(1,2)位置的像素G值与第三图像中处于(6,14)位置的像素的G值进行融合。
[0125] 本实施例中,通过利用上述的公式,可以简单快速地确定第二图像中的每个通道下的每个像素,与第三图像中的对应通道下的融合像素的所处位置,并将两位置处的像素进行融合,既能提高安全性,又不过多占用计算资源。
[0126] 在一个实施例中,在步骤306之后,还包括:检测每个通道中,计算出来的第三图像中的待融合的位置上是否存在与第二图像进行融合的多个像素,若存在,则在第三图像中选取其他未与第二图像中的像素进行融合的像素。
[0127] 本实施例中,由于不同位置计算出来的待融合位置可能是相同的,如果将该第三图像中的待融合位置处的像素值会与第二图像中的多个位置处的像素值进行融合,则无法还原出第二图像中的像素。故电子设备还在完成第二图像中的所有像素点所在位置与第三图像中的待融合像素点的对应位置后,进一步检测计算出来相同通道下,第三图像中的待融合位置是否存在重复,如果存在重复,则将其调整至第三图像中其他处于未被融合的位置。
[0128] 具体地,可保持第一个占用了重复位置的像素的待融合位置不变,而将在后计算出来的对应第三图像中的重复位置的第二图像的像素,选择与第三图像中的重复位置最近的未被融合的位置的像素进行融合。
[0129] 举例来说,在计算出每个像素的融合位置之后,检测到存在某个通道下,第二图像中处于(x1,y1)、(x2,y2)位置下的像素点与第三图像中的待融合的像素点均处于(x1’,y1’)位置,则可以将排序在后的(x2,y2)与第三图像其他未被融合的位置进行融合,比如选择与(x2,y2)位置最接近的未被融合的(x2’,y2’)位置作为新的待融合位置处的像素值进行融合。
[0130] 在一个实施例中,如图4所示,提供了另一种利用矩阵密钥的图像加密传输方法,该方法包括:
[0131] 步骤402,获取用户终端发送的针对第一图像的传输请求。
[0132] 本实施例中,请求中包括用户标识。该数据保存请求可为针对系统中相关的图像进行的保存操作而触发的保存请求,也可以是针对系统中显示的其他信息进行截图操作而触发的保存请求。
[0133] 电子设备可基于该用户的保存请求,确定对应的待保存数据,进而将其转换成第一图像,如果该待保存数据为图像数据时,可直接将该图像数据作为第一图像。
[0134] 举例来说,用户终端正在请求下载MES系统(manufacturingexecution system)中的与某些相关工艺信息相关的图像数据。电子设备可获取该数据保存请求,该保存请求中包含用户标识,以及所需要访问的图像,该图像即为第一图像。
[0135] 步骤404,当第一图像相对于用户标识属于敏感内容时,接收用户终端发送的固定值,根据固定值生成3*3阶可逆矩阵密钥。
[0136] 本实施例中,固定值为用户在用户终端上输入的数值。用户终端可以提示该第一图像相对于用户而言存在敏感性,需要进行加密,并展示对应的固定值输入界面,接收用户所输入的固定值,将该固定值发送至电子设备。电子设备获取该固定值K,基于该固定值生成对应的3*3阶可逆矩阵密钥A,使得该矩阵密钥的每行元素之和等于该固定值。
[0137] 步骤406,将第一图像的每个像素的RGB值形成1*3阶矩阵,并与矩阵密钥相乘,得到新的1*3阶矩阵。
[0138] 电子设备可以将每个位置处像素的RGB值放入一个1*3阶矩阵B[RGB]中,并将运算B*A,将得到的矩阵作为新的1*3阶矩阵C。
[0139] 步骤408,将新的1*3阶矩阵三个元素分别除以固定值并取整,将得到结果作为第二图像对应像素的RGB值。
[0140] 针对计算出来的矩阵C,将其除以固定值K,并取整,得到的数值即为第二图像中对应位置的像素的RGB值。其中,第二图像的尺寸与第一图像相同。比如第一图像中处于(x,y)位置处的RGB值矩阵C,根据上述过程所计算出来的对应的RGB值矩阵D,再经过除以固定值并取整后,得到的新的RGB值则作为第二图像中同样处于(x,y)位置的像素值。
[0141] 步骤410,从预设图像库中获取与第一图像相似度最高的图像作为第三图像,且第三图像的尺寸大于第一图像的尺寸。
[0142] 优选地,第三图像的尺寸可为第一图像的尺寸的2倍以上,比如可为2倍、3倍、3.5倍、4倍等任意合适的数值。系统中的敏感图像数据是有限的,故而电子设备可针对每种敏感的第一图像,对应设置相应的第三图像,该第三图像与对应的敏感图像均具有一定的相似性。第三图像具有较大的尺寸,从而来更好地隐藏第一图像的数据。
[0143] 以上述的MES系统为例,电子设备可以预设多个与工艺流程相关的第三图像,第三图像可为不具有敏感性的真实的工艺流程图像,或者是加工处理后的虚假的工艺流程图像。当识别到第一图像为对应的工艺流程相关的图像时,则可从与该工艺流程相关的第三图像库中选取一幅与第一图像最相似的,且像素量大于第一图像的第三图像。
[0144] 步骤412,获取对应的像素融合矩阵D。
[0145] 优选地,电子设备可针对RGB通道下的每个通道设置对应的像素融合矩阵D。比如针对R通道下的像素的R值,其像素融合矩阵为D1,针对G通道下的像素的G值,其像素融合矩阵为D2,针对B通道下的像素的B值,设置对应的融合矩阵为D3。该三个矩阵可为2×2的方阵,但三个矩阵并不一定相同。
[0146] 其中该三个融合矩阵可为系统预设的固定的矩阵,也可为根据预设的矩阵生成模型而计算出来的矩阵,该模型可将用户标识作为输入,并进行运算而产生的三个矩阵。
[0147] 步骤414,计算出与用户对应的像素融合参数e。
[0148] 像素融合参数的确定也与用户标识相关,电子设备可根据上述的过程,确定出对应的融合参数。不同的用户标识所计算出来的像素融合参数不同,从而使得针对相同的图像所形成的第二图像也不同。这样,在不同的用户进行敏感图像获取时,其无法采用相同的破解手段进行破解。
[0149] 步骤416,根据公式(x’,y’)=b·(x,y)·A·mod(M,N)计算出对应通道下,第二图像中处于(x,y)位置下的像素值与第三图像中处于待融合的像素值所处的(x’,y’)位置。
[0150] 优选地,电子设备可以基于该公式计算出第二图像中每个通道的像素与第三图像中待融合像素的位置。其中,图像宽度M和图像高度N可为需要使用的第三图像的图像宽度和图像高度。
[0151] 举例来说,当确定出来的第三的尺寸为宽度M为2000,图像高度N为1000,针对其中的R通道,针对某个用户标识,所计算出来的像素融合参数b=2,对应的像素融合矩阵D1为。
[0152] 则针对处于第1行第2列位置的像素点(即x为1,y为2),可计算出x’为6,y’为10,即可将第二图像中处于(1,2)位置处的像素的R值与第三图像中处于(6,10)位置处的像素的R值进行融合。
[0153] 在一个实施例中,在步骤416之后,还包括:检测每个通道中,计算出来的第三图像中的待融合位置(x’,y’)是否对应第二图像中的多个像素的位置,若是,则选取第三图像中未被融合的位置作为与第二图像中的像素所对应的位置。
[0154] 本实施例中,基于上述公式所计算出来的像素的融合位置可能存在重复,当存在重复时,可按照预设的调整规则对其进行调整。
[0155] 比如可保持第二图像中,计算出来的第一个占用了第三图像中的重复位置的像素的位置不变,而将在后被计算出来的对应重复位置的像素,与第三图像中与该待融合位置最近的未被融合的位置处的像素进行融合,将其新选取的位置作为该第二图像中的像素值对应的融合位置。
[0156] 电子设备在完成第二图像中的其中一个像素与第三图像中的待融合像素的位置的确认之后,再读取第二图像中的下一个像素的信息,按照上述的方式进行计算,直至遍历万第二图像中的所有的像素。
[0157] 步骤418,将第二图像中各通道下每个位置处的像素与计算出来的第三图像对应通道的待融合像素的位置处的像素进行融合,形成第四图像及可用做对第四图像进行解密的密钥的图像标识。
[0158] 优选地,该计算出来的融合位置可为调整后的、不存在位置重复的待融合位置。这样,可以避免将第三图像中同一个像素与第二图像中的多个像素进行融合,造成无法解密的情况产生。
[0159] 电子设备可以设置第二图像和第三图像的融合权值,该融合权值可为归一化权值,且可设置第二图像的权值小于第三图像的权值,且各个通道的归一化权值可以独立设置。同一通道下,具有相同位置的像素点进行加权求和,将求和得到的像素值作为第四图像对应通道下的该位置处的像素值。
[0160] 两者的归一化权值可以根据情况设置成任意合适的数值,且第三图像的权值大于第二图像的权值,从而可以进一步隐藏第二图像的信息。
[0161] 步骤420,将第四图像传输至用户终端进行保存。
[0162] 本申请中的利用矩阵密钥的图像加密传输方法,通过首先设置矩阵密钥对第一图像进行第一层加密,形成第二图像,再选取尺寸大于第一图像尺寸的,且与第一图像最相似的图像作为第三图像,将第二图像中的像素值与第三图像进行融合,且两者融合的图像中的位置也并非处于相同的位置,可以进一步隐藏第一图像中的信息,提高了图像传输过程中的安全性。
[0163] 在一个实施例中,如图5所示,提供了一种利用矩阵密钥的图像解密传输方法,方法包括:
[0164] 步骤502,获取由用户终端发送的图像显示请求,请求中包含用户标识和待展示图像的图像标识。
[0165] 本实施例中,该待展示图像为根据本申请中任意实施例中的利用矩阵密钥的图像加密传输方法所保存的第四图像。该第四图像中的图像标识信息可以体现出其所对应采取的加密方式,比如上述的矩阵密钥、固定值、融合矩阵、融合参数等。电子设备可基于用户的图像打开操作来获取对应的待展示图像,进而获取其图像标识。
[0166] 具体的,电子设备在得到了该待展示图像时,基于该图像的图像标识信息,按照对应的计算规则,可以计算出其所采用的加密方式。比如可以基于预设的规则,计算出所采用的第三图像的图像标识,以及采用的矩阵密钥、融合矩阵、融合参数等需要解密出第一图像的相关信息。
[0167] 在一个实施例中,可预设对应的矩阵密钥库、融合参数库、融合矩阵库,与第三图像库类似地,第二图像与第三图像进行像素融合所采用的融合参数e和融合矩阵D均处于对应的融合参数库、融合矩阵库中,第一图像生成第二图像所采用的矩阵密钥也存在于对应的矩阵密钥库中。电子设备可以基于该待展示图像的图像标识计算出对应的第三图像的图像标识之后,通常还可以基于该标识直接得到对应的矩阵密钥A、融合参数e和融合矩阵D,或者可以得到该融合参数e和融合矩阵D分别在各自库中所处的位置,并基于该位置来提取出对应的融合参数e和融合矩阵D。
[0168] 步骤504,基于图像标识确定出用于解密待展示图像的矩阵密钥的逆矩阵和第三图像。
[0169] 本实施例中,在获知对应的矩阵密钥后,可计算出其对应的逆矩阵。同样地,在获知对应的融合矩阵之后,也可以计算出对应的逆矩阵。
[0170] 在得到待展示图像的图像标识之后,可以从第三图像库中获取对应的第三图像。
[0171] 步骤506,基于第三图像从第四图像中分离出第二图像。
[0172] 电子设备还预设了与融合位置相匹配的像素位置还原方式,在了解到该像素融合位置的方式的所有信息之后,可以基于该信息查询或计算出对应的像素位置还原方式,基于该像素位置还原方式还原出从第四图像中分离出第三图像之后的RGB值在第二图像中的位置,并进行还原,得到与该待展示图像对应的第二图像。
[0173] 电子设备可基于融合矩阵的逆矩阵、融合参数、权值和第三图像等,从第四图像中分离出第三图像和第二图像。
[0174] 可选地,电子设备可首先基于权值和第三图像,从其中分离出第三图像,再针对分离出的第三图像后的数据,按照对应的权值、逆矩阵和融合参数,还原出对应的RGB值,以及该每个RGB值在第二图像中所处的位置,进而最终可以还原出第二图像。
[0175] 步骤508,根据逆矩阵对第二图像进行解密,得到第一图像。
[0176] 在得到第二图像之后,可基于矩阵密钥的逆矩阵F对第二图像进行解密,形成第一图像。
[0177] 比如可将第二图像中的RGB值也放入一个1*3的矩阵中,分别乘以该逆矩阵F和对应的固定值K,得到的新的1*3阶矩阵,该矩阵中的元素分别为第一图像中的元素的RGB值。通过遍历第二图像中的每个元素的RGB值,还原出对应第一图像中的RGB值,从而还原出完整的第一图像。
[0178] 步骤510,检测用户标识是否具有访问第一图像的权限,若是,将第一图像在用户终端上进行显示。
[0179] 本实施例中,在得到第一图像之后,还需要进一步验证该用户是否具有访问第一图像的权限,在其具有第一图像的访问权限时,才将第一图像在用户终端进行显示。可以立即的,发起图像显示请求的用户与加密该第一图像的用户可能并非同一个用户。
[0180] 在一个实施例中,当用户标识不具有访问第一图像的权限时,将第三图像在用户终端上进行显示。
[0181] 其中,电子设备可以检测该第一图像中的信息的内容相对于该用户标识是否属于敏感内容,当不属于敏感内容时,判定具有访问权限,并显示第一图像。当属于敏感内容时,判定不具有访问权限,此时可显示第三图像。
[0182] 具体地,可以检测查阅该第一图像所需要的权限是否超过用户标识对应的权限;和/或检测用户终端的当前操作环境是否属于非安全环境;当任意一项检测结果为是时,判定待保存数据相对于用户标识属于敏感内容。
[0183] 进一步地,当检测到与用户标识相匹配的登录账号在预设时间段内输入错误的次数超过预设次数阈值时,和/或当检测用户终端不属于与用户标识对应的常用设备时,判定用户终端的当前操作环境属于非安全环境。
[0184] 举例来说,当某个用户A在平台上保存了通过本申请利用矩阵密钥的图像加密传输方法将图像A加密后所形成的图像B,并将该图像B发送给了用户B。如果用户B具有更高的权限,比如用户B为平台系统的管理人员,其具有查看将图像B还原出来的图像A的权限,则系统将解密还原出来的图像A进行显示。若该图像A相对于该用户A仍然为敏感图像,则在用户A的终端上所展示的可为用于加密图像A所采用的与图像A最相似的第三图像,而可以防止敏感信息的泄露。
[0185] 在比如说,用户A在非办公电脑上访问该图像A,系统检测到其属于敏感数据,则显示上述的第三图像,而在允许的工作电脑上访问该图像A,且用户A具有访问权限时,则可以显示解密后的图像A。
[0186] 本申请利用矩阵密钥的图像解密传输方法,通过采用与利用矩阵密钥的图像加密传输方法相适应的解密方式,从待展示图像中还原出对应的第一图像,该方法同样可以简单、快速且安全地对图像进行还原。
[0187] 在一个实施例中,在步骤504之前,还包括:获取用户输入的密钥信息,对密钥信息进行验证,在验证通过后,执行步骤504。
[0188] 本实施例中,电子设备在进行图像解密之前,还需要对用户进行验证,该密钥信息可为生成第四图像之前,所对应的密钥信息。该密钥信息可为图像的第一图像标识,也可为任意设置的合适的验证码。通过需要输入对应的密钥信息,可以进一步提高图像展示的安全性。其中,该验证码可为根据加密时所采用的用户标识所生成的验证码。这样,电子设备可以从该密钥信息中分析出对该加密图像进行加密时所使用的用户标识,基于所识别出来的用户标识和图像标识来确定具体的解密方式。
[0189] 在一个实施例中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述各方法实施例中的步骤。
[0190] 在一个实施例中,还提供了一种电子设备,包括一个或多个处理器;存储器,存储器中存储有一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述各方法实施例中的步骤。
[0191] 在一个实施例中,如图6所示,其示出了用于实现本申请的实施例的电子设备的结构示意图。电子设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。CPU 
601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线
604。
[0192] 以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
[0193] 特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,包括承载指令的在计算机可读介质,在这样的实施例中,该指令可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该指令被中央处理单元(CPU)601执行时,执行本申请中描述的各个方法步骤。
[0194] 尽管已经描述了示例实施例,但是对于本领域技术人员来说显而易见的是,在不脱离本申请构思的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解,上述示例实施例不是限制性的,而是说明性的。