CN111581658B - 一种采用双线性傅里叶变换进行图像加密的方法 - Google Patents
一种采用双线性傅里叶变换进行图像加密的方法 Download PDFInfo
- Publication number
- CN111581658B CN111581658B CN202010403592.7A CN202010403592A CN111581658B CN 111581658 B CN111581658 B CN 111581658B CN 202010403592 A CN202010403592 A CN 202010403592A CN 111581658 B CN111581658 B CN 111581658B
- Authority
- CN
- China
- Prior art keywords
- matrix
- real
- virtual
- encrypted
- inverse
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 239000011159 matrix material Substances 0.000 claims abstract description 395
- 230000009466 transformation Effects 0.000 claims abstract description 107
- 238000010606 normalization Methods 0.000 claims abstract description 66
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 48
- 238000011084 recovery Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 21
- 230000006798 recombination Effects 0.000 claims description 21
- 238000005215 recombination Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000005056 compaction Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 6
- 101100096505 Xenopus laevis spring1 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Discrete Mathematics (AREA)
- Facsimile Transmission Control (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种采用双线性傅里叶变换进行图像加密的方法,适用于图像数据加密与解密传输。该方法主要是对图像数据进行二维快速傅里叶变换后得到复数矩阵,然后根据实部与虚部进行分解,分别对实部与虚部数据进行两次双线性变换,而双线性变换参数作为图像加密解密的密钥,然后进行归一化变换,归一化信息也作为解密的密钥。最后将归一化后的实部与虚部数据分别存为两个文件发送到远程接收段,由接受端进行反归一化与两次反双线性变换,最后进行二维快速傅里叶逆变换得到解密后的图像。该方法的优点在于多次双线性加密变换能够无缝扩展,简单方便,同时解密时密钥的细微差别将带来解密图像的大幅失真,从而加密效果好,安全性高。
Description
技术领域
本发明涉及图像加密与还原领域,具体而言,涉及一种采用双线性傅里叶变换进行图像加密的方法,可以应用于保密通讯,图像加密解密还原等领域。
背景技术
随着计算机技术的发展,尤其时存储与数据传递技术的飞速发展,越来越多的数据以图像形式在互联网上进行远程传播。很多有关国计民生的重要领域在进行数据传播时,有关数据的加密解密与安全通信引起了越来越多的专家学者的重视。
目前采用的加密方法有时域的混沌信号加密掩盖、频域的变换等等。傅里叶变换由于其良好的沟通时域频域功能而受广大学者的喜爱,但目前大部分是从频域角度进行频谱叠加移除、噪声滤波等处理方式。但其本身强大的时域频域数据转换功能,却没有得到充分的利用。
基于以上原因,本发明借助傅里叶变换与时域双线性变换相结合的方法,实现了图像数据的远程加密解密传播,具有很高的工程应用价值。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的在于提供一种采用双线性傅里叶变换进行图像加密的方法,进而在一定程度上克服传统图像加密解密算法对密钥敏感度不高的问题。
根据本发明的一个方面,提供一种采用双线性傅里叶变换进行图像加密的方法,包括以下步骤:
步骤S10,选取待加密图片文件,进行图片数据读取,存为矩阵,进行数据预处理;
步骤S20,对所述的二维矩阵,进行二维快速傅里叶变换,得到复数矩阵,然后按照实部虚部进行分离,得到实矩阵与虚矩阵,然后进行矩阵重组,得到实行矩阵与虚行矩阵;
步骤S30,分别对所述的实行矩阵与虚行矩阵,进行一次双线性变换,得到一次加密实矩阵与一次加密虚矩阵;
步骤S40,对所述的一次加密实矩阵与一次加密虚矩阵,分别进行二次双线性变换,得到二次加密实矩阵与二次加密虚矩阵;
步骤S50,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,同时得到归一化信息参数作为解密密钥;
步骤S60,将所述的归一化实矩阵与虚矩阵进行数据重组,然后存为图片文件,作为加密文件发送到远程终端。
步骤S70,在远程终端接收加密后的数据文件,然后分别存为实接收数据矩阵与虚接收数据矩阵,再进行数据重组,转换为一维矩阵。
步骤S80,根据所述的一维接收实矩阵与一维接收虚矩阵,进行图片数据的归一化处理,再根据实部归一化信息参数与虚部归一化信息参数,进行反归一化解密处理。
步骤S90,根据所述的反归一化解密实矩阵与虚矩阵,以及二次加密实密钥与二次加密虚密钥,分别进行反二次双线性变换,得到反二次双线性变换实矩阵与反二次双线性变换虚矩阵。
步骤S100,根据所述的反二次双线性变换实矩阵与虚矩阵,以及一次加密实密钥与一次加密虚密钥,分别进行反一次双线性变换,得到反一次双线性变换实矩阵与反一次双线性变换虚矩阵。
步骤S110,对所述的反一次双线性变换实矩阵与虚矩阵进行矩阵叠加与重组,得到二维复数恢复矩阵,然后进行二维快速傅里叶逆变换,得到实数恢复矩阵,然后再进行归一化,转化为图形数据恢复矩阵,存为解密图像,完成加密图像的解密。
在本发明的一种示例实施例中,选取待加密图片文件,进行图片数据读取,存为矩阵,进行数据预处理包括:首先选取待加密图片文件,记作spring.png。其次,将彩色图片文件读取,并存为数据矩阵,记作三维矩阵A。然后将彩色图片数据A转换为灰色图片数据,记作二维B。最后,求取B的维数,将其行数记作m,列数记作n。
在本发明的一种示例实施例中,对所述的二维矩阵,进行二维快速傅里叶变换,按照实部虚部进行分离并进行矩阵重组,得到实行矩阵与虚行矩阵包括:
首先,针对所述的二维矩阵B,进行二维快速傅里叶变换,得到复数矩阵D。有关快速傅里叶变换的方法有公开教科书可查,再次不再累述。其次,按照如下的实部虚部分解得到实矩阵E0,虚矩阵F0。最后进行矩阵重组,将二维实矩阵E0与虚矩阵F0转换为行矩阵,得到实行矩阵E与虚行矩阵F如下:
E0(i0,j0)=dx;
F0(i0,j0)=dy;
其中矩阵B、D、E0、F0维数为m行,n列,设D(i0,j0)表示矩阵D的第i0行第j0列元素,为复数,其中1≤i0≤m,1≤j0≤n。其它E0、F0的描述累述。为虚数单位,dx与dy分别为数据D(i)的实部与虚部。E与F均为一维行矩阵,有m*n个元素,即1行,m*n列。
在本发明的一种示例实施例中,对所述的实行矩阵与虚行矩阵,进行一次双线性变换,得到一次加密实矩阵与一次加密虚矩阵包括:
当时,其中G(i)为E的元素E(i)进行一次双线性变换所得,H(i)为F的元素F(i)进行一次双线性变换所得,其中a1、a2、b1、b2为一次加密实密钥,c1、c2、d1、d2为一次加密虚密钥,详细设计见后文案例实施。最终所得的矩阵G为一次加密实矩阵,H为一次加密虚矩阵,矩阵维数均为1行,m*n列1≤i≤mn。
在本发明的一种示例实施例中,对所述的一次加密实矩阵与一次加密虚矩阵,分别进行二次双线性变换,得到二次加密实矩阵与二次加密虚矩阵包括:
当时,其中I为二次加密实矩阵,其元素I(i)由一次加密实矩阵G的元素G(i)进行一次双线性变换所得;J为二次加密虚矩阵,其元素J(i)由一次加密虚矩阵H的元素H(i)进行一次双线性变换所得;矩阵I与J维数均为为1行,m*n列1≤i≤mn。其中e1、e2、f1、f2、g1、g2、h1、h2为二次加密实密钥,详细设计见后文案例实施。
在本发明的一种示例实施例中,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,同时得到归一化信息参数作为解密密钥包括:
imax=max(I);
imin=min(I);
如果imax=imin;L(i)=1;
jmax=max(J);
jmin=min(J);
如果jmax=jmin;M(i)=1;
其中max(I)表示对矩阵I的所有元素求最大值,记作imax。min(I)表示对矩阵I的所有元素求最小值,记作imin。其中max(J)表示对矩阵J的所有元素求最大值,记作jmax。min(J)表示对矩阵J的所有元素求最小值,记作jmin。
I为二次加密实矩阵,J为二次加密虚矩阵,L为归一化实矩阵,M为归一化虚矩阵,上述矩阵维数为1行,m*n列,1≤i≤mn。L(i)为L的第i个元素,其它类似。imax,imin为实部归一化信息参数。jmax,jmin为虚部归一化信息参数。
在本发明的一种示例实施例中,将所述的归一化实矩阵与虚矩阵进行数据重组,然后存为图片文件,作为加密文件发送到远程终端包括:
首先,将所述的归一化实矩阵L与虚矩阵M进行数据重组,得到m行n列的二维矩阵N与O。然后,将数据矩阵N与O分别存为实文件名为(spring1.png)与虚文件(名为spring2.png)。最后发送给远程终端。
在本发明的一种示例实施例中,在远程终端接收加密后的数据文件,然后分别存为实接收数据矩阵与虚接收数据矩阵,再进行数据重组,转换为一维矩阵包括:首先,根据远程终端接收的加密后的数据实文件spring1.png,存为数据矩阵P。然后将其转换为1行m*n列的一维接收实矩阵,记作Q。其次,根据远程终端接收的加密后的数据虚文件spring2.png,存为数据矩阵R,然后将其转换为1行m*n列的一维接收虚矩阵,记作S。P与R均为m行n列的二维矩阵。
在本发明的一种示例实施例中,根据所述的一维接收实矩阵与一维接收虚矩阵,进行图片数据的归一化处理,再根据实部归一化信息参数与虚部归一化信息参数,进行反归一化解密处理包括:
T(i)=Q(i)/255;
U(i)=S(i)/255;
W(i)=imin+(imax-imin)*T(i);
X(i)=jmin+(jmax-jmin)*U(i);
其中Q为一维接收实矩阵,T为接收归一化实矩阵;imax,imin为实部归一化信息参数,W为反归一化解密实矩阵。S为一维接收虚矩阵,U为接收归一化虚矩阵;jmax,jmin为虚部归一化信息参数,X为反归一化解密虚矩阵。上述矩阵均为1行m*n列,T(i)为矩阵T的第i个元素,1≤i≤mn。
在本发明的一种示例实施例中,根据所述的反归一化解密实矩阵与虚矩阵,以及二次加密实密钥与二次加密虚密钥,分别进行反二次双线性变换,得到反二次双线性变换实矩阵与反二次双线性变换虚矩阵包括:
W为反归一化解密实矩阵,X为反归一化解密虚矩阵,分别经过反二次双线性变换后,得到反二次双线性变换实矩阵Y与反二次双线性变换虚矩阵Z。Y(i)为矩阵Y的第i个元素,1≤i≤mn,其它类似。上述所有矩阵均为1行m*n列。
在本发明的一种示例实施例中,根据所述的反二次双线性变换实矩阵与虚矩阵,以及一次加密实密钥与一次加密虚密钥,分别进行反一次双线性变换,得到反一次双线性变换实矩阵与反一次双线性变换虚矩阵包括:
其中a1、a2、b1、b2为一次加密实密钥,c1、c2、d1、d2为一次加密虚密钥,Y为反二次双线性变换实矩阵,Z为反二次双线性变换虚矩阵,分别进行反一次双线性变换后,得到反一次双线性变换实矩阵A1与反一次双线性变换虚矩阵B1,上述所有矩阵均为1行m*n列,A1(i)为矩阵A1的第i个元素,1≤i≤mn,其它类似。
在本发明的一种示例实施例中,对所述的反一次双线性变换实矩阵与虚矩阵进行矩阵叠加与重组,得到二维复数恢复矩阵,然后进行二维快速傅里叶逆变换,得到实数恢复矩阵,然后再进行归一化,转化为图形数据恢复矩阵,存为解密图像,完成加密图像的解密包括:
首先对所述的反一次双线性变换实矩阵A1与虚矩阵B1进行矩阵叠加,得到一维复数矩阵,记作C1。该矩阵为1行m*n列,C1(i)为矩阵C1的第i个元素,1≤i≤mn,即组成如下:
cx=A1(i);
cy=B1(i);
其次,对一维复数矩阵进行矩阵C1进行重组,得到二维m行n列的复数矩阵,记作D1,然后对其进行二维快速傅里叶逆变换,得到实数恢复矩阵,记作E1。
最后,对实数恢复矩阵E1进行简单的归一化变换,得到图形数据恢复矩阵,记作F1,其中E1与F1二维m行n列的实数矩阵,E1(i1,j1)为E1第i1行j1列的元素,F1(i1,j1)为F1第i1行j1列的元素,1≤i1≤m,1≤j1≤n。其转换关系如下:
如果emax=emax≥0,F1(i1,j1)=1;
如果emax=emax<0,F1(i1,j1)=0;
其中emax为矩阵E1中所有元素的最大值,emin为矩阵E1中所有元素的最小值。最终将得到的图形数据恢复矩阵记作F1,并存为解密图形,取名为spring3.png。
有益效果
本发明提供的一种采用双线性傅里叶变换进行图像加密的方法,其优点在于将频域傅里叶变换与时域双线性变换无缝有机结合起来,实现了图像数据的加密解密传播。尤其是通过二维快速傅里叶变换的累加产生的高增益放大特性,以及双线性变换的强大数据转换功能,使得加密后的图像数据对密钥非常敏感,任何一个密钥只要有百分之一以上的偏差,则完全无法还原出原图像信息。另一个优点是,该方法可以非常方便地无缝扩展为多双线性变换加密,从而产生多次加密效果。因此该方法的加密效果非常好,安全性非常高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种采用双线性傅里叶变换进行图像加密的方法流程图;
图2是本发明实施例所提供方法的待加密发送的小学语文课本的部分截图;
图3是本发明实施例所提供方法的加密后实矩阵图像;
图4是本发明实施例所提供方法的加密后虚矩阵图像;
图5是本发明实施例所提供方法的采用精确密钥b1=1得到的解密图像;
图6是本发明实施例所提供方法的采用密钥b1=1.2的解密图像;
图7是本发明实施例所提供方法的采用密钥b1=1.01的解密图像;
图8是本发明实施例所提供方法的采用密钥b1=1.001的解密图像;
图9是本发明实施例所提供方法的采用密钥b1=1.0001的解密图像。
具体实施方式
现在将参考附图基础上更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
本发明提供了一种采用时域双线性与傅里叶变换相结合的图像加密与解密方法,其主要是通过二维快速傅里叶变换将图像数据矩阵分解为实部矩阵与虚部矩阵两部分,再叠加多次双线性变换,并配合归一化将实部矩阵与虚部矩阵加密后转换为加密图像文件发送到远程终端,然后采用相应的反归一化、反双线性变换以及二维快速傅里叶逆变换得到解密图像数据。其可以利用二维快速傅里叶变换的时频域变换特性,以及累积增益放大特性,然后利用双线性变换以及归一化多次进行加密,使得整个图像加密技术的安全性非常高。
下面,将结合附图对本发明的采用双线性傅里叶变换进行图像加密的方法,进行进一步的解释以及说明。参考图1所示,该采用双线性傅里叶变换进行图像加密的方法,可以包括以下步骤:
步骤S10,选取待加密图片文件,进行图片数据读取,存为矩阵,进行数据预处理;
具体的,首先选取待加密图片文件,记作spring.png。值得说明的是,仅以png格式文件为例进行说明,名字与格式可以选取为其它形式,不限于png格式文件。
其次,将图片文件读取,并存为数据矩阵,记作A,以彩色图片为例说明,A为三维矩阵。此处将彩色图片数据A转换为灰色图片数据,记作B。则B为二维矩阵。如果A本身即为黑白图片,则无需转换为灰色图片数据,此步转换可以忽略。
最后,求取B的维数,将其行数记作m,列数记作n。
步骤S20,对所述的二维矩阵,进行二维快速傅里叶变换,得到复数矩阵,然后按照实部虚部进行分离,得到实矩阵与虚矩阵,然后进行矩阵重组,得到实行矩阵与虚行矩阵;
具体的,首先针对所述的二维矩阵B,进行快速傅里叶变换,得到复数矩阵D,矩阵维数为m行,n列,设D(i0,j0)表示矩阵D的第i0行第j0列元素,为复数,其中1≤i0≤m,1≤j0≤n。其可以描述为:
其次,根据上述复数矩阵D的每一个元素的实部与虚部,构造实矩阵与虚矩阵。实矩阵记作E0,虚矩阵记作F0,矩阵维数均为m行,n列。其构成如下:
E0(i0,j0)=dx;
F0(i0,j0)=dy;
其中E0(i0,j0)表示矩阵E0的第i个元素,F0(i0,j0)表示矩阵F0的第i个元素,均为实数,1≤i0≤m,1≤j0≤n。
最后,进行矩阵重组,将上述二维实矩阵E0与虚矩阵F0转换为行矩阵,分别记作实行矩阵E与虚行矩阵F。其中E与F均为一维行矩阵,有m*n个元素,即1行,m*n列。
步骤S30,分别对所述的实行矩阵与虚行矩阵,进行一次双线性变换,得到一次加密实矩阵与一次加密虚矩阵;
具体的,首先根据所述的实矩阵E的元素E(i)进行一次双线性变换如下:
其次,根据所述的虚行矩阵F的元素F(i)进行一次双线性变换如下:
最终所得的矩阵G为一次加密实矩阵,H为一次加密虚矩阵。
步骤S40,对所述的一次加密实矩阵与一次加密虚矩阵,分别进行二次双线性变换,得到二次加密实矩阵与二次加密虚矩阵;
具体的,首先根据所述的一次加密实矩阵G的元素G(i)进行一次双线性变换如下:
其次,根据所述的二次加密虚矩阵H的元素H(i)进行二次双线性变换如下:
最终所得的矩阵I为二次加密实矩阵,J为二次加密虚矩阵。值得说明的是,本发明方法可以按照上述原理进行三次、四次等多次加密,在此不再一一累述。仅列举两次,说明该方法多次加密的扩展性非常简单方便。而且解密是也没有任何奇异点或异常点或漏洞。
步骤S50,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,同时得到归一化信息参数作为解密密钥;
具体的,首先针对所述的二次加密实矩阵I,求取矩阵的最大值与最小值如下;
imax=max(I);
imin=min(I);
其中max(I)表示对矩阵I的所有元素求最大值,记作imax。min(I)表示对矩阵I的所有元素求最小值,记作imin。再针对二次加密实矩阵I进行如下归一化处理,得到归一化实矩阵L,其处理方式如下:
如果imax=imin;L(i)=1;
其中L(i)为L的第i个元素,矩阵维数为1行,m*n列,1≤i≤mn。L为所得的归一化实矩阵,imax,imin为实部归一化信息参数。
其次针对所述的二次加密虚矩阵J,求取矩阵的最大值与最小值如下;
jmax=max(J);
jmin=min(J);
其中max(J)表示对矩阵J的所有元素求最大值,记作jmax。min(J)表示对矩阵J的所有元素求最小值,记作jmin。再针对二次加密虚矩阵J进行如下归一化处理,得到归一化虚矩阵J,其处理方式如下:
如果jmax=jmin;M(i)=1;
其中M(i)为M的第i个元素,矩阵维数为1行,m*n列,1≤i≤mn。M为所得的归一化虚矩阵,jmax,jmin为虚部归一化信息参数。
步骤S60,将所述的归一化实矩阵与虚矩阵进行数据重组,然后存为图片文件,作为加密文件发送到远程终端。
具体的,首先,将所述的归一化实矩阵L,进行数据重组,从1行m*n列的一维矩阵变为m行n列的二维矩阵,记作N。
其次,将所述的归一化虚矩阵M,进行数据重组,从1行m*n列的一维矩阵变为m行n列的二维矩阵,记作O。
最后,将数据矩阵N与O分别存为实文件与虚文件,实文件名为spring1.png,虚文件名为spring2.png。然后将上述实文件与虚文件作为加密后图片数据,发送给远程终端。
步骤S70,在远程终端接收加密后的数据文件,然后分别存为实接收数据矩阵与虚接收数据矩阵,再进行数据重组,转换为一维矩阵。
具体的,首先,根据远程终端接收的加密后的数据实文件spring1.png,存为数据矩阵P,其格式为m行n列的二维矩阵。然后将其转换为1行m*n列的一维接收实矩阵,记作Q。
其次,根据远程终端接收的加密后的数据虚文件spring2.png,存为数据矩阵R,其格式为m行n列的二维矩阵。然后将其转换为1行m*n列的一维接收虚矩阵,记作S。
步骤S80,根据所述的一维接收实矩阵与一维接收虚矩阵,进行图片数据的归一化处理,再根据实部归一化信息参数与虚部归一化信息参数,进行反归一化解密处理。
具体的,首先根据一维接收实矩阵Q,进行图片数据的归一化处理,即把0-255的整型数据,转换为0-1间数据,得到接收归一化实矩阵,记作T,其转换方式为T(i)=Q(i)/255。该矩阵为1行m*n列,T(i)为矩阵T的第i个元素,1≤i≤mn。
其次,采用同样的方法,将一维接收虚矩阵S转换为接收归一化虚矩阵,记作U,其转换方式为U(i)=S(i)/255。该矩阵为1行m*n列,U(i)为矩阵U的第i个元素,1≤i≤mn。
然后,根据实部归一化信息参数imax,imin对接收归一化实矩T阵再次进行反归一化解密处理,得到反归一化解密实矩阵,记作W,该矩阵为1行m*n列,W(i)为矩阵W的第i个元素,1≤i≤mn。其反归一化解密方式如下:
W(i)=imin+(imax-imin)*T(i);
W即为反归一化解密实矩阵。
最后,根据虚部归一化信息参数jmax,jmin对接收归一化虚矩阵U阵再次进行反归一化解密处理,得到反归一化解密虚矩阵,记作X,该矩阵为1行m*n列,X(i)为矩阵X的第i个元素,1≤i≤mn。其反归一化解密方式如下:
X(i)=jmin+(jmax-jmin)*U(i);
X即为反归一化解密虚矩阵。
步骤S90,根据所述的反归一化解密实矩阵与虚矩阵,以及二次加密实密钥与二次加密虚密钥,分别进行反二次双线性变换,得到反二次双线性变换实矩阵与反二次双线性变换虚矩阵。
具体的,首先根据所述的反归一化解密实矩阵W与二次加密实密钥e1、e2、f1、f2,进行如下的反二次双线性变换,得到反二次双线性变换实矩阵,记作Y,该矩阵为1行m*n列,Y(i)为矩阵Y的第i个元素,1≤i≤mn,其解算如下:
其次,根据所述的反归一化解密虚矩阵X与二次加密虚密钥g1、g2、h1、h2,进行如下的反二次双线性变换,得到反二次双线性变换虚矩阵,记作Z,该矩阵为1行m*n列,Z(i)为矩阵Z的第i个元素,1≤i≤mn,其解算如下:
步骤S100,根据所述的反二次双线性变换实矩阵与虚矩阵,以及一次加密实密钥与一次加密虚密钥,分别进行反一次双线性变换,得到反一次双线性变换实矩阵与反一次双线性变换虚矩阵。
具体的,首先根据所述的反二次双线性变换实矩阵Y与一次加密实密钥a1、a2、b1、b2,进行如下的反一次双线性变换,得到反一次双线性变换实矩阵,记作A1,该矩阵为1行m*n列,A1(i)为矩阵A1的第i个元素,1≤i≤mn,其解算如下:
其次,根据所述的反二次双线性变换虚矩阵Z与一次加密虚密钥c1、c2、d1、d2,进行如下的反一次双线性变换,得到反一次双线性变换虚矩阵,记作B1,该矩阵为1行m*n列,B1(i)为矩阵B1的第i个元素,1≤i≤mn,其解算如下:
A1即为最终得到的反一次双线性变换实矩阵,B1为最终得到的反一次双线性变换虚矩阵。
步骤S110,对所述的反一次双线性变换实矩阵与虚矩阵进行矩阵叠加与重组,得到二维复数恢复矩阵,然后进行二维快速傅里叶逆变换,得到实数恢复矩阵,然后再进行归一化,转化为图形数据恢复矩阵,存为解密图像,完成加密图像的解密。
具体的,首先对所述的反一次双线性变换实矩阵A1与虚矩阵B1进行矩阵叠加,得到一维复数矩阵,记作C1。该矩阵为1行m*n列,C1(i)为矩阵C1的第i个元素,1≤i≤mn,即组成如下:
cx=A1(i);
cy=B1(i);
其次,对一维复数矩阵进行矩阵C1进行重组,得到二维m行n列的复数矩阵,记作D1,然后对其进行二维快速傅里叶逆变换,得到实数恢复矩阵,记作E1。特别说明,有关二维快速傅里叶变换与二维快速傅里叶逆变换的方法由于公开的教科书已有大量而详细的介绍,在此不再重复累述。
最后,对实数恢复矩阵E1进行简单的归一化变换,得到图形数据恢复矩阵,记作F1,其中E1与F1二维m行n列的实数矩阵,E1(i1,j1)为E1第i1行j1列的元素,F1(i1,j1)为F1第i1行j1列的元素,1≤i1≤m,1≤j1≤n。其转换关系如下:
如果emax=emax≥0,F1(i1,j1)=1;
如果emax=emax<0,F1(i1,j1)=0;
其中emax为矩阵E1中所有元素的最大值,emin为矩阵E1中所有元素的最小值。最终将得到的图形数据恢复矩阵记作F1,并存为解密图形,取名为spring3.png。可以将解密后的图片与原图进行对比,即可发现两者完全一致,即可实现无失真解密。但当解密密钥参数稍有错误实,解密图片则无法展现原图真实信息。
案例实施与计算机处理结果分析
在步骤S10中,选取图像文件为小学语文课本的部分截图。由于其为彩色图像,故转换为黑白图像后,如果2所示。其含有m=294行,n=734列。
在步骤S20中,对所述的二维矩阵,进行二维快速傅里叶变换,得到复数矩阵,然后按照实部虚部进行分离与矩阵重组,得到实行矩阵与虚行矩阵;
在步骤S30中,选取a1=1、a2=-100、b1=1、b2=100,c1=1、c2=-100、d1=1、d2=100,分别对所述的实行矩阵与虚行矩阵,进行一次双线性变换,得到一次加密实矩阵与一次加密虚矩阵;
在步骤S40中,选取e1=20、e2=-50、f1=20、f2=50,g1=20、g2=-50、h1=20、h2=50,对所述的一次加密实矩阵与一次加密虚矩阵,分别进行二次双线性变换,得到二次加密实矩阵与二次加密虚矩阵;
在步骤S50中,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,同时得到归一化信息参数作为解密密钥;。
在步骤S60,将所述的归一化实矩阵与虚矩阵进行数据重组,然后存为图片文件,作为加密文件发送到远程终端。其中归一化实矩阵如图3所示,归一化虚矩阵如图4所示。
在步骤S70至S100中,按照前文所述的密钥a1=1、a2=-100、b1=1、b2=100,c1=1、c2=-100、d1=1、d2=100,e1=20、e2=-50、f1=20、f2=50,g1=20、g2=-50、h1=20、h2=50,进行解密,即可得到如图5所示的解密图片。
当步骤S70至S100中采用有偏差的密钥b1=1.2,其它参数完全正确时,进行解密得到的解密图片如图6所示。
当步骤S70至S100中采用有偏差的密钥b1=1.01,其它参数完全正确时,进行解密得到的解密图片如图7所示。
当步骤S70至S100中采用有偏差的密钥b1=1.001,其它参数完全正确时,进行解密得到的解密图片如图8所示。
当步骤S70至S100中采用有偏差的密钥b1=1.0001,其它参数完全正确时,进行解密得到的解密图片如图9所示。
可见,当解密密钥参数差别万分之一时,解密图形有明显的失真,此时解密图形明显偏黑,而当任何解密密钥参数有百分之一,甚至千分之一的差别时,图片完全无法得到恢复。由上述案例分析可以看出,本发明所提供的图像加密解密方法具有超高的安全性,敌方破译破解的难度超大。
本领域技术人员在考虑说明书及实践这类的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未指明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。
Claims (9)
1.一种采用双线性傅里叶变换进行图像加密的方法,其特征在于,包括以下步骤:
步骤S10,选取待加密图片文件,进行图片数据读取,存为二维矩阵,进行数据预处理;
步骤S20,对所述的二维矩阵,进行二维快速傅里叶变换,得到复数矩阵,然后按照实部虚部进行分离,得到实矩阵与虚矩阵,然后进行矩阵重组,得到实行矩阵与虚行矩阵;
步骤S30,分别对所述的实行矩阵与虚行矩阵,进行一次双线性变换,得到一次加密实矩阵与一次加密虚矩阵;
步骤S40,对所述的一次加密实矩阵与一次加密虚矩阵,分别进行二次双线性变换,得到二次加密实矩阵与二次加密虚矩阵;
步骤S50,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,得到归一化实矩阵与归一化虚矩阵,同时得到归一化信息参数作为解密密钥;
步骤S60,将所述的归一化实矩阵与归一化虚矩阵进行数据重组,然后存为图片文件,作为加密数据文件发送到远程终端;
步骤S70,在远程终端接收加密后的加密数据文件,然后分别存为实接收数据矩阵与虚接收数据矩阵,再进行数据重组,转换为一维接收实矩阵与一维接收虚矩阵;
步骤S80,根据所述的一维接收实矩阵与一维接收虚矩阵,进行图片数据的归一化处理,再根据实部归一化信息参数与虚部归一化信息参数,进行反归一化解密处理,得到反归一化解密实矩阵与反归一化解密虚矩阵;
步骤S90,根据所述的反归一化解密实矩阵与反归一化解密虚矩阵,以及二次加密实密钥与二次加密虚密钥,分别进行反二次双线性变换,得到反二次双线性变换实矩阵与反二次双线性变换虚矩阵;
步骤S100,根据所述的反二次双线性变换实矩阵与反二次双线性变换虚矩阵,以及一次加密实密钥与一次加密虚密钥,分别进行反一次双线性变换,得到反一次双线性变换实矩阵与反一次双线性变换虚矩阵;
步骤S110,对所述的反一次双线性变换实矩阵与反一次双线性变换虚矩阵进行矩阵叠加与重组,得到二维复数恢复矩阵,然后进行二维快速傅里叶逆变换,得到实数恢复矩阵,然后再进行归一化,转化为图形数据恢复矩阵,存为解密图像,完成加密图像的解密。
2.根据权利要求1所述的一种采用双线性傅里叶变换进行图像加密的方法,其特征在于,对所述的二维矩阵,进行二维快速傅里叶变换,按照实部虚部进行分离并进行矩阵重组,得到实行矩阵与虚行矩阵包括:
首先,针对待加密图片文件,提取图片数据,存为二维数据矩阵B,进行二维快速傅里叶变换,得到复数矩阵D;其次,按照如下的实部虚部分解得到实矩阵E0,虚矩阵F0;最后进行矩阵重组,将二维实矩阵E0与虚矩阵F0转换为行矩阵,得到实行矩阵E与虚行矩阵F如下:
E0(i0,j0)=dx;
F0(i0,j0)=dy;
5.根据权利要求1所述的一种采用双线性傅里叶变换进行图像加密的方法,其特征在于,分别对所述的二次加密实矩阵与一次加密虚矩阵,进行归一化处理,得到归一化实矩阵与归一化虚矩阵,同时得到归一化信息参数作为解密密钥包括:
imax=max(I);imin=min(I);
如果imax=imin;L(i)=1;
jmax=max(J);jmin=min(J);
如果jmax=jmin;M(i)=1;
其中max(I)表示对矩阵I的所有元素求最大值,记作imax;min(I)表示对矩阵I的所有元素求最小值,记作imin;其中max(J)表示对矩阵J的所有元素求最大值,记作jmax;min(J)表示对矩阵J的所有元素求最小值,记作jmin;I为二次加密实矩阵,J为二次加密虚矩阵,L为归一化实矩阵,M为归一化虚矩阵,矩阵I、J、L、M维数为1行,m*n列,1≤i≤m*n;L(i)为L的第i个元素,imax,imin为实部归一化信息参数;jmax,jmin为虚部归一化信息参数。
6.根据权利要求1所述的一种采用双线性傅里叶变换进行图像加密的方法,其特征在于,根据所述的一维接收实矩阵与一维接收虚矩阵,进行图片数据的归一化处理,再根据实部归一化信息参数与虚部归一化信息参数,进行反归一化解密处理得到反归一化解密实矩阵与反归一化解密虚矩阵包括:
T(i)=Q(i)/255;
U(i)=S(i)/255;
W(i)=imin+(imax-imin)*T(i);
X(i)=jmin+(jmax-jmin)*U(i);
其中Q为远程接收端接收加密文件数据所得的一维接收实矩阵,T为远程接收端接收加密文件数据所得的接收归一化实矩阵;imax,imin为实部归一化信息参数,W为反归一化解密实矩阵;S为一维接收虚矩阵,U为接收归一化虚矩阵;jmax,jmin为虚部归一化信息参数,X为反归一化解密虚矩阵;矩阵Q、T、W、S、U均为1行m*n列,T(i)为矩阵T的第i个元素,1≤i≤m*n。
9.根据权利要求1所述的一种采用双线性傅里叶变换进行图像加密的方法,其特征在于,对所述的反一次双线性变换实矩阵与反一次双线性变换虚矩阵进行矩阵叠加与重组,得到二维复数恢复矩阵,然后进行二维快速傅里叶逆变换,得到实数恢复矩阵,然后再进行归一化,转化为图形数据恢复矩阵,存为解密图像,完成加密图像的解密包括:
首先,对所述的反一次双线性变换实矩阵A1与虚矩阵B1进行矩阵叠加,得到一维复数矩阵,记作C1;矩阵C1为1行m*n列,C1(i)为矩阵C1的第i个元素,1≤i≤m*n,其组成如下:
cx=A1(i);
cy=B1(i);
其中为虚数单位,cx与cy分别为数据C1(i)的实部与虚部;其次,对一维复数矩阵C1进行重组,得到二维m行n列的复数矩阵,记作D1,然后对其进行二维快速傅里叶逆变换,得到实数恢复矩阵,记作E1;最后,对实数恢复矩阵E1进行简单的归一化变换,得到图形数据恢复矩阵,记作F1,其中E1与F1为二维m行n列的实数矩阵,E1(i1,j1)为E1第i1行j1列的元素,F1(i1,j1)为F1第i1行j1列的元素,1≤i1≤m,1≤j1≤n;其转换关系如下:
如果emax=emax≥0,F1(i1,j1)=1;
如果emax=emax<0,F1(i1,j1)=0;
其中emax为矩阵E1中所有元素的最大值,emin为矩阵E1中所有元素的最小值;最终将得到的图形数据恢复矩阵记作F1,并存为图形格式文件,即可得到解密的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403592.7A CN111581658B (zh) | 2020-05-13 | 2020-05-13 | 一种采用双线性傅里叶变换进行图像加密的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403592.7A CN111581658B (zh) | 2020-05-13 | 2020-05-13 | 一种采用双线性傅里叶变换进行图像加密的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111581658A CN111581658A (zh) | 2020-08-25 |
CN111581658B true CN111581658B (zh) | 2022-05-17 |
Family
ID=72112246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010403592.7A Expired - Fee Related CN111581658B (zh) | 2020-05-13 | 2020-05-13 | 一种采用双线性傅里叶变换进行图像加密的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111581658B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112016112B (zh) * | 2020-09-08 | 2022-02-15 | 中国人民解放军海军航空大学 | 一种采用傅里叶变换与微分变换复合进行图像加密的方法 |
CN112019701B (zh) * | 2020-09-08 | 2021-09-21 | 中国人民解放军海军航空大学 | 一种采用非线性低通滤波实现图像加密的方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682682A (zh) * | 2007-05-30 | 2010-03-24 | 富士通株式会社 | 图像加密装置、图像解密装置、方法以及程序 |
CN103955883A (zh) * | 2014-04-23 | 2014-07-30 | 西安理工大学 | 基于分数傅里叶域相位恢复过程的非对称双图像加密方法 |
CN106485643A (zh) * | 2016-09-30 | 2017-03-08 | 天津大学 | 基于分数傅里叶变换和双随机相位编码的图像加密方法 |
CN107977582A (zh) * | 2017-11-20 | 2018-05-01 | 济南大学 | 基于奇异值分解及混沌加密的图像安全云存储方法 |
CN110232284A (zh) * | 2019-06-13 | 2019-09-13 | 首都师范大学 | 一种图像加密方法及装置 |
-
2020
- 2020-05-13 CN CN202010403592.7A patent/CN111581658B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682682A (zh) * | 2007-05-30 | 2010-03-24 | 富士通株式会社 | 图像加密装置、图像解密装置、方法以及程序 |
CN103955883A (zh) * | 2014-04-23 | 2014-07-30 | 西安理工大学 | 基于分数傅里叶域相位恢复过程的非对称双图像加密方法 |
CN106485643A (zh) * | 2016-09-30 | 2017-03-08 | 天津大学 | 基于分数傅里叶变换和双随机相位编码的图像加密方法 |
CN107977582A (zh) * | 2017-11-20 | 2018-05-01 | 济南大学 | 基于奇异值分解及混沌加密的图像安全云存储方法 |
CN110232284A (zh) * | 2019-06-13 | 2019-09-13 | 首都师范大学 | 一种图像加密方法及装置 |
Non-Patent Citations (3)
Title |
---|
Image Encryption With Multiorders of Fractional Fourier Transforms;Ran Tao,etc.;《IEEE》;20101231;第5卷(第4期);全文 * |
Optical image encryption based on binary Fourier transform computer-generated hologram and pixel scrambling technology;Yong-Ying Wang etc.;《Optics and Lasers in Engineering》;20070630;第45卷(第7期);全文 * |
四维混沌与分数傅里叶变换的图像加密方案;苏婷等;《河南师范大学学报(自然科学版)》;20150131;第43卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111581658A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Elkandoz et al. | Image encryption based on a combination of multiple chaotic maps | |
Katzenbeisser et al. | Information hiding | |
Fridrich | Steganography in digital media: principles, algorithms, and applications | |
Dolendro Singh et al. | Visually meaningful multi-image encryption scheme | |
Manohar et al. | Data encryption & decryption using steganography | |
Manimurugan et al. | Secure and efficient medical image transmission by new tailored visual cryptography scheme with LS compressions | |
CN111581658B (zh) | 一种采用双线性傅里叶变换进行图像加密的方法 | |
Zhang et al. | Harnessing the hybrid cloud for secure big image data service | |
CN112016112B (zh) | 一种采用傅里叶变换与微分变换复合进行图像加密的方法 | |
Li et al. | Image encryption based on compressive sensing and scrambled index for secure multimedia transmission | |
Zhao et al. | Primitively visually meaningful image encryption: A new paradigm | |
Ahuja et al. | A secure algorithm using high-dimensional sine map for color image encryption | |
Li et al. | Medical images lossless recovery based on POB number system and image compression | |
CN111246047B (zh) | 一种由微分超前实现图像加密再由惯性滞后实现图像还原的方法 | |
Srivastava et al. | Design and implementation of crypto based water marking techniques for EHR security | |
Juvvanapudi et al. | Hybrid chaotic map with L-shaped fractal Tromino for image encryption and decryption. | |
CN111159747B (zh) | 一种采用正弦对折与平移实现图像加密与还原的方法 | |
CN110009703B (zh) | 一种基于混沌系统的图像加密、解密方法及设备 | |
Wang et al. | A dynamic image encryption algorithm based on improved ant colony walking path thought | |
Rani et al. | An image copyright protection system using chaotic maps | |
Majid et al. | An improved method for image encryption based on high level chaotic maps and improved gravity model | |
Wang et al. | Autoencoder-based joint image compression and encryption | |
Al-Ani | Efficient Image Encryption Approach Based on Chaos Technique | |
Debnath et al. | An Approach Towards Data Security Based on DCT and Chaotic Map | |
CN112019701B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220517 |