CN112272262B - 一种图像加密、解密方法及装置 - Google Patents
一种图像加密、解密方法及装置 Download PDFInfo
- Publication number
- CN112272262B CN112272262B CN202011148715.3A CN202011148715A CN112272262B CN 112272262 B CN112272262 B CN 112272262B CN 202011148715 A CN202011148715 A CN 202011148715A CN 112272262 B CN112272262 B CN 112272262B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- encrypted
- coordinate
- pixel value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/44—Secrecy systems
- H04N1/448—Rendering the image unintelligible, e.g. scrambling
- H04N1/4486—Rendering the image unintelligible, e.g. scrambling using digital data encryption
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Facsimile Transmission Control (AREA)
Abstract
本发明实施例提供了一种图像加密、解密方法及装置,图像加密方法包括:获取待加密图像;针对待加密图像中的每个像素点,确定第一重排坐标;针对每个第一重排坐标,确定该第一重排坐标对应的第二重排坐标;针对每个第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,加密图像。图像解密方法包括:获取加密图像、加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;确定第一解密坐标;确定第二解密坐标;针对每个第二解密坐标,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。采用本发明实施例,可以提高图像加密的安全性。
Description
技术领域
本发明涉及图像处理技术领域,特别是涉及一种图像加密、解密方法及装置。
背景技术
在使用互联网进行图片传输的过程中,为了提高信息安全,可以对图像进行加密。Arnold(猫映射算法)由于具有加密速度快、方法简单等优点,已经在图像加密领域得到了广泛的应用。
具体来说,在采用猫映射算法对待加密图像进行加密处理时,针对待加密图像中每个像素点,可以根据该像素点在图像坐标系中的坐标,确定该像素点的新的坐标,然后将新的坐标所标识的位置的像素点赋值为该像素点的像素值,得到加密图像。通过猫映射算法可以改变待加密图像中像素点的位置,破坏待加密图像中相邻像素点的相关性,完成对待加密图像的加密处理。
然而,采用一次猫映射算法得到的加密图像中存在加密处理前相邻的像素点在加密处理后仍然相邻的情况。也就是说,加密图像中相邻像素点的相关性仍然较高,这会导致图像加密的安全性较低,容易被攻击者破解。
发明内容
本发明实施例的目的在于提供一种图像加密、解密方法及装置,以提高图像加密的安全性。具体技术方案如下:
第一方面,本发明实施例提供了一种图像加密方法,所述方法包括:
获取待加密图像;
针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使所述待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;
针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
第二方面,本发明实施例提供了一种图像解密方法,所述方法包括:
获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
针对所述加密图像中的每个像素点,基于该像素点在所述加密图像的图像坐标系中的坐标、所述未加密图像的尺寸及所述预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标;
针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标;
针对每个所述第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
第三方面,本发明实施例提供了一种图像加密装置,所述装置包括:
待加密图像获取模块,用于获取待加密图像;
第一重排模块,用于针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使所述待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;
第二重排模块,用于针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
加密赋值模块,用于针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
第四方面,本发明实施例提供了一种图像解密装置,所述装置包括:
加密图像获取模块,用于获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
第一解密模块,用于针对所述加密图像中的每个像素点,基于所述未加密图像的尺寸及所述预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标;
第二解密模块,用于针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标;
解密赋值模块,用于针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
本发明实施例提供的方案中,电子设备可以获取待加密图像;针对待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;针对每个第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;针对每个第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。对于待加密图像中相邻的像素点,通过像素坐标重排规则得到的该两个像素点的第一重排坐标所标识的位置不相邻,这样可以实现改变待加密图像中每个像素点的位置的效果,可以确保通过猫映射算法得到的加密图像中相邻像素点的相关性较低,从而可以提高图像加密的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例所提供的一种图像加密方法的流程图;
图2(a)为待加密图像201的示意图;
图2(b)为待加密图像201中像素点的第一重排坐标所标识位置的示意图;
图3(a)为待加密图像301的示意图;
图3(b)为待加密图像301中像素点位于其对应的第一重排坐标所标识的位置的示意图;
图3(c)为待加密图像301对应的加密图像302的示意图;
图3(d)为待加密图像303的示意图;
图3(e)为一行像素点304的示意图;
图3(f)为一行像素点305的示意图;
图3(g)为待加密图像303对应的第一拓展图像306的示意图;
图3(h)为对像素点307的像素值进行分割的过程的示意图;
图3(i)为一行像素点308的示意图;
图3(j)为一行像素点309的示意图;
图3(k)为待加密图像310的示意图;
图3(l)为一行像素点311的示意图;
图4为本发明实施例中待加密图像的拓展方式的流程图;
图5为本发明实施例所提供的一种图像解密方法的流程图;
图6为本发明实施例中加密图像中拓展像素点的去除方式的流程图;
图7为本发明实施例所提供的图像加密方法的另一种流程图;
图8为本发明实施例所提供的图像解密方法的另一种流程图;
图9为本发明实施例中的lena灰度图、Peppers灰度图及对应的加密图像、解密图像;
图10(a)为Lena灰度图的像素值直方图;
图10(b)为Lena灰度图的加密图像的像素值直方图;
图11(a)为基于本发明实施例所提供的图像解密方法的第一种像素值差异直方图;
图11(b)为基于本发明实施例所提供的图像解密方法的第二种像素值差异直方图;
图11(c)为基于本发明实施例所提供的图像解密方法的第三种像素值差异直方图;
图11(d)为基于本发明实施例所提供的图像解密方法的第四种像素值差异直方图;
图11(e)为基于本发明实施例所提供的图像解密方法的第五种像素值差异直方图;
图12为添加了不同强度的白噪声的lena加密图像及其对应的解密图像;
图13为被遮挡了不同比例的像素点的lena加密图像及其对应的解密图像;
图14为本发明实施例提供的一种图像加密装置的结构示意图;
图15为本发明实施例提供的一种图像解密装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。为了提高加密图像的安全性,避免加密图像被攻击者破解,本发明实施例提供了一种图像加密方法、图像解密方法、图像加密装置及图像解密装置。下面首先对本发明实施例提供的一种图像加密方法进行介绍。
本发明实施例提供的一种图像加密方法适用于任意需要对图像进行加密处理的电子设备,例如,可以为手机、电脑、处理器、服务器等。为了便于描述,后续称为电子设备。
如图1所示,一种图像的加密方法,所述方法包括:
S101,获取待加密图像;
S102,针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使所述待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;
S103,针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
S104,针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
可见,本发明实施例提供的方案中,电子设备可以获取待加密图像;针对待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;针对每个第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;针对每个第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。对于待加密图像中相邻的像素点,通过像素坐标重排规则得到的该两个像素点的第一重排坐标所标识的位置不相邻,这样可以实现改变待加密图像中每个像素点的位置的效果,可以确保通过猫映射算法得到的加密图像中相邻像素点的相关性较低,从而可以提高图像加密的安全性。
在上述步骤S101中,电子设备可以获取待加密图像,其中,待加密图像即为需要保密的图像。待加密图像可以为灰度图像或RGB彩色图像,当待加密图像为灰度图像时,待加密图像中的像素点的像素值为灰度值;当待加密图像为RGB彩色图像时,待加密图像中的像素点的像素值可以为R通道像素值、G通道像素值及B通道像素值中的至少一种。
在获取到待加密图像后,电子设备可以通过确定待加密图像中每个像素点的对应的新的坐标,然后按照该像素点的像素值对在新的坐标所标识的位置的像素点进行赋值的方式,实现改变待加密图像中像素点的位置的效果,破坏待加密图像中相邻像素点之间的相关性,完成对待加密图像的加密处理。
具体的,在上述步骤S102中,针对待加密图像中的每个像素点,电子设备可以基于该像素点在待加密图像的图像坐标系中的初始坐标、待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻。其中,待加密图像的尺寸即为待加密图像的宽和高。
例如,如图2(a)所示,待加密图像201的尺寸为6×6,包括像素点1-36。像素点24的初始坐标为(6,4),与像素点24相邻的像素点包括像素点18、像素点23及像素点30,像素点18的初始坐标为(6,3),像素点23的初始坐标为(5,4),像素点30的初始坐标为(6,5)。电子设备根据待加密图像201中像素点的初始坐标、待加密图像201的尺寸及预设的像素坐标重排规则,确定待加密图像201中像素点的第一重排坐标,得到如图2(b)所示的待加密图像201中像素点的第一重排坐标所标识位置的示意图。如图2(b)所示,像素点24的第一重排坐标为(6,3),像素点18的第一重排坐标为(5,2),像素点23的第一重排坐标为(2,6),像素点30的第一重排坐标为(3,6)。可见,像素点24的第一重排坐标所标识的位置与像素点23的第一重排坐标所标识的位置、像素点18的第一重排坐标所标识的位置及像素点30的第一重排坐标所标识的位置均不相邻。
又例如,如图3(a)及图3(b)所示,图3(a)为待加密图像301的示意图,图3(b)为待加密图像301中像素点位于其对应的第一重排坐标所标识的位置的示意图。可见,待加密图像301中相邻的像素点的第一重排坐标所标识的位置并不相邻。
在确定待加密图像中每个像素点的第一重排坐标后,为了进一步降低加密图像中相邻像素点之间的相关性,在上述步骤S103中,电子设备可以针对每个第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标。其中,猫映射算法的公式的一般形式为:det(A)=1,(xn,yn)为第一重排坐标,(xn+1,yn+1)为第二重排坐标,N为待加密图像中像素点的行数或列数,也就是说,待加密图像一般为正方形图像,、q分别为预设的第一预设参数及第二预设参数,均为正整数,p、q的取值可以根据经验值进行设置。
在确定每个第一重排坐标对应的第二重排坐标后,在上述步骤S104中,电子设备可以针对每个第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。也就是说,对于待加密图像中的每个像素点,在进行图像加密处理后,该像素点的位置由上述初始坐标所标识的位置变为第二重排坐标所标识的位置。这样,电子设备通过像素坐标重排规则可以实现改变待加密图像中每个像素点的位置的效果,然后采用猫映射算法可以进一步降低加密图像中相邻像素点的相关性,从而可以提高图像加密的安全性。
例如,如图3(a)和图3(c)所示,图3(a)为待加密图像301的示意图,图3(c)为待加密图像301对应的加密图像302的示意图。可见,与待加密图像301相比,加密图像302中的像素点的位置几乎完全发生了改变,待加密图像301中相邻的像素点在加密图像302中也不再相邻,这说明采用本发明实施例所提供的图像加密方法进行加密处理的安全性较高。
作为本发明实施例的一种实施方式,上述针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标的步骤,可以包括:
针对待加密图像中的每个像素点,根据如下所示公式(1)、(2)确定该像素点的第一重排坐标(x′n,y′n):
x′n={[xn+N*yn]/4}mod(N/2)+(N/2)*k1 (1)
y′n={[xn+N*yn]/4}/(N/2)+(N/2)*k2 (2)
例如,待加密图像中的像素点xs1的初始坐标为(4,2),该待加密图像的宽为6,那么b=[4+6*2]mod 4=0,k1=0,k2=0。代入上述公式(1)、(2),可得:
x′n={[4+6*2]/4}mod(4/2)+(4/2)*0=0
y′n={[4+6*2]/4}/(4/2)+(4/2)*0=2
那么,像素点xs1的第一重排坐标即为(0,2)。
上述针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标的步骤,可以包括:
针对每个第一重排坐标,根据如下所示公式(3),确定该第一重排坐标对应的第二重排坐标(x″n,y″n):
其中,p、q分别为第一预设参数和第二预设参数,p的取值为待加密图像中所有像素点像素值的加和除以待加密图像的宽的余数,q的取值为待加密图像中随机选取的预设数量个像素点的像素值的加和除以待加密图像的宽的余数。
例如,待加密图像D1中所有像素点像素值的加和为23242,待加密图像D1的宽为20,预设数量为50,从待加密图像D1中随机选取的50个像素点的像素值的加和为3523,那么第一预设参数p=23242mod20=2,第二预设参数q=3523mod20=3。当待加密图像D1中的像素点xs2的第一重排坐标为(1,6)时,代入上述公式(3),可得:
也就是说,第一重排坐标(1,6)对应的第二重排坐标为(13,5)。
可见,本发明实施例所提供的方案中,电子设备可以根据上述公式(1)、(2),确定待加密图像中像素点的第一重排坐标,进而可以根据上述公式(3),确定第二重排坐标。这样,可以准确地确定第一重排坐标和第二重排坐标,降低加密图像中相邻像素点的相关性,提高图像加密的安全性。
上述采用猫映射算法对待加密图像进行加密处理的方式适用于正方形的待加密图像,而待加密图像通常并不一定都是正方形的图像。
针对这种情况,为了实现对宽和高不一致的长方形待加密图像采用猫映射算法进行加密处理,同时提高加密图像的安全性,作为本发明实施例的一种实施方式,如图4所示,在上述针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标的步骤之前,上述方法还可以包括:
S401,基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列;
电子设备可以根据待加密图像的尺寸,按照2D-LSCM混沌映射算法,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列。其中,第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列中均包括多个像素值,上述每个像素值序列包括的像素值均为伪随机数,具有良好的均匀性和独立性。
S402,基于所述第一像素值序列及第二像素值序列,在所述待加密图像的第一方向上添加像素点,得到第一拓展图像;
为了使宽和高不一致的待加密图像适用于猫映射算法,电子设备可以在待加密图像中添加像素点。在得到上述第一像素值序列及第二像素值序列之后,电子设备可以基于第一像素值序列及第二像素值序列,在待加密图像的第一方向上添加像素点,得到第一拓展图像。
其中,上述第一拓展图像也就是添加像素点之后的待加密图像,上述第一拓展图像在第一方向上的像素点数量为第二方向上像素点数量的2倍。上述第一方向为待加密图像中宽和高中尺寸较短的方向,第二方向为待加密图像中宽和高中尺寸较长的方向,上述第一像素值序列及第二像素值序列中包括的像素值的数量即为待加密图像中第二方向上像素点的数量。若待加密图像为正方形图像,那么第一方向即为待加密图像宽或高中的任意方向,第二方向即为待加密图像宽或高中的另一方向。
例如,待加密图像Dj 1的宽为6,高为13,那么待加密图像Dj 1对应的第一方向即为宽对应的方向,也就是水平方向;待加密图像Dj 1对应的第二方向即为高对应的方向,也就是竖直方向。上述第一像素值序列及第二像素值序列中包括的像素值的数量也就是13,待加密图像Dj1对应的第一拓展图像的第一方向上的像素点的数量也就是13×2=26,待加密图像Dj 1对应的第一拓展图像的第一方向上的像素点的数量也就是13。那么,待加密图像Dj1对应的第一拓展图像的尺寸即为26×13。
在一种实施方式中,电子设备可以根据奇偶顺序在待加密图像的第一方向上添加像素点,例如,可以按照第一像素值序列中像素点的数值对添加的第奇数行/列的像素点的像素值进行赋值,并按照第二像素值序列中像素点的数值对添加的第偶数行/列的像素点的像素值进行赋值;又例如,可以按照第二像素值序列中像素点的数值对添加的第奇数行/列的像素点的像素值进行赋值,并按照第一像素值序列中像素点的数值对添加的第偶数行/列的像素点的像素值进行赋值。
如图3(d)、图3(e)、图3(f)、图3(g)所示,图3(d)为待加密图像303的示意图,图3(e)为像素值为第一像素值序列中数值的一行像素点304的示意图,图3(f)为像素值为第二像素值序列中数值的一行像素点305的示意图,图3(g)为待加密图像303对应的第一拓展图像306的示意图。电子设备将像素点304、305添加至待加密图像303的下侧,便得到了如图3(g)所示的第一拓展图像306。
S403,针对所述第一拓展图像中的每个像素点,将该像素点的8位二进制像素值分割为两个4位二进制像素值,作为该像素点对应的第一像素值和第二像素值;
在得到第一拓展图像后,由于第一拓展图像中长边的长度为短边的长度的2倍,为了使最终的待加密图像的宽高一致,电子设备可以将第一拓展图像中的每个像素点分割为两个对应的像素点。
具体的,针对第一拓展图像中的每个像素点,电子设备可以将该像素点的8位二进制像素值分割为两个4位二进制像素值,作为该像素点对应的第一像素值和第二像素值。
由于像素点的像素值取值通常为[0,255]中的任意整数值,因此,第一拓展图像中的每个像素点的像素值都可以记为8位二进制数值的形式。例如,第一拓展图像中的像素点xs*1的像素值为16,那么像素点xs*1的像素值可以记为:00010000。电子设备可以将00010000中的高四位0001作为像素点xs*1对应的第一像素值,并将00010000中的低四位0000作为像素点xs*1对应的第二像素值。
S404,针对所述第一拓展图像中的每个像素点,基于该像素点在所述第三像素值序列中对应的数值、该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在所述第四像素值序列中对应的数值、该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值;
在得到第一拓展图像中的每个像素点对应的第一像素值和第二像素值之后,针对第一拓展图像中的每个像素点,电子设备可以基于该像素点在第三像素值序列中对应的数值、该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在第四像素值序列中对应的数值、该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值。其中,上述第三像素值序列及第四像素值序列中包括的像素值的数量均为第一拓展图像中像素点的数量。
电子设备可以按照预设的顺序,确定第一拓展图像中的每个像素点分别在第三像素值序列中及第四像素值序列中对应的数值。例如,可以按照第一拓展图像中由左往右、由上往下的顺序,确定第一拓展图像中的第一个像素点在第三像素值序列中对应的数值为第三像素值序列中的第一个数值,并确定第一个像素点在第四像素值序列中对应的数值为第四像素值序列中的第一个数值,然后确定第一拓展图像中的第二个像素点在第三像素值序列中对应的数值为第三像素值序列中的第二个数值,并确定第二个像素点在第四像素值序列中对应的数值为第四像素值序列中的第二个数值,直至确定第一拓展图像中的最后一个像素点分别在第三像素值序列中及第四像素值序列中对应的数值;还可以按照由上往下、由右往左的顺序确定第一拓展图像中的每个像素点分别在第三像素值序列中及第四像素值序列中对应的数值,对于上述预设的顺序在此不做具体限定。
如图3(g)、图3(h)、图3(i)及图3(j)所示,图3(h)为对图3(g)所示的第一拓展图像306中像素点307的像素值进行分割并得到对应的第一子像素值和第二子像素值的过程的示意图,图3(i)为像素值为第三像素值序列中数值的一行像素点308的示意图,图3(j)为像素值为第四像素值序列中数值的一行像素点309的示意图。如图3(h)所示,像素点307的8位二进制像素值为00010000,分割为高四位0001及低四位0000,然后基于第三像素值序列中的第一个数值1110及第四像素值序列中的第一个数值0001,确定像素点307对应的第一子像素值为11100000及第二子像素值11100001。
S405,针对所述第一拓展图像中的每个像素点,将该像素点替换为具有所述第一子像素值的像素点和具有所述第二子像素值的像素点,得到第二拓展图像,作为最终的待加密图像。
在得到第一拓展图像中每个像素点对应的第一子像素值和第二子像素值之后,电子设备可以将第一拓展图像中的像素点替换为具有该像素点对应的第一子像素值的像素点和具有该像素点对应的第二子像素值的像素点,得到第二拓展图像作为最终的待加密图像。其中,上述第二拓展图像的宽和高相等,上述第一子像素值的像素点与第二子像素值的像素点为在第二方向上相邻的两个像素点。
例如,第一拓展图像中的像素点xs5对应的第一子像素值为225、第二子像素值为68,那么电子设备可以将像素点xs5替换为像素值为225的像素点和像素值为68的像素点。如果第一方向为第一拓展图像中高对应的方向,那么像素值为225的像素点和像素值为68的像素点为第二方向上相邻的两个像素点,也就是水平方向上相邻的两个像素点。
如图3(g)及图3(a)所示,电子设备基于第三像素值序列及第四像素值序列确定出图3(g)中每个像素点对应的第一子像素值和第二子像素值,进而可以对图3(g)中每个像素点进行替换,得到如图3(a)所示的待加密图像301,也就是待加密图像306对应的最终的待加密图像301。
这样,最终的待加密图像的宽和高将会一致,从而可以适用于猫映射算法进行图像加密处理。同时,通过第一像素值序列、第二像素值序列在上述初始的待加密图像中添加像素点,并通过第三像素值序列及第四像素值序列改变第一拓展图像中像素点的像素值,也可以提高图像加密的安全性。当然,上述步骤S401-S405也适用于正方形的待加密图像。
可见,本发明实施例提供的方案中,电子设备可以根据上述步骤确定最终的待加密图像。这样,电子设备可以在待加密图像中添加像素点,确保最终的待加密图像为正方形的图像,使待加密图像可以采用猫映射算法进行加密处理。同时,待加密图像中添加的像素点的像素值具有良好的独立性和均匀性,并可以通过第三像素值序列及第四像素值序列改变待加密图像中像素点的像素值,从而进一步提高图像加密的安全性。
作为本发明实施例的一种实施方式,在上述基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列的步骤之前,上述方法还包括:
根据Logistics混沌映射算法,确定第五像素值序列;基于第五像素值序列,在待加密图像的四周添加像素点,得到添加像素点后的图像,作为当前的待加密图像。
为了提高图像加密的安全性,在确定上述第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列之前,电子设备可以在待加密图像的四周添加像素点。
具体的,电子设备可以根据Logistics混沌映射算法确定第五像素值序列,其中,第五像素值序列中包括的数值的数量为待加密图像的宽和高加和的2倍加4。然后,电子设备可以将像素值为第五像素值序列中包含的数值的像素点分别添加在待加密图像的四周,得到添加像素点后的图像作为当前的待加密图像。也就是说,电子设备可以在待加密图像的上侧和下侧分别添加一行像素点,并在待加密图像的左侧和右侧分别添加一列像素点,这样,当前的待加密图像的宽和高分别为未添加像素点的待加密图像的宽加2及高加2。
其中,上述Logistics混沌映射算法的公式的一般形式为:xn+1=μxn(1-xn),其中xn的初始值x0∈(0,1),当Logistics混沌映射算法的控制参数μ的取值范围为3.5699456<μ≤4时,通过Logistics混沌映射所生成的迭代值xn+1处于伪随机分布状态。也就是说,上述第五像素值序列中包括的数值是处于伪随机分布状态的。
电子设备可以按照预设的添加顺序,将像素值为第五像素值序列中包含的数值的像素点分别添加在待加密图像的四周。例如,待加密图像的宽为N、高为M,预设的添加顺序可以为从待加密图像的左上角为起点的顺时针方向的顺序,那么电子设备便可以将像素值为第五像素值序列中第1个数值至第N个数值的像素点添加在待加密图像的上侧、将像素值为第五像素值序列中第N+1个数值至第N+M+1个数值的像素点添加在待加密图像的右侧、将像素值为第五像素值序列中第N+M+2个数值至第2N+M+2个数值的像素点添加在待加密图像的下侧、将像素值为第五像素值序列中第2N+M+3个数值至第2N+2M+4个数值的像素点添加在待加密图像的右侧。当然,上述预设的添加顺序也可以为从待加密图像的左上角为起点的逆时针方向的顺序、先在待加密图像的上侧和下侧添加后在待加密图像的左侧和右侧添加的顺序等,在此不做具体限定。
如图3(i)、图3(j)及图3(d)所示,图3(i)为待加密图像310的示意图,图3(j)为像素值为第五像素值序列中包含的数值的一行像素点311的示意图。电子设备将图3(j)所示的一行像素点311添加至图3(i)所示的待加密图像310四周后,便可以得到图3(d)所示的待加密图像303,也就是说,待加密图像303即为待加密图像310对应的当前的待加密图像。
可见,本发明实施例所提供的方案中,电子设备可以根据Logistics混沌映射算法,确定第五像素值序列;基于第五像素值序列,在待加密图像的四周添加像素点,得到添加像素点后的图像,作为当前的待加密图像。这样,电子设备可以在待加密图像的四周添加一圈像素值符合伪随机分布状态的像素点,从而可以进一步提高图像加密的安全性。
作为本发明实施例的一种实施方式,上述基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列的步骤,可以包括:
根据如下所示公式(4)确定第一像素值序列Y、第二像素值序列Z,并根据如下所示公式(5)确定第三像素值序列W及第四像素值序列H;
电子设备可以预先设置第一控制参数θ的数值,并设置yi的初始值y0的数值以及zi的初始值z0的数值,然后根据上述公式(4)进行迭代运算,迭代200次,并舍弃结果,以避免瞬态效应。然后,继续迭代t次,得到第一像素值序列Y={y200+1,y200+2,...,y200+t}及第二像素值序列Z={z200+1,z200+2,...,z200+t}。
同时,电子设备可以预先设置第二控制参数θ′的数值,并设置wi的初始值w0的数值以及hi的初始值h0的数值,然后根据上述公式(5)进行迭代运算,迭代200次,并舍弃结果,以避免瞬态效应。然后,继续迭代k次,得到第三像素值序列W={w200+1,w200+2,...,w200+k}及第四像素值序列H={h200+1,h200+2,...,h200+k}。
其中, N为待加密图像的宽,M为待加密图像的高,k的取值为不小于N×M的正整数,θ为第一控制参数,θ′为第二控制参数,θ、θ′∈(0,1),y0、z0、w0、h0∈(0,1)。上述θ、θ′、y0、z0、w0、h0的数值可以根据经验值进行设置。例如,可以设置为:θ=0.918765124367853,y0=0.788891365924760,z0=0.511765894267890,θ′=0.966854816273549,w0=0.748892123456789,h0=0.675438987654321。
由于上述第一像素值序列Y及第二像素值序列Z中包括的数值为像素值,为了确保第一像素值序列Y及第二像素值序列Z中包括的数值的取值为不大于255的正整数,在一种实施方式中,可以根据公式将第一像素值序列Y中包括的数值转化为不大于255的正整数,并根据公式将第二像素值序列Z中包括的数值转化为不大于255的正整数。其中,为向下取整符号,表示不大于X的正整数。
上述针对所述第一拓展图像中的每个像素点,基于该像素点在所述第三像素值序列中对应的数值及该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在所述第四像素值序列中对应的数值及该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值的步骤,可以包括:
针对第一拓展图像中的每个像素点,根据如下所示公式(6)、(7),确定该像素点对应的第一子像素值p′l和第二子像素值p′r:
针对第一拓展图像中的每个像素点,电子设备可以根据上述公式(6),计算该像素点对应的第一子像素值p′l,并根据上述公式(7),计算该像素点对应的第二子像素值p′r。其中,d7d6d5d4为该像素点对应的第一像素值,d3d2d1d0为该像素点对应的第二像素值,wj∈W,hj∈H,j∈{200+1,200+2,...,200+k}。
可见,本发明实施例所提供的方案中,电子设备可以通过上述公式(4)-(7)确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列,这样,电子设备可以基于第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列对待加密图像进行拓展,并替换待加密图像中像素点的像素值,从而可以进一步提高图像加密的安全性。
作为本发明实施例的一种实施方式,上述根据Logistics混沌映射算法,确定第五像素值序列的步骤,可以包括:
根据如下所示公式(8),确定第五像素值序列X1:
xn+1=μxn(1-xn) (8)
电子设备可以预先设置Logistics混沌映射算法的控制参数μ的数值,并设置xn的初始值x0的数值,然后根据上述公式(8)进行迭代运算,迭代200次,并舍弃结果,以避免瞬态效应。然后,继续迭代n次,得到第五像素值序列X1={x200+1,x200+2,...,x200+n}。其中,3.5699456<μ≤4,x0∈(0,1),n=2(M+1)+2(N+1),N为待加密图像的宽,M为待加密图像的高。当上述控制参数μ的取值越接近4时,第五像素值序列X1包括的数值x200+1,x200+2,...,x200+n的分布越接近伪随机分布状态。
可见,本发明实施例所提供的方案中,电子设备可以根据上述公式(8)确定第五像素值序列。这样,电子设备可以确定第五像素值序列,基于第五像素值序列在待加密图像的四周添加像素点,从而提高图像加密的安全性。
相应于上述图像加密方法,本发明实施例还提供了一种图像解密方法。下面对本发明实施例所提供的一种图像解密方法进行介绍。
如图5所示,一种图像解密方法,所述方法包括:
S501,获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
S502,针对所述加密图像中的每个像素点,基于该像素点在所述加密图像的图像坐标系中的坐标、所述未加密图像的尺寸及所述预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标;
S503,针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标;
S504,针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
可见,本发明实施例所提供的方案中,电子设备可以获取加密图像、加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;针对加密图像中的每个像素点,基于未加密图像的尺寸及所述预设参数,根据猫映射算法,确定该像素点的第一解密坐标;针对每个第一解密坐标,基于未加密图像的尺寸及预设的像素坐标重排规则,确定该第一解密坐标对应的第二解密坐标;针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。这样,电子设备可以根据上述方式对加密图像进行解密,并可以防止攻击者对加密图像的破解,安全性较高。
在上述步骤S501中,电子设备可以获取加密图像、加密图像对应的未加密图像的尺寸及猫映射算法的预设参数。其中,上述猫映射算法的预设参数也就是上述图像加密方法实施例中的第一预设参数p和第二预设参数q,也就是说,上述第一预设参数p和第二预设参数q即为图像解密的密钥。
由于在图像加密过程中,未加密图像中每个像素点的坐标先转化为对应的第一重排坐标,然后又转化为对应的第二重排坐标,所以,在上述步骤S502中,电子设备可以针对加密图像中的每个像素点,基于未加密图像的尺寸及预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标。其中,第一解密坐标也就是上述图像加密方法实施例中的第一重排坐标,加密图像中的每个像素点的坐标也就是上述图像加密方法实施例中的第二重排坐标。
在确定加密图像中的每个像素点对应的第一解密坐标后,电子设备便可以基于未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定第一解密坐标对应的第二解密坐标,加密图像中的每个像素点的第二解密坐标也就是该像素点在未加密图像中对应的初始坐标。
在确定第二解密坐标之后,为了得到加密图像对应的未加密图像,电子设备可以针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像,也就是加密图像对应的未加密图像。
作为本发明实施例的一种实施方式,上述针对所述加密图像中的每个像素点,基于所述未加密图像的尺寸及所述预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标的步骤,包括:
针对加密图像中的每个像素点,根据如下所示公式(9),确定该像素点的第一解密坐标(x′n,y′n):
在图像加密过程中,电子设备可以根据猫映射算法确定第二重排坐标,因此,在对加密图像进行解密的过程中,电子设备可以根据猫映射算法的逆运算,也就是上述公式(9),确定第一解密坐标。
其中,为的逆矩阵,(x″n,y″n)为像素点在加密图像的图像坐标系中的坐标,也就是图像加密过程中的第二重排坐标;N为未加密图像的的宽,p、q分别为第一预设参数和第二预设参数,p、q的取值均与图像加密过程中的取值相同,在此不再赘述。
上述针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标的步骤,包括:
针对每个第一解密坐标,根据如下所示公式(10)、(11),确定该第一解密坐标对应的第二解密坐标(xn,yn):
xn={4*[(x′n-(N/2)*s1)+(y′n-(N/2)*s2)*(N/2)]+r}mod N (10)
yn={4*[(x′n-(N/2)*s1)+(y′n-(N/2)*s2)*(N/2)]+r}/N (11)
在确定第一解密坐标后,电子设备可以根据上述公式(10)、(11),确定第一解密坐标对应的第二解密坐标(xn,yn),也就是图像加密过程中的初始坐标。
例如,第一解密坐标为(1,1),未加密图像的宽为4,那么r=0,s1=0,s2=0。代入上述公式(10)、(11),可得:
xn={4*[(1-(4/2)*0)+(1-(4/2)*0)*(4/2)]+0}mod 4=0
yn={4*[(1-(4/2)*0)+(1-(4/2)*0)*(4/2)]+0}/4=3
那么,第二解密坐标即为:(0,3)。
可见,本发明实施例所提供的方案中,电子设备可以根据上述公式(9),确定第一解密坐标,并根据上述公式(10)、(11),确定第二解密坐标。这样,电子设备可以准确地确定加密图像中每个像素点对应的初始坐标,进而可以准确地得到解密图像。
作为本发明实施例的一种实施方式,如图6所示,在上述针对所述每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值的步骤之后,所述方法还可以包括:
S601,基于2D-LSCM混沌映射算法和所述未加密图像的尺寸,确定第一解密像素值序列及第二解密像素值序列;
由于在图像加密的过程中电子设备采用第三像素值序列及第四像素值序列将待加密图像对应的第一拓展图像中的每个像素点的像素值转化为对应的第一子像素值和第二子像素值,因此,在需要对加密图像进行解密时,电子设备可以基于2D-LSCM混沌映射算法和所述未加密图像的尺寸,确定第一解密像素值序列及第二解密像素值序列。其中,第一解密像素值序列及第二解密像素值序列即为图像加密过程中的第三像素值序列及第四像素值序列。
具体的,电子设备可以根据上述公式(5),确定第一解密像素值序列W={w200+1,w200+2,...,w200+k}及第二解密像素值序列H={h200+1,h200+2,...,h200+k}:
其中,θ′为第二控制参数,k的取值为不小于N×M的正整数,N为未加密图像的宽,M为未加密图像的高,w0、h0分别为wi、hi的初始值,w0、h0∈(0,1),上述θ′、w0、h0与图像加密过程中的θ′、w0、h0相同,在此不再赘述。也就是说,上述θ′、w0、h0即为图像解密的密钥。电子设备可以获取密钥θ′、w0、h0,然后根据上述公式(5)进行迭代运算,迭代200次,并舍弃结果,以避免瞬态效应。然后,继续迭代k次,得到第一解密像素值序列W={w200+1,w200+2,...,w200+k}及第二解密像素值序列H={h200+1,h200+2,...,h200+k}。
S602,针对所述加密图像中的每一组替换像素点,基于该一组替换像素点所包括的第一替换像素点在所述第一解密像素值序列中对应的数值、该一组替换像素点所包括的第二替换在所述第二解密像素值序列中对应的数值、所述第一替换像素点的像素值、所述第二替换像素点的像素值、预设的第一像素值转换规则的逆运算及预设的第二像素值转换规则的逆运算,分别确定所述第一替换像素点对应的第一解密像素值及所述第二替换像素点对应的第二解密像素值;
由于在图像加密过程中,待加密图像对应的第一拓展图像中的每个像素点被替换为具有其对应的第一子像素值和第二子像素值的两个像素点,因此,为了确定未加密图像对应的第一拓展图像中每个像素点的像素值,电子设备可以针对加密图像中的每一组替换像素点,基于该一组替换像素点所包括的第一替换像素点在第一解密像素值序列中对应的数值、该一组替换像素点所包括的第二替换在第二解密像素值序列中对应的数值、第一替换像素点的像素值、第二替换像素点的像素值、预设的第一像素值转换规则的逆运算及预设的第二像素值转换规则的逆运算,分别确定第一替换像素点对应的第一解密像素值及第二替换像素点对应的第二解密像素值。
其中,第一解密像素值及第二解密像素值即为图像加密过程中的第一像素值及第二像素值,第一解密像素值及第二解密像素值为4位二进制像素值,上述替换像素点即为图像加密过程中用于替换第一拓展图像中像素点的像素点。
S603,将所述第一解密像素值及所述第二解密像素值合并为8位二进制的第三解密像素值;
在得到第一解密像素值及第二解密像素值之后,电子设备可以将第一解密像素值及第二解密像素值合并为8位二进制的第三解密像素值,也就是未加密图像对应的第一拓展图像中像素点的像素值。
S604,针对所述加密图像中的每一组替换像素点,将该一组替换像素点所包括的第一替换像素点及第二替换像素点替换为具有所述第三解密像素值的像素点,得到第一未拓展图像;
由于图像加密过程中,待加密图像对应的第一拓展图像中的每个像素点被替换为具有该像素点对应的第一像素值及第二像素值的两个像素点,所以,在得到第三解密像素值之后,电子设备便可以针对加密图像中的每一组替换像素点,将该一组替换像素点所包括的第一替换像素点及第二替换像素点替换为具有所述第三解密像素值的像素点,得到第一未拓展图像。
其中,第一未拓展图像也就是上述第一拓展图像,上述第一未拓展图像在第一方向上的像素点数量为第二方向上像素点数量的2倍,上述第一方向及第二方向与图像加密过程中的第一方向及第二方向相同,在此不再赘述。
S605,将所述第一未拓展图像中第一方向上的拓展像素点去除,得到第二未拓展图像,作为当前的解密图像。
在图像加密过程中,为了提高图像加密的安全性,电子设备基于第一像素值序列及第二像素值序列在待加密图像的第一方向上添加了像素点,因此,在图像解密过程中,电子设备可以将第一未拓展图像中第一方向上的拓展像素点去除,得到第二未拓展图像,也就是未加密图像。其中,上述拓展像素点也就是图像加密过程中在待加密图像中添加的像素点。
可见,本发明实施例所提供的方案中,电子设备可以根据上述步骤对加密图像进行解密,得到解密图像,这样,可以防止攻击者对加密图像的破解,安全性较高。
作为本发明实施例的一种实施方式,上述针对所述加密图像中的每一组替换像素点,基于该一组替换像素点所包括的两个像素点在所述第一解密像素值序列及第二解密像素值序列中分别对应的数值、该两个像素点的像素值、预设的第一像素值转换规则的逆运算及预设的第二像素值转换规则的逆运算,分别确定该两个像素点对应的第一解密像素值及第二解密像素值的步骤,包括:
针对加密图像中的每一组替换像素点所包括的第一替换像素点及第二替换像素点,基于如下所示公式(12)、(13),确定第一替换像素点对应的第一解密像素值d7d6d5d4及第二替换像素点第二解密像素值d3d2d1d0:
其中,p′l为第一替换像素点的像素值,p′r为第二替换像素点的像素值, W即为第一解密像素值序列{w200+1,w200+2,...,w200+k},H即为第二解密像素值序列{h200+1,h200+2,...,h200+k},j∈{200+1,200+2,...,200+k}。
上述将所述第一解密像素值及所述第二解密像素值合并为8位二进制的第三解密像素值的步骤,包括:
根据如下所示公式(14),确定第三解密像素值d7d6d5d4d3d2d1d0:
可见,本发明实施例所提供的方案中,电子设备可以根据上述公式确定第一解密像素值及第二解密像素值。这样,电子设备可以基于第一解密像素值及第二解密像素值快速准确的对加密图像进行解密处理,得到解密图像。
作为本发明实施例的一种实施方式,在上述将所述第一未拓展图像中第一方向上的拓展像素点去除,得到第二未拓展图像的步骤之后,所述方法还包括:
将第二未拓展图像边缘一周的像素点去除,得到最终的解密图像。
由于在图像加密过程中电子设备采用了第五像素值序列在待加密图像的四周添加像素点,因此,为了得到准确的解密图像,电子设备在得到第二未拓展图像之后,可以将第二未拓展图像边缘一周的像素点去除,这样,便可以得到最终的解密图像。
可见,本发明实施例所提供的方案中,电子设备可以将第二未拓展图像边缘一周的像素点去除,得到最终的解密图像。这样,电子设备可以得到准确的解密图像。
下面结合图7对本发明实施例所提供的图像加密方法进行介绍。如图7所示,电子设备可以获取原始图像,也就是待加密图像,根据Logistics映射、初始值x0及控制参数μ确定第五像素值序列X,其中Logistics映射也就是Logistics混沌映射算法。然后,基于第五像素值序列X在待加密图像的四周添加像素点,也就是添加四周像素,得到当前的待加密图像。进而,根据2D-LSCM映射、第一控制参数θ0、初始值y0、z0确定第一像素值序列Y、第二像素值序列Z,并基于第一像素值序列Y、第二像素值序列Z对当前的待加密图像进行扩展,得到扩展明文图像,也就是第一拓展图像,2D-LSCM映射也就是2D-LSCM混沌映射算法。然后根据2D-LSCM映射、第二控制参数θ′、初始值w0、h0确定第三像素值序列W及第四像素值序列H,对第一拓展图像中的像素点的8位2进制像素值进行分割处理,然后基于第三像素值序列W及第四像素值序列H中的数值,对分割处理后的像素值进行异或处理,也就是分割且异或,得到第二拓展图像。然后,根据预设的像素坐标重排规则,确定第二拓展图像中每个像素点的第一重排坐标,也就是重排。进而基于Arnold cat映射,确定第一重排坐标对应的第二重排坐标,Arnold cat映射也就是猫映射算法。然后,按照第一重排坐标对应的像素点的像素值对第二重排坐标所标识的位置的像素点赋值,得到加密图像。其中,猫映射算法的第一预设参数p及第二预设参数q的数值均基于第二拓展图像中像素点的像素值的加和确定,也就是对第二拓展图像中像素点的像素值求和。
下面结合图8对本发明实施例所提供的图像解密方法进行介绍。如图8所示,电子设备获取到加密图像后,可以基于密钥p,q,也就是第一预设参数p和第二预设参数q,根据Arnold cat映射的逆运算,确定加密图像中每个像素点的第一解密坐标,Arnold cat映射也就是猫映射算法。进而,基于第一解密坐标和预设的像素坐标重排规则的逆运算,确定第一解密坐标对应的第二解密坐标,也就是重排逆过程。然后针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,进而根据2D-LSCM映射第二控制参数θ′、初始值w0、h0确定第三像素值序列W及第四像素值序列H,2D-LSCM映射也就是2D-LSCM混沌映射算法。然后,基于第三像素值序列W及第四像素值序列H对加密图像中的每一组替换像素点的8位2进制像素值进行合并并异或处理,得到对应的第三解密像素值,然后将加密图像中的每一组替换像素点替换为具有对应的第三解密像素值的像素点,得到替换像素点后的加密图像。进而,将替换像素点后的加密图像中的拓展的像素点去除,得到裁剪后的加密图像,也就是裁剪图像,拓展的像素点也就是在图像加密过程中基于第一像素值序列Y、第二像素值序列Z扩展的像素点。进而,将裁剪图像中的四周像素点去除,也就是裁剪四周像素,得到原始图像,原始图像也就是解密图像,Logistics映射也就是Logistics混沌映射算法,四周像素点也就是加密过程中基于Logistics映射、初始值x0及控制参数μ确定的第五像素值序列X添加在未加密图像四周的像素点。
下面结合具体实验对本发明实施例所提供的图像加密方法的加密效果进行介绍。在实验中,待加密图像分别为如图9所示的200×200的灰度图像Lena901和Peppers902。如图9所示,灰度图像Lena901对应的加密图像为加密图像903,灰度图像Peppers902对应的加密图像为加密图像904,灰度图像Lena901对应的解密图像为解密图像905,灰度图像Peppers902对应的解密图像为解密图像906。在加密过程中,设置μ=3.987654321011137,x0=0.123456789101112,θ=0.918765124367853,y0=0.788891365924760,z0=0.511765894267890,θ′=0.966854816273549,w0=0.748892123456789,h0=0.675438987654321,第二拓展图像的宽或高为404,预设数量为50。
图像 | 图组1 | 图组2 | 图组3 |
χ<sup>2</sup>值 | 269.9830 | 266.5354 | 286.4665 |
表1
如表1所示,表1为采用三个不同的图组(共包含12个图像)对应加密图像的卡方检验结果。查询卡方检验表可知,当自由度为255时,概率为5%的χ2值的临界条件为293.248。由表1可知,图组1、图组2、图组3中包括的图像对应的加密图像的卡方检验结果均小于293.248,这说明对采用本发明实施例所提供的图像加密方法得到的加密图像进行直方图分析的结果中,加密图像的像素值95%的概率下是均匀的,也就是说,采用本发明实施例所提供的图像加密方法得到的加密图像足以抵抗直方图分析攻击,且不会泄漏有关原始图像的任何信息。
表2
如表2所示,表2为Lena图、Peppers图、Cameraman图的水平方向相关性、垂直方向相关性及对角线方向相关性,以及采用本发明方案、现有技术1、现有技术2、现有技术3分别的得到的Lena图、Peppers图、Cameraman图对应的加密图像的水平方向相关性、垂直方向相关性及对角线方向相关性。由表2可知,与现有技术1-3相比,采用本发明得到的加密图像的水平方向相关性、垂直方向相关性及对角线方向相关性均大大降低,这说明采用本发明实施例提供的方案得到的加密图像中相邻像素点的相关性较低,图像加密的安全性高于现有技术的图像加密方法。其中,现有技术1为“Four-image encryption scheme based onquaternion Fresnel transform”中提供的图像加密方法,现有技术2为“Optical multi-image encryption scheme based on discrete cosine transform and nonlinearfractional Mellin transform”中提供的图像加密方法,现有技术3为“Asymmetricencryption of multi-image based on compressed sensing and feature fusion withhigh quality image reconstruction”中提供的图像加密方法。
图像 | 原始图像熵 | 加密图像熵 |
Lena | 7.7691 | 7.9988 |
Peppers | 7.6223 | 7.9989 |
Cameraman | 6.8649 | 7.9987 |
表3
如表3所示,表3为Lena图、Peppers图、Cameraman图的原始图像的图像熵及对应的加密图像的图像熵。由表3可知,采用本发明方案得到的加密图像的图像熵接近8,采用本发明方案得到的加密图像中的像素点的像素值混乱程度较高、随机性较好。
表4
如表4所示,表4为Lena图、Peppers图、Cameraman图、Gorilla图的加密图像的像素个数改变率(number of pixels change rate,NPCR)和统一平均变化强度(unifiedaveraged changed intensity,UACI)。由表4可知,采用本发明方案得到的加密图像的像素个数改变率和统一平均变化强度均较高。
方法 | NPCR | UACI |
本发明 | 0.996120172 | 0.334613406 |
现有技术1 | 0.995864868 | 0.332533000 |
现有技术2 | 0.995998382 | 0.310221067 |
现有技术3 | 0.811958313 | 0.273860931 |
表5
如表5所示,表5为采用本发明方案得到的加密图像的像素个数改变率、统一平均变化强度及采用现有技术1-3得到的加密图像的像素个数改变率、统一平均变化强度。由表5可知,采用本发明方案得到的加密图像的像素个数改变率和统一平均变化强度均高于采用现有技术1-3得到的加密图像的像素个数改变率、统一平均变化强度。这意味着本发明方案对明文攻击具有较强的敏感性,能够抵抗差分攻击。
如图10(a)、图10(b)所示,图10(a)为Lena图的像素值直方图,图10(b)为采用本发明方案得到的Lena图的加密图像的像素值直方图。其中,直方图的横坐标为像素值,纵坐标为像素点的数量。由图10(a)、图10(b)可知,采用本发明方案得到加密图像的像素值分布均匀,加密效果较好。
如图11(a)-图11(e)所示,图11(a)为采用错误的θ′得到的解密图像与采用正确的θ′得到的解密图像之间的像素值差异直方图,图11(b)为采用错误的w0得到的解密图像与采用正确的w0得到的解密图像之间的像素值差异直方图,图11(c)为采用错误的y0得到的解密图像与采用正确的y0得到的解密图像之间的像素值差异图,图11(d)为采用错误的p得到的解密图像与采用正确的p得到的解密图像之间的像素值差异直方图,图11(e)为采用错误的q得到的解密图像与采用正确的q得到的解密图像之间的像素值差异直方图。其中,像素值差异直方图的横坐标为像素点的编号,纵坐标为像素值的差异。由图11(a)-图11(e)可知,采用错误的密钥进行图像解密时,所得到的解密图像与采用正确的密钥进行图像解密得到的解密图像之间的差异非常大,这证明采用本发明方案得到的加密图像的安全性较高。
如图12所示,图12包括添加了k为0.25的白噪声的lena加密图像对应的解密图像1201、添加了k为0.5的白噪声的lena加密图像对应的解密图像1202、添加k为0.75的白噪声的lena加密图像对应的解密图像1203、添加k为1的白噪声的lena加密图像对应的解密图像1204。其中,白噪声描述为:E′=E+kG,E和E′分别表示无噪声加密图像和受噪声影响的加密图像。G是高斯白噪声其均值为0,方差为1,k表示噪声强度系数。由图12可知,尽管解密图像的质量随着噪声强度的增加而降低,但本发明方案仍能在一定范围内抵抗噪声攻击。
如图13所示,图13包括被遮挡12.5%的像素点的lena加密图像1301及其对应的解密图像1305、被遮挡25%的像素点的lena加密图像1302及其对应的解密图像1306、被遮挡37.5%的像素点的lena加密图像1303及其对应的解密图像1307、被遮挡50%的像素点的lena加密图像1304及其对应的解密图像1308。由图13可知,显然,解密图像仍然可见,并且在一定范围内包含大多数原始图像的视觉信息。因此,本发明方案可以有效地抵抗遮挡攻击。
在唯密文攻击,已知明文攻击,选择密文攻击和选择明文攻击这四种典型攻击中,选择明文攻击是最强大的攻击。如果一个密码系统能够抵抗最强大的选择明文攻击,它就有能力抵抗其他三种典型的攻击。在本发明中,加密前在图像上添加了随机像素值的像素点,使得加密后的像素值存在差异。此外,猫映射参数p取决于待加密图像,且q在相同明文下的不同加密过程中取值不同。因此,本发明方案不受已知明文和选择明文攻击以及其他三种典型攻击的影响。
综上所述,本发明实施例所提供的图像加密、解密方法中,密钥空间大,密钥敏感性强,能够有效抵抗暴力攻击,差分攻击,统计分析攻击,已知明文攻击,唯密文攻击,选择密文攻击和选择明文攻击等典型攻击,在一定范围内能够抵抗噪音和遮挡的影响,且在时间花费上也有所改善。
相应于上述图像加密方法,本发明实施例还提供了一种图像加密装置。下面对本发明实施例所提供的图像加密装置进行介绍。
如图14所示,一种图像加密装置,所述装置包括:
待加密图像获取模块1401,用于获取待加密图像;
第一重排模块1402,用于针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使所述待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;
第二重排模块1403,用于针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
加密赋值模块1404,用于针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
可见,本发明实施例所提供的方案中,电子设备可以获取待加密图像;针对待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标,以使待加密图像中的每两个相邻的像素点的第一重排坐标所标识的位置不相邻;针对每个第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;针对每个第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。电子设备通过像素坐标重排规则可以改变待加密图像中每个像素点的位置,使待加密图像中相邻的像素点不再相邻,这样可以确保通过猫映射算法得到的加密图像中相邻像素点的相关性较低,从而可以提高图像加密的安全性。
作为本发明实施例的一种实施方式,上述第一重排模块1402包括:
第一重排子模块(图14中未示出),用于针对所述待加密图像中的每个像素点,根据如下所示公式确定该像素点的第一重排坐标(x′n,y′n):
x′n={[xn+N*yn]/4}mod(N/2)+(N/2)*k1
y′n={[xn+N*yn]/4}/(N/2)+(N/2)*k2
上述第二重排模块1403可以包括:
第二重排子模块(图14中未示出),用于针对每个所述第一重排坐标,根据如下所示公式,确定该第一重排坐标对应的第二重排坐标(x″n,y″n):
其中,p、q分别为第一预设参数和第二预设参数,p的取值为所述待加密图像中所有像素点像素值的加和除以所述待加密图像的宽的余数,q的取值为所述待加密图像中随机选取的预设数量个像素点的像素值的加和除以所述待加密图像的宽的余数。
作为本发明实施例的一种实施方式,上述图像加密装置还可以包括:
序列确定模块(图14中未示出),用于基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列;
第一拓展模块(图14中未示出),用于基于所述第一像素值序列及第二像素值序列,在所述待加密图像的第一方向上添加像素点,得到第一拓展图像;
其中,所述第一拓展图像在第一方向上的像素点数量为第二方向上像素点数量的2倍,所述第一方向为所述待加密图像中宽和高中尺寸较短的方向,所述第二方向为所述待加密图像中宽和高中尺寸较长的方向。
分割模块(图14中未示出),用于针对所述第一拓展图像中的每个像素点,将该像素点的8位二进制像素值分割为两个4位二进制像素值,作为该像素点对应的第一像素值和第二像素值;
转换模块(图14中未示出),用于针对所述第一拓展图像中的每个像素点,基于该像素点在所述第三像素值序列中对应的数值及该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在所述第四像素值序列中对应的数值及该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值;
第二拓展模块(图14中未示出),用于针对所述第一拓展图像中的每个像素点,将该像素点替换为具有所述第一子像素值的像素点和具有所述第二子像素值的像素点,得到第二拓展图像,作为最终的待加密图像;
其中,所述第二拓展图像的宽和高相等。
作为本发明实施例的一种实施方式,上述图像加密装置还可以包括:
第五序列确定模块(图14中未示出),用于根据Logistics混沌映射算法,确定第五像素值序列;
其中,所述第五像素值序列中包括的数值的数量为所述待加密图像的宽和高加和的2倍加4。
像素点添加模块(图14中未示出),用于基于所述第五像素值序列,在所述待加密图像的四周添加像素点,得到添加像素点后的图像,作为当前的待加密图像;
其中,所述当前的待加密图像的宽和高分别为未添加像素点的待加密图像的宽加2及高加2。
作为本发明实施例的一种实施方式,上述序列确定模块可以包括:
其中,Y={y200+1,y200+2,...,y200+t},Z={z200+1,z200+2,...,z200+t},W={w200+1,w200+2,...,w200+k},H={h200+1,h200+2,...,h200+k},N为所述待加密图像的宽,M为所述待加密图像的高,θ为第一控制参数,θ′为第二控制参数,θ、θ′∈(0,1),y0、z0、w0、h0∈(0,1)。
上述转换模块可以包括:
转换子模块(图14中未示出),用于针对所述第一拓展图像中的每个像素点,根据如下所示公式,确定该像素点对应的第一子像素值p′l和第二子像素值p′r:
作为本发明实施例的一种实施方式,上述第五序列确定模块包括:
第五序列确定子模块(图14中未示出),用于根据公式xn+1=μxn(1-xn),确定第五像素值序列X1;
其中,X1={x200+1,x200+2,...,x200+n},3.5699456<μ≤4,x0∈(0,1),n=2(M+1)+2(N+1),N为所述待加密图像的宽,M为所述待加密图像的高。
相应于上述一种图像解密方法,本发明实施例还提供了一种图像解密装置,下面对本发明实施例所提供的一种图像解密装置进行介绍。
如图15所示,一种图像解密装置,其特征在于,所述方法包括:
加密图像获取模块1501,用于获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
第一解密模块1502,用于针对所述加密图像中的每个像素点,基于该像素点在所述加密图像的图像坐标系中的坐标、所述未加密图像的尺寸及所述预设参数,根据猫映射算法的逆运算,确定该像素点的第一解密坐标;
第二解密模块1503,用于针对每个第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则,确定该第一解密坐标对应的第二解密坐标;
解密赋值模块1504,用于针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
可见,本发明实施例所提供的方案中,电子设备可以获取加密图像、加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;针对加密图像中的每个像素点,基于未加密图像的尺寸及所述预设参数,根据猫映射算法,确定该像素点的第一解密坐标;针对每个第一解密坐标,基于未加密图像的尺寸及预设的像素坐标重排规则,确定该第一解密坐标对应的第二解密坐标;针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。这样,电子设备可以根据上述方式对采用本发明实施例所提供的图像加密方法得到的加密图像进行解密,并可以防止攻击者对解密图像的破解,安全性较高。
作为本发明实施例的一种实施方式,上述第一解密模块1502可以包括:
第一解密坐标确定子模块(图15中未示出),用于针对加密图像中的每个像素点,根据如下所示公式,确定该像素点的第一解密坐标(x′n,y′n):
其中,(x″n,y″n)为像素点在加密图像的图像坐标系中的坐标,N为未加密图像的的宽,p、q分别为第一预设参数和第二预设参数;
上述第二解密模块1503可以包括:
第二解密坐标确定子模块(图15中未示出),用于针对每个第一解密坐标,根据如下所示公式,确定该第一解密坐标对应的第二解密坐标(xn,yn):
xn={4*[(x′n-(N/2)*s1)+(y′n-(N/2)*s2)*(N/2)]+r}mod N
yn={4*[(x′n-(N/2)*s1)+(y′n-(N/2)*s2)*(N/2)]+r}/N
作为本发明实施例的一种实施方式,上述图像解密装置还可以包括:
解密序列确定模块(图15中未示出),用于基于2D-LSCM混沌映射算法和所述未加密图像的尺寸,确定第一解密像素值序列及第二解密像素值序列;
解密像素值确定模块(图15中未示出),用于针对所述加密图像中的每一组替换像素点,基于该一组替换像素点所包括的第一替换像素点在所述第一解密像素值序列中对应的数值、该一组替换像素点所包括的第二替换在所述第二解密像素值序列中对应的数值、所述第一替换像素点的像素值、所述第二替换像素点的像素值、预设的第一像素值转换规则的逆运算及预设的第二像素值转换规则的逆运算,分别确定所述第一替换像素点对应的第一解密像素值及所述第二替换像素点对应的第二解密像素值;
像素值合并模块(图15中未示出),用于将所述第一解密像素值及所述第二解密像素值合并为8位二进制的第三解密像素值;
第一未拓展图像确定模块(图15中未示出),用于针对所述加密图像中的每一组替换像素点,将该一组替换像素点所包括的第一替换像素点及第二替换像素点替换为具有所述第三解密像素值的像素点,得到第一未拓展图像;
第二未拓展图像确定模块(图15中未示出),用于将所述第一未拓展图像中第一方向上的拓展像素点去除,得到第二未拓展图像,作为当前的解密图像。
作为本发明实施例的一种实施方式,上述解密像素值确定模块可以包括:
解密像素值确定子模块(图15中未示出),用于针对加密图像中的每一组替换像素点所包括的第一替换像素点及第二替换像素点,基于如下所示公式(,确定第一替换像素点对应的第一解密像素值d7d6d5d4及第二替换像素点第二解密像素值d3d2d1d0:
上述像素值合并模块可以包括:
像素值合并子模块(图15中未示出),用于根据如下所示公式,确定第三解密像素值d7d6d5d4d3d2d1d0:
作为本发明实施例的一种实施方式,上述图像解密装置还可以包括:
像素点去除模块(图15中未示出),用于将所述第一未拓展图像中第一方向上的拓展像素点去除,得到第二未拓展图像之后,将第二未拓展图像边缘一周的像素点去除,得到最终的解密图像。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种图像加密方法,其特征在于,所述方法包括:
获取待加密图像;
针对所述待加密图像中的每个像素点,根据如下所示公式确定该像素点的第一重排坐标(x′n,y′n):
x′n={[xn+N*yn]/4}mod(N/2)+(N/2)*k1
y′n={[xn+N*yn]/4}/(N/2)+(N/2)*k2
针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
3.根据权利要求1所述的方法,其特征在于,在所述针对所述待加密图像中的每个像素点,基于该像素点在图像坐标系中的初始坐标、所述待加密图像的尺寸及预设的像素坐标重排规则,确定该像素点的第一重排坐标的步骤之前,所述方法还包括:
基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列;
基于所述第一像素值序列及第二像素值序列,在所述待加密图像的第一方向上添加像素点,得到第一拓展图像,其中,所述第一拓展图像在第一方向上的像素点数量为第二方向上像素点数量的2倍,所述第一方向为所述待加密图像中宽和高中尺寸较短的方向,所述第二方向为所述待加密图像中宽和高中尺寸较长的方向;
针对所述第一拓展图像中的每个像素点,将该像素点的8位二进制像素值分割为两个4位二进制像素值,作为该像素点对应的第一像素值和第二像素值;
针对所述第一拓展图像中的每个像素点,基于该像素点在所述第三像素值序列中对应的数值及该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在所述第四像素值序列中对应的数值及该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值;
针对所述第一拓展图像中的每个像素点,将该像素点替换为具有所述第一子像素值的像素点和具有所述第二子像素值的像素点,得到第二拓展图像,作为最终的待加密图像,其中,所述第二拓展图像的宽和高相等。
4.根据权利要求3所述的方法,其特征在于,在所述基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列的步骤之前,所述方法还包括:
根据Logistics混沌映射算法,确定第五像素值序列,其中,所述第五像素值序列中包括的数值的数量为所述待加密图像的宽和高加和的2倍加4;
基于所述第五像素值序列,在所述待加密图像的四周添加像素点,得到添加像素点后的图像,作为当前的待加密图像,其中,所述当前的待加密图像的宽和高分别为未添加像素点的待加密图像的宽加2及高加2。
5.根据权利要求3或4所述的方法,其特征在于,所述基于2D-LSCM混沌映射算法和所述待加密图像的尺寸,确定第一像素值序列、第二像素值序列、第三像素值序列及第四像素值序列的步骤,包括:
其中,Y={y200+1,y200+2,...,y200+t},Z={z200+1,z200+2,...,z200+t},W={w200+1,w200+2,...,w200+k},H={h200+1,h200+2,…,h200+k},N为所述待加密图像的宽,M为所述待加密图像的高,θ为第一控制参数,θ′为第二控制参数,θ、θ′∈(0,1),y0、z0、w0、h0∈(0,1),i为不小于零的整数;
所述针对所述第一拓展图像中的每个像素点,基于该像素点在所述第三像素值序列中对应的数值及该像素点的第一像素值以及预设的第一像素值转换规则,确定该像素点对应的第一子像素值,并基于该像素点在所述第四像素值序列中对应的数值及该像素点的第二像素值以及预设的第二像素值转换规则,确定该像素点对应的第二子像素值的步骤,包括:
针对所述第一拓展图像中的每个像素点,根据如下所示公式,确定该像素点对应的第一子像素值p′l和第二子像素值p′r:
6.根据权利要求5所述的方法,其特征在于,所述根据Logistics混沌映射算法,确定第五像素值序列的步骤,包括:
根据公式xn+1=μxn(1-xn),确定第五像素值序列X1;
其中,X1={x200+1,x200+2,...,x200+n′},3.5699456<μ≤4,x0∈(0,1),n′=2(M+1)+2(N+1),N为所述待加密图像的宽,M为所述待加密图像的高,n为不小于零的整数。
7.一种图像解密方法,其特征在于,所述方法包括:
获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
针对所述加密图像中的每个像素点,根据如下所示公式,确定该像素点的第一解密坐标(x′n,y′n):
其中,(x″n,y″n)为该像素点在所述加密图像的图像坐标系中的坐标,N为所述未加密图像的宽,p、q分别为第一预设参数和第二预设参数;
针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标;
针对每个所述第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
9.一种图像加密装置,其特征在于,所述装置包括:
待加密图像获取模块,用于获取待加密图像;
第一重排模块,用于针对所述待加密图像中的每个像素点,根据如下所示公式确定该像素点的第一重排坐标(x′n,y′n):
x′n={[xn+N*yn]/4}mod(N/2)+(N/2)*k1
y′n={[xn+N*yn]/4}/(N/2)+(N/2)*k2
第二重排模块,用于针对每个所述第一重排坐标,根据猫映射算法,确定该第一重排坐标对应的第二重排坐标;
加密赋值模块,用于针对每个所述第二重排坐标,按照所对应的第一重排坐标对应的像素点的像素值,对该第二重排坐标所标识的位置的像素点赋值,得到加密图像。
10.一种图像解密装置,其特征在于,所述装置包括:
加密图像获取模块,用于获取加密图像、所述加密图像对应的未加密图像的尺寸及猫映射算法的预设参数;
第一解密模块,用于针对所述加密图像中的每个像素点,根据如下所示公式,确定该像素点的第一解密坐标(x′n,y′n):
其中,(x″n,y″n)为该像素点在所述加密图像的图像坐标系中的坐标,N为所述未加密图像的宽,p、q分别为第一预设参数和第二预设参数;
第二解密模块,用于针对每个所述第一解密坐标,基于所述未加密图像的尺寸及预设的像素坐标重排规则的逆运算,确定该第一解密坐标对应的第二解密坐标;
解密赋值模块,用于针对每个第二解密坐标,按照所对应的第一解密坐标对应的像素点的像素值,对该第二解密坐标所表示的位置的像素点赋值,得到解密图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148715.3A CN112272262B (zh) | 2020-10-23 | 2020-10-23 | 一种图像加密、解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011148715.3A CN112272262B (zh) | 2020-10-23 | 2020-10-23 | 一种图像加密、解密方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112272262A CN112272262A (zh) | 2021-01-26 |
CN112272262B true CN112272262B (zh) | 2021-09-03 |
Family
ID=74342596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011148715.3A Active CN112272262B (zh) | 2020-10-23 | 2020-10-23 | 一种图像加密、解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112272262B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113805332A (zh) * | 2021-08-23 | 2021-12-17 | 中山大学 | 一种用于多种加密图案的多路复用像素设计方法 |
CN114337988A (zh) * | 2021-12-10 | 2022-04-12 | 深圳市洲明科技股份有限公司 | 媒体数据解密方法、装置、计算机设备和存储介质 |
CN113965420B (zh) * | 2021-12-23 | 2022-03-11 | 西安道法数器信息科技有限公司 | 一种基于人工智能的网络安全加密方法及系统 |
CN115277976B (zh) * | 2022-06-22 | 2023-10-13 | 国网河北省电力有限公司保定供电分公司 | 图像加密方法、装置、电子设备以及存储介质 |
CN114996745B (zh) * | 2022-07-29 | 2022-11-22 | 湖南工商大学 | 基于舆情事件智能搜寻的媒体资产管理系统 |
CN116894261B (zh) * | 2023-09-11 | 2023-12-19 | 山东卓汇智能科技有限公司 | 一种数字化医院电子病历智能加密方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
CN109286819A (zh) * | 2018-10-23 | 2019-01-29 | 湖北工程学院 | 联合压缩的显式图像加密、解密方法及装置 |
CN110046513A (zh) * | 2019-04-11 | 2019-07-23 | 长安大学 | 基于Hopfield混沌神经网络的明文关联图像加密方法 |
CN110120079A (zh) * | 2019-05-08 | 2019-08-13 | 郑州轻工业学院 | 基于三维Logistic映射和广义Cat映射彩色图像加密方法 |
CN111106927A (zh) * | 2019-12-19 | 2020-05-05 | 宁波海特技术转移有限公司 | 一种基于量子混沌和混沌复动力系统的图像加密方法 |
CN111105339A (zh) * | 2019-12-23 | 2020-05-05 | 郑州轻工业大学 | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110417539B (zh) * | 2019-08-02 | 2023-04-28 | 齐齐哈尔大学 | 一种动态混沌与矩阵卷积运算的彩色图像加密方法 |
-
2020
- 2020-10-23 CN CN202011148715.3A patent/CN112272262B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778304A (zh) * | 2016-12-09 | 2017-05-31 | 交通运输部水运科学研究所 | 一种具有明文相关置乱机制的快速混沌图像加密方法 |
CN109286819A (zh) * | 2018-10-23 | 2019-01-29 | 湖北工程学院 | 联合压缩的显式图像加密、解密方法及装置 |
CN110046513A (zh) * | 2019-04-11 | 2019-07-23 | 长安大学 | 基于Hopfield混沌神经网络的明文关联图像加密方法 |
CN110120079A (zh) * | 2019-05-08 | 2019-08-13 | 郑州轻工业学院 | 基于三维Logistic映射和广义Cat映射彩色图像加密方法 |
CN111106927A (zh) * | 2019-12-19 | 2020-05-05 | 宁波海特技术转移有限公司 | 一种基于量子混沌和混沌复动力系统的图像加密方法 |
CN111105339A (zh) * | 2019-12-23 | 2020-05-05 | 郑州轻工业大学 | 一种基于多维混沌系统和约瑟夫置乱的图像加密方法 |
Non-Patent Citations (1)
Title |
---|
一种动态猫映射混沌图像加密算法;王鲜芳等;《河南师范大学学报(自然科学版)》;20180930;第46卷(第5期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112272262A (zh) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112272262B (zh) | 一种图像加密、解密方法及装置 | |
Tang et al. | Efficient image encryption with block shuffling and chaotic map | |
Kanso et al. | An efficient and robust image encryption scheme for medical applications | |
Ghebleh et al. | A robust chaotic algorithm for digital image steganography | |
CN109102452B (zh) | 一种基于拉丁方阵置乱和双向扩散的图像加密方法 | |
US8306221B2 (en) | Image encryption apparatus and image decryption apparatus | |
CN103530571A (zh) | 基于正弦映射和Logistic混沌序列的图像加密方法 | |
CN111597574B (zh) | 一种基于空间扩散结构的并行图像加密系统及方法 | |
RU2374770C1 (ru) | Способ стеганографического сокрытия информации | |
CN108833736A (zh) | 基于Logistic混沌映射的非对称多图像加密方法 | |
CN104050617B (zh) | 基于Liu混沌系统的图像加密方法 | |
Song et al. | A secure image encryption algorithm based on multiple one-dimensional chaotic systems | |
US6782101B1 (en) | Encryption using fractal key | |
Ganesan et al. | Image encryption using eight dimensional chaotic cat map | |
Ramírez-Torres et al. | Image encryption with an improved cryptosystem based on a matrix approach | |
CN112260815B (zh) | 基于索引矩阵的图像加密方法、装置、终端及存储介质 | |
US11276138B2 (en) | Image data encryption and rendering system | |
Abdeihaleem et al. | A chess-based chaotic block cipher | |
CN109559269B (zh) | 一种图像加密的方法及终端 | |
Tabash et al. | Image encryption algorithm based on chaotic map | |
Demirtaş | AFast Multiple Image Encryption Algorithm Based on Hilbert Curve and Chaotic Map | |
Weng et al. | Steganographic data hiding in image processing using predictive differencing | |
Khudhair | An Efficient Image Encryption Technique by Using Cascaded Combined Permutation | |
Zhao et al. | Cryptanalysis on an image scrambling encryption scheme based on pixel bit | |
CN110460737B (zh) | 一种图像分享和还原方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Sun Yi Inventor after: Cai Xiaohong Inventor after: Zhang Yin Inventor after: Yu Keping Inventor before: Sun Yi Inventor before: Cai Xiaohong Inventor before: Zhang Yin |