以网络技术为基石构建起来的森林资源管理服务系统,由于传输媒体的公用性和公开性、信息的共享性而面临敏感信息的泄漏、篡改、抵赖等安全性威胁。矢量数据是森林资源空间数据主要形式之一,那么针对其中的矢量数据给如何加密呢?那么我今天就给您介绍一种方法:运用一种基于混沌序列的数据加密算法来实现对矢量数据的加密。

一、矢量数据格式及加密

1、矢量数据

森林资源空间数据包括栅格数据和矢量数据,矢量数据结构是通过记录坐标的方式尽可能精确地表示点、线和多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。由于矢量数据具有数据结构紧凑,冗余度低,表达精度高,图形显示质量好,有利于网络和检索分析等优点。在GIS中得到广泛的应用,特别在小区域(大比例尺)制图中充分利用了它的精度高的优点。

2、加密

数据加密技术是保证网络信息安全最常用和最重要的一种技术。数据加密就是对信息进行重新编码将敏感信息转换成不能识别的乱码,从而达到隐藏信息内容,使非法用户无法获得信息真实内容的一种技术手段,从而达到可以保证传输信息的机密性、完整性和确定性,防止信息被篡改、伪造和假冒。

在传统加密技术中,基于密钥的加密算法不同可以分为两类:对称加密技术(常规密钥加密)和非对称加密技术(公开密钥加密)。

按照加密时对明文的处理方式,对称加密算法又可分为分组加密算法和序列密码加密算法。

分组加密算法是把密文分成等长的组分别加密,序列密码加密算法,也称流密码加密算法,是一个比特一个比特地处理,即将明文逐位转换变成密文。

二、混沌及混沌系列

混沌现象是非线性系统的一种内在类随机过程的表现,只要初始条件稍有不同,其结果就大相径庭,难以预测,而且在有些情况下,反映这类现象的数学模型又是十分简单,甚至一维非线性迭代函数就能显示出这种混沌特性。除此以外,混沌系统产生的混沌信号还具有类似噪声,结构复杂、难以分析等特性。近年来,混沌理论在信息安全领域的应用研究已经越来越受到人们的关注。

混沌序列的非周期性,连续宽带频谱、类似噪声等特性,使它具有天然的隐蔽性。另外,混沌序列对初始条件的高度敏感性使其具有长期不可预测性,人们认为利用混沌可能更有助于设计有效快速的加密算法。

混北序列密码即混沌流密码,使用混沌系统生成伪随机密钥流,并将其直接用于掩盖明文。其中混沌伪随机数发生器的设计是这类混沌密码算法的核心问题。混沌的一些基本特性可以大大简化密钥序列的生成,其非线性特性也可以提高生成密钥序列的复杂度,混沌系统具有良好的伪随机特性、轨道的不可预测性、对初始状态及结构参数的极端敏感性等一系列特性,这些特性与密码学的很多要求是吻合的。

混沌系统产生的序列从严格意义上来讲属于流密码,但它与传统的流密码又有区别,而且它有可能是一类具有相当广泛应用前景的加密方式。

三、基于混沌系列的矢量图混沌加密算法

1、算法原理

本文采用一维logistic映射,首先,通过数据变换处理,将用户输入的密码系列映射为(0.1)间的某个实数x0,用xo作为logistic混沌映射的初值,通过迭代产生混沌系列。将该混沌序列与待加密的原始数据进行异或运算,生成一密文序列在信道中传输,如图所示。

1
2、 Logistic映射及混沌系列密码的产生

Logistic映射是由美国数学生态学家May.R于1976年提出来的,它是一个十分简单又具有重要意义的非线性迭代方程,是最典型的,也是研究的最广泛的动力系统,定义如下:

混沌加密算法在森林空间矢量数据中的应用
其中,0≤μ≤4称为Logistic参数,Xk∈(O,1)。当3.569945…<μ≤时,Logistic映射工作于混沌态。也就是说,由初始条件x。在Logistic映射的作用下所产生的序列{Xk,k=0.1,2,3…}在理论上是非周期、不收敛,对初始值极其敏感,并且具有白噪声统计特性及雪崩效应等特性。因此,适合构造有效的混沌序列密码应用。

3、密钥x。的生成

如果直接让用户输入一实数x。作为密码,是不太方便和友好的,本文中,我们首先计算出用户输入的字符串的Hash值,再通过对Hash值的ASCIl码值扩散映射射为(0.1)间的某个实数x。,用xo作为混沌映射的初值,即密钥。

4、混沌序列密码的生成

以密钥x0为初值,对(1)武进行反复迭代,生成足够长度的随机数值序列{Xk,k=0, 1,2,3.……}.由干Logistic映射实数的分布是很不均匀的,而且相邻点有非常强的相关性,所以直接把实数值序列用于作密钥流的话,密钥强度肯定不高,势必影响加密效果。由于Logistic映射迭代序列关于x=0.4的分布是基本对称的,则可以采用每次根据迭代值是否大于等于或小于
0.4域值来输出0或l比特的方法来产生伪随机教序列,公式如下:

混沌加密算法在森林空间矢量数据中的应用
为了增强随机性,舍弃开始部分长度为n的序列,即从序列的第n+l位开始作为密钥流,进行信息的加密。

5、加密的实现

将矢量数据转换成二进制文件格式,依次取出文件各字节流(pk,k=1,2,3,……)与密钥系列(pn,n=1,2,3.……)进行。异或“操作,生成乱码形式的密文流(Ck,k=1,2,3,……)。在解密断,采用与加密相反的操作,即用密文流与密钥系列进行“异或”操作,得到明文流。

随着计算机的普及及林业信息化的发展,林业信息系统中的空间数据尤其显得重要,矢量数据作为空间数据中的一种重要的数据形式,通常用于栅格图像处理及加密的许多方法将不适于矢
量地图,我们采用了矢量数据的混沌序列加密算法,该算法支持不同形式的密钥输入,提高了密钥强度,也增加了软件友好性。其安全性依赖于破解混沌序列的难易程度,由于混沌序列具有不可预测性、初始值高度敏感性等一系列特性,使得不知道加密密钥的攻击者几乎不可能进行有效的破解,而知道加密密钥的合法用户则可以很方便地对数据进行解密,是一种很好的矢量数据的加密算法。

小知识之矢量数据:

矢量数据主要是指城市大比例尺地形图。此系统中图层主要分为底图层、道路层、单位层,合理的分层便于进行叠加分析、图形的无逢拼接以实现系统图形的大范围漫游。矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误,显示的图形一般分为矢量图和位图。