一种采用傅里叶变换与微分变换复合进行图像加密的方法转让专利

申请号 : CN202010936122.7

文献号 : CN112016112B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 雷军委王瑞奇李恒李静晋玉强陈育良

申请人 : 中国人民解放军海军航空大学

摘要 :

本发明提供一种采用傅里叶变换与微分变换复合进行图像加密的方法,适用于重要图片信息的加密传输。该方法主要是对图片数据读取后进行归一化再进行二维快速傅里叶变换,分别得到实部与虚部的两个数组矩阵,再对实部或虚部数组矩阵进行比例微分变换,再进行快速归一化,得到的实部与虚部两个归一化数组存为加密后图像数据,快速归一化信息因子作为解密的密钥之一,发送给远程接收端,再进行数据的快速归一化逆变换以及比例微分逆变换解密,实部与虚部进行复合后再进行二维快速傅里叶逆变换并归一化得到解密还原后的图像数据。该方法具有加密安全性好,解密恢复破译难度高的优点。

权利要求 :

1.一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,包括以下步骤:

步骤S10,对图像数据进行读取、图像类型判断、数据类型转换、与数据归一化处理;

步骤S20,对所述归一化处理后的数据进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵;

步骤S30,对所述实部矩阵进行矩阵转换,变成行数据,然后再进行微分变换与比例变换,对变换后的数据进行叠加,得到比例微分叠加矩阵;

步骤S40,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子;

步骤S50,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加密图像;再分别将实部加密图像与虚部加密图像进行远程传输与发送;

步骤S60,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵, 再对实部接收矩阵与虚部接收矩阵进行列矩阵变换与归一化变换;

步骤S70,根据所述的归一化信息因子分别对实部接收归一化列矩阵与虚部接收归一化列矩阵进行快速归一化反变换,得到实部反变换矩阵与虚部反变换矩阵,再对实部反变换矩阵进行比例微分逆变换,得到实部比例微分逆变换矩阵;

步骤S80,对所述的实部比例微分逆变换矩阵与虚部反变换矩阵进行复合,得到解密复数矩阵,然后进行数组重组,同时再进行二维快速傅里叶逆变换,再进行快速归一化后得到解密图像矩阵,存储为解密图片文件,完成文件的解密与接收。

2.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,对图像数据进行读取、图像类型判断、数据类型转换、与数据归一化处理包括:首先将图像数据进行读取判断,读取数据后存为矩阵A1, 其次,对图片进行判断,也就是如果是彩色图片,则将图片数据转换为灰色数据,记作B1; 如果已经是黑白图片,则无需进行转换, 最后,进行归一化处理,进行数据类型转换,即定义矩阵C1(m×n),使得C1(m×n)的每个元素是相应的B1(m×n)元素的1/255, 其中,m×n表示矩阵的维数,表示矩阵有m行n列; C1(m×n)即为归一化后的矩阵。

3.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,对所述归一化处理后的数据矩阵进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵包括:D1(m×n)=FFT{C1(m×n)}D1(j,k)=ejk+ifjk;

E1(j,k)=ejk;

F1(j,k)=fjk

其中C1(m×n)为所述归一化后的矩阵,FFT表示二维快速傅里叶变换,得到的二维复数矩阵记作D1(m×n),E1(m×n)为相应的实部组成实部矩阵,F1(m×n)为相应的虚部组成虚部矩阵, 其中i为虚部单位,D1(j,k)为矩阵D1(m×n)的第j行,第k列的元素,其为复数矩阵,ejk为实部,fjk为其虚部, E1(j,k)为矩阵E1(m×n)的第j行,第k列的元素,F1(j,k)为矩阵F1(m×n)的第j行,第k列的元素,1≤j≤m,1≤k≤n。

4.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,对所述实部矩阵进行矩阵转换,再进行微分变换与比例变换,得到比例微分叠加矩阵包括:

H1(i)=k1G1(i);

当i=1时,I1(i)=0;

当i≥2时,I1(i)=k2(G1(i)‑G1(i‑1))/T1;

J1(i)=I1(i)+H1(i);

其中G1(mn×1)为列矩阵,其由所述的实部矩阵E1(m×n)转换而来; H1(mn×1)为G1(mn×1)的比例变换矩阵,H1(i)为矩阵H1(mn×1)的第i个元素,G1(i)为矩阵G1(mn×1)的第i个元素,1≤i≤mn; k1为增益系数; I1(mn×1)为G1(mn×1)的微分变换矩阵,其中k2为增益系数,T1为数据间的时间间隔参数; I1(i)为矩阵I1(mn×1)的第i个元素,1≤i≤mn; J1(mn×1)为最后的比例微分叠加矩阵,J1(i)为矩阵J1(mn×1)的第i个元素,1≤i≤mn。

5.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子包括:M(1)=max(K1);

M(2)=min(K1);

其中K1(1×mn)为比例微分叠加矩阵J1(mn×1)进行行变换得到行矩阵; M即为所求的归一化信息因子; M(1)为矩阵K1(1×mn)的最大值,M(2)为矩阵K1(1×mn)的最小值; L1(1×mn)即为快速归一化后矩阵,其中L1(i)为矩阵L1(mn×1)的第i个元素,K1(i)为矩阵K1(mn×1)的第i个元素,1≤i≤mn; max(K1)表示对矩阵K1的所有元素求最大值,min(K1)表示对矩阵K1的所有元素求最小值。

6.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加密图像;再分别将实部加密图像与虚部加密图像进行远程传输与发送包括:首先,将所述的快速归一化后得到的行矩阵L1(1×mn)进行数据重新排列,将行矩阵转换为m行n列的数据矩阵M1(m×n); 其次,将数据矩阵M1(m×n)存为实部加密图像,记作文件file2.jpg; 再次,针对虚部矩阵F1(m×n),转换为列矩阵N1(mn×1),然后再进行快速归一化,得到O1(mn×1),与快速归一化信息因子N,其中N包含矩阵N1(mn×1)的最大值与最小值,分别存储于N(1)、N(2)。即N(1)=max(N1);

N(2)=min(N1);

其中N1(i)为矩阵N1(mn×1)的第i个元素,M1(i)为矩阵M1(mn×1)的第i个元素,1≤i≤mn; max(N1)表示对矩阵N1的所有元素求最大值,min(N1)表示对矩阵N1的所有元素求最小值; 再次,将归一化后矩阵O1(mn×1)存为虚部加密图像文件,记作file3.jpg; 最后,将上述加密后的文件file2.jpg与file3.jpg文件进行远程传输。

7.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵, 再对实部接收矩阵与虚部接收矩阵进行列矩阵变换与归一化变换包括:

首先,在远程终端接收实部加密文件file2.jpg,存储为实部接收矩阵P1(m×n);接收虚部加密文件file3.jpg,存储为虚部接收矩阵Q1(m×n); 其次,对P1(m×n)进行列变换后得到实部接收列矩阵R1(mn×1),Q1(m×n)进行列变换后得到虚部接收矩阵S1(mn×1); 最后,对上述列矩阵R1(mn×1)、S1(m×n)进行简单归一化变换如下:T1(i)=R1(i)/255;

U1(i)=S1(i)/255;

其中T1(m×n)为实部接收归一化列矩阵与U1(m×n)为虚部接收归一化列矩阵,T1(i)为矩阵T1(mn×1)的第i个元素,R1(i)为矩阵R1(mn×1)的第i个元素,U1(i)为矩阵U1(mn×

1)的第i个元素,S1(i)为矩阵S1(mn×1)的第i个元素,1≤i≤mn。

8.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,根据所述的归一化信息因子分别对实部接收归一化列矩阵与虚部接收归一化列矩阵进行快速归一化反变换,得到实部反变换矩阵与虚部反变换矩阵,再对实部反变换矩阵进行比例微分逆变换,得到实部比例微分逆变换矩阵包括:V1(i)=M(2)+(M(1)‑M(2))*T1(i);

W1(i)=N(2)+(N(1)‑N(2))*U1(i);

X1(1)=V1(1);

D(i)=(V1(i)‑k1X(i))/k2X1(i+1)=X1(i)+D(i)*T1;

其中V1(i)为矩阵V1(mn×1)的第i个元素,W1(i)为矩阵W1(mn×1)的第i个元素,1≤i≤mn; V1(mn×1)为实部反变换矩阵,W1(mn×1)为虚部反变换矩阵; X1(mn×1)为实部比例微分逆变换矩阵,1≤i≤mn‑1,k1、k2为加密时采用的增益系数,T1为加密时采用的数据间的时间间隔参数,详见后文案例实施。

9.根据权利要求1所述的一种采用傅里叶变换与微分变换复合进行图像加密的方法,其特征在于,对所述的实部比例微分逆变换矩阵与虚部反变换矩阵进行复合,得到解密复数矩阵,然后进行数组重组,同时再进行二维快速傅里叶逆变换,再进行快速归一化后得到解密图像矩阵,存储为解密图片文件包括:首先,进行矩阵复合如下:

xj=X1(j);

wj=W1(j);

Y1(j)=xj+wj*i;

其中X1(mn×1)为所述的实部比例微分逆变换矩阵,W1(mn×1)为虚部反变换矩阵,Y1(mn×1)为解密复数矩阵,i为虚部单位; Y1(j)为矩阵Y1(mn×1)的第j个变量,X1(j)为矩阵X1(mn×1)的第j个变量,W1(j)为矩阵W1(mn×1)的第j个变量,1≤j≤mn; 其次,将解密复数矩阵Y1(mn×1)进行重组,得到二维复矩阵Z1(m×n); 然后,对二维复矩阵Z1(m×n)进行二维快速傅里叶逆变换,得到矩阵A2(m×n),再将该矩阵A2(m×n)进行归一化,转换为(0,1)间的数据,得到归一化后的矩阵B2(m×n); 最后将B2(m×n)存为数据文件,记作file4.jpg,即得到最终的解密图像。

说明书 :

一种采用傅里叶变换与微分变换复合进行图像加密的方法

技术领域

[0001] 本发明涉及图像加密与还原领域,具体而言,涉及一种采用傅里叶变换与微分变换复合进行图像加密的方法,可以应用于保密通讯,加密图像处理等领域。

背景技术

[0002] 图像加密技术随着信息安全的重要性提高而被越来越多的国家所关注与重视。传统的图像加密采用像素数据的翻转、变换来打乱像素的空间位置,但上述加密方法由于图
像的连续性,往往会暴露出原图的部分蛛丝马迹。也有采用混沌系统产生随机序列进行掩
盖,但上述方法与图像自身的信息无关,难以抵抗明文攻击。
[0003] 傅里叶变换是由时域到频域的变换,因此图像数据其时域的表现形式与频域的表现形式会完全不同。比如传统图像数据在0‑255之间,而傅里叶变换后数据会达到几十万、
几百万的放大。因此完全用简单的对应关系进行破解。同时傅里叶变换后,还会产生实部与
虚部两部分,和原图数据之间的对应关系更加复杂。
[0004] 基于以上原因,本发明提出一种对原始图片数据进行傅里叶变换,拆解为实部图片与虚部图片两部分,进行比例微分变换后,再发送到远程终端的方式,和现有的加密解密
手段完全不同,从而解密也更加复杂,因此具有更高的安全性。
[0005] 需要说明的是,在上述背景技术部分发明的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

[0006] 本发明的目的在于提供一种采用傅里叶变换与微分变换复合进行图像加密的方法,进而在一定程度上克服传统图像加密解密算法复杂度与安全性不高的问题。
[0007] 根据本发明的一个方面,提供一种采用傅里叶变换与微分变换复合进行图像加密的方法,包括以下步骤:
[0008] 步骤S10,对图像数据进行读取、图像类型判断、数据类型转换、与数据归一化处理;
[0009] 步骤S20,对所述归一化处理后的数据进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵;
[0010] 步骤S30,对所述实部矩阵进行矩阵转换,变成行数据,然后再进行微分变换与比例变换,对变换后的数据进行叠加,得到比例微分叠加矩阵;
[0011] 步骤S40,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子;
[0012] 步骤S50,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加密图像;再分别将实部
加密图像与虚部加密图像进行远程传输与发送;
[0013] 步骤S60,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵。再对实部接收矩阵与虚部接收矩阵进行列矩阵变换与归一
化变换;
[0014] 步骤S70,根据所述的归一化信息因子分别对实部接收归一化列矩阵与虚部接收归一化列矩阵进行快速归一化反变换,得到实部反变换矩阵与虚部反变换矩阵,再对实部
反变换矩阵进行比例微分逆变换,得到实部比例微分逆变换矩阵;
[0015] 步骤S80,对所述的实部比例微分逆变换矩阵与虚部反变换矩阵进行复合,得到解密复数矩阵,然后进行数组重组,同时再进行二维快速傅里叶逆变换,再进行快速归一化后
得到解密图像矩阵,存储为解密图片文件,完成文件的解密与接收。
[0016] 在本发明的一种示例实施例中,对图像数据进行读取、图像类型判断、数据类型转换、与数据归一化处理包括:
[0017] 首先将图像数据进行读取判断,读取数据后存为矩阵A1。
[0018] 其次,对图片进行判断,也就是如果是彩色图片,则将图片数据转换为灰色数据,记作B1。如果已经是黑白图片,则无需进行转换。
[0019] 最后,进行归一化处理,进行数据类型转换,即定义矩阵C1(m×n),使得C1(m×n)的每个元素是相应的B1(m×n)元素的1/255。
[0020] 其中,m×n表示矩阵的维数,表示矩阵有m行n列。C1(m×n)即为归一化后的矩阵。
[0021] 在本发明的一种示例实施例中,对所述归一化处理后的数据矩阵进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵包括:
[0022] D1(m×n)=FFT{C1(m×n)}
[0023] D1(j,k)=ejk+ifjk;
[0024] E1(j,k)=ejk;
[0025] F1(j,k)=fjk
[0026] 其中C1(m×n)为所述归一化后的矩阵,FFT表示二维快速傅里叶变换,得到的二维复数矩阵记作D1(m×n),E1(m×n)为相应的实部组成实部矩阵,F1(m×n)为相应的虚部组
成虚部矩阵。
[0027] 其中i为虚部单位,D1(j,k)为矩阵D1(m×n)的第j行,第k列的元素,其为复数矩阵,ejk为实部,fjk为其虚部。E1(j,k)为矩阵E1(m×n)的第j行,第k列的元素,F1(j,k)为矩
阵F1(m×n)的第j行,第k列的元素,1≤j≤m,1≤k≤n。
[0028] 在本发明的一种示例实施例中,对所述实部矩阵进行矩阵转换,再进行微分变换与比例变换,得到比例微分叠加矩阵包括:
[0029] H1(i)=k1G1(i);
[0030] 当i=1时,I1(i)=0;
[0031] 当i≥2时,I1(i)=k2(G1(i)‑G1(i‑1))/T1;
[0032] J1(i)=I1(i)+H1(i);
[0033] 其中G1(mn×1)为列矩阵,其由所述的实部矩阵E1(m×n)转换而来。H1(mn×1)为G1(mn×1)的比例变换矩阵,H1(i)为矩阵H1(mn×1)的第i个元素,G1(i)为矩阵G1(mn×1)
的第i个元素,1≤i≤mn。k1为增益系数,详见后文案例实施。
[0034] I1(mn×1)为G1(mn×1)的微分变换矩阵,其中k2为增益系数,T1为数据间的时间间隔参数,详见后文案例实施。I1(i)为矩阵I1(mn×1)的第i个元素,1≤i≤mn。J1(mn×1)为
最后的比例微分叠加矩阵,J1(i)为矩阵J1(mn×1)的第i个元素,1≤i≤mn。
[0035] 在本发明的一种示例实施例中,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子包括:
[0036] M(1)=max(K1);
[0037] M(2)=min(K1);
[0038]
[0039] 其中K1(1×mn)为比例微分叠加矩阵J1(mn×1)进行行变换得到行矩阵。M即为所求的归一化信息因子。M(1)为矩阵K1(1×mn)的最大值,M(2)为矩阵K1(1×mn)的最小值。L1
(1×mn)即为快速归一化后矩阵,其中L1(i)为矩阵L1(mn×1)的第i个元素,K1(i)为矩阵K1
(mn×1)的第i个元素,1≤i≤mn。max(K1)表示对矩阵K1的所有元素求最大值,min(K1)表示
对矩阵K1的所有元素求最小值。
[0040] 在本发明的一种示例实施例中,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加
密图像;再分别将实部加密图像与虚部加密图像进行远程传输与发送包括:
[0041] 首先,将所述的快速归一化后得到的行矩阵L1(1×mn)进行数据重新排列,将行矩阵转换为m行n列的数据矩阵M1(m×n)。
[0042] 其次,将数据矩阵M1(m×n)存为实部加密图像,记作文件file2.jpg。
[0043] 再次,针对虚部矩阵F1(m×n),转换为列矩阵N1(mn×1),然后再进行快速归一化,得到O1(mn×1),与快速归一化信息因子N,其中N包含矩阵N1(mn×1)的最大值与最小值,分
别存储于N(1)、N(2)。即
[0044] N(1)=max(N1);
[0045] N(2)=min(N1);
[0046]
[0047] 其中N1(i)为矩阵N1(mn×1)的第i个元素,M1(i)为矩阵M1(mn×1)的第i个元素,1≤i≤mn。max(N1)表示对矩阵N1的所有元素求最大值,min(N1)表示对矩阵N1的所有元素求
最小值。
[0048] 再次,将归一化后矩阵O1(mn×1)存为虚部加密图像文件,记作file3.jpg。
[0049] 最后,将上述加密后的文件file2.jpg与file3.jpg文件进行远程传输。
[0050] 在本发明的一种示例实施例中,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵。再对实部接收矩阵与虚部接收矩阵
进行列矩阵变换与归一化变换包括:
[0051] 首先,在远程终端接收实部加密文件file2.jpg,存储为实部接收矩阵P1(m×n);接收虚部加密文件file3.jpg,存储为虚部接收矩阵Q1(m×n)。
[0052] 其次,对P1(m×n)进行列变换后得到实部接收列矩阵R1(mn×1),Q1(m×n)进行列变换后得到虚部接收矩阵S1(mn×1)。
[0053] 最后,对上述列矩阵R1(mn×1)、S1(m×n)进行简单归一化变换如下:
[0054] T1(i)=R1(i)/255;
[0055] U1(i)=S1(i)/255;
[0056] 其中T1(m×n)为实部接收归一化列矩阵与U1(m×n)为虚部接收归一化列矩阵,T1(i)为矩阵T1(mn×1)的第i个元素,R1(i)为矩阵R1(mn×1)的第i个元素,U1(i)为矩阵U1
(mn×1)的第i个元素,S1(i)为矩阵S1(mn×1)的第i个元素,1≤i≤mn。
[0057] 在本发明的一种示例实施例中,根据所述的归一化信息因子分别对实部接收归一化列矩阵与虚部接收归一化列矩阵进行快速归一化反变换,得到实部反变换矩阵与虚部反
变换矩阵,再对实部反变换矩阵进行比例微分逆变换,得到实部比例微分逆变换矩阵包括:
[0058] V1(i)=M(2)+(M(1)‑M(2))*T1(i);
[0059] W1(i)=N(2)+(N(1)‑N(2))*U1(i);
[0060] X1(1)=V1(1);
[0061] D(i)=(V1(i)‑k1X(i))/k2
[0062] X1(i+1)=X1(i)+D(i)*T1;
[0063] 其中V1(i)为矩阵V1(mn×1)的第i个元素,W1(i)为矩阵W1(mn×1)的第i个元素,1≤i≤mn。V1(mn×1)为实部反变换矩阵,W1(mn×1)为虚部反变换矩阵。X1(mn×1)为实部比
例微分逆变换矩阵,1≤i≤mn‑1,k1、k2为加密时采用的增益系数,T1为加密时采用的数据间
的时间间隔参数,详见后文案例实施。
[0064] 在本发明的一种示例实施例中,对所述的实部比例微分逆变换矩阵与虚部反变换矩阵进行复合,得到解密复数矩阵,然后进行数组重组,同时再进行二维快速傅里叶逆变
换,再进行快速归一化后得到解密图像矩阵,存储为解密图片文件包括:
[0065] 首先,进行矩阵复合如下:
[0066] xj=X1(j);
[0067] wj=W1(j);
[0068] Y1(j)=xj+wj*i;
[0069] 其中X1(mn×1)为所述的实部比例微分逆变换矩阵,W1(mn×1)为虚部反变换矩阵,Y1(mn×1)为解密复数矩阵,i为虚部单位。Y1(j)为矩阵Y1(mn×1)的第j个变量,X1(j)
为矩阵X1(mn×1)的第j个变量,W1(j)为矩阵W1(mn×1)的第j个变量,1≤j≤mn。
[0070] 其次,将解密复数矩阵Y1(mn×1)进行重组,得到二维复矩阵Z1(m×n)。
[0071] 然后,对二维复矩阵Z1(m×n)进行二维快速傅里叶逆变换,得到矩阵A2(m×n),再将该矩阵A2(m×n)进行归一化,转换为(0,1)间的数据,得到归一化后的矩阵B2(m×n)。
[0072] 最后将B2(m×n)存为数据文件,记作file4.jpg,即得到最终的解密图像。
[0073] 有益效果
[0074] 本发明提供的一种采用傅里叶变换与微分变换复合进行图像加密的方法,采用二维快速傅里叶变换的方式,能够将一幅图像分离成实部与虚部两部分进行分离传送,同时
在实部虚部分离的基础上,再进行比例微分的复合变换,进一步增加图像加密的复杂性。同
时在解密时采用傅里叶逆变换以及快速归一化的密钥与比例微分逆变换进行解密。因此整
个加密过程有三层,第一层是傅里叶变换的实部虚部分离,第二层加密是比例微分的放大
变换,第三层是快速归一化的密钥加密。从而使得整个方法具有很高的安全性,也具有很高
的工程应用价值。

附图说明

[0075] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据
这些附图获得其他的附图。
[0076] 图1是本发明提供的一种采用傅里叶变换与微分变换复合进行图像加密的方法流程图;
[0077] 图2是本发明实施例所提供方法的待加密黑白图像;
[0078] 图3是本发明实施例所提供方法的加密后传输的实部图像;
[0079] 图4是本发明实施例所提供方法的加密后传输的虚部图像;
[0080] 图5是本发明实施例所提供方法的密钥正常的解密图像;
[0081] 图6是本发明实施例所提供方法的密钥k2=0.0011的解密图像;
[0082] 图7是本发明实施例所提供方法的密钥k2=0.005的解密图像;
[0083] 图8是本发明实施例所提供方法的密钥k2=0.0006的解密图像;

具体实施方式

[0084] 现在将参考附图基础上更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明
将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的
特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,
提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意
识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其
它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾
夺主而使得本发明的各方面变得模糊。
[0085] 本发明提供了一种结合二维快速傅里叶变换、比例微分变换以及快速归一化变换三合一的图像数据加密传送方法,在解密端依次采用快速归一化逆变换、比例微分逆变换
与二维快速傅里叶逆变换进行解密的方法。其层层加密的方法使得本发明所提供的具有很
好的安全性。尤其是傅里叶变换实部虚部分离的一分为而特性,以及其离散累积带来的放
大特性,都使得该加密方法破解难度大增。
[0086] 下面,将结合附图对本发明的采用傅里叶变换与微分变换复合进行图像加密的方法,进行进一步的解释以及说明。参考图1所示,该采用傅里叶变换与微分变换复合进行图
像加密的方法,可以包括以下步骤:
[0087] 步骤S10,对图像数据进行读取、图像类型判断、数据类型转换、与数据归一化处理;
[0088] 具体的,首先将图像数据进行读取判断。例如假设图像文件为file1.jpg,当然可以是png等其它格式的图像文件。读取出来后存为矩阵A1。
[0089] 其次,对图片进行判断,也就是如果是彩色图片,则将图片数据转换为灰色数据,如果已经是黑白图片,则无需进行转换。在此以黑白图片为例进行加密解密过程的说明,彩
色图片可以看作为三个原色的黑白照片,按照相同的方法进行处理三遍即可。假设彩色图
像数据矩阵A1经过灰色变换后,转换为黑白图片数据,记作B1。有关彩色图像转换为黑白图
像数据的方法,由于已有现成的公开方法,在此不再累述。
[0090] 最后,将所述的黑白图像数据,进行数据类型转换。假设B1中含有m行,n列,则表示黑白数据具有m*n个像素点。由于矩阵B1(m×n)中的数据类型均为0‑255之间的整型数据,
表示灰度。因此,需要首先将上述数据进行归一化处理,即定义矩阵C1(m×n),使得C1(m×
n)的每个元素是相应的B1(m×n)元素的1/255。
[0091] 步骤S20,对所述归一化处理后的数据进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵;
[0092] 具体的,首先针对所述的归一化后矩阵C1(m×n),即m*n个数据,进行二维快速傅里叶变换,所得的二维复数矩阵,记作D1(m×n)。其中有关二维快速傅里叶变换,也就是FFT
变换的方法,在教科书已有公开方法,在此不再累述。
[0093] 其次,将所得的二维复数矩阵D1(m×n)进行分解,即将矩阵的每个元素复数,分解为实部与虚部两部分。然后将相应的实部组成实部矩阵,记作E1(m×n),将相应的虚部组成
虚部矩阵,记作F1(m×n)。
[0094] 即:D1(m×n)=FFT{C1(m×n)}
[0095] D1(j,k)=ejk+ifjk;
[0096] E1(j,k)=ejk;
[0097] F1(j,k)=fjk
[0098] 其中i为虚部单位,D1(j,k)为矩阵D1(m×n)的第j行,第k列的元素,其为复数矩阵,ejk为实部,fjk为其虚部。E1(j,k)为矩阵E1(m×n)的第j行,第k列的元素,F1(j,k)为矩
阵F1(m×n)的第j行,第k列的元素,1≤j≤m,1≤k≤n。
[0099] 步骤S30,对所述实部矩阵进行矩阵转换,变成行数据,然后再进行微分变换与比例变换,对变换后的数据进行叠加,得到比例微分叠加矩阵;
[0100] 具体的,首先将所述的实部矩阵E1(m×n)转换为列矩阵G1(mn×1),即将二维矩阵转换为一维矩阵向量。
[0101] 其次,对上述列矩阵G1(mn×1)进行比例变换,得到矩阵H1(mn×1),其方法是对对应的矩阵元素进行放缩,即
[0102] H1(i)=k1G1(i);
[0103] 其中H1(i)为矩阵H1(mn×1)的第i个元素,G1(i)为矩阵G1(mn×1)的第i个元素,1≤i≤mn。k1为增益系数,详见后文案例实施。
[0104] 再次,对上述列矩阵G1(mn×1)进行微分变换,得到矩阵I1(mn×1),其计算方法如下:
[0105] 当i=1时,I1(i)=0;
[0106] 当i≥2时,I1(i)=k2(G1(i)‑G1(i‑1))/T1;
[0107] 其中k2为增益系数,T1为数据间的时间间隔参数,详见后文案例实施。I1(i)为矩阵I1(mn×1)的第i个元素,1≤i≤mn。
[0108] 最后,对上述比例微分数据进行叠加,得到最后的比例微分叠加矩阵,记作J1(mn×1),其计算过程如下:
[0109] J1(i)=I1(i)+H1(i);
[0110] 其中J1(i)为矩阵J1(mn×1)的第i个元素,1≤i≤mn。
[0111] 步骤S40,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子;
[0112] 具体的,首先对所述的比例微分叠加矩阵进行行变换,得到行矩阵,记作K1(1×mn)。
[0113] 其次,对上述行矩阵K1(1×mn)进行简单归一化处理,得到归一化后矩阵L1(1×mn),以及归一化信息因子M。其中归一化信息因子M中包含矩阵K1(1×mn)的最大值,记作M
(1),同时把矩阵K1(1×mn)的最小值存入M(2)。其中K1(1×mn)与L1(1×mn)之间的变换关
系可以描述如下:
[0114] M(1)=max(K1);
[0115] M(2)=min(K1);
[0116]
[0117] 其中L1(i)为矩阵L1(mn×1)的第i个元素,K1(i)为矩阵K1(mn×1)的第i个元素,1≤i≤mn。max(K1)表示对矩阵K1的所有元素求最大值,min(K1)表示对矩阵K1的所有元素求
最小值。
[0118] 步骤S50,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加密图像;再分别将实部
加密图像与虚部加密图像进行远程传输与发送。
[0119] 具体的,首先将所述的快速归一化后得到的行矩阵L1(1×mn)进行数据重新排列,将行矩阵转换为m行n列的数据矩阵M1(m×n)。
[0120] 其次,将数据矩阵M1(m×n)存为实部加密图像,记作文件file2.jpg。
[0121] 再次,针对虚部矩阵F1(m×n),首先转换为列矩阵N1(mn×1),然后再进行快速归一化,得到归一化后矩阵O1(mn×1),以及快速归一化信息因子N,其中N包含矩阵N1(mn×1)
的最大值与最小值,分别存储于N(1)、N(2)。
[0122] 即
[0123] N(1)=max(N1);
[0124] N(2)=min(N1);
[0125]
[0126] 其中N1(i)为矩阵N1(mn×1)的第i个元素,M1(i)为矩阵M1(mn×1)的第i个元素,1≤i≤mn。max(N1)表示对矩阵N1的所有元素求最大值,min(N1)表示对矩阵N1的所有元素求
最小值。
[0127] 再次,将归一化后矩阵O1(mn×1)存为虚部加密图像文件,记作file3.jpg。值得说明的是,虚部数据矩阵未进行比例微分加密,如果需要提高安全等级,增大破译难度,也可
按照实部模式进行加密。在此不再累述,同时由于对实部数据进行微分加密,已经能够满足
一般保密通讯的要求。
[0128] 最后,将上述加密后的文件file2.jpg与file3.jpg文件进行远程传输。
[0129] 步骤S60,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵。再对实部接收矩阵与虚部接收矩阵进行列矩阵变换与归一
化变换。
[0130] 具体的,首先在远程终端接收实部加密文件file2.jpg,存储为实部接收矩阵,记作P1(m×n);接收虚部加密文件file3.jpg,存储为虚部接收矩阵,记作Q1(m×n)。
[0131] 其次,将上述实部接收矩阵与虚部接收矩阵进行列变换,即改变矩阵的维数,将二维矩阵转变为一维列矩阵。其中P1(m×n)进行列变换后得到实部接收列矩阵R1(mn×1),Q1
(m×n)进行列变换后得到虚部接收矩阵S1(mn×1)。
[0132] 最后,对上述列矩阵R1(mn×1)、S1(m×n)进行简单归一化变换,得到实部接收归一化列矩阵T1(m×n)与虚部接收归一化列矩阵U1(m×n),其变换方式如下:
[0133] T1(i)=R1(i)/255;
[0134] U1(i)=S1(i)/255;
[0135] 其中T1(i)为矩阵T1(mn×1)的第i个元素,R1(i)为矩阵R1(mn×1)的第i个元素,U1(i)为矩阵U1(mn×1)的第i个元素,S1(i)为矩阵S1(mn×1)的第i个元素,1≤i≤mn。
[0136] 步骤S70,根据所述的归一化信息因子分别对实部接收归一化列矩阵与虚部接收归一化列矩阵进行快速归一化反变换,得到实部反变换矩阵与虚部反变换矩阵,再对实部
反变换矩阵进行比例微分逆变换,得到实部比例微分逆变换矩阵。
[0137] 具体的,首先根据所述的归一化因子M与N,对实部接收归一化列矩阵T1(mn×1)与虚部接收归一化列矩阵U1(mn×1)进行如下的快速归一化反变换,得到实部反变换矩阵V1
(mn×1)与虚部反变换矩阵W1(mn×1),其描述如下:
[0138] V1(i)=M(2)+(M(1)‑M(2))*T1(i);
[0139] W1(i)=N(2)+(N(1)‑N(2))*U1(i);
[0140] 其中V1(i)为矩阵V1(mn×1)的第i个元素,W1(i)为矩阵W1(mn×1)的第i个元素,1≤i≤mn。
[0141] 其次,对实部反变换矩阵V1(mn×1)进行比例微分逆变换,得到实部比例微分逆变换矩阵X1(mn×1),具体的变换过程如下:
[0142] X1(1)=V1(1);
[0143] D(i)=(V1(i)‑k1X(i))/k2
[0144] X1(i+1)=X1(i)+D(i)*T1;
[0145] 其中1≤i≤mn‑1,k1、k2为加密时采用的增益系数,T1为加密时采用的数据间的时间间隔参数,详见后文案例实施。
[0146] 步骤S80,对所述的实部比例微分逆变换矩阵与虚部反变换矩阵进行复合,得到解密复数矩阵,然后进行数组重组,同时再进行二维快速傅里叶逆变换,再进行快速归一化后
得到解密图像矩阵,存储为解密图片文件,完成文件的解密与接收。
[0147] 具体的,首先将所述的实部比例微分逆变换矩阵X1(mn×1)与虚部反变换矩阵W1(mn×1)进行复合,得到解密复数矩阵,记作Y1(mn×1),其复合过程如下:
[0148] xj=X1(j);
[0149] wj=W1(j);
[0150] Y1(j)=xj+wj*i;
[0151] 其中i为虚部单位。其中Y1(j)为矩阵Y1(mn×1)的第j个变量,X1(j)为矩阵X1(mn×1)的第j个变量,W1(j)为矩阵W1(mn×1)的第j个变量,1≤j≤mn。
[0152] 其次,将解密复数矩阵Y1(mn×1)进行重组,得到二维复矩阵Z1(m×n),即将一维列矩阵重组为二维矩阵。
[0153] 然后,对二维复矩阵Z1(m×n)进行二维快速傅里叶逆变换,得到矩阵A2(m×n),有关其逆变换的方法有公开的教科书可查,在此不再累述。再将该矩阵A2(m×n)进行归一化,
转换为(0,1)间的数据,得到归一化后的矩阵B2(m×n)。
[0154] 最后将B2(m×n)存为数据文件,记作file4.jpg,从而得到最终的解密图像。通过对比,可以发现,解密后的图像与原图像几乎一致,而发送中的两个未解密图像,即使被截
获,由于失真度太大,也完全无法得到原图像信息。
[0155] 案例实施与计算机处理结果分析
[0156] 在步骤S10中,选取图像文件为家用笔记本电脑桌面的截屏图。由于其为彩色图像,故转换为黑白图像后,如果2所示。其含有m=204行,n=803列。
[0157] 在步骤S20,对所述归一化处理后的数据进行快速傅里叶变换,将相应的实部与虚部进行分解,得到实部矩阵与虚部矩阵;
[0158] 在步骤S30中,选取k1=1,k2=0.001,T1=0.001,对所述实部矩阵进行变换得到比例微分叠加矩阵;
[0159] 在步骤S40中,对所述的比例微分叠加矩阵进行矩阵变换得到行矩阵,然后进行快速归一化处理,得到归一化矩阵与归一化信息因子;
[0160] 在步骤S50中,将所述的快速归一化后的行矩阵进行数据重组,存为实部加密图像如图3所示;同样对虚部矩阵数据进行快速归一化后再进行数据重组,存为虚部加密图像如
图4所示。
[0161] 在步骤S60,在远程终端对所述实部加密文件与虚部加密文件进行接收,分别存储为实部接收矩阵与虚部接收矩阵。再对实部接收矩阵与虚部接收矩阵进行列矩阵变换与归
一化变换。
[0162] 在步骤S70中,如步骤S30设置选取k1=1,k2=0.001,T1=0.001,得到实部比例微分逆变换矩阵。
[0163] 在步骤S80中,进行二维快速傅里叶逆变换后,再进行快速归一化后得到解密图像矩阵,存储为解密图片文件如图5所示。
[0164] 当在步骤S70中选取的解密参数k1=1,k2=0.0011,T1=0.001时,解密得到的图像效果如图6所示。
[0165] 当在步骤S70中选取的解密参数k1=1,k2=0.005,T1=0.001时,解密得到的图像效果如图7所示。
[0166] 当在步骤S70中选取的解密参数k1=1,k2=0.0006,T1=0.001时,解密得到的图像效果如图8所示。
[0167] 可见,参数稍有差别,则解密效果差别很大,尤其是当k2小于密钥时,图像会迅速变黑消失,如图8所示。上述结果还是解密方法完全公开的情况,仅密钥参数微弱不同,就能
达到完全不一样的加密效果。如果仅加密后的数据被截获,如图3与图4所示,会出现全黑图
像,完全无法获得有用信息。由此可见,本发明所提供方法具有很高的工程应用价值。
[0168] 本领域技术人员在考虑说明书及实践这类的发明后,将容易想到本发明的其他实施例。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应
性变化遵循本发明的一般性原理并包括本发明未指明的本技术领域中的公知常识或惯用
技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由权利要求指出。