一种位置信息加密压缩及解密的方法

文档序号:7816137阅读:1096来源:国知局
一种位置信息加密压缩及解密的方法
【专利摘要】本发明公开了一种位置信息加密压缩及解密的方法,主要针对位置信息的加密及压缩问题。利用相邻两条卫星定位位置信息的差值对其进行压缩,利用替换法对卫星定位位置信息对加密。采用本方法对卫星定位位置信息数据压缩将达15倍以上,同时有效地对卫星定位信息进行保护。
【专利说明】—种位置信息加密压缩及解密的方法

【技术领域】
[0001]本发明涉及一种位置信息加密压缩及解密的方法。

【背景技术】
[0002]随着北斗卫星导航系统的建立,全球卫星导航系统目前已经有美国的GPS、俄罗斯的GL0NASS及中国的北斗。卫星导航系统的快速发展,推动着卫星导航应用的加速发展。目前大量卫星导航终端及服务器均需要存储大量的卫星定位位置信息,采用传统的存储方法需要占用大量的资源,而且卫星定位信息的安全性不高。
[0003]在“棱镜门”事件后,国家及个人的隐私保护问题得到更多的关注,急需一套安全可靠的系统对个人隐私信息进行保护。卫星定位信息能反应出每个人每一时刻所处的位置,其重要性不言而喻,更需要我们对其进行保护。
[0004]随着大数据时代的到来,对个人信息数据的存储也得到了进一步的关注,个人信息数据每天不断地产生,而存储介质却不能无限扩大,也迫切需要一种有效的压缩方法对其进行处理。卫星定位信息每秒可更新一次,其产生的数据量是相当巨大的。


【发明内容】

[0005]为了克服目前的位置信息在传输时不能有效保密且数据量过大的技术问题,本发明提供一种可有效压缩数据量并能对位置信息加密的位置信息加密压缩及解密的方法。
[0006]为了实现上述技术目的,本发明的技术方案是,
[0007]—种位置信息加密压缩及解密的方法,包括以下步骤:
[0008]步骤一:位置信息发送方根据预先设定的用户名,计算特征码;
[0009]步骤二:将位置信息中包括的信息内容分为时间信息、维度信息和经度信息,并将需要加密的所有位置信息中第一条位置信息即时间最早的位置信息作为基准位置信息;
[0010]步骤三:由基准位置信息开始,依次对前后相邻的两条位置信息分别求时间信息、维度信息和经度信息的差值,并记录各差值信息;
[0011]步骤四:将基准位置信息利用特征码对其进行加密,然后和差值信息发送至位置信息接收方;
[0012]步骤五:位置信息接收方接收基准位置信息和所有的差值信息,根据发送方的用户名计算特征码,然后根据特征码将基准位置信息解密,根据差值信息依次计算出相应的每一条位置信息。
[0013]所述的方法,所述的位置信息的格式为NMEA-0183协议所规定的格式。
[0014]所述的方法,所述的步骤一中,计算特征码的步骤包括:
[0015]步骤1:对组成用户名的所有字符进行ASCII码累加求和值;
[0016]步骤2:取步骤I中所得到和值的最后一字节作为特征码。
[0017]所述的方法,所述的步骤四中,加密步骤包括:
[0018]步骤1:设定加密后的基准位置信息即加密信息的第一个字节为预设的固定值;
[0019]步骤2:将时间信息的时、分、秒信息分别与特征码求和,分别作为加密信息的第二、第三、第四字节,与固定值一起作为加密信息中的加密时间信息;
[0020]步骤3:将纬度信息中的维度度数与预设的度数系数相乘,将纬度信息中的维度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密纬度信息字节;
[0021]步骤4:将经度信息中的经度度数与预设的度数系数相乘,将经度信息中的经度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密经度信息字节;
[0022]步骤5:将加密时间信息、加密纬度信息和加密经度信息顺序排列作为一条加密信息。
[0023]所述的方法,所述的步骤五中,解密步骤包括:
[0024]步骤1:去掉加密信息中加密时间信息的第一个字节;
[0025]步骤2:将加密时间信息的第二、第三、第四字节分别减去特征码,得到时间信息的时、分、秒信息;
[0026]步骤3:将加密纬度信息首先减去特征码,然后整除度数系数,得到的商即为纬度的度数,所得的余数再除以分数系数即为纬度的分数;
[0027]步骤4:将加密经度信息首先减去特征码,然后整除度数系数,得到的商即为经度的度数,所得的余数再除以分数系数即为经度的分数。
[0028]所述的方法,预设的固定值为OxFF。
[0029]所述的方法,预设的度数系数为600000。
[0030]所述的方法,预设的分数系数为10000。
[0031]本发明的技术效果在于,通过利用相邻两条卫星定位位置信息的差值对一系列进行压缩,根据用户名密码利用替换法对卫星定位位置信息对加密。采用本方法对卫星定位位置信息数据压缩将达15倍以上,同时有效地对卫星定位信息进行保护。
[0032]下面结合附图对本发明作进一步说明。

【专利附图】

【附图说明】
[0033]图1为本发明加密过程流程图;
[0034]图2为本发明解密过程流程图。

【具体实施方式】
[0035]本发明专利采用差值法对位置信息进行压缩处理,并将其基准值用用户名密码的特征码进行替换,从而达到对位置信息的加密压缩的效果。
[0036]卫星定位位置信息包括时间及经纬度两个重要参数。根据NMEA-0183协议,位置信息时间的格式为hhmmss.sss, hh代表小时数、mm代表分钟数、ss.sss代表秒数;纟韦度的格式为ddmm._m(前导位数不足则补O),dd代表纬度的度数mm.mmmm代表纬度的分数,纬度半球,N或S,分别代表北纬或南纬;经度的格式为dddmm._m(前导位数不足则补O),dd代表经度的度数、mm.mmmm代表经度的分数,经度半球的格式为E或W,分别代表东经或西经。
[0037]NMEA-0183协议没有对位置信息进行保护,而目前所有导航设备均按照该协议输出位置信息,导致所有设备位置信息没有任何安全可言;按照NMEA-0183协议存储一条位置信息至少需要31字节,如果以每秒钟更新一次位置信息计算,一台设备每天产生的位置信息数据量将达2678400字节。
[0038]按照NMEA-0183协议输出的位置信息至少需要31个字节,但相邻两条位置信息的差值却很小,仅需2个字节。如果取某一基准位置信息为基准,采用两条信息差值对位置信息进行转换,每条位置信息将仅需2个字节表示,将极大地压缩位置信息的数据量,同时也在对位置信息进行了保护。如果以每秒钟更新一次位置信息计算,相邻两条位置信息的时间差将仅需I个字节表示;相邻两条位置的经纬度差也仅需I个字节表示,相邻两条信息差仅需2个字节表示。采用两条信息差能将位置信息压缩15倍以上,可以有效地解决卫星定位信息数据量问题。
[0039]加密过程中,根据设置的用户密码,采用累加和方法计算出用户名的特征码,同时将其位置信息的基准值转换成12字节的数据,加上差值压缩法本身对位置信息的加密手段,从而能有效地保证位置信息的安全可靠;解密过程中,根据用户输入的用户名密码,将基准位置信息进行解密,在基准位置信息基础上进行累加,得到所有时刻的位置信息,从而解密所有的位置信息。
[0040]本方法包括以下步骤:
[0041]步骤一:位置信息发送方根据预先设定的用户名,计算特征码;
[0042]步骤二:将位置信息中包括的信息内容分为时间信息、维度信息和经度信息,并将需要加密的所有位置信息中第一条位置信息即时间最早的位置信息作为基准位置信息;
[0043]步骤三:由基准位置信息开始,依次对前后相邻的两条位置信息分别求时间信息、维度信息和经度信息的差值,并记录各差值信息;
[0044]步骤四:将基准位置信息利用特征码对其进行加密,然后和差值信息发送至位置信息接收方;
[0045]步骤五:位置信息接收方接收基准位置信息和所有的差值信息,根据发送方的用户名计算特征码,然后根据特征码将基准位置信息解密,根据差值信息依次计算出相应的每一条位置信息。
[0046]为了符合当前所通用的位置定位规则,位置信息的格式为NMEA-0183协议所规定的格式。
[0047]步骤一中,计算特征码的步骤包括:
[0048]步骤1:对组成用户名的所有字符进行ASCII码累加求和值;
[0049]步骤2:取步骤I中所得到和值的最后一字节作为特征码。
[0050]步骤四中,加密步骤包括:
[0051]步骤1:设定加密后的基准位置信息即加密信息的第一个字节为预设的固定值;
[0052]步骤2:将时间信息的时、分、秒信息分别与特征码求和,分别作为加密信息的第二、第三、第四字节,与固定值一起作为加密信息中的加密时间信息;
[0053]步骤3:将纬度信息中的维度度数与预设的度数系数相乘,将纬度信息中的维度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密纬度信息字节;
[0054]步骤4:将经度信息中的经度度数与预设的度数系数相乘,将经度信息中的经度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密经度信息字节;
[0055]步骤5:将加密时间信息、加密纬度信息和加密经度信息顺序排列作为一条加密信息。
[0056]步骤五中,解密步骤包括:
[0057]步骤1:去掉加密信息中加密时间信息的第一个字节;
[0058]步骤2:将加密时间信息的第二、第三、第四字节分别减去特征码,得到时间信息的时、分、秒信息;
[0059]步骤3:将加密纬度信息首先减去特征码,然后整除度数系数,得到的商即为纬度的度数,所得的余数再除以分数系数即为纬度的分数;
[0060]步骤4:将加密经度信息首先减去特征码,然后整除度数系数,得到的商即为经度的度数,所得的余数再除以分数系数即为经度的分数。
[0061]其中,预设的固定值为OxFF,这是出于使加密时间信息有效区别于加密维度信息和加密经度信息的目的,因为加密时间信息的第一个字节取最大十六进制数后,另两个加密信息在加密后不会达到这个数,即起到区别作用。
[0062]而预设的度数系数为600000,由于度数的进制是60进制,设置该度数系数的目的类似于将度数转换为分数,并消除度数中的小数部分。
[0063]同时预设的分数系数为10000,目的在于消除分数中的小数部分。
[0064]下面示例说明:
[0065]截取一辆约以80km/s速度行驶的汽车5个点位置信息,根据NMEA-0183协议表示为:
[0066]点I时间为130814,经纬度为2813.8691N, 11305.0657W,将此位置信息作为基准位置信息;
[0067]点2 时间为 130815,经纬度为 2813.8706N, 11305.0783W ;
[0068]点3 时间为 130816,经纬度为 2813.8734N, 11305.0915W ;
[0069]点4 时间为 130817,经纬度为 2813.8750N, 11305.1056W ;
[0070]点5 时间为 130818,经纬度为 2813.8774N, 11305.1176W ;
[0071]其加密压缩过程如下:
[0072]假设用户名为test,,取用户名每个字符的ACSII码,采用累加和方法计算:
[0073]t+e+s+t = 0x74+0x65+0x73+0x74 = OxlCO
[0074]所得到的和值取最后一个字节为OxCO,即为特征码,取第一个时间为130814,经纬度为2813.8691N, 11305.0657W为基准位置信息,将其进行加密,本实施例中预设的第一个字节固定值为OxFF,后面三字节分别对应为时间的时,分,秒,与特征码之和,即13+0xlC0、08+0xlC0、14+0xlC0。
[0075]本实施例剩余的加密信息字节数取8个字节,后面8个字节的前4个字节对应为纬度的度数与600000的积加上分数与10000的积再加上特征码,后4个字节对应为经度的度数与600000的积加上分数与10000的积再加上特征码,所得到的加密信息后十六进制表示为:0xFFCDC8CE,0x01027783,0x040B5261,若统一为十进制表示则是:4291676366,16938883,67850849,当然也可以直接都采用十六进制进行发送。
[0076]然后采用差值法表示其他位置信息,并将基准位置信息替换。
[0077]4291676366,16938883,67850849
[0078]1,15,126
[0079]1,28,132
[0080]1,16,141
[0081]1,24,120
[0082]其解密解压过程如下:
[0083]接收方根据发送方的用户名test,同样采用累加和方法计算,然后取最后一字节作为特征码:
[0084]t+e+s+t = 0x74+0x65+0x73+0x74 = OxlCO
[0085]所得到的和值取最后一个字节为OxCO,即为特征码。然后将加密后的基准位置信息进行解密,将密文时间值减去OxFFCOCOCO,意思是首先去掉作为标志位的固定值OxFF,然后再将时、分、秒去掉特征码0xC0,即得到时间信息明文130814,然后将加密纬度信息减去特征码后整除600000后,商即为纬度的度数,其余数再除以10000即为纬度的分数,加密经度信息也同样处理,最后得出基准位置信息对应为28,13.8691,113,05.0657,将基准值加上差值计算出第二个位置信息,依此类推,计算出所有的位置信息。
[0086]点I即基准位置信息时间为130814,经纬度为2813.8691N, 11305.0657W ;
[0087]点2 时间为 130815,经纬度为 2813.8706N, 11305.0783W ;
[0088]点3 时间为 130816,经纬度为 2813.8734N, 11305.0915W ;
[0089]点4 时间为 130817,经纬度为 2813.8750N, 11305.1056W ;
[0090]点5 时间为 130818,经纬度为 2813.8774N, 11305.1176W。
【权利要求】
1.一种位置信息加密压缩及解密的方法,其特征在于,包括以下步骤: 步骤一:位置信息发送方根据预先设定的用户名,计算特征码; 步骤二:将位置信息中包括的信息内容分为时间信息、维度信息和经度信息,并将需要加密的所有位置信息中第一条位置信息即时间最早的位置信息作为基准位置信息; 步骤三:由基准位置信息开始,依次对前后相邻的两条位置信息分别求时间信息、维度信息和经度信息的差值,并记录各差值信息; 步骤四:将基准位置信息利用特征码对其进行加密,然后和差值信息发送至位置信息接收方; 步骤五:位置信息接收方接收基准位置信息和所有的差值信息,根据发送方的用户名计算特征码,然后根据特征码将基准位置信息解密,根据差值信息依次计算出相应的每一条位置信息。
2.根据权利要求1所述的方法,其特征在于,所述的位置信息的格式为NMEA-0183协议所规定的格式。
3.根据权利要求1所述的方法,其特征在于,所述的步骤一中,计算特征码的步骤包括: 步骤1:对组成用户名的所有字符进行ASCII码累加求和值; 步骤2:取步骤I中所得到和值的最后一字节作为特征码。
4.根据权利要求1所述的方法,其特征在于,所述的步骤四中,加密步骤包括: 步骤1:设定加密后的基准位置信息即加密信息的第一个字节为预设的固定值; 步骤2:将时间信息的时、分、秒信息分别与特征码求和,分别作为加密信息的第二、第三、第四字节,与固定值一起作为加密信息中的加密时间信息; 步骤3:将纬度信息中的维度度数与预设的度数系数相乘,将纬度信息中的维度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密纬度信息字节; 步骤4:将经度信息中的经度度数与预设的度数系数相乘,将经度信息中的经度分数与预设的分数系数相乘,再将两个乘积与特征码相加求和值,得到的和值作为加密信息中的加密经度信息字节; 步骤5:将加密时间信息、加密纬度信息和加密经度信息顺序排列作为一条加密信息。
5.根据权利要求4所述的方法,其特征在于,所述的步骤五中,解密步骤包括: 步骤1:去掉加密信息中加密时间信息的第一个字节; 步骤2:将加密时间信息的第二、第三、第四字节分别减去特征码,得到时间信息的时、分、秒信息; 步骤3:将加密纬度信息首先减去特征码,然后整除度数系数,得到的商即为纬度的度数,所得的余数再除以分数系数即为纬度的分数; 步骤4:将加密经度信息首先减去特征码,然后整除度数系数,得到的商即为经度的度数,所得的余数再除以分数系数即为经度的分数。
6.根据权利要求4所述的方法,其特征在于,预设的固定值为OxFF。
7.根据权利要求4所述的方法,其特征在于,预设的度数系数为600000。
8.根据权利要求4所述的方法,其特征在于,预设的分数系数为10000。
【文档编号】H04L29/06GK104270365SQ201410520392
【公开日】2015年1月7日 申请日期:2014年9月30日 优先权日:2014年9月30日
【发明者】彭细, 邓子畏, 张盼, 龙桂英, 杨春媛, 郑轩涛, 彭雄威 申请人:长城信息产业股份有限公司, 长沙湘计海盾科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1