一种矢量地理数据加密、解密方法及系统
文献发布时间:2023-06-19 11:29:13
技术领域
本发明涉及信息安全技术领域,特别是涉及一种矢量地理数据加密、解密方法及系统。
背景技术
随着网络技术的发展、数据共享及传输日益便捷,矢量地理数据网络在线服务和传输已势在必行。但由于矢量地理数据具有定位准、精度高、涉密广等特性,一旦在网络中被第三方截获将会损失巨大利益,且目前网络仅提供端到端信息传送通道,而不提供任何加密机制,在传送过程中第三方可通过嗅探网络中的传送数据进而获取矢量地理数据,如何化解矢量地理数据安全需求与网络共享的矛盾已成为亟待解决的问题。
选择性加密技术主要通过选取数据中的敏感部分和对安全性影响较大的数据部分进行加密,由于选取的加密数据量小,使得加密效率得到极大提升;与此同时,由于敏感度高、对安全性影响较大的重要数据部分被加密,使得加密的安全性也得到了保证。因此,选择性加密能够以较小的加密时间成本换取较好的数据加密效果,从而满足数据网络实时传输和共享要求的安全性高、效率高的需求。
现有技术中都是随机选取矢量地理数据的部分数据进行加密,却忽略了矢量地理数据重要的空间特征、精度特征等独有的数据特征,存在着一定的安全漏洞。
发明内容
本发明的目的是提供一种矢量地理数据加密、解密方法及系统,以提高矢量地理数据的安全性能。
为实现上述目的,本发明提供了如下方案:
一种矢量地理数据加密方法,包括:
获取待加密矢量地理数据的线面图层;
根据所述线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素;
对所述要素集合中的每个要素进行特征提取,得到每个要素对应的要素空间信息;
基于每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素;
基于所述要素聚类,计算每组要素聚类对应的数据加密程度;
根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据加密程度,确定每个要素对应的加密点数;
按照每个要素对应的加密点数对对应的要素进行取点,得到待加密数据集;所述待加密数据集包括所有要素取的点;
采用扩散-置乱的图像加密方法对所述待加密数据集进行加密,得到加密后的线面图层;
依次对所有的线面图层进行加密,得到加密后的矢量地理数据。
可选的,所述基于所述要素聚类,计算每组要素聚类对应的数据加密程度,具体包括:
基于每个要素聚类的聚类中心和控制因子,计算每组要素聚类对应的数据加密程度,公式为:
式中,P
所述根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据加密程度,确定每个要素对应的加密点数,具体包括:
对于第j个要素,将所述第j个要素的总点数与所述第j个要素所属要素聚类对应的数据加密程度相乘,得到所述第j个要素对应的加密点数。
可选的,所述按照每个要素对应的加密点数对对应的要素进行取点,得到待加密数据集,具体包括:
利用一维logistic混沌映射生成实数序列;实数序列为{x
对于第j个要素,通过偏移量n
对所述第j个要素对应的截取序列中的元素按照升序排序,得到数值序列X
基于所述数值序列和所述实数序列,生成所述第j个要素对应的索引序列;所述索引序列中的第k个元素为所述第j个要素的数值序列中第k个元素在所述示数序列中的位置;
基于所述第j个要素对应的索引序列的前cnt
依次得到每个要素所取的点集合,得到待加密数据集。
可选的,所述采用扩散-置乱的图像加密方法对所述待加密数据集进行加密,得到加密后的线面图层,具体包括:
将所述待加密数据集中每个点的单坐标分解为整数部分序列和小数部分序列;所述单坐标为横坐标或纵坐标;所述整数部分序列包括所述待加密数据集中每个点的单坐标的整数部分,所述小数部分序列包括所述待加密数据集中每个点的单坐标的小数部分;
提取所述小数部分序列的十分位和百分位,得到待加密数据;所述待加密数据为ZX,ZX=A×10+B,A为所述小数部分序列的十分位组成的序列,B为所述小数部分序列的百分位组成的序列;
提取所述小数部分序列的千分位,得到千分位序列;
将所述千分位序列与混沌序列结合,生成密钥;所述密钥SC=S×10+C,C为千分位序列;S为一维logistic改进映射的混沌序列;
将所述待加密数据与所述密钥按位异或运算,得到加密后数据;
使用所述加密后数据替换所述小数部分序列的十分位和百分位,得到加密后的小数部分序列;
将所述整数部分序列与所述加密后的小数部分序列相加,得到异或加密后单坐标序列;
将所述异或加密后单坐标序列构造为c×d的矩阵M;所述异或加密后单坐标序列按照行优先的顺序依次放入矩阵M的相应位置;其中,
利用二维Henon混沌映射,生成置乱加密序列S′=(s
置乱加密序列S′对矩阵M按照行优先循环右移置乱规则依次从第1行处理到第c行,再对处理后的矩阵M进行行列倒置,得到初步置乱矩阵;
利用置乱加密序列T′对所述初步置乱矩阵按矩阵行优先循环右移置乱规则依次从第1行处理到第d行,再进行行列倒置,得到置乱加密后的矩阵;
利用所述置乱加密后的矩阵按照行优先的顺序依次替换所述异或加密后单坐标序列中的元素,得到选择性加密后的单坐标序列;
用所述选择性加密后的单坐标序列替换线面图层对应位置的单坐标,得到加密后的线面图层。
本发明还提供一种矢量地理数据加密系统,包括:
线面图层获取模块,用于获取待加密矢量地理数据的线面图层;
要素集合生成模块,用于根据所述线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素;
特征提取模块,用于对所述要素集合中的每个要素进行特征提取,得到每个要素对应的要素空间信息;
聚类分析模块,用于基于每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素;
数据加密程度计算模块,用于基于所述要素聚类,计算每组要素聚类对应的数据加密程度;
加密点数确定模块,用于根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据加密程度,确定每个要素对应的加密点数;
取点模块,用于按照每个要素对应的加密点数对对应的要素进行取点,得到待加密数据集;所述待加密数据集包括所有要素取的点;
加密模块,用于采用扩散-置乱的图像加密方法对所述待加密数据集进行加密,得到加密后的线面图层;
迭代模块,用于依次对所有的线面图层进行加密,得到加密后的矢量地理数据。
本发明还提供一种矢量地理数据解密方法,所述解密方法应用于上述的加密方法,所述解密方法包括:
获取待解密矢量地理数据的线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素;
基于所述要素集合中每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素;
基于所述要素聚类,计算每组要素聚类对应的数据解密程度;
根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据解密程度,确定每个要素对应的解密点数;
按照每个要素对应的解密点数对对应的要素进行取点,得到待解密数据集;所述待解密数据集包括所有要素取的点;
采用扩散-置乱的图像解密方法对所述待解密数据集进行解密,得到解密后的线面图层;
依次对所有的线面图层进行解密,得到解密后的矢量地理数据。
可选的,所述基于所述要素聚类,计算每组要素聚类对应的数据解密程度,具体包括:
基于每个要素聚类的聚类中心和控制因子,计算每组要素聚类对应的数据解密程度,公式为:
式中,P
所述根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据解密程度,确定每个要素对应的解密点数,具体包括:
对于第j个要素,将所述第j个要素的总点数与所述第j个要素所属要素聚类对应的数据解密程度相乘,得到所述第j个要素对应的解密点数。
可选的,所按照每个要素对应的解密点数对对应的要素进行取点,得到待解密数据集,具体包括:
利用一维logistic混沌映射生成实数序列;实数序列为{x
对于第j个要素,通过偏移量n
对所述第j个要素对应的截取序列中的元素按照升序排序,得到数值序列X
基于所述数值序列和所述实数序列,生成所述第j个要素对应的索引序列;所述索引序列中的第k个元素为所述第j个要素的数值序列中第k个元素在所述示数序列中的位置;
基于所述第j个要素对应的索引序列的前cnt
依次得到每个要素所取的点集合,得到待解密数据集。
可选的,所述采用扩散-置乱的图像解密方法对所述待解密数据集进行解密,得到解密后的线面图层,具体包括:
提取所述待解密数据集中每个点的单坐标,生成单坐标点集;所述单坐标为横坐标或纵坐标,所述单坐标点集为横坐标点集或纵坐标点集;
将所述单坐标点集构造为c×d的矩阵M;所述单坐标点集按照行优先的顺序依次放入矩阵M的相应位置;其中,
利用二维Henon混沌映射,生成置乱解密序列S'={s
对矩阵M进行行列倒置,再利用置乱解密序列T'按矩阵行优先循环左移置乱规则依次从第1行处理到第c行,得到初步置乱还原矩阵;
对所述初步置乱还原矩阵进行行列倒置,再利用置乱解密序列S'按矩阵行优先循环左移置乱规则依次从第1行处理到第d行,得到置乱还原后的矩阵;
利用所述置乱还原后的矩阵按照行优先的顺序依次替换所述单坐标点集中的元素,得到选择性解密后的单坐标序列;
将所述选择性解密后的单坐标序列中每个点的单坐标分解为整数部分序列和小数部分序列;所述整数部分序列包括所述选择性解密后的单坐标序列中每个点的单坐标的整数部分,所述小数部分序列包括所述选择性解密后的单坐标序列中每个点的单坐标的小数部分;
提取所述小数部分序列的十分位和百分位,得到待解密数据;所述待解密数据为ZX,ZX=A×10+B,A为所述小数部分序列的十分位组成的序列,B为所述小数部分序列的百分位组成的序列;
提取所述小数部分序列的千分位,得到千分位序列;
将所述千分位序列与混沌序列结合,生成解密密钥;所述解密密钥SC=S×10+C,C为千分位序列;S为一维logistic改进映射的混沌序列;
将所述待解密数据与所述解密密钥按位异或运算,得到异或解密后数据;
使用所述解密后数据替换所述小数部分序列的十分位和百分位,得到异或解密后的小数部分序列;
将所述整数部分序列与所述异或解密后的小数部分序列相加,得到解密后单坐标序列;
利用所述解密后单坐标序列替换线面图层对应位置的单坐标,得到解密后的线面图层。
本发明还提供一种矢量地理数据解密系统,包括:
线面图层获取模块,用于获取待解密矢量地理数据的线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素;
聚类分析模块,用于基于所述要素集合中每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素;
数据解密程度计算模块,用于基于所述要素聚类,计算每组要素聚类对应的数据解密程度;
解密点数确定模块,用于根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据解密程度,确定每个要素对应的解密点数;
取点模块,用于按照每个要素对应的解密点数对对应的要素进行取点,得到待解密数据集;所述待解密数据集包括所有要素取的点;
解密模块,用于采用扩散-置乱的图像解密方法对所述待解密数据集进行解密,得到解密后的线面图层;
迭代模块,用于依次对所有的线面图层进行解密,得到解密后的矢量地理数据。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
针对现有矢量地理数据选择性加密方法未充分挖掘数据特征、安全性低等问题,本发明基于矢量地理数据空间信息量计算方法,充分挖掘矢量地理数据加密特征,通过量化并找到待加密数据中能够显著影响数据安全性、对加密操作敏感度高的部分,从而通过仅选择部分地理要素进行加密,但可改变待加密数据的整体映射和拓扑关系,以实现数据加解密效率与安全性之间的平衡。首先,基于空间信息量的分解组合和可加性原则,得到矢量地理数据加密特征组合策略;接着,通过构建基于特征计算的空间信息量计算模型,对矢量地理数据加密特征进行计算;然后,为动态控制加密程度引入控制因子r,并基于K-means聚类算法将加密特征研究层次从要素级扩展到全局,筛选出复杂而重要的地物,得到需要加密的重要数据部分;最后,对选择出的部分地理要素采用图像加密中的扩散-置乱思想进行加密,进而提高矢量地理数据的安全性能。本发明主要面向实时网络、高清传送、以及低计算能力的移动通信应用场景,能够有效对矢量地理数据进行加密特征选择,减少加密的数据量,同时通过将地理坐标在有限范围内进行偏移和置乱,将加密后数据与未加密数据进行重叠保证数据具备足够的安全性,从而为解决当前矢量地理数据加密效率与安全性之间的矛盾提供一条可行的思路,为促进矢量地理数据数据网络在线服务和传输提供有效技术支持。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明矢量地理数据加密方法的流程示意图;
图2为本发明矢量地理数据解密方法的流程示意图;
图3为本发明具体实施案例的流程示意图;
图4为本发明具体实施案例的加密及解密效果对比图;
图5为本发明具体实施案例的密钥敏感度分析效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明将在充分挖掘矢量地理数据特征的基础上,基于空间信息量计算方法和K-Means聚类思想,通过选择部分地理要素进行加密,以实现矢量地理数据加密算法高效性和安全性之间的平衡。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明矢量地理数据加密方法的流程示意图。如图1所示,本发明矢量地理数据加密方法包括以下步骤:
步骤101:获取待加密矢量地理数据的线面图层。
步骤102:根据线面图层,生成线面图层对应的要素集合。要素集合中包括线面图层包括的所有线面要素。要素集合PL={l
步骤103:对要素集合中的每个要素进行特征提取,得到每个要素对应的要素空间信息。本发明要素空间信息包括:衡量要素延展度的长度系数V
Step1:通过计算要素l
Step2:通过计算要素l
V
Step3:通过计算要素l
Step4:通过计算要素的点数V
Step5:将能够衡量要素延展度、弯曲度、突变情况和密集程度的长度系数V
重复Step1至Step5,直至要素集合PL内所有要素的特征全部提取完毕,得到线面要素空间信息量集合{I
步骤104:基于每个要素的Part数和要素空间信息,采用K-Means算法对要素集合中的要素进行聚类分析,得到多组要素聚类。每组要素聚类包括多个要素。将每个要素的Part数和要素空间信息作为K-Means算法的输入,将其分为k组聚类{C
步骤105:基于要素聚类,计算每组要素聚类对应的数据加密程度。计算公式为:
式中,P
步骤106:根据要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据加密程度,确定每个要素对应的加密点数。具体的,对于第j个要素,将所述第j个要素的总点数n
P
式中,P
依次得到PL中所有要素对应的加密点数{cnt
步骤107:按照每个要素对应的加密点数对对应的要素进行取点,得到待加密数据集。待加密数据集包括所有要素取的点。具体过程如下:
首先,利用一维logistic混沌映射生成实数序列{x
然后,对于第j个要素,通过初始值pos、偏移量n
进而,对所述第j个要素对应的截取序列中的元素按照升序排序,得到数值序列X
最后,基于所述第j个要素对应的索引序列的前cnt
步骤108:采用扩散-置乱的图像加密方法对待加密数据集进行加密,得到加密后的线面图层。本步骤是先对单坐标进行加密,然后将两个单坐标整合,得到加密后的线面图层,下面以单坐标为横坐标为例,具体过程如下:
Step1:将待加密数据集P′中的所有点的横坐标x分别放进序列PX中,并将其分解得到整数部分序列G和小数部分序列D;然后提取序列D的十分位和百分位,分别记为A和B,得到待加密数据ZX=A×10+B。
Step2:利用数据自身的小数位进行密钥构造,提取序列D的千分位记为C,并与由式(9)生成的一维logistic改进映射混沌序列S得到用于坐标值加密的密钥SC=S×10+C。
式中,s
Step3:对ZX和SC进行按位异或运算,得到加密后数据ZX′=mod(mod(ZX,SC),100);然后使用ZX′替换小数部分序列D的十分位和百分位,得到加密后的小数部分序列D′;将G与D′相加,得到序列PX异或加密后的结果X′=G+D′。
Step4:将点集X′按式(10)构造成大小为c×d的矩阵M,将集合X′中的点按照行优先的顺序依次放入矩阵M中;若N>c×d,则舍弃尾部N-c×d个点,不对其进行处理。式中,N为点集X′所含点数,
Step5:利用式(11)生成二维Henon混沌映射,得到用于置乱加密的序列S′={s
Step6:利用序列S′,对点集矩阵M按照行优先循环右移置乱规则依次从第1行处理到第c行,然后对矩阵M进行行列倒置,利用序列T′依次对其从第1行处理到第d行,最后再行列倒置,得到置乱加密后的矩阵M′。
Step7:将矩阵M′按照行优先的顺序依次替换数据集X′中相应位置的横坐标得到加密结果;对于未参与置乱加密的点,即数据集X′中未在矩阵矩阵M′中对应的点,不对其做替换处理。
Step8:利用经Step7加密后的数据替换原数据中的相应坐标值,完成数据选择性加密过程。
利用上述步骤对Y坐标进行加密的步骤与X坐标相同,在此不做赘述。
步骤109:依次对所有的线面图层进行加密,得到加密后的矢量地理数据。
基于上述方案,本发明还提供一种矢量地理数据加密系统,包括:
线面图层获取模块,用于获取待加密矢量地理数据的线面图层。
要素集合生成模块,用于根据所述线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素。
特征提取模块,用于对所述要素集合中的每个要素进行特征提取,得到每个要素对应的要素空间信息。
聚类分析模块,用于基于每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素。
数据加密程度计算模块,用于基于所述要素聚类,计算每组要素聚类对应的数据加密程度。
加密点数确定模块,用于根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据加密程度,确定每个要素对应的加密点数。
取点模块,用于按照每个要素对应的加密点数对对应的要素进行取点,得到待加密数据集;所述待加密数据集包括所有要素取的点。
加密模块,用于采用扩散-置乱的图像加密方法对所述待加密数据集进行加密,得到加密后的线面图层。
迭代模块,用于依次对所有的线面图层进行加密,得到加密后的矢量地理数据。
基于上述加密方法,本发明还提供一种解密方法,图2为本发明矢量地理数据解密方法的流程示意图。如图2所示,本发明的解密方法包括:
步骤201:获取待解密矢量地理数据的线面图层,生成线面图层对应的要素集合。读取待解密数据的线面图层,得到要素集合PL={l
步骤202:基于要素集合中每个要素的Part数和要素空间信息,采用K-Means算法对要素集合中的要素进行聚类分析,得到多组要素聚类。每组要素聚类包括多个要素。对要素集合中的每个要素进行特征提取,得到每个要素对应的要素空间信息的过程,以及聚类分析过程与步骤103-步骤104过程相同,此处不再赘述。
步骤203:基于要素聚类,计算每组要素聚类对应的数据解密程度。利用不同分组的聚类中心{(I
步骤204:根据要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据解密程度,确定每个要素对应的解密点数。根据式(7)得到所有要素需解密点数{cnt
步骤205:按照每个要素对应的解密点数对对应的要素进行取点,得到待解密数据集。待解密数据集包括所有要素取的点。利用一维logistic混沌映射得到实数混沌序列{x
步骤206:采用扩散-置乱的图像解密方法对待解密数据集进行解密,得到解密后的线面图层。具体过程如下:
Step1:按式(10)将点集P′={p
Step2:利用二维Henon混沌映射生成用于置乱加密的序列S和T;并对点集矩阵M进行行列倒置,利用序列T依次对其从第1行到第c行进行循环左移处理,然后对其进行行列倒置,并利用序列S依次对其从第1行到第d行进行循环左移处理,得到置乱还原后的矩阵M′;再将矩阵M′按照行优先的顺序依次替换待解密数据集P′中相应位置的横坐标;对于未参与置乱加密的点,不对其做替换处理。
Step3:以横坐标为例,将P′中的横坐标x分别放进序列X中,并将其分解得到整数部分序列G和小数部分序列D;并提取序列D的十分位和百分位,分别记为A和B,得到待解密数据ZX=ZX=A×10+B;提取序列D的千分位记为C,并与序列S得到用于坐标值解密的密钥SC=S×10+C。
Step4:对ZX和SC进行按位异或运算,得到解密后数据ZX′=mod(mod(ZX,SC),100);然后使用ZX′替换小数部分序列D的十分位和百分位,得到解密后的小数部分序列D′。
Step5:将整数部分I与解密后的小数部分D′相加,得到序列X解密后的最终结果X′=G+D′,依次替换数据集P′中相应位置的横坐标,得到解密后的数据。对Y坐标进行加密的步骤与X坐标相同,在此不做赘述。
步骤207:依次对所有的线面图层进行解密,得到解密后的矢量地理数据。
基于上述方案,本发明还提供一种矢量地理数据解密系统,包括:
线面图层获取模块,用于获取待解密矢量地理数据的线面图层,生成所述线面图层对应的要素集合;所述要素集合中包括所述线面图层包括的所有线面要素。
聚类分析模块,用于基于所述要素集合中每个要素的Part数和要素空间信息,采用K-Means算法对所述要素集合中的要素进行聚类分析,得到多组要素聚类;每组要素聚类包括多个要素。
数据解密程度计算模块,用于基于所述要素聚类,计算每组要素聚类对应的数据解密程度。
解密点数确定模块,用于根据所述要素集合中每个要素的总点数和每个要素所属要素聚类对应的数据解密程度,确定每个要素对应的解密点数。
取点模块,用于按照每个要素对应的解密点数对对应的要素进行取点,得到待解密数据集;所述待解密数据集包括所有要素取的点。
解密模块,用于采用扩散-置乱的图像解密方法对所述待解密数据集进行解密,得到解密后的线面图层。
迭代模块,用于依次对所有的线面图层进行解密,得到解密后的矢量地理数据。
下面提供一个具体实施案例,进一步说明本发明的效果。
图3为本发明具体实施案例的流程示意图,图4为本发明具体实施案例的加密及解密效果对比图。结合图3-图4所示,本实施例的矢量地理数据选择Shapefile格式的南京道路数据,其大小为1380KB,如图4中(a)部分所示。针对数据特征提取、加密数据选择和数据加密等整个过程,具体过程如下:
1.加密特征提取过程
步骤11:读取待加密数据的线面图层,得到要素集合PL;通过计算所有要素的角度系数V
2.加密数据选择过程
步骤21:分别取出要素集合PL的Part数,构成{G
步骤22:利用不同分组的聚类中心{(I
步骤23:输入初始参数μ
步骤24:以初始值1、偏移量1截取序列{x
对所有线面要素依次重复步骤24,直至完成全部数据选取。
3.数据加密过程(以横坐标为例)
步骤31:将步骤24选择的所有点的横纵坐标x分别放进序列PX中,并将其分解得到整数部分序列I和小数部分序列D;然后提取序列D的十分位和百分位,分别记为A和B,得到待加密数据ZX=A×10+B。
步骤32:利用数据自身的小数位进行密钥构造,提取序列D的千分位记为C,并与一维logistic改进映射混沌序列S得到用于坐标值加密的密钥SC=S×10+C。
步骤33:对ZX和SC进行按位异或运算,得到加密后数据ZX′=mod(mod(ZX,SC),100);然后使用ZX′替换小数部分序列D的十分位和百分位,得到加密后的小数部分序列D′;将I与D′相加,得到序列PX异或加密后的结果X′=I+D′。
步骤34:将点集X′={x
步骤35:利用二维Henon混沌映射得到用于置乱加密的序列S'和T'。利用序列S',对点集矩阵M按照行优先循环右移置乱规则依次从第1行处理到第156行,然后对矩阵M进行行列倒置,利用序列T依次对其从第1行处理到第157行,最后再行列倒置,得到置乱加密后的矩阵M'。
步骤36:将矩阵M'按照行优先的顺序依次替换数据集X'中相应位置的横坐标得到加密结果;对于未参与置乱加密的点,不对其做替换处理。对Y坐标进行加密的步骤与X坐标相同,在此不做赘述。
4.本方法的特点与技术优势
本方法中最为关键的有:加密数据选择,基于空间信息量分解和组合原则,通过充分挖掘矢量地理数据特征,选取需要加密的重要数据部分;数据加密过程,通过高效且安全的加密算法为选择出的重要数据部分提供较高的安全保护。因此,该方法可以在减少加密数据量的同时,为数据提供较高的安全等级。
5.测试与分析
本发明所提出的方法是针对矢量地理数据的选择性加密算法,采用该方法可以充分挖掘数据特征,通过减少加密的数据量并选择合适的加密算法,在提升加密效率的同时,保证算法的安全性。
(1)加解密效果实验
图4中(b)部分为加密效果图,由图4中(b)部分可以看出,加密前后数据在视觉效果上与原数据相差较大,数据的可用性遭到破坏,难以从加密后的数据中获取到有用信息。图4中(c)部分为解密效果图,解密后数据与原始数据在视觉上并无差别。
(2)密钥空间分析
本发明所提算法共有九个密钥,分别为用于选择待加密数据的密钥μ,x
(3)密钥敏感度分析
首先,使用密钥组对其进行加密,得到密文数据;然后,依次修改九个密钥中的一个密钥,其他密钥保持不变,解密效果如图5所示,图5中(a)部分为μ+0.000001,图5中(b)部分为x
(4)效率评估
为验证算法的高效性,在使用相同密钥组的前提下,令控制因子r=2,选取不同大小的Shapefile数据进行选择性加解密效率实验,算法效率如表1所示。
表1算法效率实验
由表1可知,随着数据大小、坐标点数的增加,数据进行加解密所需时间也随之增加,二者基本呈线性正相关。且在相同实验环境下,通过与夏一天所提顾及权限空间范围的矢量地理数据选择性加密算法进行效率对比实验,本发明所提算法效率平均提高32.9%。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
- 一种矢量地理数据加密、解密方法及系统
- 一种数据加密、解密方法及数据加密解密系统