一种基于混沌变换的shp线面图层数据伪装与还原方法

文档序号:7709163阅读:167来源:国知局
专利名称:一种基于混沌变换的shp线面图层数据伪装与还原方法
技术领域
本发明属于地理信息安全领域,具体涉及一种基于混沌变换技术进行shp线面图层数据伪装与还原的方法。
背景技术
地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。作为国家空间数据基础设施主要数据内容的GIS矢量数据,其信息安全研究更是至关重要。目前,信息伪装(又名隐写术)已成为信息安全研究中除密码学之外的另一重要分支。国内外相关研究文献及专利检索结果分析表明,目前,在信息伪装的研究方面,所研究的载体数据类型主要包括图像、视频、遥感影像、DEM等。但是,矢量数据由于其具有无固定存储顺序的数据组织、多样的数据格式、强大的可视化表达手段、复杂的投影变换、繁多的空间分析应用,以及精度高、冗余少等诸多方面的特性,使得针对矢量数据的信息伪装研究具有一定的特殊性和较大难度。为此,本研究拟基于混沌变换技术,针对目前常用的GIS矢量数据类型一shp数据,进行一种线面类型图层数据的伪装与还原方法研究,以有效提高GIS矢量数据在数据传输、发行过程中的安全性。

发明内容
本发明的目的在于基于混沌变换技术,提出一种针对shp线面图层数据的伪装与还原方法,从而有效提高GIS矢量数据在数据传输、发行过程中的安全性。为了实现上述目的,本发明所采取的技术方案主要包括以下过程 (1)伪装过程
步骤一读取一 GIS线面图层数据D,配置混沌置乱算法的混沌初值&、混沌因子μ及混沌序列长度η,并检查输入数据及配置参数的合法性; 步骤二 生成密钥序列
(a)设定初始值&、混沌因子μ及混沌序列长度η(η为偶数),并根据下式产生混沌序列 X= (Xi, i=l,2, ...,η};
Χη+1=μΧη-μΧη2(1)
(b)将混沌序列X进行升序排列后,得到序列B和序列ind,序列B为序列X升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列;
步骤三读取一要素F的空间数据,计算要素F中坐标点的个数m
(a)若m>=n,则按照,分为L组,并依次将每个分组中的每一坐标点Fi与 F^其中,i=l,2,…,I^jzindi)进行置换,置换后的数据写回SO;
(b)若m<n,则本要素不进行数据伪装处理;
步骤四循环步骤三,直至文件处理结束后,保存伪装后的数据到数据文件D ’ ;保存混沌初值&、混沌因子μ及混沌序列长度η到密钥文件K中; (2)还原过程
步骤一读取一伪装过的GIS线面图层数据D ‘,根据密钥文件K读取并配置混沌置乱算法的混沌初值&、混沌因子μ及混沌序列长度η; 步骤二 生成密钥序列
(a)由读取的初始值&、混沌因子μ及混沌序列长度η(η为偶数),并根据下式产生混沌序列 X= (Xi, i=l,2, ...,η};
Χη+1=μΧη-μΧη2(2)
(b)将混沌序列X进行升序排列后,得到序列B和序列ind,序列B为序列X升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列;
步骤三读取一要素F的空间数据,计算要素F中坐标点的个数m
(a)若m>=n,则按照Z=[_ιη/Β_|,分为L组,并依次将每个分组中的每一坐标点Fi与
Fj.(其中,i=l, 2,…,n; J=Indi)进行置换。置换后的数据写回SO ;
(b)若m<n,则本要素不需进行还原处理;
步骤四循环步骤三,直至文件处理结束后,保存数据还原后的要素数据。本发明根据GIS矢量数据线面图层的数据组织特点,提出了一种针对shp线面图层数据的伪装与还原方法,能有效提高GIS矢量数据在数据传输、发行过程中的安全性。本发明可应用于GIS矢量线面图层数据的隐藏通信与安全传输方面。


图1是本发明具体实施例采用的实验数据。图2是本发明方法中数据伪装流程图。图3是本发明方法中数据还原流程图。图4是本发明实施例中原始数据与伪装数据局部对比图((a)为原始数据局部截图,(b)为伪装数据局部截图)。
具体实施例方式下面结合附图和实施例做进一步详细说明。本实例选择一典型的shp面图层数据,针对数据的读取、伪装处理、数据还原的整个过程,进一步详细说明本发明。本实施例选择全国1 :400万的省界图层数据(如图1)作为实验数据。混沌初始值&设定为0.98,混沌因子μ设定为4,混沌序列长度η设定为16。1、针对shape面图层数据的混沌伪装处理(图2所示)。步骤一数据的读取及处理。利用MapWinGIS开源插件的读取函数读取相应的线图层数据文件DF,并将数据组织为List<Point>结构,记为SO。步骤二生成密钥序列。(a)由读取的初始值98,混沌因子μ =4及混沌序列长度η=16。并根据式 Χη+1= μ Xn-μ Xn2 产生混沌序列 X= {0. 98,0. 07839993, 0. 2890135, 0. 8219388,0. 5854216,0 .970812559,0.113342136,0.401982784,0. 9615705,0. 147810683,0. 503850758,0. 9999407,0.000237212415,0.000948624569,0. 00379089871,0. 0151061108};
(b)将混沌序列X进行升序排列后,得到序列B={0. 000237212415, 0. 000948624569, 0.00379089871,0.0151061108,0. 07839993, 0.113342136, 0. 147810683, 0.2890135, 0. 401982784, 0. 503850758, 0. 5854216, 0. 8219388, 0. 9615705, 0. 970812559, 0.98, 0. 9999407}和序列 ind= {13,14,15,16,2,7,10,3,8,11,5,4,9,6,1,12},序列 B 为序列 X 升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列。步骤三从数据SO中读取一要素F的空间数据,计算要素F中坐标点的个数
m=923。 因为m>=n,则按照,分为L (L=57)组,并依次将每个分组中的每一
坐标点Fi与Fj(其中,i=l, 2,…,η ;J=Indi)进行置换。置换后的数据写回SO。步骤四循环步骤三,直至文件处理结束后,保存要素伪装之后的数据到伪装数据文件D ‘及密钥文件K。2、针对shape面图层数据的数据还原处理(图3所示)。步骤一读取待还原的数据文件D ’及密钥文件K。利用MapWinGIS开源插件的读取函数读取相应的省界面图层数据,并将数据组织为List<P0int>结构,记为SO。读取并设置算法初始值98,混沌因子μ =4及混沌序列长度η=16。步骤二 生成密钥序列。(a)由读取的初始值&、混沌因子μ及混沌序列长度η (η为偶数)。并根据式 Χη+1= μ Xn-μ Xn2 产生混纯序列 X= {0. 98,0. 07839993, 0. 2890135, 0. 8219388,0. 58 54216,0.970812559,0. 113342136,0.401982784,0.9615705,0. 147810683,0.503850 758,0.9999407,0.000237212415, 0.000948624569,0.00379089871,0.0151061108}; (b)将混沌序列X进行升序排列后,得到序列B= {0. 000237212415, 0. 000948624569, 0.00379089871,0.0151061108,0. 07839993, 0.113342136, 0. 147810683, 0.2890135, 0. 401982784, 0. 503850758, 0. 5854216, 0. 8219388, 0. 9615705, 0. 970812559, 0.98, 0. 9999407}和序列 ind= {13,14,15,16,2,7,10,3,8,11,5,4,9,6,1,12 },序列 B 为序列 X 升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列。步骤三读取一要素F的空间数据,计算要素F中坐标点的个数m为923。因为
m>=n,则按照£=[m/Hj,分为57组,并依次将每个分组中的每一坐标点Fi与Fj (其中, i=l,2,…,Iitindi)进行置换。置换后的数据写回SO。步骤四循环步骤三,直至文件处理结束后,保存数据还原后的要素数据。由上述实施例(图4)可知数据经伪装处理后,虽仍为正确的shp数据,可以显示, 但由于坐标点位置发生了变化,但由于坐标点位置发生了变化,数据本身的空间关系、可视化效果发生了较大变化。数据本身也发生了一定变化,对于数据精度质量要求较高的GIS 矢量数据来说,这一处理显著降低了数据质量和数据使用价值,限制了非法拷贝或拦截数据的正常使用,达到一定的数据保护目的。只有合法用户获取到密钥文件,才能正确、无误地还原数据。本发明实施例中仅以shp格式的面图层数据进行数据伪装与还原处理,该方法也可以适用于Shp格式的线图层数据。
综上分析,本发明所采用的方法可以成功地应用于shp线、面图层数据的伪装与还原处理,一定程度上满足了 GIS矢量线面图层数据的隐藏通信与安全传输需求。
权利要求
1. 一种基于混沌变换的Shp线面图层数据伪装与还原方法,包括以下过程(1)伪装过程步骤一读取一 GIS线面图层数据D,配置混沌置乱算法的混沌初值&、混沌因子μ及混沌序列长度η,并检查输入数据及配置参数的合法性; 步骤二 生成密钥序列(a)设定初始值&、混沌因子μ及混沌序列长度η,η为偶数,并根据下式产生混沌序列 X= (Xi, i=l,2,...,n};Χη+1=μΧη-μΧη2(1)(b)将混沌序列X进行升序排列后,得到序列B和序列ind,序列B为序列X升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列;步骤三读取一要素F的空间数据,计算要素F中坐标点的个数m (a)若m>=n,则按照L=\mtn],分为L组,并依次将每个分组中的每一坐标点Fi与 Fj.进行置换,其中,i=l,2,…,η J=Indi,置换后的数据写回SO ;(b)若m<n,则本要素不进行数据伪装处理;步骤四循环步骤三,直至文件处理结束后,保存伪装后的数据到数据文件D丨;保存混沌初值&、混沌因子μ及混沌序列长度η到密钥文件K中;(2)还原过程步骤一读取已经伪装过的GIS线面图层数据D ‘,根据密钥文件K读取并配置混沌置乱算法的混沌初值&、混沌因子μ及混沌序列长度η; 步骤二 生成密钥序列(a)由读取的初始值Xtl、混沌因子μ及混沌序列长度η,η为偶数,并根据下式产生混沌序列 X= (Xi, i=l,2,...,n};Χη+1=μΧη-μΧη2(2)(b)将混沌序列X进行升序排列后,得到序列B和序列ind,序列B为序列X升序排列后的序列,序列ind为序列B中元素对应序列X中的索引形成的密钥序列;步骤三读取一要素F的空间数据,计算要素F中坐标点的个数m (a)若m>=n,则按照£=[m/ J,分为L组,并依次将每个分组中的每一坐标点Fi与Fj.进行置换,其中,i=l,2,…,η J=Indi,置换后的数据写回SO ;(b)若m<n,则本要素不进行数据还原处理;步骤四循环步骤三,直至文件处理结束后,保存数据还原后的要素数据。
全文摘要
本发明公开了一种基于混沌变换的shp线面图层数据伪装与还原方法,属于地理信息安全领域。该方法主要基于混沌置乱算法生成的密钥序列,通过变换shp线面数据中要素坐标点的排列顺序来达到数据伪装的目的。数据经伪装处理后,虽仍为正确的shp数据,可以正常显示,但由于坐标点位置发生了变化,数据本身的空间关系、可视化效果发生了较大变化。对于数据精度质量要求较高的GIS矢量数据来说,这一处理显著降低了数据质量和数据使用价值,限制了非法拷贝或拦截数据的正常使用,达到一定的数据保护目的。本发明的方法可以对shp格式的线面图层数据进行数据伪装与还原处理,一定程度上满足了GIS矢量线面图层数据的隐藏通信与安全传输需求。
文档编号H04L9/00GK102243700SQ20111017986
公开日2011年11月16日 申请日期2011年6月30日 优先权日2011年6月30日
发明者李安波, 李莎莎, 闾国年 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1