发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种彩色图像加密方法,以实现操作简单、具有较高的安全性和较低的存储空间。
本发明的第二个目的在于提出一种彩色图像加密装置。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种彩色图像加密方法,包括:根据与待加密彩色图像中每个颜色通道的像素的坐标,生成与三个颜色通道对应的三元数矩阵;将所述三元数矩阵划分为互不重叠的多个矩阵块,并对所述多个矩阵块中的每个矩阵块进行离散三元数傅里叶变换,获取与所述每个矩阵块对应的频谱信息;对所有矩阵块的频谱信息组合,生成三元频谱矩阵,并提取所述三元频谱矩阵中的实部分量、第一虚部分量和第二虚部分量;对所述实部分量、所述第一虚部分量和所述第二虚部分量分别进行二维傅里叶变换后,获取与所述实部分量、所述第一虚部分量和所述第二虚部分量的实部分别对应的第一矩阵,以及与所述实部分量、所述第一虚部分量和所述第二虚部分量的虚部分别对应的第二矩阵;根据所述第一矩阵和所述第二矩阵确定加密图像。
在本发明的实施例中,所述将所述三元数矩阵划分为互不重叠的多个矩阵块,包括:将所述三元数矩阵划分互不重叠的2×2个矩阵块。
在本发明的实施例中,所述并对所述多个矩阵块中的每个矩阵块进行离散三元数傅里叶变换,获取与所述每个矩阵块对应的频谱信息,包括:使用离散三元数傅里叶变换的计算公式对所述多个矩阵块中的每个矩阵块计算,获取所述频谱信息,其中,所述计算公式为:
其中,(u,v)表示频域坐标,N×M为所述待加密彩色图像的尺寸信息,θ为秘钥,μ1,θ=i cosθ+j sinθ,i、j满足:i2=j,ij=ji=-1,j2=-i,Tθ(u,v)为所述频谱信息,(m,n)表示空间坐标。
在本发明的实施例中,所述根据所述第一矩阵和所述第二矩阵确定加密图像,包括:对所述第二矩阵进行水平和垂直镜像,获取与所述第二矩阵对应的第三矩阵;根据所述第一矩阵和所述第三矩阵获取所述加密图像。
在本发明的实施例中,所述根据所述第一矩阵和所述第三矩阵获取所述加密图像,包括:计算与所述第一矩阵和所述第三矩阵相加后的第四矩阵;根据所述第四矩阵获取所述加密图像。
本发明实施例彩色图像加密方法,该方法将彩色图像表示为三元数矩阵,实现了多个分量的整体表示与处理,并根据Fourier变换的对称性仅选择部分系数作为密文,具有较高的安全性和较低的存储空间,可应用于多媒体信息安全领域。
为达上述目的,本发明第二方面实施例提出了一种彩色图像加密装置,包括:生成模块,用于根据与待加密彩色图像中每个颜色通道的像素的坐标,生成与三个颜色通道对应的三元数矩阵;第一获取模块,用于将所述三元数矩阵划分为互不重叠的多个矩阵块,并对所述多个矩阵块中的每个矩阵块进行离散三元数傅里叶变换,获取与所述每个矩阵块对应的频谱信息;提取模块,用于对所有矩阵块的频谱信息组合,生成三元频谱矩阵,并提取所述三元频谱矩阵中的实部分量、第一虚部分量和第二虚部分量;第二获取模块,对所述实部分量、所述第一虚部分量和所述第二虚部分量分别进行二维傅里叶变换后,获取与所述实部分量、所述第一虚部分量和所述第二虚部分量的实部分别对应的第一矩阵,以及与所述实部分量、所述第一虚部分量和所述第二虚部分量的虚部分别对应的第二矩阵;确定模块,用于根据所述第一矩阵和所述第二矩阵确定加密图像。
本发明的实施例中,所述确定模块,包括:第一获取单元,用于对所述第二矩阵进行水平和垂直镜像,获取与所述第二矩阵对应的第三矩阵;第二获取单元,用于根据所述第一矩阵和所述第三矩阵获取所述加密图像。
本发明的实施例中,所述第二获取单元,具体用于计算与所述第一矩阵和所述第三矩阵相加后的第四矩阵。
本发明实施例彩色图像加密装置,通过生成模块、第一获取模块、提取模块、第二获取模块和确定模块,将彩色图像表示为三元数矩阵,实现了多个分量的整体表示与处理,并根据Fourier变换的对称性仅选择部分系数作为密文,具有较高的安全性和较低的存储空间,可应用于多媒体信息安全领域。
为达上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述第一方面实施例所述的彩色图像加密方法。
为了实现上述目的,本发明第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面实施例所述的彩色图像加密方法。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的彩色图像加密方法和装置。
图1为本发明实施例所提供的一种彩色图像加密方法的流程示意图。
针对上述实施例,本发明实施例提供了彩色图像加密方法,如图1所示,该彩色图像加密方法包括以下步骤:
步骤101,根据与待加密彩色图像中每个颜色通道的像素的坐标,生成与三个颜色通道对应的三元数矩阵。
具体的,将尺寸为N×M的彩色图像f(x,y)表示为三元数矩阵ft(x,y),如下公式(1)所示:
ft(x,y)=fR(x,y)+ifG(x,y)+jfB(x,y) 公式(1)
其中(x,y)表示空间坐标,且i、j满足:i2=j,ij=ji=-1,j2=-i;fR(x,y)、fG(x,y)和fB(x,y)分别对应彩色图像的红(R分量)、绿(G分量)、蓝(B分量)颜色分量,其中,三元数的三个分量正好与彩色图像的三个通道对应,输入为三个分量,输出也为三个分量,使用三元数表示彩色图像,实现了将彩色图像不同颜色通道同时编码。
步骤102,将三元数矩阵划分为互不重叠的多个矩阵块,并对多个矩阵块中的每个矩阵块进行离散三元数傅里叶变换,获取与每个矩阵块对应的频谱信息。
具体的,将三元数矩阵划分互不重叠的2×2个矩阵块,如下公式(2)所示:
其中(x',y')表示空间坐标,f
t,1(x,y)、f
t,2(x,y)、f
t,3(x,y)和f
t,4(x,y)为尺寸
的三元数矩阵。
进一步地,使用离散三元数傅里叶变换的计算公式对多个矩阵块中的每个矩阵块计算,获取频谱信息,作为一种可能实现的方式,当θ变化时可以得到不同的结果,比如给定参数θ1、θ2、θ3和θ4,对矩阵ft,1(x',y')、ft,2(x',y')、ft,3(x',y')和ft,4(x',y')分别进行离散三元数傅里叶变换得到频谱F1(u,v)、F2(u,v)、F3(u,v)和F4(u,v)。离散三元数傅里叶变换的计算公式,如下公式(3)所示:
其中,(u,v)表示频域坐标,N×M为所述待加密彩色图像的尺寸信息,θ为秘钥,μ1,θ=i cosθ+j sinθ,i、j满足:i2=j,ij=ji=-1,j2=-i,Tθ(u,v)为所述频谱信息,(m,n)表示空间坐标。
步骤103,对所有矩阵块的频谱信息组合,生成三元频谱矩阵,并提取三元频谱矩阵中的实部分量、第一虚部分量和第二虚部分量。
具体的,根据上述得到的频谱F1(u,v)、F2(u,v)、F3(u,v)和F4(u,v),将F1、F2、F3和F4组合成三元数矩阵F,如下公式(4)所示:
分别提取三元数矩阵F的实部分量和虚部分量,如公式(5)所示:
A=s(F),B=x(F),C=y(F) 公式(5)
其中,s(·)表示提取第一个分量,x(·)表示提取第二个分量,y(·)表示提取第三个分量,A、B和C为尺寸N×M的实数矩阵。
步骤104,对实部分量、第一虚部分量和第二虚部分量分别进行二维傅里叶变换后,获取与实部分量、第一虚部分量和第二虚部分量的实部分别对应的第一矩阵,以及与实部分量、第一虚部分量和第二虚部分量的虚部分别对应的第二矩阵。
具体的,对实数矩阵A、B和C分别进行二维Fourier变换得到与其实部对应的第一矩阵
对实数矩阵A、B和C分别进行二维Fourier变换得到与其虚部对应的第二矩阵
步骤105,根据第一矩阵和第二矩阵确定加密图像。
具体的,对第二矩阵分别进行水平和垂直镜像,获取与第二矩阵对应的第三矩阵;根据第一矩阵和第三矩阵获取加密图像。其中,作为一种可能的实现方式,可计算第一矩阵和第三矩阵相加后的第四矩阵;将第四矩阵相加后的矩阵作为加密图像。本实施例中,作为一种可能实现的方式,根据傅里叶变换的共轭对称性质,选取左上角系数,分别提取系数的实部分量
和虚部分量
对三个虚部分量分别进行水平和垂直镜像得到矩阵
将
和
分别相加得到,如下公式(6)、公式(7)、公式(8)所示:
将E1、E2和E3组成为矩阵E4作为密文,解密过程为上述加密过程的逆操作。
举例而言,为了验证本发明方法的有效性和可行性,选择彩色图像Lena进行实验,如图2所示,图像大小为256×256,θ1=0.3804、θ2=0.0759、θ3=0.5678、θ4=0.0540。密文图像如图3所示,可以看出该图像隐藏了原始图像的内容,正确解密的结果如图4所示,解密结果与原图像保持一致,其峰值信噪比为307.9636dB。
本实施例的彩色图像加密方法,该方法将彩色图像表示为三元数矩阵,实现了多个分量的整体表示与处理,并根据Fourier变换的对称性仅选择部分系数作为密文,具有较高的安全性和较低的存储空间,可应用于多媒体信息安全领域。
为了实现上述实施例,本发明还提出一种彩色图像加密装置。
图5为本发明实施例提供的一种彩色图像加密装置的结构示意图。
如图5所示,该彩色图像加密装置包括:生成模块10、第一获取模块20、提取模块30、第二获取模块40、确定模块50。其中,生成模块10,用于根据与待加密彩色图像中每个颜色通道的像素的坐标,生成与三个颜色通道对应的三元数矩阵;其次第一获取模块20,将三元数矩阵划分为互不重叠的多个矩阵块,并对多个矩阵块中的每个矩阵块进行离散三元数傅里叶变换,获取与每个矩阵块对应的频谱信息;接着提取模块30,对所有矩阵块的频谱信息组合,生成三元频谱矩阵,并提取三元频谱矩阵中的实部分量和虚部分量;而后第二获取模块40,对实部分量、第一虚部分量和第二虚部分量分别进行二维傅里叶变换后,获取与实部分量、第一虚部分量和第二虚部分量的实部分别对应的第一矩阵,以及与实部分量、第一虚部分量和第二虚部分量的虚部分别对应的第二矩阵;然后确定模块50,根据第一矩阵和第二矩阵确定加密图像;其中,如图6所示,在图5的基础上,确定模块50还包括:第一获取单元51,用于对第二矩阵分别进行水平和垂直镜像,获取与第二矩阵对应的第三矩阵;第二获取单元52,用于根据第一矩阵和第三矩阵获取加密图像。其中,第二获取单元52,具体用于计算第一矩阵和第三矩阵相加后的第四矩阵。
需要说明的是,前述对彩色图像加密方法实施例的解释说明也适用于该实施例的彩色图像加密装置,此处不再赘述。
本发明实施例彩色图像加密装置,通过生成模块10、第一获取模块20、提取模块30、第二获取模块40、确定模块50,将彩色图像表示为三元数矩阵,实现了多个分量的整体表示与处理,并根据Fourier变换的对称性仅选择部分系数作为密文,具有较高的安全性和较低的存储空间,可应用于多媒体信息安全领域。
为了实现上述实施例,本发明还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述实施例所描述的彩色图像加密方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例所描述的彩色图像加密方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(PGA)、现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。