CN110837651A - 基于分数阶离散神经网络和dna运算的彩色图像加密方法 - Google Patents
基于分数阶离散神经网络和dna运算的彩色图像加密方法 Download PDFInfo
- Publication number
- CN110837651A CN110837651A CN201911067457.3A CN201911067457A CN110837651A CN 110837651 A CN110837651 A CN 110837651A CN 201911067457 A CN201911067457 A CN 201911067457A CN 110837651 A CN110837651 A CN 110837651A
- Authority
- CN
- China
- Prior art keywords
- dna
- matrix
- positions
- pseudo
- encryption
- 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.)
- Granted
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/001—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using chaotic signals
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于分数阶离散神经网络和DNA运算的彩色图像加密方法,包括:S1:建立初值;S2:置乱R,G,B三个色彩成分之间像素;S3:计算DNA编码;S4:为了进一步提高加密安全性,给出基于DNA运算的与明文无关的DNA扩散算法;S5:二次置乱和异或;二次置乱是为了扰乱三个信号通道内部元素的位置。本发明的优点是:1.解决传统混沌加密使用整数阶混沌系统导致的,动力学行为不够复杂,秘钥空间较小的问题。2.解决部分DNA加密算法,加密规则单一,以及对明文和秘钥不敏感的问题。3.解决密文在传输过程中不能抵抗噪声和信息丢失攻击的问题。4.能够应对噪声和剪切攻击。
Description
技术领域
本发明涉及图像加密技术领域,特别涉及一种基于分数阶离散神经网络和DNA运算的彩色图像加密方法。
背景技术
随着计算机和互联网技术的快速发展,多媒体信息的总体数量和传输速度得到了巨大的提升,大大便利的网络用户的日常生活,然而由于互联网的开放性,用户通信过程中产生的大量多媒体信息的安全性难以保证。而彩色图像是多媒体信息的重要组成部分,数字图像在传输过程中的安全性和完整性日益受到关注。图像加密技术无疑是保证图像信息安全的有效手段。图像具有数据容量大、像素间相关性强等特点,传统的文本加密方法,如AES(高级加密标准)、DES(数据加密标准)和IDEA(国际数据加密算法),并不适用于图像加密,因此非常有必要设计一种能够满足置乱-扩散要求的图像加密算法。
近年来,基于混沌系统的图像加密算法逐渐成熟并且得到了广泛应用。混沌系统作为一个典型的非线性动力学系统,具有对初值敏感、遍历性强、动力学行为复杂的特性,非常适合作为图像加密系统中的伪随机数生成器。相比之下分数阶混沌系统不仅具有整数阶混沌系统的所有优点,还具有更加广泛的参数选择范围以及更加复杂的动力学行为。但是值得注意的是有一些单纯使用混沌系统的算法被指出了有安全性问题,所以目前需要将注意力转移到将混沌与DNA(脱氧核糖核酸)技术相结合的算法。
常规的混沌加密算法使用低阶的混沌系统作为伪随机数生成器,利用混沌系统对初值敏感的特性,即如果秘钥发生了很微小的变化,其产生的伪随机数序列也会发生极大的改变,这样一来如果无法得到正确的秘钥,也就无法将加密图像还原成原来的图像,能够很好的实现图像的保密。
现有技术,基于混沌的图像加密技术:
加密使用的混沌系统为超混沌Lorenz系统;
其中a=10、b=8/3、c=28、r=-1,初始状态
x0∈(-40,40),y0∈(-40,40),z0∈(1,81),ω0∈(-250,250),采用欧拉法离散化,步长为0.002。秘钥K={x0,y0,z0,ω0,r1,r2},r1,r2为两个8字节的随机数。设原图片为P,大小为M×N,灰度等级为L。
混沌密码发生器
借助超混沌系统产生6个伪随机矩阵,X,Y,Z,W,U和V,迭代超混沌系统r1+r2次跳过系统过渡态,之后再迭代MN次得到4个伪随机序列,{xi},{yi},{zi}和{ωi},i=1,2,...,MN,伪随机矩阵可以通过下面的式子得到,其中
k=1,2,...M,l=1,2,...N,floor(t)返回小于或者等于t的最大整数,mod为求余运算。
X(k,l)=floor(((x(k-1)×N+l+500)mod 1)×1013)mod 2L
Y(k,l)=floor(((y(k-1)×N+l+500)mod 1)×1013)mod 2L
Z(k,l)=(floor(z(k-1)×N+l×1013)mod M)+1
W(k,l)=(floor(((ω(k-1)×N+l+500)mod 1)×1012)mod N)+1
U(k,l)=(floor(((x(k-1)×N+l+y(k-1)×N+l+500)mod 1)×1012)mod M)+1
V(k,l)=(floor(((z(k-1)×N+l+ω(k-1)×N+l+500)mod 1)×1012)mod N)+1
明文无关的扩散算法I
借助伪随机矩阵X将明文图片P变换为矩阵A,步骤如下:
Step 1.令i=1,j=1.
Step 2.A(i,j)=P(i,j)+X(i,j)+r1 mod 2L
Step 3.令j=j+1
Step 4.A(i,j)=P(i,j)+A(i,j-1)+X(i,j)mod 2L
Step 5.若j<N,跳转到Step 3;否则,令j=1,i=i+1,如果i≤M,跳转到Step6;否则跳转到Step 8.
Step 6.A(i,j)=P(i,j)+sum(A(i-1,1to N))+X(i,j)mod 2L其中sum(t)返回向量t中所有元素的和。
Step 7.跳转Step 3。
Step 8.结束。
明文关联的置乱算法
置乱算法是通过扰乱图像中像素点的位置消除原图像中相邻像素点的相关性,算法步如下:
Step 1.对于图像A中给定的一个像素点坐标(i,j)通过如下公式得到(m,n)的值
m=(U(i,j)+sum(A(Z(i,j),1 to N)mod M))+1
n=(V(i,j)+sum(A(1 to M,W(i,j))mod N))+1
如果m=i或Z(i,j),或者n=j或W(i,j),或者Z(i,j)=i,或者W(i,j)=j则A(i,j)位置保持不变;否则A(i,j)和A(m,n)互换位置。
Step 2.从上到下从左到右的对图像中的每一个像素点重复Step 1,得到图像B。
明文无关的扩散算法II
与扩散算法I不同的是,算法II是从后往前扩散的,借助伪随机矩阵Y将图像B转化成矩阵C,具体步骤如下:
Step 1.令i=M,j=N.
Step 2.C(i,j)=B(i,j)+Y(i,j)+r2 mod 2L
Step 3.令j=j-1
Step 4.C(i,j)=B(i,j)+C(i,j+1)+Y(i,j)mod 2L
Step 5.若j>1,跳转到Step 3;否则,令j=N,i=i-1,如果i≥1,跳转到Step 6;否则跳转到Step 8.
Step 6.C(i,j)=B(i,j)+sum(C(i-1,1 to N))+Y(i,j)mod 2L其中sum(t)返回向量t中所有元素的和。
Step 7.跳转Step 3。
Step 8.结束。
矩阵C为所得到的密文图像,解密过程为加密过程的逆运算。
现有技术的缺点:
1.由于使用了超混沌Lorenz系统,其动力学行为不够复杂,作为四维系统,其参数空间选择范围也较小,导致了秘钥空间不是很大。
2.对传输过程中的噪声干扰以及信息丢失等攻击完全无法抵抗,密文即使发生很微小的改变,也无法通过正确的秘钥还原出有意义的图像。
发明内容
本发明针对现有技术的缺陷,提供了一种基于分数阶离散神经网络和DNA运算的彩色图像加密方法,解决传统混沌加密使用整数阶混沌系统导致的,动力学行为不够复杂,秘钥空间较小的问题。解决部分DNA加密算法,加密规则单一,以及对明文和秘钥不敏感的问题。解决密文在传输过程中不能抵抗噪声和信息丢失攻击的问题。
为了实现以上发明目的,本发明采取的技术方案如下:
一种基于分数阶离散神经网络和DNA运算的彩色图像加密方法,包括以下步骤:
S1:建立初值;
初始值既取决于用户的输入密钥(k1,k2,k3,h,v),也取决于由SHA-256根据原彩色图片生成的外部256位密钥K,将256位密钥K分为64部分,每一部分位长为4,这样K可以表示为K=K1,K2,K3...K64,同时,每个Ki(i=1,2,...,64)都用十六进制表示。选择分数阶阶次v=0.3,离散步长h=1.5,神经网络的初值将由以下公式确定:
C=(K37+K38+...+K64)×10
其中C是迭代参数,计算时舍弃伪随机数序列的前C个值,减少暂态过程的影响。
S2:置乱R,G,B三个色彩成分之间像素,其步骤如下:
S21:将原彩色图片PM×N分为R,G,B三个色彩矩阵,并得到矩阵RM×N,GM×N,BM×N;
S22:如果有M=N则进入Step 3,否则用‘0’元素补齐矩阵,这里为了便利的介绍算法我们默认M=N=255;
S23:迭代分数阶离散Hopfield神经网络O次(O=4×MN+C),舍弃伪随机序列的前C个值,然后的带伪随机序列x(i),y(i),z(i),i=1 to 4×MN.
S24:如图3所示,将RM×N,GM×N,BM×N三个色彩矩阵分别作为正方体A的三个面,然后通过下面的方程将S23中的伪随机序列映射到正方体A的空间中
X(i)=floor(x(i)×1014 mod 256)
Y(i)=floor(y(i)×1014 mod 256)
Z(i)=floor(z(i)×1014 mod 256)
P1(i)=(floor(z(i)×1014 mod 5))+1
i=1 to 4×MN,P1是下一步骤中用于选择置乱方法的投影变量,此时正方体A中有一个点a(X(i),Y(i),Z(i)),且该点投影在三个面上的点分别为R(X(i),Z(i)),G(Y(i),Z(i)),B(X(i),Y(i))。
S25:置乱的方法取决于上述的P1的数值
Case 1当P1(i)=1时,交换R(X(i),Z(i))和B(X(i),Y(i))的位置。
Case 2当P1(i)=2时,交换R(X(i),Z(i))和G(Y(i),Z(i))的位置。
Case 3当P1(i)=3时,先交换R(X(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和G(Y(i),Z(i))的位置。
Case 4当P1(i)=4时,交换G(Y(i),Z(i))和B(X(i),Y(i))的位置。
Case 5当P1(i)=5时,先交换G(Y(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和B(X(i),Y(i))的位置。
当完成交换后,得到了矩阵R1M×N,G1M×N,B1M×N,为了方便DNA编码,将矩阵重新书写为R1MN×1,G1MN×1,B1MN×1。
S3:DNA编码的方式将由如下变量得出:
P2(i)=(floor(y(i)×1014)mod 8)+1i=1 to MN
通过P2(i)的值为R1MN×1,G1MN×1,B1MN×1中的每个像素选择对应的编码方式,举个例子,如果P2(i)=2,则R1(i,1),G1(i,1),B1(i,1)将通过上面编码方式表格中的方式2对灰度值进行编码,编码完成后得到DNA矩阵R2MN×1,G2MN×1,B2MN×1。
S4:为了进一步提高加密安全性,基于DNA运算的与明文无关的DNA扩散算法被给出,其具体步骤如下:
for i=1 to MN
if i=1 then R3(i,1)=R2(i,1),G3(i,1)=G2(i,1),B3(i,1)=B2(i,1);
else
R3(i,1)=R2(i,1)+R2(i-1,1),G3(i,1)=G2(i,1)+G2(i-1,1),B3(i,1)=B2(i,1)+B2(i-1,1)
end
end
其中符号‘+’表示DNA运算中的加法,具体前面表格中已给出。经过扩散后使用P2(i)的值解码得到数字矩阵R3MN×1,G3MN×1,B3MN×1。
S5:二次置乱和异或;
二次置乱是为了扰乱三个信号通道内部元素的位置,其具体步骤如下
S51:使用由分数阶离散Hopfield神经网络迭代产生的伪随机数序列x(i),y(i),z(i),令i=1 to MN,i=3×MN to 4×MN,对伪随机数序列x(i),y(i),z(i)通过MATLAB中sort指令进行排序:
(x1(i),Tx)=sort(x(j))
(y1(i),Ty)=sort(y(j))
(z1(i),Tz)=sort(z(j))
其中x1(i),y1(i),z1(i)是排序后的伪随机数序列,Tx,Ty,Tz是排序后每个元素在原序列中的位置。
S52:将R3MN×1,G3MN×1,B3MN×1分别通过Tx,Ty,Tz进行排序,全部交换完成后获得R4MN×1,G4MN×1,B4MN×1。
同时,使用S2的映射序列X(i),Y(i),Z(i)得到异或矩阵如下:
XR(1:MN)=X(2×MN+1:3×MN)
XG(1:MN)=Y(2×MN+1:3×MN)
XB(1:MN)=Z(2×MN+1:3×MN)
最后密文矩阵可以通过如下步骤得到:
C′R(i)=bitxor(R4(i),XR(i))
C′G(i)=bitxor(G4(i),XG(i))
C′B(i)=bitxor(B4(i),XB(i))
将矩阵C′R,C′G,C′B重塑为大小为M×N的矩阵CR,CG,CB,而CR,CG,CB分别作为密文图像的三个色彩成分。
与现有技术相比,本发明的优点在于:
1.解决传统混沌加密使用整数阶混沌系统导致的,动力学行为不够复杂,秘钥空间较小的问题。
2.解决部分DNA加密算法,加密规则单一,以及对明文和秘钥不敏感的问题。
3.解决密文在传输过程中不能抵抗噪声和信息丢失攻击的问题。
4.能够应对噪声和剪切攻击。
附图说明
图1为本发明实施例混沌吸引子图;
图2为本发明实施例DNA彩色图像加密方法流程图;
图3为本发明实施例3D投影置乱示意图;
图4为本发明实施例加密后效果图;
图5为本发明实施例原始图片和加密图片的灰度直方图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下根据附图并列举实施例,对本发明做进一步详细说明。
(1)概念准备
(1.1)分数阶离散Hopfield神经网络
基于分数阶混沌神经网络的DNA加密算法,不同于常规的混沌加密算法,我们使用了分数阶离散的Hopfield神经网络作为伪随机数生成器,Hopfield神经网络由美国科学家于1982年提出,一般形式如下:
下面将介绍一些关于分数阶微积分的基本定义:
已知函数f(t)的分数阶阶次β∈R+,t>0时定义如下
设函数f(t)的阶次α∈(n-1,n),t>0时定义如下
Dαf(t)=In-αDnf(t),α>0
所以Hopfield神经网络分数阶形式如下:
得到其离散分数阶形式如下:
其中h为离散过程中的离散步长。当初值(x0,y0,z0)=(0.2,-0.5,0.8),分数阶阶次v=0.8,离散步长h=0.001时,可以得到混沌吸引子图像如图1所示;
证明其具有混沌特性。
(1.2)DNA编码与运算
DNA(脱氧核糖核酸)是一种独特的双螺旋结构分子,广泛应用于各种生物中作为遗传信息的存储介质。DNA序列中有四种不同的核酸:A(腺嘌呤)、C(胞嘧啶)、G(鸟嘌呤)和T(胸腺嘧啶),其中A总是与T成对,G总是与C成对。与此类似,在二元体系中,0和1是互补的,因此可以推断10和01是互补的,11和00是互补的。也是互补的。如果我们用11,10,01,00对A、T、G、C进行编码,则有24种编码方案,其中只有8种满足Watson-Crick补码规则,如表下所示。
随着DNA计算的迅速发展,一些研究者提出了基于DNA序列的基本运算。下面2张表格分别表示本文中使用的加法和减法。
DNA加法 | A | C | G | T |
A | T | A | C | G |
C | A | C | G | T |
G | C | G | T | A |
T | G | T | A | C |
DNA减法 | A | C | G | T |
A | C | A | T | G |
C | G | C | A | T |
G | T | G | C | A |
T | A | T | G | C |
(2)基于分数阶离散神经网络和DNA运算的彩色图像加密方法加密方的流程图如图2所示;
(2.1)基于分数阶离散Hopfield神经网络和SHA-256(安全散列算法)的伪随机数生成器:
在所提出的图像加密方案中,初始值既取决于用户的输入密钥(k1,k2,k3,h,v),也取决于由SHA-256根据原彩色图片生成的外部256位密钥K,请注意,即使原彩色图片只改变一个像素值,其HASH(散列)值也将与以前完全不同。本发明将256位密钥K分为64部分,每一部分位长为4,这样K可以表示为K=K1,K2,K3...K64,同时,每个Ki(i=1,2,...,64)都用十进制表示。选择分数阶阶次v=0.3,离散步长h=1.5,神经网络的初值将由以下公式确定:
C=(K37+K38+...+K64)×10
其中C是迭代参数,计算时舍弃伪随机数序列的前C个值,减少暂态过程的影响。
(2.2)3D投影置乱方法
创新的提出了一种置乱R,G,B三个色彩成分之间像素的方法,其步骤如下:
Step 1.将原彩色图片PM×N分为R,G,B三个色彩矩阵,并得到矩阵RM×N,GM×N,BM×N;
Step 2.如果有M=N则进入Step 3,否则用‘0’元素补齐矩阵,这里为了便利的介绍算法我们默认M=N=255;
Step 3.迭代分数阶离散Hopfield神经网络O次(O=4×MN+C),舍弃伪随机序列的前C个值,然后的带伪随机序列x(i),y(i),z(i),i=1 to 4×MN.
Step 4.如图3所示,将RM×N,GM×N,BM×N三个色彩矩阵分别作为正方体A的三个面,然后通过下面的方程将Step 3中的伪随机序列映射到正方体A的空间中
X(i)=floor(x(i)×1014 mod 256)
Y(i)=floor(y(i)×1014 mod 256)
Z(i)=floor(z(i)×1014 mod 256)
P1(i)=(floor(z(i)×1014 mod 5))+1
i=1 to 4×MN,P1是下一步骤中用于选择置乱方法的投影变量,此时正方体A中有一个点a(X(i),Y(i),Z(i)),且该点投影在三个面上的点分别为R(X(i),Z(i)),G(Y(i),Z(i)),B(X(i),Y(i))。
Step 5.置乱的方法取决于上一步中的P1的数值
Case 1当P1(i)=1时,交换R(X(i),Z(i))和B(X(i),Y(i))的位置。
Case 2当P1(i)=2时,交换R(X(i),Z(i))和G(Y(i),Z(i))的位置。
Case 3当P1(i)=3时,先交换R(X(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和G(Y(i),Z(i))的位置。
Case 4当P1(i)=4时,交换G(Y(i),Z(i))和B(X(i),Y(i))的位置。
Case 5当P1(i)=5时,先交换G(Y(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和B(X(i),Y(i))的位置。
当完成交换后,得到了矩阵R1M×N,G1M×N,B1M×N,为了方便DNA编码,将矩阵重新书写为R1MN×1,G1MN×1,B1MN×1。
(2.3)随机DNA编码和图像无关的扩散算法
本发明中DNA编码的方式将由如下变量得出:
P2(i)=(floor(y(i)×1014)mod 8)+1 i=1 to MN
通过P2(i)的值为R1MN×1,G1MN×1,B1MN×1中的每个像素选择对应的编码方式,举个例子,如果P2(i)=2,则R1(i,1),G1(i,1),B1(i,1)将通过上面编码方式表格中的方式2对灰度值进行编码,编码完成后得到DNA矩阵R2MN×1,G2MN×1,B2MN×1。
为了进一步提高加密安全性,基于DNA运算的与明文无关的DNA扩散算法被给出,其具体步骤如下:
for i=1 to MN
if i=1 then R3(i,1)=R2(i,1),G3(i,1)=G2(i,1),B3(i,1)=B2(i,1);
else
R3(i,1)=R2(i,1)+R2(i-1,1),G3(i,1)=G2(i,1)+G2(i-1,1),B3(i,1)=B2(i,1)+B2(i-1,1)
end
end
其中符号‘+’表示DNA运算中的加法,具体前面表格中已给出。经过扩散后使用P2(i)的值解码得到数字矩阵R3MN×1,G3MN×1,B3MN×1。
(2.4)二次置乱和异或
最后,二次置乱是为了扰乱三个信号通道内部元素的位置,其具体步骤如下
Step 1.使用由分数阶离散Hopfield神经网络迭代产生的伪随机数序列x(i),y(i),z(i),令i=1 to MN,i=3×MN to 4×MN,对伪随机数序列x(i),y(i),z(i)通过MATLAB中sort指令进行排序:
(x1(i),Tx)=sort(x(j))
(y1(i),Ty)=sort(y(j))
(z1(i),Tz)=sort(z(j))
其中x1(i),y1(i),z1(i)是排序后的伪随机数序列,Tx,Ty,Tz是排序后每个元素在原序列中的位置。
Step 2.将R3MN×1,G3MN×1,B3MN×1分别通过Tx,Ty,Tz进行排序,举个例子:R3MN×1中的第Tx(1)个元素和第一个元素交换位置,第Tx(2)个元素和第二个元素交换位置,以此类推。全部交换完成后获得R4MN×1,G4MN×1,B4MN×1。
同时,使用3D投影置乱方法中的映射序列X(i),Y(i),Z(i)得到异或矩阵如下:
XR(1:MN)=X(2×MN+1:3×MN)
XG(1:MN)=Y(2×MN+1:3×MN)
XB(1:MN)=Z(2×MN+1:3×MN)
最后密文矩阵可以通过如下步骤得到:
C′R(i)=bitxor(R4(i),XR(i))
C′G(i)=bitxor(G4(i),XG(i))
C′B(i)=bitxor(B4(i),XB(i))
将矩阵C′R,C′G,C′B重塑为大小为M×N的矩阵CR,CG,CB,而CR,CG,CB分别作为密文图像的三个色彩成分。解密过程为加密过程的逆运算,DNA加法的逆运算DNA减法也在前表中给出。
(3)实验和检验
通过实验对加密算法进行检验,实验平台装有MATLAB 2016a软件的个人笔记本电脑,CPU为intel(R)Core(TM)i5-8300H(2.3GHz),内存为8G。
实验对象选取为图片Lena(256×256)外部秘钥设置为:
(-0.1513,-0.8052,0.4914,1.5,0.3)
进行加密后效果图如图4所示;图4中从左至右分别是原图,加密图和解密之后的图像。
如图5所示,灰度直方图反映了图像灰度值的分布情况,分布的越均匀则说明加密图像对信息掩盖的越好。
图5中上面的三张图片是原图片的三个色彩通道的灰度直方图,下面三张为加密图片的灰度直方图,可以直观的看到加密图片的信息掩盖很成功。
相关系数计算:计算公式如下,一般来说,我们考虑三种相邻点的相关系数:垂直相邻像素、水平相邻像素和对角线相邻像素。图像LENA的相关性系数将在下面给出,可以看出加密前图像具有很强的相关性,而加密后像素之间相关性接近于0。
信息熵指标:信息熵是评价图像信息随机性程度的重要指标。对于灰度等级为256的图像而言,理想的信息熵值为8,其计算公式如下:
如下表所示,通过我们加密算法得到密文图片,三个色彩通道的信息熵值都接近8,意味着图像信息具有极高的随机性。
图像 | R色彩成分 | G色彩成分 | B色彩成分 |
LENA原图 | 7.3147 | 7.6391 | 7.0542 |
LENA密文 | 7.9971 | 7.9974 | 7.9974 |
差分攻击指标:为了测量加密算法抵抗差分攻击的能力,我们经常检查该算法的两个指标:NPCR(像素数变化率)和UACI(统一平均变化强度)。NPCR是比较两张图片对应像素的值,并计算出不同像素点的数量占所有像素的百分比。UACI记录两张图片的所有对应像素之间的差异,并将差异的平均值与最大差异(255)进行比较。NPCR和UACI的计算公式如下:
其中M和N是原图像的尺寸,C和C′是两个密码图像,其对应的普通图像仅相差一个像素。如果C(i,j)≠C′(i,j),D(i,j)=1;否则D(i,j)=0。理想NPCR为99.6094%,理想UACI为33.4635%。在这个测试中,我们随机选择Lena中的一个像素,并在像素值上加1以得到图片Lena'。然后对两张图片进行加密,加密后的三个通道的NPCI值分别为99.60%、99.61%、99.62%和33.44%、33.49%、33.51%,可以看出,加密算法还具有很好的抗差分攻击特性。
秘钥敏感性:一个好的加密算法在加密和解密过程中也应该对密钥敏感。由于使用了SHA算法,即使普通图像只更改一个像素值,哈希值也将与以前完全不同。也就是说,前一节中的差分攻击测试基于密钥(哈希值K)发生显著变化的条件。接下来我们将讨论更一般的情况,小的密钥更改对加密和解密过程的影响。测试图片为LENA,另外7个测试秘钥分别为:
D1=[-0.1515,-0.821,0.4914,1.5,0.3,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D2=[-0.1515+10^-14,-0.821,0.4914,1.5,0.3,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D3=[-0.1515,-0.821+10^-14,0.4914,1.5,0.3,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D4=[-0.1515,-0.821,0.4914+10^-14,1.5,0.3,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D5=[-0.1515,-0.821,0.4914,1.5+10^-13,0.3,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D6=[-0.1515,-0.821,0.4914,1.5,0.3+10^-14,CA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D7=[-0.1515,-0.821,0.4914,1.5,0.3,DA595AB9743521DE72E65630613837627ACEAC0A67944180B1095E09D1D3847C]
D2,D3,D4是由原密钥中的(k1,k2,k3)分别加上10^-14得到,D5是给离散步长h加上10^-13,D6是在阶次v上增加10^-14,D7在哈希值的第一位上加1。下表展示了使用用更改和未更改的密钥加密的加密图像的NPCI和UACI值。可以看出,即使密钥的变化很小,加密图像中99%以上的像素发生了变化,从而保证了算法在加密过程中的密钥敏感性。
噪声和剪切攻击:图像信息在传输过程中,经常容易收到噪声影响,或者由于某种原因丢失了密文的部分信息,本发明算法应对噪声和剪切攻击也有很好的效果,可以还原出原图片信息。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (1)
1.一种基于分数阶离散神经网络和DNA运算的彩色图像加密方法,其特征在于,包括以下步骤:
S1:建立初值;
初始值既取决于用户的输入密钥(k1,k2,k3,h,v),也取决于由SHA-256根据原彩色图片生成的外部256位密钥K,将256位密钥K分为64部分,每一部分位长为4,这样K可以表示为K=K1,K2,K3...K64,同时,每个Ki(i=1,2,...,64)都用十六进制表示;选择分数阶阶次v=0.3,离散步长h=1.5,神经网络的初值将由以下公式确定:
C=(K37+K38+...+K64)×10
其中C是迭代参数,计算时舍弃伪随机数序列的前C个值,减少暂态过程的影响;
S2:置乱R,G,B三个色彩成分之间像素,其步骤如下:
S21:将原彩色图片PM×N分为R,G,B三个色彩矩阵,并得到矩阵RM×N,GM×N,BM×N;
S22:如果有M=N则进入Step 3,否则用‘0’元素补齐矩阵,这里为了便利的介绍算法我们默认M=N=255;
S23:迭代分数阶离散Hopfield神经网络O次(O=4×MN+C),舍弃伪随机序列的前C个值,然后的带伪随机序列x(i),y(i),z(i),i=1 to 4×MN.
S24:将RM×N,GM×N,BM×N三个色彩矩阵分别作为正方体A的三个面,然后通过下面的方程将S23中的伪随机序列映射到正方体A的空间中
X(i)=floor(x(i)×1014mod 256)
Y(i)=floor(y(i)×1014mod 256)
Z(i)=floor(z(i)×1014mod 256)
P1(i)=(floor(z(i)×1014mod 5))+1
i=1to 4×MN,P1是下一步骤中用于选择置乱方法的投影变量,此时正方体A中有一个点a(X(i),Y(i),Z(i)),且该点投影在三个面上的点分别为R(X(i),Z(i)),G(Y(i),Z(i)),B(X(i),Y(i));
S25:置乱的方法取决于上述的P1的数值
Case 1当P1(i)=1时,交换R(X(i),Z(i))和B(X(i),Y(i))的位置;
Case 2当P1(i)=2时,交换R(X(i),Z(i))和G(Y(i),Z(i))的位置;
Case 3当P1(i)=3时,先交换R(X(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和G(Y(i),Z(i))的位置;
Case 4当P1(i)=4时,交换G(Y(i),Z(i))和B(X(i),Y(i))的位置;
Case 5当P1(i)=5时,先交换G(Y(i),Z(i))和B(X(i),Y(i))的位置,然后交换R(X(i),Z(i))和B(X(i),Y(i))的位置;
当完成交换后,得到了矩阵R1M×N,G1M×N,B1M×N,为了方便DNA编码,将矩阵重新书写为R1MN×1,G1MN×1,B1MN×1;
S3:DNA编码的方式将由如下变量得出:
P2(i)=(floor(y(i)×1014)mod 8)+1 i=1 to MN
通过P2(i)的值为R1MN×1,G1MN×1,B1MN×1中的每个像素选择对应的编码方式,举个例子,如果P2(i)=2,则R1(i,1),G1(i,1),B1(i,1)将通过上面编码方式表格中的方式2对灰度值进行编码,编码完成后得到DNA矩阵R2MN×1,G2MN×1,B2MN×1;
S4:为了进一步提高加密安全性,基于DNA运算的与明文无关的DNA扩散算法被给出,其具体步骤如下:
for i=1 to MN
if i=1 then R3(i,1)=R2(i,1),G3(i,1)=G2(i,1),B3(i,1)=B2(i,1);
else
R3(i,1)=R2(i,1)+R2(i-1,1),G3(i,1)=G2(i,1)+G2(i-1,1),B3(i,1)=B2(i,1)+B2(i-1,1)
end
end
其中符号‘+’表示DNA运算中的加法,具体前面表格中已给出;经过扩散后使用P2(i)的值解码得到数字矩阵R3MN×1,G3MN×1,B3MN×1;
S5:二次置乱和异或;
二次置乱是为了扰乱三个信号通道内部元素的位置,其具体步骤如下
S51:使用由分数阶离散Hopfield神经网络迭代产生的伪随机数序列x(i),y(i),z(i),令i=1to MN,i=3×MN to 4×MN,对伪随机数序列x(i),y(i),z(i)通过MATLAB中sort指令进行排序:
(x1(i),Tx)=sort(x(j))
(y1(i),Ty)=sort(y(j))
(z1(i),Tz)=sort(z(j))
其中x1(i),y1(i),z1(i)是排序后的伪随机数序列,Tx,Ty,Tz是排序后每个元素在原序列中的位置;
S52:将R3MN×1,G3MN×1,B3MN×1分别通过Tx,Ty,Tz进行排序,全部交换完成后获得R4MN×1,G4MN×1,B4MN×1;
同时,使用S2的映射序列X(i),Y(i),Z(i)得到异或矩阵如下:
XR(1:MN)=X(2×MN+1:3×MN)
XG(1:MN)=Y(2×MN+1:3×MN)
XB(1:MN)=Z(2×MN+1:3×MN)
最后密文矩阵可以通过如下步骤得到:
C′R(i)=bitxor(R4(i),XR(i))
C′G(i)=bitxor(G4(i),XG(i))
C′B(i)=bitxor(B4(i),XB(i))
将矩阵C′R,C′G,C′B重塑为大小为M×N的矩阵CR,CG,CB,而CR,CG,CB分别作为密文图像的三个色彩成分。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067457.3A CN110837651B (zh) | 2019-11-04 | 2019-11-04 | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067457.3A CN110837651B (zh) | 2019-11-04 | 2019-11-04 | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837651A true CN110837651A (zh) | 2020-02-25 |
CN110837651B CN110837651B (zh) | 2021-08-10 |
Family
ID=69576064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067457.3A Active CN110837651B (zh) | 2019-11-04 | 2019-11-04 | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837651B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199690A (zh) * | 2020-09-14 | 2021-01-08 | 郑州轻工业大学 | 基于混合时滞的分数阶复杂系统同步实现的图像加密方法 |
CN112788197A (zh) * | 2021-01-27 | 2021-05-11 | 长春理工大学 | 基于混沌选择置乱和半张量积扩散的彩色图像加密方法 |
CN113141359A (zh) * | 2021-04-21 | 2021-07-20 | 湖南大学 | 一种用于物联网电子医疗图像隐私保护的密码系统 |
CN113360920A (zh) * | 2020-12-16 | 2021-09-07 | 贵州宇鹏科技有限责任公司 | 一种基于离散型Hopfield神经网络的图像加密算法 |
CN113556223A (zh) * | 2021-07-19 | 2021-10-26 | 郑州轻工业大学 | 基于分数阶驱动响应系统有限时间同步的图像加密方法 |
CN115811397A (zh) * | 2022-11-21 | 2023-03-17 | 北京神州安付科技股份有限公司 | 一种高安全服务器密码机 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046636A (zh) * | 2015-07-13 | 2015-11-11 | 郑州轻工业学院 | 基于混沌系统与核酸序列库的数字图像加密方法 |
CN106023052A (zh) * | 2016-05-09 | 2016-10-12 | 河南大学 | 基于忆阻超混沌系统、元胞自动机和dna计算的图像加密算法 |
CN107657579A (zh) * | 2017-09-19 | 2018-02-02 | 中国矿业大学 | 基于dna编码和混沌的图像加密方法 |
CN107819580A (zh) * | 2017-11-21 | 2018-03-20 | 北京工业大学 | 一种基于超混沌系统像素信息关联的图像加密方法 |
CN108898025A (zh) * | 2018-06-25 | 2018-11-27 | 河南大学 | 基于双重置乱和dna编码的混沌图像加密方法 |
CN109086617A (zh) * | 2018-08-14 | 2018-12-25 | 长春理工大学 | 基于分数阶量子混沌的一次一密光学图像加密解密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN110046513A (zh) * | 2019-04-11 | 2019-07-23 | 长安大学 | 基于Hopfield混沌神经网络的明文关联图像加密方法 |
-
2019
- 2019-11-04 CN CN201911067457.3A patent/CN110837651B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105046636A (zh) * | 2015-07-13 | 2015-11-11 | 郑州轻工业学院 | 基于混沌系统与核酸序列库的数字图像加密方法 |
CN106023052A (zh) * | 2016-05-09 | 2016-10-12 | 河南大学 | 基于忆阻超混沌系统、元胞自动机和dna计算的图像加密算法 |
CN107657579A (zh) * | 2017-09-19 | 2018-02-02 | 中国矿业大学 | 基于dna编码和混沌的图像加密方法 |
CN107819580A (zh) * | 2017-11-21 | 2018-03-20 | 北京工业大学 | 一种基于超混沌系统像素信息关联的图像加密方法 |
CN108898025A (zh) * | 2018-06-25 | 2018-11-27 | 河南大学 | 基于双重置乱和dna编码的混沌图像加密方法 |
CN109086617A (zh) * | 2018-08-14 | 2018-12-25 | 长春理工大学 | 基于分数阶量子混沌的一次一密光学图像加密解密方法 |
CN109918923A (zh) * | 2019-01-25 | 2019-06-21 | 哈尔滨理工大学 | 一种基于dna编码的多通道彩色图像混沌加密方法 |
CN110046513A (zh) * | 2019-04-11 | 2019-07-23 | 长安大学 | 基于Hopfield混沌神经网络的明文关联图像加密方法 |
Non-Patent Citations (1)
Title |
---|
XIULI CHAI.ET AL.: "A color image cryptosystem based on dynamic DNA encryption and chaos", <SIGNAL PROCESSING> * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199690A (zh) * | 2020-09-14 | 2021-01-08 | 郑州轻工业大学 | 基于混合时滞的分数阶复杂系统同步实现的图像加密方法 |
CN113360920A (zh) * | 2020-12-16 | 2021-09-07 | 贵州宇鹏科技有限责任公司 | 一种基于离散型Hopfield神经网络的图像加密算法 |
CN113360920B (zh) * | 2020-12-16 | 2023-01-31 | 贵州宇鹏科技有限责任公司 | 一种基于离散型Hopfield神经网络的图像加密算法 |
CN112788197A (zh) * | 2021-01-27 | 2021-05-11 | 长春理工大学 | 基于混沌选择置乱和半张量积扩散的彩色图像加密方法 |
CN113141359A (zh) * | 2021-04-21 | 2021-07-20 | 湖南大学 | 一种用于物联网电子医疗图像隐私保护的密码系统 |
CN113556223A (zh) * | 2021-07-19 | 2021-10-26 | 郑州轻工业大学 | 基于分数阶驱动响应系统有限时间同步的图像加密方法 |
CN113556223B (zh) * | 2021-07-19 | 2022-11-18 | 郑州轻工业大学 | 基于分数阶驱动响应系统有限时间同步的图像加密方法 |
CN115811397A (zh) * | 2022-11-21 | 2023-03-17 | 北京神州安付科技股份有限公司 | 一种高安全服务器密码机 |
CN115811397B (zh) * | 2022-11-21 | 2023-08-04 | 北京神州安付科技股份有限公司 | 一种高安全服务器密码机 |
Also Published As
Publication number | Publication date |
---|---|
CN110837651B (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837651B (zh) | 基于分数阶离散神经网络和dna运算的彩色图像加密方法 | |
Alghafis et al. | An efficient image encryption scheme based on chaotic and Deoxyribonucleic acid sequencing | |
Zhang et al. | Multiple-image encryption algorithm based on DNA encoding and chaotic system | |
Wang et al. | A novel chaotic algorithm for image encryption utilizing one-time pad based on pixel level and DNA level | |
Liang et al. | A new one-dimensional chaotic map for image encryption scheme based on random DNA coding | |
CN105046636B (zh) | 基于混沌系统与核酸序列库的数字图像加密方法 | |
CN109903212B (zh) | 一种基于H几何分形和Hilbert曲线的图像加密方法 | |
CN110570344B (zh) | 基于随机数嵌入和dna动态编码的图像加密方法 | |
CN107590842B (zh) | 基于像素和dna交叉动态混沌密码的图像加密方法和装置 | |
CN109756322B (zh) | 基于des结构与dna编码的数字图像加密方法 | |
CN108366181A (zh) | 一种基于超混沌系统和多级置乱的图像加密方法 | |
CN110086600B (zh) | 一种基于超混沌系统和变步长约瑟夫问题的图像加密方法 | |
Gupta et al. | A new image encryption algorithm based on DNA approach | |
CN105701755A (zh) | 一种基于分形和dna序列操作的图像加密方法 | |
CN112084514A (zh) | 一种混沌序列与dna突变的图像加密方法及装置 | |
RU2124814C1 (ru) | Способ шифрования блоков цифровых данных | |
CN113470126A (zh) | 一种新的基于超混沌的置乱与明文像素动态相关的图像加密方法 | |
CN112116672B (zh) | 基于遗传算法的彩色图像保存缩略图加密算法 | |
CN114418823A (zh) | 基于logistic的大密钥空间比特置乱混沌图像加密方法 | |
Zheng et al. | An image encryption algorithm based on multichaotic system and DNA coding | |
Paul et al. | Secured image encryption scheme based on DNA encoding and chaotic map | |
Feng et al. | Exploiting robust quadratic polynomial hyperchaotic map and pixel fusion strategy for efficient image encryption | |
CN112769545A (zh) | 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法 | |
CN113992811A (zh) | 一种基于新型三维分数阶离散混沌映射的图像加密方法 | |
Latoui et al. | A two-parameter extended logistic chaotic map for modern image cryptosystems |
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 |