DES在数字高程模型信息伪装中的应用研究
2012-06-05陈令羽宋国民丁嘉鹏徐少坤
陈令羽, 宋国民, 徐 齐, 丁嘉鹏, 徐少坤
(1.信息工程大学 测绘学院,河南 郑州 450052;2.92117部队,北京 100072;3.72946部队,山东 淄博 255000)
0 引言
数字高程模型 (Digital Elevation Model,简称DEM)是按照一定的结构将空间高程信息以数字的形式组织在一起的空间分布模型,是地形形状大小和起伏特征的数字描述,包含空间分布的实地高程信息,是三维地形显示的基础地理数据,具有很高的军事和经济价值[1]。
计算机技术特别是网络技术的不断发展,为传统的资料信息传播带来了新的变化,更多的人员选择了传播速度更快信息量更大的网络传输方式。DEM传播领域也不例外,必将走向网络传输的阶段。但是,尽管网络传输给人们的生活、生产带来极大便利,更应该看到近些年来频见报端的网络失泄密事件。黑客活动日益猖獗,失泄密事故频繁发生,造成了巨大的经济损失。DEM数据表示的是实际地理空间信息,是国家空间数据基础设施(NSDI)的基本内容之一,发生DEM失泄密事件,不但会造成巨大的经济损失,对国家安全造成的损害更是无法估量。
信息伪装就是把真实的信息伪装成其他看似无关的信息。相比于信息加密,信息伪装更具有迷惑性。通过信息伪装,可以使得DEM数据呈现出与原始DEM数据结构相同,但是内部数据已发生巨大变化的状态。在存储或传输过程中,即使被敌方截获,在短时间内难辨真伪,可以迷惑对方,同时当被识别出是伪装数据后,根据已有信息仍无法将其还原。
当前国内外研究加密算法或信息隐藏的机构和学者很多,国际上有专门研究密码学的学术组织,每年都召开各种年会进行相关讨论,形成的成熟加密算法很多,数据加密标准(Data Encryption Standard,简称DES)就是其中一种。但是针对DEM数据加解密或信息伪装进行专项研究的相对较少。
由于DEM数据和电子地图具有相关性,电子地图的加解密方式对DEM数据具有一定的借鉴意义。目前国内外相近和相关的研究主要有数字地图安全性要求研究、数据文件加密方式、数字水印技术、基于模糊关系的DEM数据信息伪装技术等几个方面。利用密码学原理进行DEM数据信息伪装[2-3]的研究较少。
1 DES算法原理
DES的创立是20世纪密码学发展的一个重要事件。这是一种对称的分组密码,加密和解密过程采用同一密钥,它的安全性以密钥的保密性为基础。加密前将明文分成固定长度的组,用同一密钥和算法对每一块加密,输出也是固定长度的密文[4-5]。加密过程使用64位密钥(密钥实际为56位的数,其中8位用作奇偶校验位)对64位数据块进行加密,并对64位的数据块进行16轮编码。64位一组的明文从算法的一端输入,64位的密文从算法的另一端输出。DES算法的加密过程可分加密处理和子密钥生成2个部分组成[6],其流程如图1所示。
图1 DES算法流程
1.1 加密处理
(1)初始变换。DES算法本质上是一种代换置换网络,在进行加密处理前,需要首先将64位的明文按照已有的初始换位表进行变换。变换主要是按照既定规则打乱原始明文的顺序。
(2)加密处理。将经过初始变换后的64位明文作为初始输入,分为左右各32位,可记为L0和R0,以此为起点进行16轮加密变换。经过n轮处理后的左右32位分别为Ln和Rn。可做如下定义:
其中,Kn为第n轮输入的子密钥;Ln-1、Rn-1分别为第n-1轮的输出。F函数的主要功能是将32比特的输入再转化为32比特的输出。主要原理是输入Rn-1(32比特)经过变换矩阵E后,膨胀为48比特;将膨胀后的48比特分成每组6比特的8组;按照顺序经过各自的S盒变为4比特后再合并成32比特;最后再经过变换矩阵P即完成整个过程。
(3)逆初始变换。在进行完16轮加密变换之后,将最后的输出结果合并成64位的数据,再按照指定的最后换位表进行IP-1的换位得到64位的密文,这就是DES算法加密的结果。
1.2 子密钥生成
初始密钥是可以表示为64位的字符串。首先通过压缩换位表PC-1去掉每个字节的第8位,用作奇偶校验码。密钥也因此从64位减至56位,所以实际密钥长度为56位。而最终每轮要生成48位的子密钥。输入的64位密钥,首先通过压缩换位得到56位的密钥,每层分成2个部分:上部分28位C0和下部分28位D0。C0和D0依次进行循环左移操作生成了C1和D1,将C1和D1合成56位,再通过压缩换位表PC-2输出48位的子密钥K1,再将C1和D1进行循环左移和PC-2压缩换位,得到子密钥K2,依此类推,得到16个子密钥。其依次左移的位数见表1所列[7]。
表1 子密钥生成过程移位
1.3 解密过程
DES算法的解密过程与加密过程相同。解密要用加密的逆变换,就是把上面的最后换位表和初始换位表完全倒过来变换。同时,解密时所需要用的16个子密钥顺序也与加密时相反,即以K16作为最初的子密钥。
2 DEM数据信息伪装
2.1 DEM数据预处理
DES算法在进行加密时每一次的数据块为64比特,也就是8个字符。为了更加方便伪装处理,在进行DEM数据的DES加密前,可进行预处理,将其每一次加密的数据变成8位字符表示的数据。DEM表示的是实地高程,每个数据都具有现实的意义。在现实世界中,海拔最低与最高点分别是马里亚纳海沟和珠穆朗玛峰,其海拔分别为-11 304m和8 844.43m,DEM数据的大小应该在这个范围之内。为了计算方便,对于每一个高程数据A,做如下处理:
其中,A0为预处理后的高程数据,dA为数A整数部分的位数;[]为取整符号。
通过这样的预处理,即可将高程数据转化为可直接用于DES加密处理的8位字符。同时,由于高程数据的取值范围所限,处理后的数据至少保留了原始数据小数点后2位的精度,在陆地上则至少可保留小数点后4位的精度,完全可以满足精度要求。
同时,由于无法根据(2)式同时反推出数A及其整数部分的位数dA,为满足DEM数据还原的需要,在进行伪装处理时还应该记录其整数部分位数。
2.2 DES加密DEM高程数据
将预处理后的高程数据作为输入,密钥采用任意字符组成的8位字符,DES数据加密是按照二进制进行加密的。在高程数据进行DES处理前,首先将8位字符转化为64位比特的明文,然后按照加密变换、加密处理和子密钥生成的流程,完成一次高程数据的DES加密过程;加密处理后形成的DES密文也是二进制的,转化为字符时可能会出现一串乱码,因此还需要一定的变换使之成为能表示高程的数值。
2.3 ASCII码转换字符为高程数据
任何字符都有其对应的ASCII码,即使是DES加密后乱码密文,也可以在扩展ASCII码表中找到其对应的数值,其范围为-256~256。因为加密后密文字符的ASCII码多在-256~0之间,考虑DEM高程数据的实际特点,特别是陆地DEM数据多为正海拔,则将所有ASCII码加200使其取值范围在区间[-56,456]之间。最后进行归一化,将其扩展到实地高程范围,即
其中,H表示处理后的最终高程数据,DASCII表示密文字符的ASCII码值。同时,将原始DEM高程数据的整数部分位数dA转化为ASCII码值后也做相同处理。
因为密文由8个字符组成,加上整数部分位数,通过相同处理后原DEM中的1个高程数据就伪装成9个可用于表示高程的数值。在重新组织DEM时,通过改变网格密度可以处理这种情况,将原始网格处理成3×3的规格,使得有更多的节点存放多余的高程数据。这样做不仅解决了数据存储问题,还进一步加强了DEM数据伪装的力度。
图2 DEM数据信息伪装流程图
2.4 DEM伪装数据还原
DEM伪装数据的还原是伪装过程的逆运算。在进行数据还原时,首先将DEM数据中的每一个高程数据按照(4)式转化为ASCII码值。
其中,H和DASCII的含义与(3)式中的含义相同,两者互为逆运算。
按照9个字符为一组,前8个字符组合成一个64比特的DES密文,进行DES解密运算,其所需密钥和加密时完全相同。按照与DES加密相反的过程即可以得到原始的DEM预处理后的高程数据A0,同时按照(4)式处理第9个字符可以获得整数部分位数dA。通过DES解密后的结果和原始数据的整数位数则可以得到原始高程数据A:
将所有DEM高程数据作相同处理后将得到的数据重新写入DEM格式中去,即可得到还原后的DEM数据。
2.5 安全性分析
本文所提出的算法其安全性的核心在于DES算法的安全性。美国国家保密局和计算机科学技术学会曾组织专家研究了其安全性问题,讨论了破译DES密码体制的一切可能途径。假设用穷尽密钥搜索法攻击DES,DES的密钥为56比特(64位中有8位为奇偶校验码),则其密钥空间规模为256,约为7×1016,使用每秒计算100×104个密钥的大型计算机,需要算106d才能得出正确的密钥[8]。但是,基于任何加密算法的数据传输都没有绝对的安全,在硬件高速发展,并行化计算日新月异的现代社会,强大的计算处理能力可以破解任何加密数据,而且加密后传输的数据更容易引起黑客的注意,成为黑客攻击的焦点,所以通过进行数据伪装DEM,可以在DES算法本身的安全性上增加迷惑性,加大攻击方破解的难度。
3 实验分析
根据文中提出的结合ASCII码和DES算法在DEM数据信息伪装中的应用方法,充分考虑DEM数据组织结构的特殊性,按照其DEM伪装和还原的流程,在VC环境下进行了实验,同时实现了单独的DES加密算法和DEM信息伪装。实验界面如图3所示。
图3 DEM信息伪装实验界面
在实验中进行DES算法单独加解密字符串时可以在很短的时间内实时得到实验结果。利用该模块对5组大小不同的DEM数据采用相同的密钥(12345678)分别进行信息伪装和还原试验,实验结果见表2所列。
选取其中大小为654kb的DEM数据对其原始数据、伪装数据、还原后数据进行等高线追踪,选取相同区域进行比较,结果如图4所示。
表2 DEM数据信息伪装实现结果
图4 DEM数据信息伪装算法结果等高线
由实验可以看出,DES算法运用于DEM数据信息伪装时取得了较好的效果:
(1)伪装时能够保持原有的数据格式,从等高线直观显示上可以看到伪装后的DEM与原始DEM数据有很大的不同,完全满足数据伪装的要求。
(2)还原时可以准确无误地将之进行还原,说明设计的算法稳定有效。
(3)同时通过安全性分析可以使伪装后的DEM数据较好地抵御外来攻击,安全性能良好。
(4)实验中数据的伪装和还原处理时间根据数据的大小不同而不同,基本上可以满足实时性要求。
4 结束语
DEM数据作为一种地理空间数据表示的是实地的高程信息,具有十分重要的军事经济意义。本文通过分析DES算法的特点,研究了DES算法在DEM数据的信息伪装技术中的应用,结合ASCII码值给出了一种合理的信息伪装方法。通过实验分析验证了其可用性,结合DES本身的安全性以及信息伪装带来的迷惑性提高了伪装后的DEM数据安全性能,为DEM数据的安全存储传输提供了保障。
[1]李志林,朱 庆.数字高程模型[M].第2版.武汉:武汉大学出版社,2003:7-9.
[2]罗 永,杨岳湘.数字高程模型数据的信息伪装和信息隐藏技术[J].软件学报,2007,18(3):116-120.
[3]闵连权.矢量地图数据的数字水印技术[J].测绘通报,2007(1):13-46.
[4]杜奕智,琚 耀,吴 伟.序列密码和分组密码的混合加密体制研究[J].合肥工业大学学报:自然科学版,2005,28(6):592-594.
[5]梅尼斯.应用密码学手册[M].胡 磊,王 鹏,译.北京:电子工业出版社,2005:225—234.
[6]李 杰,李新艳,张 静.数据加密中的DES加密算法详解[J].商业科技,2009(9):6-8.
[7]Stinson D R.密码学原理与实践 [M].第3版.冯登国,译.北京:电子工业出版社,2009:74-78.
[8]彭 川,魏其娇.论分组密码中的数据加密算法DES[J].西南民族学院学报:自然科学版,2002,28(3):58—62.