基于SHA-3与DNA编码混沌系统的输电线路图像加密算法研究

2022-02-13 11:01张迪夏立伟张楚谦胡洪炜刘兴东付子峰吴嘉琪刘恒冲
科学技术与工程 2022年36期
关键词:加密算法哈希解密

张迪, 夏立伟, 张楚谦, 胡洪炜, 刘兴东, 付子峰, 吴嘉琪, 刘恒冲

(1. 国网湖北省电力有限公司超高压公司, 武汉 430050;2. 三峡大学电气与新能源学院, 宜昌 443002)

电力系统输电、配电网络是国家的重要设施,其线路跨区域分布,点多面广,电力巡检作业难度大、标准杂、效率低、盲点多等问题突出[1]。随着无人机技术的快速发展,无人机巡检逐渐替代传统人工巡检成为电力巡检的主流方式,已在电网广泛应用并取得了良好效果[2]。无人机巡检带来的海量图片数据传输工程量巨大,需要借助高效的5G网络进行数据实时传输,在数据传输过程中不可避免的面临非法窃取、黑客攻击等威胁,容易造成电力数据泄露与损毁,由此带来的电力安全问题不容忽视[3-5]。

图像加密技术是解决无人机电力巡检图像数据安全的有效手段之一。传统的图像加密技术包括对称加密(data encryption standard, DES)、高级加密标准(advanced encryption standard, AES)和非对称加密(digital signature algorithm, RSA)[6-8],已有学者对其理论和实际应用开展了研究。汤任君等[9]结合数据DES算法和Logistic混沌映射,提出了一种结合置乱与扩散的图像加密算法,以保证数字图像在网络传输中的安全性和可靠性;杨洋等[10]在传统RSA算法的基础上,针对大素数选取方案的优化,提出了一种以时间的流逝作为seed的随机大素数选取方案,提高了加密的安全性;王勇等[11]针对近年来AES加密算法存在的一些缺点,引入四维Henon超混沌系统与前馈(back propogation, BP)神经网络,提出了基于改进Henon超混沌系统与AES结合的图像加密算法。传统算法与新技术相结合的图像加密技术取得了一定成效,但仍然存在加密时效问题。

图像加密算法的安全性也受到其加密规则复杂性以及密钥敏感度的影响[12]。张淑霞等[13]提出了具有高度并行性、海量储存能力及耗时低优点的脱氧核糖核酸(deoxyribo nucleic acid, DNA)加密算法,实现了较为高效的图像加密。方鹏飞等[14]、韦丞婧等[15]将Logistic混沌系统与DNA加密相结合,充分利用混沌系统具有对初始值和系统参数的高敏感性、伪随机性及遍历性等特点,对图像加密效果优势明显;杨宇光等[16]提出了DNA编码与两个混沌系统结合的加密算法,实验证明可以抵抗大多数攻击手段;周辉等[17]、陈秋琼等[18]提出了更为复杂的混沌系统与DNA编码结合的算法,在一定程度上可抵抗了解密攻击。然而,过于简单的、依托于单一加密系统的加密算法易被破解,密钥敏感度低[19-20];单纯融合多个加密技术形成的复杂系统又存在密钥繁多,难以储存易丢失的问题,如何找到两者之间平衡是目前研究所面临的难点。

针对此问题,提出一种DNA编码超混沌系统的电力巡检图像加密算法。首先,将无人机巡检采集的电力图像数据利用安全哈希算法(security Hash algorithm-3, SHA-3)生成混沌系统初值及加密矩阵;再者,利用加密矩阵和对角线提取得到灰度图像,进行混沌序列映射规则下DNA编码;然后,将编码后的两个矩阵进行DNA运算并解码得到最终的加密图像;最后,通过实验验证所提算法在保证高时效与图像信息不丢失的前提下,在对抗密钥穷举攻击、直方图统计攻击、信息熵攻击时,都体现出了良好抗解密效果。所提算法为电力巡检图像加密处理提供了新的思路和有效的技术方法。

1 DNA编码超混沌系统加密算法

1.1 基于SHA-3算法的Chen超混沌系统

1.1.1 混沌系统四维微分方程模型

Chen超混沌系统以其独有的高复杂程度以及密钥空间大等特点,在密码学和加密技术中广泛应用,由该混沌系统生成混沌序列具有较强的伪随机性,在未得知密钥前提下难以攻破,可以使图像获得良好的加密效果[20],可表示为

(1)

1.1.2 SHA-3哈希算法的初值与加密矩阵生成策略

SHA-3哈希算法是一种基于海绵函数的安全散列算法,其原理为任意长度的数值输入后由算法生成一段固定长度的哈希(Hash)值,与传统的密钥获取方式相比,该方式可以实现一图一钥,同时可提高超混沌系统对于初始密钥的敏感性。

(1)初值生成。N×N的灰色通道二维原图像对应矩阵为

⟹IN2×1=[r11,r12,…,rNN]N2×1

(2)

利用SHA-3哈希算法对IN2×1进行操作生成64位长度的十六进制哈希值,即

H16={9ec48fde5d8c0487c580d30fdb6b3c9af

8305a65a00fd1c099d8e8d92fe6eec0}

(3)

式(3)中:0、1、2、3、4、5、6、7、8、9和a、b、c、d、e、f为十六进制计数系统常用数字和字母。

利用函数将式(3)转换为2进制的数值,即

H2={k1,k2,…,k32}

(4)

式(4)中:k1=dec2bin[hex2dec(′9e′)]={′10011110′};k2=dec2bin[hex2dec(′c4′)]={′11000100′};k32=dec2bin[hex2dec(′c0′)]={′11000000′},其中,dec2bin(·)为十进制数转换成字符串形式表示的二进制数的函数,hex2dec(·)为把字符串表示的十六进制数转换成十进制数的函数。

可计算生成Chen超混沌系统的4个初值,即

(5)

式(5)中:bin2dec(·)是把字符串形式的二进制数转换成十进制数的函数。

将得到的8个十六进制哈希值转换为10进制并进行矩阵重组得到大小为16×16加密矩阵O,可表示为

(6)

1.1.3 龙格库塔求解微分方程

(7)

式(7)中:h为步长;d为自变量;x为因变量。

根据初始条件x1(0)、x2(0)、x3(0)、x4(0),通过式(7)的离散格式求解式(1),得到4个混沌序列。

(8)

式(8)中:s为元素离散后所取的长度。

取式(8)每一列最后N=256个元素,计算取余,其中,x1、x2、x4各元素取1~8整数,x3各元素取 0~3 整数,以此作为DNA编码规则的依据。

(9)

1.2 基于对角线提取的像素置乱分块算法

为获得更好的加密效果,采用对角线元素提取法对原灰色通道图像进行元素置乱分块。对式(2)中矩阵R进行对角线元素提取、拼接、重组可得N=256个子矩阵,即

(10)

将分块后的子矩阵按顺序重新组合为置乱图像矩阵R′,可表示为

(11)

图1为该矩阵进行可视化后的效果。

图1 对角线提取效果Fig.1 Diagonal extraction effect

1.3 基于DNA编码的加密算法

1.3.1 DNA编码与解码规则

DNA加密算法是利用生物学上的DNA 4种组成碱基A、T、G、C与二进制像素值在一定规则下进行替换以达到像素值置乱效果,其置乱效果好且时间消耗少,适用于海量数据场景的图像数据加密[20],其具体规则如表1所示。

按照如上方法对置乱图像矩阵R′与加密矩阵O中的每一个元素进行DNA编码与解码,如表1所示。

表1 DNA编码规则Table 1 DNA coding rules

1.3.2 DNA运算规则

每一种DNA运算的法则同样有8种,在本文所提出的加密算法中,加法与减法为互逆运算,因此,加密和解密时必须基于同一种DNA 编码方式,而异或与同或的逆运算都为其本身,在加密解密时可基于不同的DNA编码方式。由此,对应第一种DNA编码规则的DNA加减、同或、异或运算规则如表2、表3所示。

综上,本文算法中DNA编码运算步骤如图2所示。首先,由Chen超混沌系统生成的混沌序列求余后映射为DNA编码运算规则;然后,对矩阵O和矩阵R′进行DNA加密得到的加密矩阵O′、R″;再者,将R″的每一个分块与O′进行DNA运算;最后,完成DNA编码运算加密图像。

表2 DNA编码方式1的加减规则Table 2 Addition and subtraction rules for DNA code 1

表3 DNA编码方式1的运算规则Table 3 Algorithms for DNA encoding mode 1

i = 1,2,…,N;a = 1,2,…,8;b = 1,2,…,8;c = 1,2,…,8图2 DNA编码运算流程图Fig.2 DNA coding operation flow chart

2 基于DNA编码超混沌系统的电力巡检图像加密与解密流程

2.1 电力巡检图像加密与解密系统

一般来说,无人机电力巡检数据传输流程包括数据采集、数据回传、数据处理和人工检修,如图3所示。由于数据回传部分使用开放式5G网络,容易受到黑客攻击,造成数据泄露风险较大。在数据回传过程中加入数据加密流程,使用无人机的机载微型计算机对采集的每一张电力系统图片进行加密,再回传到地面接收站进行图像解密及后续的图像处理。由此,即使在数据回传过程中由于黑客攻击造成数据泄露,在没有攻破所提出加密算法的前提下,黑客也无法得到原始电力系统图片,可将电力数据安全事故造成的损害降到最低。

2.2 加密流程

所提出的加密算法流程如图4所示,具体步骤如下。

步骤1将原始彩色图像利用式(12)进行灰度处理,再利用式(13)进行补零操作。

Gray=0.299R+0.587G+0.114B

(12)

(13)

步骤2将步骤1得到的灰度图像利用SHA-3算法得到对应哈希值,作为加密算法的密钥,再将其迭代8次重组为大小16×16的矩阵O,并用对角线提取法将灰度图片分块并重组得到256个大小为16×16的重组矩阵R′。

步骤3利用步骤2得到的哈希值作为密钥H16,用式(5)求出Chen超混沌矩阵的4个初值x1(0)、x2(0)、x3(0)、x4(0),将H16按照字节划分,可以分为k1,k2,…,k32,并利用式(1)得到4个长度为256的混沌序列{X1}、{X2}、{X3}、{X4}。

图3 无人机巡检数据传输流程图Fig.3 UAVs patrol data transmission flow chart

图4 加密算法流程图Fig.4 Encryption algorithm flow chart

步骤4将步骤3得到的4个序列中{X1}、{X2}、{X4}序列用式(14)处理为1~8中的数字,每个数字分别对应一种DNA编码或解码方式;{X3}序列利用式(15)处理为0~3中的数字,每个数字分别对应一种DNA运算方式。利用式(16)将序列{X1}、{X2}、{X3}、{X4}处理为16×16大小的数字矩阵X1、X2、X3、X4。

X=mod[round(104X),8]+1

(14)

X=mod[round(104X),4]

(15)

X=reshape(X,16,16)

(16)

步骤5用步骤4中得到的X1矩阵对步骤2中得到的重组矩阵R′进行DNA加密,具体为:将重组矩阵R′的256个分块进行顺序编号,每个子矩阵的编号对应X1矩阵一个相应位置元素i,i∈(1,8),进行DNA编码。同样的,用X2矩阵来加密矩阵O中的对应元素。

步骤6利用矩阵X4将步骤5得到的重组矩阵R′进行DNA加密后的矩阵R″和矩阵O加密后的矩阵O′进行DNA运算,得到大小为256×256的DNA加密矩阵Q。

步骤7利用矩阵X4对加密矩阵Q进行DNA解码,得到最终加密图像。

2.3 解密流程

解密过程为加密的逆过程,首先,利用密钥H16生成加密矩阵O,进行DNA加密得到O′;再者,将加密图片进行分块,每个分块与O′进行DNA逆运算后解码,得到对角线提取后矩阵R′,编码运算规则选取与加密流程一致;最后,将矩阵R′每一块的元素还原为相应对角线元素得到原图,解密完成。解密算法流程如图5所示。

图5 解密算法流程图Fig.5 Decryption algorithm flow chart

3 实验结果与分析

3.1 电力巡检图像加密测试结果

为了验证所提出算法的有效性与优越性,基于实验室测试平台进行了实验,工作站配置为CPU i7-4720HQ,显卡NVIDIA GeForce GTX 960 m,运行内存8 G。批量图像加密速度主要取决于工作站运行内存大小,电力巡检目前比较常见的御MAVIC AIR 2民用无人机可搭载8 G运行内存的前端数据处理模块,该内存配置可以流畅运行本文算法。

采用所提出的基于DNA编码超混沌系统的电力巡检图像加密算法,单张巡检图像加密与解密效果如图6所示,单张与批量加密过程时间测试结果如表4所示。可以看出,所提出算法在实际应用中可满足无人机电力巡检数据图像加密的需求。所提出算法使用了由原图像经过SHA-3算法所生成的256位哈希值作为加密密钥,因此根据排列组合计算可知,该密钥的容量可以达到2256之多。假设利用穷举法每次破解的时间以秒为单位,则通过穷举密钥来破解该加密系统所需花费时间约为 3.675 9×1079年,由此证明,该容量足以抵抗穷举破解法。

图6 图像加密效果展示图Fig.6 Image encryption effect display diagram

表4 加密算法时间测试Table 4 Encryption algorithm time test

3.2 密钥敏感性检测

所提算法对于密钥的敏感性强,密钥发生微小的变化,就可使最终得到的解密图像与原始图像完全无关联,使用两种方法对密钥敏感性进行测试。

更改256位哈希值中的任意一位数值来测试密钥敏感性,如图7所示,将原始图像哈希值改变最后一位数值得到的解密图像与正确密钥得到的解密图像对比。由此可知,该算法的密钥敏感性极高,即使256位密钥只错一位,最终得到解密图像与原图像毫无关联。

通过像素数改变率(NPCR)与统一平均变化强度(UACI)来表示对原输电线路图像采用有微小区别的不同密钥加密后生成的加密图像之间的变化像素数量及其平均变化强度,参考值分别为NPCR=99.609 4%,UACI=33.463 5%,其数值越接近该参考值说明算法密钥敏感性越强,则该算法安全性更强。同样使用方法一中改变过的密钥对原图像进行分析,相关数据如表5所示。

可见,NPCR与UACI的值与参考值十分相近,可证明所提算法具有较强的密钥敏感性,可以抵抗穷举破解法。

图7 解密图像对比Fig.7 Decrypt the image comparison

表5 密钥敏感性分析数据Table 5 Key sensitivity analysis data.

3.3 抗剪裁分析

无人机在采集输电线路图像时,可能遭受黑客攻击或者复杂电磁环境干扰,造成图像信息损失,这里采用图片剪裁模拟真实图像信息损失场景,以测试文中算法抗干扰性能,图8为经过剪裁的加密图像与解密后的图像。

图8(a)为像素值替换为0后得到的剪裁加密图像,经过解密后的结果如图8(b)所示,可见即便加密图像损失了一定的像素信息,解密后的输电线路图像依然可较为明显的辨识出原本的图像信息,因此可证明文中算法可较为有效的抵抗图像信息损失。

图8 剪裁加密图像与解密图像Fig.8 Clipping encrypted and decrypted images

3.4 置乱效果分析

3.4.1 像素相关性分析

如式(17)所示,像素相关性分析通过相关系数Bab对原图与加密图像相邻像素进行分析,加密后的图像相邻像素之间相关系数越接近0,说明加密效果越好。

(17)

对图6中的原始图像、加密图像分别进行水平、垂直以及左、右对角方向像素相关性分析,结果如图9所示,具体数据如表6所示。

可以看出,原图与加密图之间的像素相关性差异,证明了所提加密算法达到了较好的效果;加密后的图像像素相关性都趋近于0,可以较好地抵抗相关性分析破解。

图9 输电线路图像加密前后相关性分析Fig.9 Correlation analysis of images before and after transmission line

表6 像素相关性分析数据Table 6 Pixel correlation analysis data

3.4.2 直方图分析

在直方图中,横坐标范围为0~255,纵坐标为每个数据值在整幅图像出现的频率,图像中像素值的分布情况可通过直方图体现出来。图10、图11分别为原图像加密前和加密后的直方图。可以看出,原始图像的直方图都起伏不定,而密文图像的直方图都分布平坦。密文图像像素值分布具有伪随机性,可隐藏原始图像的统计特性,从而可以有效抵御大规模针对图像的基于直方图的统计攻击。

图10 原始图像像素值分布直方图Fig.10 Histogram of pixel value distribution of the original image

图11 加密图像像素值分布直方图Fig.11 Histogram of pixel value distribution of encrypted image

3.4.3 信息熵

信息熵表示一个系统中信息的混乱程度,因此在图像中,信息熵表示图像像素值的混乱程度。通过实验数据统计,可以得到原始图像的信息熵为7.554 1,密文图像的信息熵为7.997 3。与原始图像的信息熵相比,密文图像的信息熵与理论信息熵最大值8非常靠近,表明密文图像的混乱程度已经接近理论极限值,证明加密算法能有效地抵御基于图像信息熵的攻击。

4 结论

针对电力巡检图像数据存在效率与安全问题,所提出一种DNA编码与超混沌系统相结合的图像加密算法,并通过实验分析了其图像加密与解密流程,得出以下结论。

(1)对其进行了密钥空间、密钥敏感性方面测试,证明了该算法密钥生成方式的可靠性与安全性。

(2)直方图、信息熵、时效分析等方面的实验测试,验证了该算法在能保证图片数据安全的同时保证加密的效率,能够适用于无人机电力巡检场景的数据加密。

(3)所提出的算法为电力巡检图像加密处理提供了新的思路和有效的技术方法。

猜你喜欢
加密算法哈希解密
基于特征选择的局部敏感哈希位选择算法
炫词解密
哈希值处理 功能全面更易用
解密“一包三改”
文件哈希值处理一条龙
炫词解密
基于整数矩阵乘法的图像加密算法
基于混沌系统和DNA编码的量子图像加密算法
混沌参数调制下RSA数据加密算法研究
基于小波变换和混沌映射的图像加密算法