技术领域
本发明涉及地理空间数据安全领域,更具体的说是涉及基于四维混沌的矢量地图双位随机置乱的加密方法。
背景技术
矢量地图数据作为地理空间数据的重要组成部分,是经济和现代化建设中不可或缺的资源,广泛应用于资源与环境、灾害与应急响应、经济与社会发展、卫生与生命健康、规划与区域设计等领域。然而,随着科学技术的快速发展,矢量地图数据的获取、访问、传播、复制和存储越发方便,同时,其安全问题也日益严峻。
针对越发突出的安全问题,制定了一系列法律、规章、条例和制度进行安全保护。但是,除了制定完善的法律法规之外,也需要从技术手段上提供支撑。加密算法作为解决这一问题的有效技术手段,主要用于在传输和存储过程中防范被非法获取或访问。
针对置乱加密采用一对一映射置乱地图,通过明文地图的坐标位置逐个置乱坐标,攻击者容易通过分析密文地图和明文地图之间的关系获得加密索引值,本发明公开一种基于四维混沌的矢量地图双位随机置乱加密方法。其主要内容是利用四维超混沌系统生成加密的随机密钥序列,获取地图信息,然后将其进行规则化处理,利用双随机位置换原理进行置乱加密,最后将加密的置乱坐标按地图结构进行重组,得到加密的地图。
发明内容
有鉴于此,本发明提出一种基于四维超混沌系统的,结合双随机位置换原理的矢量地图加密方法,图1为本发明矢量地图加密方法的总体流程,包括密钥生成、随机加密两部分。
为了实现上述目的,本发明采用如下技术方案:
基于四维混沌的矢量地图双位随机置乱加密方法,包括密钥生成、置乱加密和解密处理三部分:
1.密钥生成步骤如下:
S1:利用SHA-512加密地图文件和用户密钥,得到512位的哈希密钥 H
S2:将Step1中所得16组e
S3:通过处理h
S4:四个初始参数u
S5:使用u
S6:将X,Y,Z,W这四个序列按升序排列得到四个新的序列Sort_X
2.随机加密步骤如下:
S7:为增强加密算法和明文之间的相关性,将索引序列组合为6组,分别是:A1=(Sort_D
S8:将哈希密钥H
S9:为降低x坐标与y坐标之间的相关性,将转换而来的所有十进制求和得H_sum,通过处理H_sum得到Hx_index=mod(H_sum,6)+ 1,Hx_index∈[1,6],并通过S3所得p
S10:通过Hx_index和Hy_index,选择S7中的一组索引序列。确切来讲,若Hx_index(或Hy_index)=i,则选择第Ai组的索引序列;
S11:矢量地图数据的坐标v
3.解密处理步骤如下:
S12:从加密的矢量地图中读取加密坐标;
S13:通过四维超混沌系统生成密钥序列,将密钥序列按升序排序后,将其分为6组;
S14:结合分组完成的密钥序列和双随机位置换原理进行解密;
S15:结束。
本发明方法先进、科学,保证加密数据无法辨识,不能提供有效信息,具有很好的安全性,避免了明文地图和密文地图一对一映射关系。通过实验表明,该方法具有很好的安全性,实现了全局要素之间的置乱,攻击者难以通过分析明文和密文对之间的关系获得索引序列,具有较好的使用价值和较高的安全性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图仅仅是本发明的示意图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的基于四维混沌的矢量地图双位随机置乱加密方法的流程图;
图2为本发明提供的超混沌系统的相图在x-y-z面上的投影;
图3为本发明提供的超混沌系统的相图在x-y面上的投影;
图4为本发明提供的超混沌系统的相图在x-z面上的投影;
图5为本发明提供的超混沌系统的相图在x-w面上的投影;
图6为本发明提供的双随机位置换的过程示意图;
图7为本发明提供的全局要素置乱的原始数据示意图;
图8为本发明提供的全局要素置乱的全局要素置乱数据示意图;
图9为本发明提供的仅含一个图层的原始地图;
图10为本发明提供的仅含一个图层的加密地图;
图11为本发明提供的含有两个图层的原始地图;
图12为本发明提供的含有两个图层的加密地图;
图13为本发明提供的原始地图;
图14为本发名提供的使用轻微修改密钥解密的地图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下步骤为密钥生成部分:
Step 1:利用SHA-512加密地图文件和用户密钥,得到512位的哈希密钥H
Step 2:将Step1中所得16组e
Step 3:通过处理h
其中,
Step 4:四个初始参数u
其中,floor(x)是获得小于或等于x的最大整数的运算,在该发明中将参数u
Step 5:使用u
Step 6:将X,Y,Z,W这四个序列按升序排列得到四个新的序列Sort_X
以下步骤为置乱加密部分:
Step 7:为增强加密算法和明文之间的相关性,将索引序列组合为6组,分别是:A1=(Sort_D
Step 8:将哈希密钥H
Step 9:根据SHA-512得到原始地图文件的哈希值,将哈希值中的每一个十六进制字符转换为十进制数。为降低x坐标与y坐标之间的相关性,将转换而来的所有十进制求和得H_sum,通过下式处理H_sum得到Hx_index,并通过式(1)所得p
Hx_index=mod(H_sum,6)+1,Hx_index∈[1,6] (3)
Step 10:通过Hx_index和Hy_index,选择S7中的一组索引序列。确切来讲,若Hx_index(或Hy_index)=i,则选择第Ai组的索引序列;
Step 11:矢量地图数据的坐标v
C_x
C_y
对x坐标而言,使用A1组的索引,利用索引序列D
以下步骤为解密数据部分:
Step 12:从加密的矢量地图中读取加密坐标;
Step 13:通过四维超混沌系统生成密钥序列,将密钥序列按升序排序后,将其分为6组;
Step 14:结合分组完成的密钥序列和双随机位置换原理进行解密;
Step 15:结束。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,该方案所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于该方案所示的这些实施例,而是要符合与本发明所公开的原理和新颖特点相一致的最宽的范围。
机译: 基于五个最简单混沌系统的四维非平衡超混沌系统和模拟电路
机译: 基于五个最简单混沌系统的四维非平衡超混沌系统和模拟电路
机译: 基于五个最简单混沌系统的四维非平衡超混沌系统和模拟电路