《一种GIS矢量线面图层数据的置乱与还原方法.pdf》由会员分享,可在线阅读,更多相关《一种GIS矢量线面图层数据的置乱与还原方法.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103077211 A(43)申请公布日 2013.05.01CN103077211A*CN103077211A*(21)申请号 201210584651.0(22)申请日 2012.12.28G06F 17/30(2006.01)H04L 9/28(2006.01)(71)申请人南京师范大学地址 210097 江苏省南京市鼓楼区宁海路122号(72)发明人李安波 吴雪荣 吴赛松 蒋伟(74)专利代理机构南京知识律师事务所 32207代理人李媛媛(54) 发明名称一种GIS矢量线面图层数据的置乱与还原方法(57) 摘要本发明公开了一种GIS矢量线面图层数据的置乱与还原。
2、方法,属于地理信息安全领域。该方法包括如下过程:(1)置乱过程,逐个读取矢量地图中每个要素的点坐标并设置其ID号,基于分形模型席尔宾斯基垫片进行ID号的置乱,实现对每个要素的点在要素点集合中的位置进行重新排列;(2)还原过程,逐个读取置乱后的矢量地图中每个要素的点坐标并设置其ID号,再次运用分形模型席尔宾斯基垫片进行ID号置乱后的还原处理,实现对每个要素的点坐标在要素点集合中的位置进行重新排列。本发明针对GIS矢量数据存贮特点,基于分形模型席尔宾斯基垫片加密,该方法可有效提高GIS矢量数据在数据传输、发行过程中的安全性。(51)Int.Cl.权利要求书2页 说明书5页 附图6页(19)中华人民。
3、共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书5页 附图6页(10)申请公布号 CN 103077211 ACN 103077211 A1/2页21.一种GIS矢量线面图层数据的置乱与还原方法,包括如下过程:(一)置乱过程步骤11:加载一幅线面类型的矢量地图R,并且输入混沌系统的初值Q0和级数l作为参数,存为密钥文件key,其中级数1大于0;步骤12:参数设置与分组,a) 分形模型席尔宾斯基垫片初始图形的边数为3,根据级数l和公式(1)和(2)确定密钥长度Kll和明文分组长度Ell,按照每个小三角形的高的长度作为一个等级从上到下依次分为l级,b)根据密钥长度Kll,确定明文分组。
4、,依次读取矢量地图R中每个要素的点坐标,设置点ID号,将点ID号作为明文信息,记明文总长度为Elength,按照公式(3)和点ID号进行分组,每组长度为Ell,共分为L组,如果最后剩余一组明文不足长度Ell,该组长度用a表示,c)根据明文总长度Elength生成密钥并分组,一组明文对应一组密钥,一组密钥长度为Kll,所以L组明文需要密钥总长度M,基于公式(6)和设置的参数k,Q0,根据密钥总长度M,生成长度同样为M的混沌序列Qn,其中k表示混沌系数, 3.5699k4, 二值化混沌序列:根据公式(7)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,Q=qi|i=0,1,2,n,K=。
5、ki|i=0,1,2,n; 步骤13:各分组数据的置乱处理,a)处理所有完整明文组的加密:将明文信息依次分组,把第j组密钥ki按照从上到下从左到右的顺序放入模型中顶角向上的小三角形内部,将第j组明文ei按照从上到下从左到右的顺序依次放入顶角向上的小三角形的三条边上;如果密钥ki为“0”,则将对应的小三角形边上的明文ei顺时针旋转1次;如果密钥ki为“1”,将该三角形顺时针旋转2次,每权 利 要 求 书CN 103077211 A2/2页3个小三角形的三条边上的明文在对应密钥的控制旋转下得到密文,模型中每个小三角形都旋转完之后,再按照从上到下从左到右的顺序取密文值,就可以得到一组密文序列ci,以。
6、此类推,每一组完整明文和密钥利用模型生成密文序列ci=ej,b)处理剩下不足一组明文的加密:当剩下明文不足一次能加密的位数,使某些三角形边上的明文个数3,则该三角形在加密过程中不做旋转,但是该小三角形前面所有的小三角形同样按照a)中的旋转规则进行旋转,这一轮还是按照从上到下从左到右的顺序将小三角形边上的数据作为密文ci存储起来;步骤14:重复步骤12至步骤13,直到每个要素处理完毕后,从而实现了对每个要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存置乱后的数据文件R;(二)还原过程步骤21:打开置乱后的数据文件R,从密钥文件Key中读取混沌系统的初值Q0和级数l;步骤22:参数。
7、设置与分组,a) 分形模型席尔宾斯基垫片初始图形的边数为3,根据级数l和公式(1)、(2)确定密钥长度Kll,密文分组长度Ell,b)根据密钥长度Kll,确定密文分组,依次读取数据文件R中每个要素的点坐标,设置点ID号,将点ID号作为密文信息,记密文总长度为Elength,按照公式(3)和点ID号进行分组,每组长度为Ell,共分为L组,如果最后剩余一组密文不足长度Ell,根据公式(4)计算最后一组长度a,c)根据密文总长度Elength生成密钥并分组,一组密文对应一组密钥,一组密钥长度为Kll,根据公式(5)可以得到L组密文需要密钥总长度M,基于公式(6)和设置的参数k,Q0,根据密钥总长度M。
8、,生成长度同样为M的混沌序列Qn,其中k表示混沌系数,3.5699k4,二值化混沌序列:根据公式(7)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,步骤23:各分组数据的还原处理,a)处理所有完整密文组的解密:将密文信息依次分组,把第j组密钥ki按照从上到下从左到右的顺序放入模型中顶角向上的小三角形内部,将第j组密文ci按照从上到下从左到右的顺序依次放入顶角向上的小三角形的三条边上,如果密钥ki为“0”,则将对应的小三角形边上的密文ci顺时针旋转2次;如果密钥ki为“1”,将该三角形顺时针旋转1次,每个小三角形的三条边上的密文在对应密钥的控制旋转下得到明文,模型中每个小三角形都旋。
9、转完之后,再按照从上到下从左到右的顺序取明文值,就可以得到一组明文序列ei,以此类推,每一组完整密文和密钥利用模型生成明文序列ei=cj,b)处理剩下不足一组密文的解密:当剩下密文不足一次能解密的位数,使某些三角形边上的密文个数3,则该三角形在解密过程中不做旋转,但是该小三角形前面所有的小三角形同样按照a)中的旋转规则进行旋转,这一轮还是按照从上到下从左到右的顺序将小三角形边上的数据作为明文存储起来;步骤24:重复步骤22至步骤23,直到每个要素处理完毕后,从而实现了对每个要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存还原后的数据文件R。权 利 要 求 书CN 1030772。
10、11 A1/5页4一种 GIS 矢量线面图层数据的置乱与还原方法技术领域0001 本发明属于地理信息安全领域,具体涉及一种基于分形模型席尔宾斯基垫片加密进行线面类型的GIS矢量数据置乱与还原的方法。背景技术0002 地理信息的安全防护涉及国家安全和社会利益,是当前急需解决的国家和社会重大需求问题。作为国家空间数据基础设施主要数据内容的GIS矢量数据,其信息安全研究更是至关重要。GIS矢量数据由于其具有无固定存储顺序的数据组织、多样的数据格式、强大的可视化表达手段、复杂的投影变换、繁多的空间分析应用,以及精度高、冗余少等诸多方面的特性,使得针对矢量数据的信息加密研究具有一定的特殊性和较大难度。发。
11、明内容0003 本发明的目的在于:基于分形模型席尔宾斯基垫片加密技术,提出一种针对GIS线面图层数据的置乱与还原方法,从而有效提高GIS矢量数据在数据传输、发行过程中的安全性。0004 为了实现上述目的,本发明采取的技术方案主要包括以下过程:0005 (一)置乱过程:0006 步骤11:加载一幅线面类型的矢量地图R,并且输入混沌系统的初值Q0和级数l作为参数,存为密钥文件key,其中级数1大于0;0007 步骤12:参数设置与分组,0008 a) 分形模型席尔宾斯基垫片初始图形的边数为3,根据级数l和公式(1)和(2)确定密钥长度Kll和明文分组长度Ell,按照每个小三角形的高的长度作为一个等。
12、级从上到下依次分为l级,0009 0010 0011 b)根据密钥长度Kll,确定明文分组,依次读取矢量地图R中每个要素的点坐标,设置点ID号,将点ID号作为明文信息,记明文总长度为Elength,按照公式(3)和点ID号进行分组,每组长度为Ell,共分为L组,如果最后剩余一组明文不足长度Ell,该组长度用a表示,0012 0013 说 明 书CN 103077211 A2/5页50014 c)根据明文总长度Elength生成密钥并分组,一组明文对应一组密钥,一组密钥长度为Kll,所以L组明文需要密钥总长度M,0015 0016 基于公式(6)和设置的参数k,Q0,根据密钥总长度M,生成长度同。
13、样为M的混沌序列Qn,其中k表示混沌系数, 3.5699k4,0017 0018 二值化混沌序列:根据公式(7)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,Q=qi|i=0,1,2,n,K=ki|i=0,1,2,n; 0019 0020 步骤13:各分组数据的置乱处理,0021 a)处理所有完整明文组的加密:将明文信息依次分组,把第j组密钥ki按照从上到下从左到右的顺序放入模型中顶角向上的小三角形内部,将第j组明文ei按照从上到下从左到右的顺序依次放入顶角向上的小三角形的三条边上;如果密钥ki为“0”,则将对应的小三角形边上的明文ei顺时针旋转1次;如果密钥ki为“1”,将该三。
14、角形顺时针旋转2次,每个小三角形的三条边上的明文在对应密钥的控制旋转下得到密文,模型中每个小三角形都旋转完之后,再按照从上到下从左到右的顺序取密文值,就可以得到一组密文序列ci,以此类推,每一组完整明文和密钥利用模型生成密文序列ci=ej,0022 b)处理剩下不足一组明文的加密:当剩下明文不足一次能加密的位数,使某些三角形边上的明文个数3,则该三角形在加密过程中不做旋转,但是该小三角形前面所有的小三角形同样按照a)中的旋转规则进行旋转,这一轮还是按照从上到下从左到右的顺序将小三角形边上的数据作为密文ci存储起来;0023 步骤14:重复步骤12至步骤13,直到每个要素处理完毕后,从而实现了对。
15、每个要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存置乱后的数据文件R;0024 (二)还原过程0025 步骤21:打开置乱后的数据文件R,从密钥文件Key中读取混沌系统的初值Q0和级数l;0026 步骤22:参数设置与分组,0027 a) 分形模型席尔宾斯基垫片初始图形的边数为3,根据级数l和公式(1)、(2)确定密钥长度Kll,密文分组长度Ell,0028 b)根据密钥长度Kll,确定密文分组,依次读取数据文件R中每个要素的点坐标,设置点ID号,将点ID号作为密文信息,记密文总长度为Elength,按照公式(3)和点ID号进行分组,每组长度为Ell,共分为L组,如果最后剩余。
16、一组密文不足长度Ell,根据公式(4)计算最后一组长度a,说 明 书CN 103077211 A3/5页60029 c)根据密文总长度Elength生成密钥并分组,一组密文对应一组密钥,一组密钥长度为Kll,根据公式(5)可以得到L组密文需要密钥总长度M,0030 基于公式(6)和设置的参数k,Q0,根据密钥总长度M,生成长度同样为M的混沌序列Qn,其中k表示混沌系数,3.5699k4,0031 二值化混沌序列:根据公式(7)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,0032 步骤23:各分组数据的还原处理,0033 a)处理所有完整密文组的解密:将密文信息依次分组,把第j组。
17、密钥ki按照从上到下从左到右的顺序放入模型中顶角向上的小三角形内部,将第j组密文ci按照从上到下从左到右的顺序依次放入顶角向上的小三角形的三条边上,如果密钥ki为“0”,则将对应的小三角形边上的密文ci顺时针旋转2次;如果密钥ki为“1”,将该三角形顺时针旋转1次,每个小三角形的三条边上的密文在对应密钥的控制旋转下得到明文,模型中每个小三角形都旋转完之后,再按照从上到下从左到右的顺序取明文值,就可以得到一组明文序列ei,以此类推,每一组完整密文和密钥利用模型生成明文序列ei=cj,0034 b)处理剩下不足一组密文的解密:当剩下密文不足一次能解密的位数,使某些三角形边上的密文个数3,则该三角形。
18、在解密过程中不做旋转,但是该小三角形前面所有的小三角形同样按照a)中的旋转规则进行旋转,这一轮还是按照从上到下从左到右的顺序将小三角形边上的数据作为明文ei存储起来;0035 步骤24:重复步骤22至步骤23,直到每个要素处理完毕后,从而实现了对每个要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存还原后的数据文件R0036 本发明针对GIS矢量数据存贮特点,基于分形模型席尔宾斯基垫片加密,该方法可有效提高GIS矢量数据在数据传输、发行过程中的安全性。附图说明0037 图1是本发明方法的数据置乱流程图;0038 图2是本发明方法的数据还原流程图;0039 图3是本发明方法的明文-。
19、密钥-密文位置图,(a)图是4级席尔宾斯基垫片明文-密钥位置图,(b) 图是实例明文-密钥位置图,(c) 图是密文-密钥位置图;0040 图4是本发明方法的不足一组明文-密钥-密文位置图,(a)图是不足一组明文-密钥位置图,(b)图是不足一组密文-密钥位置图;0041 图5是本发明实例原始矢量数据;0042 图6是本发明实例中原始数据和置乱数据的局部对比图,(a)图是原始数据局部截图 (b)图是置乱数据局部截图;0043 图7是本发明实例中还原后的矢量数据图。具体实施方式0044 本实施例选择shp格式矢量数据,针对数据的读取、置乱、还原的整个过程,进一步详细说明本发明。本实例选择中国1:40。
20、0万省界线图层。0045 (一)置乱过程说 明 书CN 103077211 A4/5页70046 步骤11:加载中国省界图线图层数据,并且输入Q0=0.31,l=4作为初始参数,相关参数存为密钥文件Key。0047 步骤12:参数设置与分组。0048 a)根据公式(1)、(2),可得Ll4=9,El4=27。0049 b)明文分组。依次读取矢量地图中每个线要素的点坐标, 将点ID号作为明文信息。以读取的第一个线要素为例,明文总长度为177,根据公式(3),将该线要素的ID号分成7组。根据公式(4),得到第7组长度a为15。0050 c)根据公式(5),明文需要密钥总长度M为63。0051 依据。
21、公式(6)Logistic方程,其中混沌系数k在算法中设置为3.92。得到0052 Q=0.31,0.83848800000000012,0.3777187222351337。0053 二值化混沌序列:根据公式(6)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,k=0,1,1,1,0,1,1,0。0054 步骤13:各分组数据的置乱处理,0055 a)第1组为完整明文组,其处理如下:第1组密钥k=0,1,1,1,0,1,1,0放入图3(a)所示模型中顶角向上的小三角形内部,即对应的ki的位置上;将第1组明文e=0,1,2,26放入图3(a)所示顶角向上的三角形的三条边上,即对应的。
22、ei的位置上。第1组明文-密钥位置图如图3(b)所示。如果ki为“0”,则将对应的小三角形边上的明文ei顺时针旋转1次;如果ki为“1”,将该三角形顺时针旋转2次。按照上述旋转规则,得到第1组密文序列如图3(c)所示。从上到下从左到右取密文序列c=2,0,1,4,7,6,8,3,5,10,13,14,11,9,12,23,15,18,24,15,19,22,26,16,17,20,21。以此类推,将该线要素中的前6个完整分组进行旋转加密。0056 b)第7组明文长度为15,不足一次能加密的位数,需基于不完整明文的处理方法进行处理。该组明文序列为e=162,163,164,176,所对应的密钥序。
23、列k=1,1,0,1,1,0,1,1,0,在模型中占满5个小三角形,所以只将这5个小三角形进行旋转。将明文序列e和密钥序列k按照上面a)的规则分别放入图4(a)对应的位置上,按照a)中旋转加密规则可得密文序列如图4(b)所示。从上到下从左到右的取密文序列c=163,164,162,166,169,170,167,165,168,172,175,174,176,171,173。最后可得该要素的密文序列c=2,0,1,173。0057 步骤14:重复步骤12至步骤13,直到每个线要素处理完毕后,从而实现了对每个线要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存置乱后的数据文件R。0。
24、058 (二)还原过程0059 步骤21:打开置乱后的数据文件R,从密钥文件Key中读取参混沌系数的初值数Q0和级数l。0060 步骤22:参数设置与分组。0061 a)根据公式(1)、(2),可得Kl4=9,El4=27。0062 b)密文分组。依次读取置乱后的矢量地图R中每个线要素的点坐标,设置点ID号。将点ID号作为密文信息,以读取的第一个线要素为例,密文总长度Elength为177,根据公式(3),该线要素的ID号可分成7组,根据公式(4)得到第七组长度a为15。说 明 书CN 103077211 A5/5页80063 c)根据公式(5),密文需要密钥总长度M为63。0064 依据公式。
25、(6)Logistic方程,其中混沌系数k在算法中设置为3.92。得到Q=0.31,0.83848800000000012,0.3777187222351337。0065 二值化混沌序列:根据公式(6)将混沌序列Qn量化得到一维二值混沌位置序列ki作为密钥序列,k=0,1,1,0,1,1,0。0066 步骤23:各分组数据的还原处理,0067 a)第1组为完整密文组,其处理如下:第1组密钥k=0,1,1,0,1,1,0放入图3(a)所示模型中顶角向上的小三角形内部,即对应的ki的位置上;将第1组明文c=0,1,2,26放入图3(a)所示顶角向上的三角形的三条边上,即对应的ei的位置上。如果ki。
26、为“0”,则将对应的小三角形边上的密文ci顺时针旋转2次;如果ki为“1”,将该三角形顺时针旋转1次。按照上述旋转规则,从上到下从左到右取第1组明文序列e=1,2,0,7,3,8,5,4,6,12,9,12,14,10,11,16,23,24,17,20,25,26,21,15,18,19,22。以此类推,将该线要素中的前6个完整分组进行旋转解密。0068 b) 第7组密文长度为15,不足一次能解密的位数,需基于不完整密文的处理方法进行处理。该组密文序列为c=162,163,164,176,所对应的密钥序列k=1,1,0,1,1,0,1,1,0,在模型中占满5个小三角形,所以只将这5个小三角形进行旋转。按照a)中旋转解密规则进行旋转,从上到下从左到右取明文序列e=164,162,163,169,165,168,170,166,167,175,171,176,173,172,174。最后可得该要素 的明文序列e=1,2,0,174。0069 步骤24:重复步骤22至步骤23,直到每个线要素处理完毕后,从而实现了对每个线要素中的点的ID号及其在要素点集合中的位置进行重新排列,并且保存还原后的数据文件R。说 明 书CN 103077211 A1/6页9图1说 明 书 附 图CN 103077211 A2/6页10图2说 明 书 附 图CN 103077211 A10。