[发明专利]一种GIS矢量数据可逆脱密方法有效
申请号: | 201210586283.3 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103067159A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 周卫;闫娜 | 申请(专利权)人: | 南京师范大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 李媛媛 |
地址: | 210097 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种GIS矢量数据可逆脱密方法,属于地理信息安全领域。该方法包括如下过程:(1)密钥生成过程,包括确定数据范围、确定数据变换量、计算线性变换量引起的中误差并确定参数、计算非线性变换量引起的中误差并确定参数、用非对称加密算法RSA对密钥Key进行加密并存入密钥文件;(2)脱密过程,包括读取密钥文件,解密并提取密钥;打开原始矢量数据;获取要素点坐标集合;坐标归一化;循环处理;(3)恢复过程。本发明的方法具有随机性、渐变性、可逆性等特点,提高了GIS矢量数据脱密的可靠性,完善了地理信息安全保护的理论与方法体系,可用于GIS矢量数据的公开发布等方面。 | ||
搜索关键词: | 一种 gis 矢量 数据 可逆 方法 | ||
【主权项】:
1.一种GIS矢量数据可逆脱密方法,其特征在于,包括如下过程:(一)密钥生成过程步骤11,确定数据范围:获取原始矢量数据V的最小外接矩形R,R左下角坐标为(xmin,ymin),右上角坐标为(xmax,ymax),根据公式(1)得数据中心点坐标(xmid,ymid)、数据长度XL和数据宽度YL;x mid = ( x min + x max ) / 2 y mid = ( y min + y max ) / 2 XL = x max - x min YL = y max - y min - - - ( 1 ) ]]> 步骤12,确定数据变换量:具体步骤如下:输入数据总体变换量offset,offset>0,非线性变换量nonlinear,0<nonlinear<=offset,根据公式(2)得到线性变换量linear;linear = offset 2 - nonlinear 2 - - - ( 2 ) ]]> 步骤13,计算线性变换量linear引起的中误差,确定影响变换效果的参数:焦距f、航高H、偏角倾角ω、旋角κ,具体步骤如下:a)焦距f∈(0,1),b)根据公式(3)计算航高H,H = XL * YL / f - - - ( 3 ) ]]> c)根据公式(4)计算线性变化量linear的扰动范围linearExtent,linearExtent = linear - - - ( 4 ) ]]> d)生成控制点集合,具体步骤如下:在最小外接矩形R范围内生成m*n个均匀控制点组成源控制点集合FromPoints={(Fxi,Fyi)|i=1,2,...m*n},m*n>=6;根据公式(5)计算每个目标控制点坐标(Txi,Tyi)组成目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},Tx i = Fx i + dir 1 × linear + random 1 × linearExtent Ty i = Fy i + dir 2 × linear + random 2 × linearExtent - - - ( 5 ) ]]> 其中:方向参数dir1在[0.0,1.0]范围内,方向参数控制点扰动参数random1和random2在[-1.0,1.0]范围内随机选取,e)坐标归一化,根据公式(6)对源控制点集合FromPoints和目标控制点集合ToPoints进行归一化处理得到新坐标集合FromPoints’={(Fxi’,Fyi’)|i=1,2,...m*n},ToPoints’={(Txi’,Tyi’)|i=1,2,...m*n},Fx i ′ = ( Fx i - x mid ) * f / H Fy i ′ = ( Fy i - y mid ) * f / H Tx i ′ = ( Tx i - x mid ) * f / H Ty i ′ = ( Ty i - y mid ) * f / H - - - ( 6 ) ]]> f)计算偏角倾角ω、旋角κ,根据公式(7)利用最小二乘法对FromPoints’中源控制点和ToPoints’中目标控制点进行拟合解算得到偏角倾角ω、旋角κ,g)计算线性变换中误差accuracy1,具体步骤如下:根据公式(8)转换源控制点集合FromPoints’坐标得到目标控制点集合ToPoints”={(Txi”,Tyi”)|i=1,2,...m*n},根据公式(9)计算中误差accuracy1,accuracy 1 = Σ ( ( Tx i ′ ′ - Fx i ) 2 + ( Ty i ′ ′ - Fy i ) 2 ) / ( m * n ) - - - ( 9 ) ]]> h)调节目标控制点集合,具体步骤如下:如果|linear/accuracy1-1|>0.01,则根据公式(10)调节每个原目标控制点坐标(Txi,Tyi),得到新的目标控制点坐标(NTxi,NTyi),用新的目标控制点替代原目标控制点即Txi=NTxi、Tyi=NTyi,得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},NTx i = Fx i + ( linear / accuracy 1 ) ( Tx i - Fx i ) NTy i = Fy i + ( linear / accuracy 1 ) ( Ty i - Fy i ) - - - ( 10 ) ]]> i)循环步骤e)-h)直至|linear/accuracy1-1|<=0.01,得到最终的偏角倾角ω、旋角κ;步骤14,计算非线性变换量nonlinear引起的中误差,确定参数j0-j5,具体步骤如下:a)生成控制点高程,利用公式(11)计算源控制点集合FromPoints每个点位移nonlinear所需的高程Fzi,生成三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...m*n},Fz i = H * nonlinear / ( x mid - Fx i ) 2 + ( y mid - Fy i ) 2 - - - ( 11 ) ]]> b)根据公式(12)对生成的三维源控制点集合FromPoints进行最小二乘解算,得到参数j0-j5,Fzi=j0+j1Fxi+j2Fyi+j3Fxi2+j4Fyi2+j5FxiFyi (12)c)计算非线性变换中误差accuracy2,具体步骤如下:根据公式(12)和参数j0-j5解算每个源控制点的Fzi值,保存到三维源控制点集合FromPoints中,根据公式(13)对三维源控制点集合FromPoints进行计算得到目标控制点集合ToPoints={(Txi,Tyi)|i=1,2,...m*n},Tx i = ( - f ( Fx i - x mid ) / ( Fz i - H ) ) * H / f + x mid Ty i = ( - f ( Fy i - y mid ) / ( Fz i - H ) ) * H / f + y mid - - - ( 13 ) ]]> 根据公式(14)计算中误差accuracy2,accuracy 2 = Σ ( ( Tx i - Fx i ) 2 + ( Ty i - Fy i ) 2 ) / ( m * n ) - - - ( 14 ) ]]> d)调节源控制点高程值,如果|nonlinear/accuracy2-1|>0.01,则根据公式(15)调节每个源控制点坐标高程值,得到新的高程值NFzi,用新高程值替代原高程值即Fzi=NFzi,得到三维源控制点集合FromPoints={(Fxi,Fyi,Fzi)|i=1,2,...m*n},NFz i ∈ ( Fz i / 2 , ( nonlinear / accuracy 2 ) * Fz i ) if ( nonlinear / accuracy 2 > 1 ) NFz i ∈ ( ( nonlinear / accuracy 2 ) * Fz i / 2 , Fz i ) if ( nonlinear / accuracy 2 < 1 ) - - - ( 15 ) ]]> e)循环步骤b)-d),直至|nonlinear/accuracy2-1|<=0.01,得到最终参数j0-j5;步骤15,焦距f、航高H、偏角倾角ω、旋角κ、数据中心点坐标(xmid,ymid)、参数j0-j5组成密钥Key,用非对称加密算法RSA对密钥Key进行加密并存入密钥文件Key.txt;(二)脱密过程步骤21,读取密钥文件Key.txt,解密后提取密钥Key,打开原始矢量数据V;步骤22,生成每个点高程值zj,转换坐标,具体步骤如下:a)提取矢量数据V的要素点坐标,得到要素点坐标集合P={(xj,yj,zj)|j=1,2,...,k},其中k为要素包含的点个数,b)根据密钥Key和公式(16)循环计算集合P中每一个点坐标pj(xj,yj,zj)的高程值zj并保存到集合P中,zj=j0+j1xj+j2yj+j3xj2+j4yj2+j5xjyj (16)c)根据公式(17)和密钥Key,对每个点坐标pj(xj,yj,zj)进行计算,得到点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k};步骤23,坐标归一化,根据+密钥Key和公式(18)对每个点坐标pj’(xj’,yj’,zj)进行归一化处理得到脱密后点坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k};x j ′ ′ = x mid + x j ′ * H / f y j ′ ′ = y mid + y j ′ * H / f - - - ( 18 ) ]]> 步骤24,循环步骤22到23,直至每个要素处理完毕,保存脱密后的数据文件W;(三)恢复过程步骤31,读取密钥文件Key.txt,解密后提取密钥Key,打开脱密后的矢量数据W;步骤32,坐标归一化,具体步骤如下:a)提取矢量数据W的要素点坐标,得到坐标集合P”={(xj”,yj”,zj)|j=1,2,...,k},b)根据密钥Key和公式(19),对集合P”集合中每个点坐标pj”(xj”,yj”,zj)进行归一化处理生成点坐标集合P’={(xj’,yj’,zj)|j=1,2,...,k;x j ′ = ( x j ′ ′ - x mid ) * f / H y j ′ = ( y j ′ ′ - y mid ) * f / H - - - ( 19 ) ]]> 步骤33,转换坐标,根据公式(20)和密钥Key对每个点坐标pj’(xj’,yj’,zj)进行计算,然后将高程值zj置零,得到恢复后的点坐标pj(xj,yj,0),生成坐标集合P={(xj,yj,0)|j=1,2,...,k};步骤34,循环步骤32到33,直至每个要素处理完毕,保存恢复后的数据文件Q。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210586283.3/,转载请声明来源钻瓜专利网。
- 上一篇:液晶化合物以及包含该液晶化合物的液晶显示器
- 下一篇:一种冗余数据检验方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置