一种基于卫星导航系统的信息解密方法
技术领域
本发明属于信息解码技术领域,特别涉及一种基于卫星导航系统的信息解密方法。
背景技术
在卫星导航系统中,通常会设立加密与解密的流程,这样可以保证用户终端与通讯装置之间的数据传输安全。通讯装置发给用户的数据为加密的数据,此时用户终端安装有相应的解密程序,用户对上述信息解密后,就可以接收到相应的数据。
但是通常在用户终端中,相应的解密程序并没有时间限制,用户可以随时使用;而在某些情况下,需要分级设定用户的权限,用户只有规定的时间内(按期权限)才能使用解密程序对信息进行解密,而在规定的时间以外,用户无权使用解密程序。这时,现有技术不能满足该要求。
发明内容
本发明针对上述缺陷公开了一种基于卫星导航系统的信息解密方法。
一种基于卫星导航系统的信息解密方法包括以下步骤:
1)根据卫星导航系统的当前时间,生成用户时效参数,根据用户时效参数生成工作时效参数;
2)处理模式分为三种:全加密模式、部分加密模式和未加密模式;用户终端根据以上三种处理模式,对信息进处理;
对于未加密模式,用户终端直接接收信息即可;
对于部分加密模式,用户终端直接接收未加密的信息,用户终端使用工作时效参数作为密钥,对加密的信息进行解密处理;
对于全加密模式,用户终端使用工作时效参数作为密钥,对加密的信息进行解密处理。
所述步骤1)具体包括以下步骤:
11)对A随机码和B随机码进行合成运算得到种子码,对种子码进行合成运算得到系统时效参数K;
12)根据系统时效参数产生用户时效参数;
第一存储单元、第二存储单元、第三存储单元和第四存储单元依次顺序排列,以上四个存储单元存储的数据顺序排列就构成用户时效参数;
对X年份进行编码,即将X编码为16进制码:KLMN,该16进制码为无符号短整型,它的长度为2个字节;
将上述16制码进行级联8次,构成一个长度等于16字节的字符串,这里用PX表示;然后,将系统时效参数作为工作密钥,采用AES算法对PX进行加密得到一个16字节的字符串CX,即CX=AES(PX,K);在第一存储单元中存入KLMN,第二存储单元存入数据00,第三存储单存入数据00,第四存储单元存入数据CX,此时四个存储单元存储的数据顺序排列就构成年用户时效参数;
对Y月份进行编码,即将Y月份编码为16进制字符串:PQ,则X年Y月对应的16进制字符串为:KLMNPQ,PQ的长度为1个字节,它的取值为00-0c,其中01-0c分别代表1月至12月;将KLMNPQ进行级联5次得到一个字符串,将该字符串的尾部级联16进制字符串:PQ,最后得到一个长度为16字节的字符串,这里用PPXY表示;
将CX作为作为工作密钥,采用采用AES算法对PPXY进行加密得到一个16字节的字符串CCXY,即CCXY=AES(PPXY,CX);在第一存储单元中存入KLMN,第二存储单元存入数据PQ,第三存储单存入数据00,第四存储单元存入数据CCXY,此时四个存储单元存储的数据顺序排列就构成月用户时效参数;
对Z周进行编码,即将Z周编码为16进制字符串:ST,则X年Y月Z周对应的16进制字符串为:KLMNPQST,ST的长度为1个字节,它的取值为00-04,其中01-04分别代表第1周至第4周,将KLMNPQST进行级联4次,得到一个长度为16字节的字符串,这里用PPPXYZ表示;
将CCXY作为工作密钥,采用AES算法对PPPXYZ进行加密得到一个16字节的字符串CCCXYZ,即CCXYZ=AES(PPPXYZ,CCXY);在第一存储单元中存入KLMN,第二存储单元存入数据PQ,第三存储单存入数据ST,第四存储单元存入数据CCCXYZ;,此时四个存储单元存储的数据顺序排列就构成周用户时效参数;
13)根据用户时效参数产生工作时效参数;
根据卫星导航系统的当前时间,判断用户时效参数对应的时间是否在有效时间段内,即判断卫星导航系统的当前时间是否属于用户时效参数对应的时间;
若判断结果为否,则结束;若判断结果为是,则根据步骤2)对用户时效参数进行分散处理,得到年用户时效参数、月用户时效参数和周用户时效参数;
对年用户时效参数、月用户时效参数和周用户时效参数进行激活,得到工作时效参数。
所述A随机码和B随机码是种子码的两个组成变量。
所述种子码是系统时效参数的组成变量。
所述第四存储单元存储的数据的长度为16字节、24字节或32字节。
本发明的有益效果为:本发明使用工作时效参数对信息进行解密,从而增强了信息获取的安全性,同时,本发明使得用户只能在规定的时间内才能获得信息;大大降低了信息泄露的可能性。
附图说明
图1是本发明的工作流程图;
图2是工作时效参数的生成示意图;
图3是用户时效参数存储单元示意图。
具体实施方式
下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
如图1所示,一种基于卫星导航系统的信息解密方法,包括以下步骤:
1)根据卫星导航系统的当前时间,生成用户时效参数,根据用户时效参数生成工作时效参数;
2)处理模式分为三种:全加密模式、部分加密模式和未加密模式;用户终端根据以上三种处理模式,对信息进处理;
对于未加密模式,用户终端直接接收信息即可;
对于部分加密模式,用户终端直接接收未加密的信息,用户终端使用工作时效参数作为密钥,对加密的信息进行解密处理;
对于全加密模式,用户终端使用工作时效参数作为密钥,对加密的信息进行解密处理。
如图2所示,步骤1)具体包括以下步骤:
11)对A随机码和B随机码进行合成运算得到种子码,对种子码进行合成运算得到系统时效参数K;
12)根据系统时效参数产生用户时效参数;
如图3所示,第一存储单元、第二存储单元、第三存储单元和第四存储单元依次顺序排列,以上四个存储单元存储的数据顺序排列就构成用户时效参数;
对X年份进行编码,即将X编码为16进制码:KLMN,该16进制码为无符号短整型,它的长度为2个字节;
将上述16制码进行级联8次,构成一个长度等于16字节的字符串,这里用PX表示;然后,将系统时效参数作为工作密钥,采用AES算法对PX进行加密得到一个16字节的字符串CX,即CX=AES(PX,K);在第一存储单元中存入KLMN,第二存储单元存入数据00,第三存储单存入数据00,第四存储单元存入数据CX,此时四个存储单元存储的数据顺序排列就构成年用户时效参数;
例如2007年的年用户时效处理参数的产生过程如下:
X=”07D7”,PX=”07D707D707D707D707D707D707D707D7”
CX=AES(PX,K),
则2007年的年用户时效处理参数为
对Y月份进行编码,即将Y月份编码为16进制字符串:PQ,则X年Y月对应的16进制字符串为:KLMNPQ,PQ的长度为1个字节,它的取值为00-0c,其中01-0c分别代表1月至12月;将KLMNPQ进行级联5次得到一个字符串,将该字符串的尾部级联16进制字符串:PQ,最后得到一个长度为16字节的字符串,这里用PPXY表示;
将CX作为作为工作密钥,采用采用AES算法对PPXY进行加密得到一个16字节的字符串CCXY,即CCXY=AES(PPXY,CX);在第一存储单元中存入KLMN,第二存储单元存入数据PQ,第三存储单存入数据00,第四存储单元存入数据CCXY,此时四个存储单元存储的数据顺序排列就构成月用户时效参数;
例如2007年3月的月用户时效处理参数的产生
PPXY=”07D70307D70307D70307D70307D70303”
CCXY=AES(PPXY,CX),
则2007年的年用户时效处理参数为
对Z周进行编码,即将Z周编码为16进制字符串:ST,则X年Y月Z周对应的16进制字符串为:KLMNPQST,ST的长度为1个字节,它的取值为00-04,其中01-04分别代表第1周至第4周,将KLMNPQST进行级联4次,得到一个长度为16字节的字符串,这里用PPPXYZ表示;
将CCXY作为工作密钥,采用AES算法对PPPXYZ进行加密得到一个16字节的字符串CCCXYZ,即CCXYZ=AES(PPPXYZ,CCXY);在第一存储单元中存入KLMN,第二存储单元存入数据PQ,第三存储单存入数据ST,第四存储单元存入数据CCCXYZ;,此时四个存储单元存储的数据顺序排列就构成周用户时效参数;
例如2007年3月的第1周的周用户时效处理参数的产生
PPPXYZ=”07D7030107D7030107D7030107D70301”
CCCXYZ=AES(PPPXYZ,CXY),
则2007年的年用户时效处理参数为
13)根据用户时效参数产生工作时效参数;
根据卫星导航系统的当前时间,判断用户时效参数对应的时间是否在有效时间段内,即判断卫星导航系统的当前时间是否属于用户时效参数对应的时间;
若判断结果为否,则结束;若判断结果为是,则根据步骤2)对用户时效参数进行分散处理,得到年用户时效参数、月用户时效参数和周用户时效参数;
对年用户时效参数、月用户时效参数和周用户时效参数进行激活,得到工作时效参数。
A随机码和B随机码是种子码的两个组成变量。
种子码是系统时效参数的组成变量。
第四存储单元存储的数据的长度为16字节、24字节或32字节。