[发明专利]一种基于Chebyshev多项式的GIS矢量数据脱密与恢复方法有效
申请号: | 201711469429.5 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108090369B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 江栋华;周卫 | 申请(专利权)人: | 南京师范大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;H04L9/08 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 许方 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 chebyshev 多项式 gis 矢量 数据 恢复 方法 | ||
1.一种基于Chebyshev多项式的GIS矢量数据脱密与恢复方法,其特征在于,包括以下步骤:
(1)密钥生成过程,包括:确定待脱密矢量数据范围、选取控制点并设置控制点的扰动量、控制点归一化、样本点的生成、脱密误差迭代控制、生成密钥;
(2)脱密过程,包括:密钥文件解密读取、打开原始矢量数据、遍历要素并获取原始坐标、归一化坐标并进行脱密处理、保存脱密后的数据;
(3)恢复过程,包括:密钥文件解密读取、打开脱密后的数据、恢复模型建立、脱密后数据的恢复处理、恢复后数据保存;
所述步骤(1)密钥生成过程包括:
步骤11、确定待脱密矢量数据范围
打开待脱密的矢量数据,获取其最小外接矩形R,R左下角的角点坐标为(xmin,ymin),R的右上角的角点坐标为(xmax,ymax);并按照公式(1)计算数据范围的长度Length和数据宽度Height;
步骤12、选取控制点并设置控制点的扰动量
从待脱密的矢量数据范围内选取num个原始控制点Cpoint(sXi,sYi)(num大于待求解的参数个数),并根据脱密指标给定每个控制点适当的扰动量ΔXi与ΔYi;则目标控制点Cpoint(tXi,tYi)的坐标为:
步骤13、控制点归一化
将步骤12中选取的控制点按照公式(2)归一化至[-1,1]区间内,得到归一化后的控制点Cpoint(sXig,sYig):
步骤14、样本点的生成:
以待脱密的数据范围作为全局样本,设定样本点的间隔为d,在全局样本中均匀的选取k=(Length/d)·(Height/d)个样本点Samplepoint(sXi,sYi)作为计算脱密误差的样本点;
步骤15、脱密误差迭代控制
a)建立脱密模型:将归一化后的控制点以及控制点的扰动量代入公式(3),求解模型参数Cx与Cy,建立Chebyshev多项式脱密模型(4),其中n1、n2为Chebyshev多项式的截止阶数;
其中,Tj是指以sXig为自变量的第j阶Chebyshev多项式;Tk是指以sYig为自变量的第k阶Chebyshev多项式;
b)计算脱密误差:将步骤14中生成的样本点代入脱密模型(4),计算出脱密后的样本点坐标Samplepoint(tXi,tYi),并按照公式(5)计算脱密误差RMSEdecrypt;
c)调整控制点扰动量:将脱密误差RMSEdecrypt与脱密指标σ进行比较,若RMSEdecrypt与脱密指标σ之间的差值大于设定的阈值,则需要调整控制点的扰动量ΔXi与ΔYi来控制样本点的中误差,若RMSEdecrypt小于脱密指标σ,则需要增大ΔXi与ΔYi,反之则需要缩小ΔXi与ΔYi,按照公式(6)对控制点的偏移量进行控制:
迭代步骤a)到c),直至RMSEdecrypt与脱密指标σ之间的差值小于设定的阈值,然后执行步骤16;
步骤16:生成密钥:将最终的模型参数Cx与Cy和控制点Cpoint(sXi,sYi)及其偏移量ΔXi与ΔYi加密保存为密钥文件;
所述步骤(2)脱密处理过程包括:
步骤21、解密并读取密钥文件,提取模型参数Cx与Cy,打开待脱密矢量数据;
步骤22、遍历待脱密矢量数据要素,获取要素点的原始坐标p(sXi,sYi);
步骤23、根据公式(2)将p(sXi,sYi)归一化至[-1,1]区间内,得到归一化后的要素点的坐标p(sXig,sYig);
步骤24、将归一化后的坐标p(sXig,sYig)以及要素点的原始坐标p(sXi,sYi)代入脱密模型(7),得到脱密后要素点的坐标p(tXi,tYi);
步骤25、循环步骤22至24,直至所有的要素处理完毕;保存脱密后的矢量数据。
2.根据权利要求1所述的一种基于Chebyshev多项式的GIS矢量数据脱密与恢复方法,其特征在于,步骤(3)脱密恢复过程包括:
步骤31、解密并读取密钥文件:将脱密过程中的源控制点Cpoint(sXi,sYi)作为恢复的目标控制点Cpointrecovery(tXi,tYi),将脱密过程中目标控制点Cpoint(tXi,tYi)作为恢复的源控制点Cpointrecovery(sXi,sYi),则恢复过程中的源控制点Cpointrecovery(sXi,sYi)的变换量ΔXrecoveryi、ΔYrecoveryi与脱密过程中源控制点Cpoint(sXi,sYi)的变换量ΔXi、ΔYi互为相反数;
步骤32、将步骤31中的Cpointrecovery(sXi,sYi)及其变换量ΔXrecoveryi、ΔYrecoveryi代入公式(3)求解恢复模型参数Cxrecovery以及Cyrecovery;
步骤33、将步骤14中的Samplepoint(sXi,sYi)结合密钥中的脱密模型参数Cx与Cy计算脱密后的样本点Samplepoint(tXi,tYi),并计算出脱密误差RMSEdecrypt,并将脱密后的样本点Samplepoint(tXi,tYi)作为恢复过程中的源样本点Samplepointrecovery(sXi,sYi);
步骤34、将Samplepointrecovery(sXi,sYi)以及恢复模型参数Cxrecovery与Cyrecovery代入公式(4)计算恢复后的样本点Samplepointrecovery(tXi,tYi),并根据中误差计算公式(5)计算恢复误差RMSErecovery;
步骤35、将步骤34中计算出的恢复误差RMSErecovery与脱密误差RMSEdecrypt比较,若RMSErecovery与RMSEdecrypt之间的差值大于设定的阈值,则需要调整控制点Cpointrecovery(sXi,sYi)的偏移量ΔXrecoveryi和ΔYrecoveryi迭代控制样本点的中误差,若RMSErecovery<RMSEdecrypt,则需要增大ΔXrecoveryi和ΔYrecoveryi,反之则需要缩小ΔXrecoveryi和ΔYrecoveryi,按照公式(8)对控制点的偏移量进行控制:
重复步骤32到步骤35,直至RMSErecovery与RMSEdecrypt之间的差值小于设定的阈值,输出此时的恢复模型参数Cxrecovery与Cyrecovery;
步骤36、打开脱密后的数据,遍历脱密后的数据的要素坐标,归一化后代入恢复模型(9)即得恢复后的数据的坐标:
步骤37、循环处理每个要素点的坐标,直至所有要素循环处理完毕,保存恢复后的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京师范大学,未经南京师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711469429.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:APK程序文件的保护方法和系统
- 下一篇:基于索引的即时通信加密方法和系统