一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于多级空间索引的矢量数据网络传输局部加解密方法与流程

2022-02-20 00:35:46 来源:中国专利 TAG:


1.本公开实施例涉及数据处理技术领域,尤其涉及一种基于多级空间索引的矢量数据网络传输局部加解密方法。


背景技术:

2.目前,空间矢量地理数据作为现代测绘地理信息领域的核心数据类型,在生产生活中的应用范围非常广泛,如何安全的存储和传输矢量地理数据已成为测绘地理信息领域亟需解决的问题。现有矢量地理数据加密技术多数只考虑到整体加密的安全性,往往存在传输数据量大,缺乏灵活性,没有充分利用矢量数据中实体的空间位置关系和多层级空间索引结构,无法进行局部信息加密。整体加密后用户需要接收整个数据,并进行整体解密后才能获得需要的局部空间信息,这造成大量的非必要的数据传输与加解密计算负担,导致整体传输效率会较低。
3.可见,亟需一种安全、高效且适应性强的基于多级空间索引的矢量数据网络传输局部加解密方法。


技术实现要素:

4.有鉴于此,本公开实施例提供一种基于多级空间索引的矢量数据网络传输局部加解密方法,至少部分解决现有技术中存在安全性、传输效率和适应性较差的问题。
5.本公开实施例提供了一种基于多级空间索引的矢量数据网络传输局部加解密方法,包括:
6.根据矢量地理数据的类型获取其要素位置及属性信息,以最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成要素集合;
7.根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串;
8.将所述秘钥字符串转换为数值后计算logi st i cs混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱;
9.根据接收到的查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合;
10.将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logi st i cs混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,得到解密结果。
11.根据本公开实施例的一种具体实现方式,所述矢量地理数据包括点要素、线要素和面要素,所述根据矢量地理数据的类型获取其要素位置及属性信息,以最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成要素集合的步骤,包括:
12.获取每个所述点要素的属性信息和坐标数据,以及,获取每条所述线要素和每个所述面要素对应的最小外接矩形的左上角坐标和右下角坐标;
13.遍历全部所述点要素、所述线要素和所述面要素,得到所述矢量地理数据对应的空间坐标集合,其中,所述空间坐标集合包括全部所述点要素对应的点坐标集合,以及,所述线要素和所述面要素对应的最小外接矩形坐标集合;
14.构建散列表分别保存每个要素的单个要素坐标和属性值;
15.初始化构建r*树结构并设置所述r*树结构的节点容量最大值;
16.将所述空间坐标集合输入所述r*树结构,构建所述r*树索引,插入条目并记录叶子节点的数量;
17.根据所述叶子节点中的条目在所述散列表中查找对应的要素;
18.遍历全部所述叶子节点,生成所述要素集合。
19.根据本公开实施例的一种具体实现方式,所述根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串的步骤,包括:
20.根据每个所述叶子节点的最小外接矩形的轮廓坐标计算其长度和高度;
21.根据所述长度和所述高度计算每个所述叶子节点的初始参数值;
22.根据所述初始参数值计算所述分岔参数和所述秘钥字符串。
23.根据本公开实施例的一种具体实现方式,所述将所述秘钥字符串转换为数值后计算logistics混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱的步骤,包括:
24.在每个所述叶子节点的序列中,获取其对应的秘钥字符串的ascii码,将所述秘钥字符串转换成二进制数值后,再将其转换为一个十进制数值;
25.根据所述十进制数值计算所述logistics混沌函数的初始状态值和迭代次数;
26.根据所述分岔参数、所述初始状态值和所述迭代次数,计算所述logistics混沌函数的更新状态值;
27.根据所述更新状态值、所述分岔参数和所述迭代次数对所述点坐标集合进行迭代计算,得到第一变换参数集合;
28.对所述第一变换参数集合中的两列分别进行离散余弦变换操作,得到计算结果序列;
29.将所述计算结果序列中的整数部分和小数部分分别代入所述加密公式进行加密,并将加密后的整数部分和小数部分重新结合,得到所述加密结果;
30.利用逻辑混沌映射生成相应长度的随机置乱系数,将所述加密结果进行混沌置乱并将所述叶子节点的其他属性进行对称加密并统一保存。
31.根据本公开实施例的一种具体实现方式,所述根据接收到的查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合的步骤,包括:
32.将所述查询指令对应的区域范围设定为矩形,并根据所述区域范围生成坐标序列;
33.通过所述r*树索引对所述坐标序列进行检索不同矩形的相交区域;
34.将所述相交区域内的叶子节点作为集合,遍历其中对应的空间坐标,插入标记作
为分割并插入属性的表头信息,通过序列化操作保存为所述目标集合并计算所述目标集合的哈希值。
35.根据本公开实施例的一种具体实现方式,所述将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logistics混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,得到解密结果的步骤,包括:
36.根据所述标记对所述目标集合进行分割,得到待解密坐标序列集合和表头信息;
37.利用逻辑混沌映射生成与所述待解密坐标序列集合长度相同的随机置乱系数进行反向混沌置乱,得到待解密点坐标集合;
38.获取所述待解密坐标序列集合中每个序列对应的秘钥字符串的ascii码,将所述秘钥字符串转换为二进制数值后再转换为十进制的数值;
39.根据所述待解密坐标序列集合对应的十进制数值计算所述logistics混沌函数的分岔参数、第一状态值和迭代次数;
40.根据所述待解密坐标序列集合对应的分岔参数、第一状态值和迭代次数,计算所述logistics混沌函数的第二状态值;
41.根据所述待解密坐标序列集合对应的第二状态值、分岔参数和迭代次数对所述待解密点坐标集合进行迭代计算,得到第二变换参数集合;
42.对所述第二变换参数集合中的两列分别进行离散余弦反变换操作,得到解密结果序列;
43.将所述解密结果序列中的整数部分和小数部分分别代入所述解密公式进行解密,并将解密后的整数部分和小数部分重新结合,并解密其对应的叶子节点上的属性,得到所述解密结果。
44.本公开实施例中的基于多级空间索引的矢量数据网络传输局部加解密方案,包括:根据矢量地理数据的类型获取其要素位置及属性信息,以最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成要素集合;根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串;将所述秘钥字符串转换为数值后计算logistics混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱;根据接收到的查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合;将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logistics混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,得到解密结果。
45.本公开实施例的有益效果为:通过本公开的方案,构建多级空间索引技术的地理空间矢量数据加密方法,充分利用矢量数据中实体的空间位置关系和多层级空间索引结构,进行局部信息加解密,提高了矢量数据在网络传输过程中的传输效率、安全性和适应性。
附图说明
46.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附
图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
47.图1为本公开实施例提供的一种基于多级空间索引的矢量数据网络传输局部加解密方法的流程示意图;
48.图2为本公开实施例提供的一种道路网线数据示意图;
49.图3为本公开实施例提供的一种r*树索引的构建结果示意图;
50.图4为本公开实施例提供的一种整体加密结果示意图;
51.图5为本公开实施例提供的一种索引区域搜索结果示意图;
52.图6为本公开实施例提供的一种局部解密结果示意图。
具体实施方式
53.下面结合附图对本公开实施例进行详细描述。
54.以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
55.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
56.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
57.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
58.目前,空间矢量地理数据作为现代测绘地理信息领域的核心数据类型,在生产生活中的应用范围非常广泛,如何安全的存储和传输矢量地理数据已成为测绘地理信息领域亟需解决的问题。现有矢量地理数据加密技术多数只考虑到整体加密的安全性,往往存在传输数据量大,缺乏灵活性,没有充分利用矢量数据中实体的空间位置关系和多层级空间索引结构,无法进行局部信息加密。整体加密后用户需要接收整个数据,并进行整体解密后才能获得需要的局部空间信息,这造成大量的非必要的数据传输与加解密计算负担,导致整体传输效率会较低。
59.本公开实施例提供一种基于多级空间索引的矢量数据网络传输局部加解密方法,所述方法可以应用于空间数据处理或地理信息安全场景的矢量数据传输过程中。
60.参见图1,为本公开实施例提供的一种基于多级空间索引的矢量数据网络传输局部加解密方法的流程示意图。如图1所示,所述方法主要包括以下步骤:
61.s101,根据矢量地理数据的类型获取其要素位置及属性信息,以最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成要素集合;
62.具体实施时,考虑到所述矢量地理数据一般包括多种类型的数据例如点数据、线数据和面数据等,例如,可以根据不同的点数据类型获取其要素位置及属性信息,然后以线数据和面数据的最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成所述矢量地理数据对应的要素集合。当然,也可以采用其他的空间索引方法例如多级网格空间索引、四叉树空间索引、r树索引等生成所述矢量地理数据对应的要素集合。
63.s102,根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串;
64.具体实施时,在得到所述r*树索引对应的要素集合后,可以根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串,以便于后续的数据解密过程。
65.s103,将所述秘钥字符串转换为数值后计算logistics混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱;
66.具体实施时,可以利用矢量地理数据中实体的空间位置关系和多层级空间索引结构,将所述秘钥字符串转换为数值后计算logistics混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱,对每个所述叶子节点分别进行加密。
67.s104,根据接收到的查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合;
68.考虑到是对全部所述矢量地理数据进行加密,而在实际使用过程中,所述查询指令可能只需要对部分区域的矢量地理数据进行查询,则可以在接收到所述查询指令后,根据所述查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合。
69.s105,将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logistics混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,得到解密结果。
70.在得到所述目标集合后,可以将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logistics混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,通过将加密数据进行逆向解密,得到所述解密结果。
71.本实施例提供的基于多级空间索引的矢量数据网络传输局部加解密方法,通过构建多级空间索引技术的地理空间矢量数据加密方法,充分利用矢量数据中实体的空间位置
关系和多层级空间索引结构,进行局部信息加解密,提高了矢量数据在网络传输过程中的传输效率、安全性和适应性。
72.在上述实施例的基础上,所述矢量地理数据包括点要素、线要素和面要素,步骤s101所述的,根据矢量地理数据的类型获取其要素位置及属性信息,以最小外接矩形构建所述矢量地理数据的r*树索引,并以所述r*树索引的全部叶子节点生成要素集合,包括:
73.获取每个所述点要素的属性信息和坐标数据,以及,获取每条所述线要素和每个所述面要素对应的最小外接矩形的左上角坐标和右下角坐标;
74.遍历全部所述点要素、所述线要素和所述面要素,得到所述矢量地理数据对应的空间坐标集合,其中,所述空间坐标集合包括全部所述点要素对应的点坐标集合,以及,所述线要素和所述面要素对应的最小外接矩形坐标集合;
75.构建散列表分别保存每个要素的单个要素坐标和属性值;
76.初始化构建r*树结构并设置所述r*树结构的节点容量最大值;
77.将所述空间坐标集合输入所述r*树结构,构建所述r*树索引,插入条目并记录叶子节点的数量;
78.根据所述叶子节点中的条目在所述散列表中查找对应的要素;
79.遍历全部所述叶子节点,生成所述要素集合。
80.下面将结合一个具体实施例来对本方案进行说明,例如,采用我国某市道路网的shapefile文件的地理空间矢量地理线数据对本发明的具体实施进行说明,矢量数据如图2所示,获取每条线要素的最小外接矩形,记录其左下角和右上角的坐标分别为(x
min
,y
min
)和(x
max
,y
max
),遍历所有要素得到矢量地理数据的空间位置坐标集合,得到每个要素最小外接矩形的坐标集合。构建散列表featuremap保存每个矢量要素的单个要素坐标与属性值,其中key为坐标位置,value为每个要素的simplefeature要素属性。
81.然后初始化构建r*树结构,设置r*树结构的结点容量的最大值为20。将矢量地理要素的空间位置集合输入r*树结构中,构建所述r*树索引,通过扩张最小代价原则插入条目,结点中的条目或子结点个数记为nk,当nk>20时,需要对结点进行分裂,分裂原则遵循最小外包矩形。
82.在构建完成矢量地理数据的所述r*树索引之后,根据叶子结点中的条目在featuremap中查找对应的要素对象。遍历其的所有叶子结点,构建所有要素的索引集合featureindex,其中每个叶子结点的序列表示为nodei,序列中包含了该叶子结点的所有要素对象,构建适量地理数据的r*树索引完成,结果如图3所示。
83.进一步的,步骤s102所述的,根据每个所述叶子节点的最小外接矩形的轮廓坐标生成初始参数值,并以所述初始参数值计算分岔参数和秘钥字符串,包括:
84.根据每个所述叶子节点的最小外接矩形的轮廓坐标计算其长度和高度;
85.根据所述长度和所述高度计算每个所述叶子节点的初始参数值;
86.根据所述初始参数值计算所述分岔参数和所述秘钥字符串。
87.具体实施时,根据每个所述叶子结点i的最小外包矩形ri的轮廓坐标,也即ri的左下角坐标(x
min
,y
min
)i与右上角坐标(x
max
,y
max
)i,并计算ri的长度lengthi与高度heigh ti。
88.现在以r0为例,rectangle[x
min
=110.2313198,y
min
=19.7305877,x
max
=110.2552547,y
max
=19.753232],计算得到:
[0089]
length0=x
max0-x
min0
=0.0239349
[0090]
heigh t0=y
max0-y
min0
=0.0226443
[0091]
计算所述叶子结点i的初始参数值para0:
[0092]
para0=sum(length0,heigh t0)*2
10
=47.6971008
[0093]
根据para0计算结点的分岔参数μ0:
[0094]
μ0=(para0mod 0.430055) 3.569945=3.9609958
[0095]
设key2=“encrypttest”根据para0计算结点的密钥字符串e0:
[0096]
e0=sm3([para0/2] num(r0))2*key2)
[0097]
=5789e08b08267472621bb126edb09b80e053768129f86052fbe93036f350508b。
[0098]
在上述实施例的基础上,步骤s103所述的,将所述秘钥字符串转换为数值后计算logistics混沌函数的参数值,以及,将所述要素集合的点坐标集合的余弦变换结果代入加密公式进行加密并将加密结果进行混沌随机置乱,包括:
[0099]
在每个所述叶子节点的序列中,获取其对应的秘钥字符串的ascii码,将所述秘钥字符串转换成二进制数值后,再将其转换为一个十进制数值;
[0100]
根据所述十进制数值计算所述logistics混沌函数的初始状态值和迭代次数;
[0101]
根据所述分岔参数、所述初始状态值和所述迭代次数,计算所述logistics混沌函数的更新状态值;
[0102]
根据所述更新状态值、所述分岔参数和所述迭代次数对所述点坐标集合进行迭代计算,得到第一变换参数集合;
[0103]
对所述第一变换参数集合中的两列分别进行离散余弦变换操作,得到计算结果序列;
[0104]
将所述计算结果序列中的整数部分和小数部分分别代入所述加密公式进行加密,并将加密后的整数部分和小数部分重新结合,得到所述加密结果;
[0105]
利用逻辑混沌映射生成相应长度的随机置乱系数,将所述加密结果进行混沌置乱并将所述叶子节点的其他属性进行对称加密并统一保存。
[0106]
例如,在每个叶子结点i的序列中,获取密钥字符串e0的单个字符的ascii码,将字符串转换成二进制数值,再将其转换为一个十进制数值bigi0。接下来计算iogistics混沌函数的初始值,所需要的参数包括所述分岔参数μi,所述初始状态值x0,迭代次数n,其中第二部分中生成的随机数μ0=3.9609958,x0和n通过公式进行计算:
[0107][0108]
n=(bigi
i mod 2
14
) 500=14934
[0109]
将三个值进行混沌映射公式的计算,得到迭代n次的更新状态值xn=0.7994300412699675;
[0110]
将所述点坐标集合的长度记作l=71,再将μ0,xn和l作为逻辑混沌映射的初始值带入公式进行迭代计算,将每次迭代结果记录得到所述第一变换参数集合i0;
[0111]
对所述点坐标集合p
x,y
坐标值的两列分别进行离散余弦变换,得到离散余弦变换的计算结果序列dctp
x,y
。对dctp
x,y
序列带入所述加密公式中进行加密计算,并将得到的整
数部分结果与小数部分重新结合:
[0112]
dctpi=inti deci[0113][0114][0115][0116]
利用逻辑混沌映射生成相应长度的混沌随机置乱系数,进行混沌置乱。再将所有坐标点替换初始坐标点,将初始点的其他属性通过sm4对称加密的方式进行处理,密钥为e0的后16字节“e0537b8129f86052fbe93036f350508b”,结果保存为原始数据格式或者保存在数据库中;
[0117]
由于叶子结点之间互不影响,可以采用并行计算的方法对所有叶子结点进行加密计算,并保存每个所述叶子结点的密钥参数,加密结果如图4所示。
[0118]
在上述实施例的基础上,步骤s104所述的,根据接收到的查询指令在所述r*树索引中进行局部区域搜索,并将搜索到的叶子节点要素集合定义为目标集合,包括:
[0119]
将所述查询指令对应的区域范围设定为矩形,并根据所述区域范围生成坐标序列;
[0120]
通过所述r*树索引对所述坐标序列进行检索不同矩形的相交区域;
[0121]
将所述相交区域内的叶子节点作为集合,遍历其中对应的空间坐标,插入标记作为分割并插入属性的表头信息,通过序列化操作保存为所述目标集合并计算所述目标集合的哈希值。
[0122]
具体实施时,当用户选定区域进行局部矢量数据查询时,将次查询需要作为所述查询指令,根据所述查询指令获取待查询的区域范围s,假设其为矩形,左下角坐标(110.30666,20.04324),右上角坐标(110.35430,20.08294),将s的范围坐标值生成坐标序列[110.30666,20.04324,110.35430,20.08294]通过网络传输至电子设备的服务端进行处理。
[0123]
然后可以通过所述r*树索引对所述坐标序列进行区域范围的检索,核心方法在于判断矩形相交,设第一个矩形:(x1,y1),(x2,y2),第二个矩形:(x3,y3),(x4,y4),当满足下面公式时,两个矩形相交:
[0124]
max(x1,x3)<=min(x2,x4)&&max(y1,y3)<=min(y2,y4)
[0125]
再将区域重叠的叶子结点作为集合,遍历其中所包含的矢量地理空间对象,得到查询结果如图5所示,保存至序列defeature中,插入标记作为分割,最后插入属性的表头信息。将序列通过序列化的方法保存为所述目标集合,计算其哈希值sm3(f),还可以经过网络传输回用户处。
[0126]
进一步的,步骤s105所述的,将所述目标集合中每个所述叶子节点对应的秘钥字符串转换为数值后计算所述logistics混沌函数的参数值,以及,将所述加密结果进行混沌随机反置乱并将反置乱的结果的余弦反变换代入解密公式,得到解密结果,包括:
[0127]
根据所述标记对所述目标集合进行分割,得到待解密坐标序列集合和表头信息;
[0128]
利用逻辑混沌映射生成与所述待解密坐标序列集合长度相同的随机置乱系数进行反向混沌置乱,得到待解密点坐标集合;
[0129]
获取所述待解密坐标序列集合中每个序列对应的秘钥字符串的ascii码,将所述秘钥字符串转换为二进制数值后再转换为十进制的数值;
[0130]
根据所述待解密坐标序列集合对应的十进制数值计算所述logistics混沌函数的分岔参数、第一状态值和迭代次数;
[0131]
根据所述待解密坐标序列集合对应的分岔参数、第一状态值和迭代次数,计算所述logistics混沌函数的第二状态值;
[0132]
根据所述待解密坐标序列集合对应的第二状态值、分岔参数和迭代次数对所述待解密点坐标集合进行迭代计算,得到第二变换参数集合;
[0133]
对所述第二变换参数集合中的两列分别进行离散余弦反变换操作,得到解密结果序列;
[0134]
将所述解密结果序列中的整数部分和小数部分分别代入所述解密公式进行解密,并将解密后的整数部分和小数部分重新结合,并解密其对应的叶子节点上的属性,得到所述解密结果。
[0135]
例如,获得加密的目标集合后,通过标记对所述目标集合进行分割,得到所述待解密坐标序列集合和表头信息。利用逻辑混沌映射生成相应长度的混沌随机置乱系数,进行反向混沌置乱,得到待解密点坐标集合p
x,y

[0136]
在每个序列i中,获取密钥字符串ej的单个字符的ascii码,将字符串转换成二进制数值,再将其转换为一个十进制数值bigii。接下来计算所述logistics混沌函数的第一状态值,所需要的参数包括分岔参数μi,初始状态值x0,迭代次数n,其中μi第二部分中生成的随机数,x0和n通过公式进行计算:
[0137]
x0=(bigi
i mod 10
20
)/10
20
[0138]
n=(bigiimod 2
14
) 500
[0139]
将三个值进行混沌映射公式的计算,得到迭代n次的第二状态值xn:
[0140]
x
n 1
=μixn(1-xn)
[0141]
将坐标点集合的长度记作l,再将μi,xn和l作为逻辑混沌映射的初始值带入公式进行迭代计算,将每次迭代结果记录得到所述第二变换参数集合ii;
[0142]
对坐标点集合p
x,y
坐标值的两列分别进行离散余弦逆变换,得到离散余弦逆变换的计算结果序列idctp
x,y
。对idctp
x,y
序列带入公式中进行加密计算,并将得到的整数部分结果与小数部分重新结合:
[0143]
idctpi=inti deci[0144][0145][0146][0147]
再将所有坐标点替换初始坐标点,将初始点的属性通过sm4对称解密的方式进行处理,密钥为ej的后16字节“e0537b8129f86052fbe93036f350508b”,结果写入原始数据格式文件中;
[0148]
遍历所述目标集合中的所有叶子结点,重复以上步骤的操作,直到所有点均解密完成,得到矢量地理数据的解密结果如图6所示。
[0149]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献