CN114051208A - 一种车地安全通信的方法、装置及计算机可读存储介质 - Google Patents

一种车地安全通信的方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN114051208A
CN114051208A CN202111364594.0A CN202111364594A CN114051208A CN 114051208 A CN114051208 A CN 114051208A CN 202111364594 A CN202111364594 A CN 202111364594A CN 114051208 A CN114051208 A CN 114051208A
Authority
CN
China
Prior art keywords
information
data
vehicle
ground
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111364594.0A
Other languages
English (en)
Inventor
刁一晋
贾学梅
韩得水
李宁
袁春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CRRC Industry Institute Co Ltd
Original Assignee
CRRC Industry Institute Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CRRC Industry Institute Co Ltd filed Critical CRRC Industry Institute Co Ltd
Priority to CN202111364594.0A priority Critical patent/CN114051208A/zh
Publication of CN114051208A publication Critical patent/CN114051208A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/009Security arrangements; Authentication; Protecting privacy or anonymity specially adapted for networks, e.g. wireless sensor networks, ad-hoc networks, RFID networks or cloud networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/42Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for mass transport vehicles, e.g. buses, trains or aircraft
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • H04W4/44Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Train Traffic Observation, Control, And Security (AREA)

Abstract

本申请公开了一种车地安全通信的方法、装置及计算机可读存储介质,涉及通信领域。该方法应用于车载端,首先获取北斗卫星传来的列车当前位置的定位信息;然后将定位信息采用引入哈夫曼编码的DES加密算法加密为加密信息并生成包含加密信息的报文信息;最后发送报文信息至地面端,以便地面端接收并解密报文信息。该方法中北斗卫星发送列车的定位信息是明文信息,通过加密算法将定位信息加密为加密信息,生成的包含加密信息的报文信息是密文信息,地面接收端接收的报文信息也是密文信息。由此可见,该方法将信息由明文传输转换为密文传输,提高了车地通信的安全性。

Description

一种车地安全通信的方法、装置及计算机可读存储介质
技术领域
本申请涉及通信领域,特别是涉及一种车地安全通信的方法、装置及计算机可读存储介质。
背景技术
随着北斗卫星导航系统全球组网,报文通信的应用领域不断扩充。在车地之间进行报文通信的系统中,包括北斗卫星、控制器、车载北斗端、地面北斗端、地面接收中心。车载北斗终端接收到北斗卫星传来的包含列车的当前位置的明文信息,然后处理器生成包含明文信息的报文信息返回给车载北斗终端,车载北斗终端再将报文信息明文传输给地面北斗终端,再由地面北斗终端将报文信息传输给地面接收中心,地面接收中心进一步地对报文信息的有效性进行检验,并接收有效的报文信息,实现了车地之间的北斗通信。
现有的车地之间的报文通信,数据传输都是以明文方式通过北斗协议传输,这样就会存在数据泄露的风险,从而大大降低车地之间通信的安全性。
由此可见,如何提高车地之间通信的安全性,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种车地安全通信的方法、装置及计算机可读存储介质,用于提高车地之间通信的安全性。
为解决上述技术问题,本申请提供一种车地安全通信的方法,应用于车载端,该方法包括:
获取北斗卫星传来的列车当前位置的定位信息,其中所述定位信息为明文信息;
将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息;
生成包含所述加密信息的报文信息;
发送所述报文信息至地面端,以便所述地面端接收并解密所述报文信息。
优选地,所述将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息包括:
将所述定位信息以64bit为单位划分为多个数据单元;
以所述车载端和所述地面端协商生成的64bit密钥为基础,生成16个子密钥;
通过随机生成的哈夫曼编码改变16个所述子密钥的顺序分别得到各所述数据单元对应的16个新子密钥;
利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息;
将各所述数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对所述定位信息加密后的加密信息;
其中,所述通过随机生成的哈夫曼编码改变16个所述子密钥的顺序得到各所述数据单元对应的16个新子密钥具体包括如下步骤:
将各所述数据单元通过初始换位表得到第一数据;
将所述第一数据与所述64bit密钥进行异或运算得到第二数据;
选取哈夫曼树叶子节点数并随机配置各所述叶子节点的权重生成随机哈夫曼编码;
利用所述随机哈夫曼编码对所述第二数据进行解码得到序列集合;
获取所述序列集合的前16个元素中各所述元素对应的值以及各所述元素对应的位置序号;
依次将各所述元素对应的值作为第一位置序号,并将各所述元素对应的位置序号作为第二位置序号,其中所述第一位置序号与所述第二位置序号均为16个所述子密钥的位置序号;
依次将所述第一位置序号对应的所述子密钥的位置与所述第二位置序号对应的所述子密钥的位置进行交换,得到16个新子密钥;
其中,所述利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息具体包括如下步骤:
将所述第一数据分为各占32bit的第一部分和第二部分;
将所述第一部分与所述第二部分依次进行16次迭代最终获得第一数据块;
将所述第一数据块逆转得到第二数据块;
将所述第二数据块通过IP逆置换表得到所述数据单元的加密信息;
迭代过程包括如下步骤:
将32bit的第二部分通过扩展置换表得到48bit的第二部分;
将所述48bit的第二部分与所述16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
将所述异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出所述32bit的数据;
将所述32bit的数据与所述32bit的第一部分异或运算得到32bit的新的第二部分;
将所述32bit的第二部分作为32bit的新的第一部分。
为了解决上述技术问题,本申请还提供一种车地安全通信的方法,应用于地面端,该法包括:
接收车载端发送的包含加密信息的报文信息,其中,所述加密信息为所述车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,所述定位信息为明文信息;
将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息。
优选地,采用引入哈夫曼编码的DES加密算法加密得到所述加密信息的具体步骤如下:
将所述定位信息以64bit为单位划分为多个数据单元;
以所述车载端和所述地面端协商生成的64bit密钥为基础,生成16个子密钥;
通过随机生成的哈夫曼编码改变16个所述子密钥的顺序分别得到各所述数据单元对应的16个新子密钥;
利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息;
将各所述数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对所述定位信息加密后的加密信息;
其中,所述通过随机生成的哈夫曼编码改变16个所述子密钥的顺序得到各所述数据单元对应的16个新子密钥具体包括如下步骤:
将各所述数据单元通过初始换位表得到第一数据;
将所述第一数据与所述64bit密钥进行异或运算得到第二数据;
选取哈夫曼树叶子节点数并随机配置各所述叶子节点的权重生成随机哈夫曼编码;
利用所述随机哈夫曼编码对所述第二数据进行解码得到序列集合;
获取所述序列集合的前16个元素中各所述元素对应的值以及各所述元素对应的位置序号;
依次将各所述元素对应的值作为第一位置序号,并将各所述元素对应的位置序号作为第二位置序号,其中所述第一位置序号与所述第二位置序号均为16个所述子密钥的位置序号;
依次将所述第一位置序号对应的所述子密钥的位置与所述第二位置序号对应的所述子密钥的位置进行交换,得到16个新子密钥;
其中,所述利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息具体包括如下步骤:
将所述第一数据分为各占32bit的第一部分和第二部分;
将所述第一部分与所述第二部分依次进行16次迭代最终获得第一数据块;
将所述第一数据块逆转得到第二数据块;
将所述第二数据块通过IP逆置换表得到所述数据单元的加密信息;
迭代过程包括如下步骤:
将32bit的第二部分通过扩展置换表得到48bit的第二部分;
将所述48bit的第二部分与所述16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
将所述异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出所述32bit的数据;
将所述32bit的数据与所述32bit的第一部分异或运算得到32bit的新的第二部分;
将所述32bit的第二部分作为32bit的新的第一部分。
优选地,在所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息之前,还包括:
判断所述报文信息是否为有效报文信息;
若所述报文信息为有效报文信息,则进入所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息的步骤;
若所述报文信息为无效报文信息,则重新进入所述接收车载端发送的包含加密信息的报文信息的步骤。
优选地,在所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息之后,还包括:
显示和/或存储所述定位信息。
为了解决上述技术问题,本申请还提供一种车地安全通信的装置,应用于车载端,包括:
获取模块,用于获取北斗卫星传来的列车当前位置的定位信息,其中所述定位信息为明文信息;
加密模块,用于将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息;
生成模块,用于生成包含所述加密信息的报文信息;
发送模块,用于发送所述报文信息至地面端,以便所述地面端接收并解密所述报文信息。
为了解决上述技术问题,本申请还提供一种车地安全通信的装置,应用于地面端,包括:
接收模块,用于接收车载端发送的包含加密信息的报文信息,其中,所述加密信息为所述车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,所述定位信息为明文信息;
获得模块,用于将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息。
为了解决上述技术问题,本申请还提供一种车地安全通信的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的车地安全通信方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的车地安全通信方法的步骤。
本申请所提供的车地安全通信的方法,应用于车载端,首先获取北斗卫星传来的列车当前位置的定位信息;然后将定位信息采用引入哈夫曼编码的DES加密算法加密为加密信息并生成包含加密信息的报文信息;最后发送报文信息至地面端,以便地面端接收并解密报文信息。该方法中北斗卫星发送列车的定位信息是明文信息,通过加密算法将定位信息加密为加密信息,生成的包含加密信息的报文信息是密文信息,地面接收端接收的报文信息也是密文信息。由此可见,该方法将信息由明文传输转换为密文传输,提高了车地通信的安全性。
另外,本申请所提供的车地安全通信的方法,应用于地面端,首先接收车载端发送的包含加密信息的报文信息,其中,加密信息为车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,定位信息为明文信息;然后将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息。该方法将信息由明文传输转换为密文传输,具有上述提到的应用于车载端的车地通信方法相同的有益效果。
此外,本申请还提供一种分别应用于车载端以及地面端的车地安全通信的装置、一种车地安全通信的装置以及计算机可读存储介质,具有上述提到的车地安全通信方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为北斗通信的应用场景图;
图2为本实施例提供的一种应用于车载端的车地安全通信方法的流程图;
图3为将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息的流程图;
图4为本实施例提供的一种应用于地面端的车地安全通信方法的流程图;
图5为本申请的一实施例提供的应用于车载端的车地安全通信装置的结构图;
图6为本申请的一实施例提供的应用于地面端的车地安全通信装置的结构图;
图7为本申请另一实施例提供的车地安全通信装置的结构图;
图8为本申请实施例提供的车地安全通信的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种车地安全通信的方法、装置及计算机可读存储介质,用于提高车地之间通信的安全性。
随着北斗卫星导航系统全球组网,北斗报文通信的应用领域不断扩充。北斗报文通信包括北斗短报文通信和北斗短报文通信。用于进行北斗报文通信的车地安全通信装置主要由北斗卫星1、车载端2、地面端3组成。图1为北斗通信的应用场景图。如图1中所示,车载端2包括车载北斗终端4以及处理器5,地面端3包括地面北斗终端6以及地面接收中心7,车载北斗终端4与处理器5串口通信相连,地面北斗终端6与地面接收中心7串口通信相连,车载北斗终端4与地面北斗终端6通信连接。需要说明的是,在进行车地安全通信时,需要分别对车载端2以及地面接收中心7进行初始化。车载北斗终端4初始化实现对北斗定位信息的接收及通信申请的发送,地面接收中心7实现对通信信息的接收,车载端2与地面接收中心7协商生成64位密钥K。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。图2为本实施例提供的一种应用于车载端的车地安全通信方法的流程图,该方法包括:
S10:获取北斗卫星传来的列车当前位置的定位信息,其中定位信息为明文信息。
北斗卫星定位系统的地面客户端本质上是一个不向外发射信号的无源设备,仅通过接收北斗卫星信号就可以确定自己的位置。而北斗卫星不断发出的信号实际上是自己在太空中的位置信息,再通过用信号传输速度(即光速)乘以卫星与地面之间的传输时间,就可以得出北斗卫星与客户端之间的距离。也就是说,客户端从卫星那里获得了两个原始数据:卫星的位置,以及卫星距离自己的距离。理论上,获得一个地面位置数据(x,y,z)需要至少三颗卫星的信号。经过一定的换算过程,空间三维坐标x,y和z可以转化成为经度、纬度和高度数据,另外,北斗卫星上通常都携带了非常精密的原子钟,因此卫星可以进行授时。在车地之间通过北斗卫星通信时,车载端的车载北斗终端获取北斗卫星无源定位传来的列车当前位置的定位信息车,定位信息包括主要包含时间、经度、纬度、速度、航向等参数。这些参数是北斗卫星在正常工作时,不断地用1和0二进制码元组成的伪随机码。车载北斗终端获取的北斗卫星传来的列车当前位置的定位信息是以没有隐藏,直接显示的明文体现的。
S11:将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息。
在步骤S10中车载端的车载北斗终端获得了以明文方式体现的定位信息,当车地之间进行通信时,由于北斗通信的过程中是以报文形式传输的,因此需要处理器制定包含定位信息的报文信息,再由车载北斗终端将报文信息传输给地面端的地面北斗终端,再由地面北斗终端将报文传输给地地面端的地面接收中心。由此可见,由于在数据传输都是以明文方式通过北斗协议传输,因此会存在数据泄露的风险。为了减低数据泄露情况的发生,在数据传输时将以明文方式体现的定位信息加密为加密信息传输。
将明文信息加密为密文信息通常是通过处理器来实现的,本申请使用的处理器是数据处理高级精简指令集处理器(Advanced RISC Machines,ARM)板卡,数据处理ARM板卡将明文信息加密为密文信息是通过使用加密算法实现的。加密算法包括对称加密算法和非对称加密算法,对称加密算法是加密和解密的密钥相同,非对称加密算法的加密与解密密钥不同。常见的对称加密算法有数据加密标准(Data Encryption Standard,DES)算法、三重数据加密(Triple Data Encryption Algorithm,TDEA)算法、密码学中的高级加密标准(Advanced Encryption Standard,AES)算法等,常见的非对称加密算法数字签名(DigitalSignature Algorithm,DSA)算法等。在实施中,由于DES加密算法是对称加密算法,具有加解密速度快、算法简单、适合加密大量数据的优点,并且DES加密算法的密钥只用到了64位中的56位,这样具有高的安全性,因此本申请是在DES加密算法的基础上对定位信息进行加密。
DES加密算法使用一个56位的密钥以及附加的8位奇偶校验位(每组的第8位作为奇偶校验位),产生最大64位的分组大小。这是一个迭代的分组密码,使用称为Feistel的技术,其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能,然后将输出与另一半进行“异或”运算;接着交换这两半,这一过程会继续下去,但最后一个循环不交换。DES加密算法使用16轮循环,使用异或,置换,代换,移位操作四种基本运算。在使用DES加密算法对数据加密的过程中,以64位密钥为基础,产生16个子密钥,对于车地安全通信时,原有的64位密钥是车载端与地面接收中心协商生成的。需要说明的是,定位信息的bit通常大于64bit位,而DES算法每次只能处理64bit的数据,因此在对定位信息进行加密时,需要将定位信息以64bit为单位分为多个数据单元,最末数据单元不足64bit以0填充。分别对每个数据单元使用DES加密算法进行加密。但是在使用DES加密算法时,也会存在缺点,如在使用DES加密算法在密钥不变时,子密钥的使用顺序是不变的,这就给了攻击者穷举攻击的可乘之机。因此本申请引入哈夫曼编码来改变子密钥的顺序,提高通信的安全性。
哈夫曼编码是可变字长编码的一种,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。在使用哈夫曼编码时,已知哈夫曼树的叶子节点的个数以及各叶子节点的权重,便可生成哈夫曼编码。在使用引入哈夫曼编码的DES加密算法时,选取确定的叶子节点数,随机配置各叶子节点的权重,随机生成哈夫曼编码,根据随机生成的哈夫曼编码来改变DES加密算法中的子密钥顺序。本申请中选择叶子节点数为4,然后随机配置各叶子节点的权重,随机生成哈夫曼编码。如哈夫曼树有a,b,c,d 4个叶子节点,随机配置权重为7,5,2,4,则生成的哈夫曼编码中0代表a,10代表b,110代表c,111代表d。采用哈夫曼编码对数据进行解码,得到一个十进制表示的序列集合,由于只是改变原来16个子密钥的顺序,因此选取序列集合的前16个元素为有效元素,获取前16个元素中各元素的位置序号以及各元素的值,将各元素的位置序号和各元素的值均作为原来16个子密钥的位置序号,从第一个元素开始,依次交换各元素的位置序号对应的原子密钥和各元素的值对应的原子密钥的位置,从而实现改变原子密钥的顺序。最终将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息。
S12:生成包含加密信息的报文信息。
在北斗系统中,通常采用北斗报文进行通信,北斗报文直接依靠北斗卫星通信,因此可以不受周围基础设施的限制,随时随地,只要有北斗卫星信号就可以进行通信。因此需要将步骤S11获得的加密信息包括在报文协议中。根据北斗报文通信协议,数据处理ARM板卡制定包含密文信息的传输报文协议内容,即生成包含加密信息的报文信息。报文信息由5个部分组成,分别为“指令”、“长度”、“用户地址”、“信息内容”、“校验和”,其中,“指令”为本次报文协议的关键字,占用5个字节长度;“长度”为本次报文的第二部分,占用2个字节长度;“用户地址”为本次报文发送方地址,占用3个字节长度;“信息内容”是本次报文的第四部分,包括1字节长度的信息类别,3字节长度的收信方地址,2字节长度的报文长度及最长1680bit的报文内容;“校验和”为本次报文的第五部分,占用一个字节长度。
S13:发送报文信息至地面端,以便地面端接收并解密报文信息。
在上述步骤S12中数据处理ARM板卡生成了包含加密信息的报文信息,再将报文信息传输给车载北斗终端,车载北斗终端再将报文信息密文传输给地面端的地面北斗终端,实现了北斗报文的密文传输。地面北斗终端通过串口将报文信息传输给地面接收中心,地面接收中心对报文信息的有效应进行检验,并根据报文信息的有效性进行不同的操作,如果报文信息报文以“$TXXX”开头则为有效报文信息,否则为无效报文信息,针对无效报文信息,则继续等待下一组报文信息;针对有效报文信息采用引入哈夫曼编码的DES加密算法的逆运算对报文信息进行解密,完成了车地之间的安全通信。
本实施例所提供的车地安全通信的方法,应用于车载端,首先获取北斗卫星传来的列车当前位置的定位信息;然后将定位信息采用引入哈夫曼编码的DES加密算法加密为加密信息并生成包含加密信息的报文信息;最后发送报文信息至地面端,以便地面端接收并解密报文信息。该方法中北斗卫星发送列车的定位信息是明文信息,通过加密算法将定位信息加密为加密信息,生成的包含加密信息的报文信息是密文信息,地面接收端接收的报文信息也是密文信息。由此可见,该方法将信息由明文传输转换为密文传输,提高了车地通信的安全性。
在上述实施例的基础上,将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息包括如图3所示的流程图中的步骤,图3为将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息的流程图,具体步骤如下:
S14:将定位信息以64bit为单位划分为多个数据单元。
定位信息主要包含时间、经度、纬度、速度、航向等参数,这些参数是以二进制表示的。定位信息的比特位通常大于64bit,而DES加密算法每次只能处理64bit的数据,因此在对定位信息进行加密时,需要将定位信息以64bit为单位分为多个数据单元,最末数据单元不足64bit以0填充,然后分别对每个数据单元使用DES加密算法进行加密。在实施中,对定位信息划分的数据单元的先后顺序不作限定,作为优选地实施方式,从左到右以64bit为单位划分定位信息。划分后的数据单元的单元个数与定位信息有关,定位信息越长,划分后的数据单元的单元个数越多。
S15:以车载端和地面端协商生成的64bit密钥为基础,生成16个子密钥。
由于是车载端与地面端进行数据加密传输,在车载端对数据使用密钥进行加密,然后在地面端对数据进行解密。需要说明的是,加密和解密使用同一套密钥也可以不使用同一套密钥,此处对加密和解密使用的密钥相同与否不作限定。在本申请中,使用的是对称加密算法中的DES加密算法,加密和解密使用同一套密钥,因此,需要车载端与地面端协商生成密钥,在进行数据加密和解密时使用同一套密钥。在DES加密算法中,明文和密钥均由64bit二进制位构成,其中,密钥实际作用位共56位,其中第8位、16位、24位、32位、40位、48位、56位、64位为奇偶校验位。64bit的密钥经缩位置换表P0转换为56bit的密钥K0,表1为缩位置换表P0。由表1可以看出,经缩位置换表后,原64位的密钥的第57位变为第1位,第49位变为第2位,第41位变为第3位,……第4位变为第56位,最终生成新的56bit的密钥K0
表1缩位置换表P0
57 49 41 33 25 17 9
1 58 50 42 34 26 18
10 2 59 51 43 55 27
19 11 3 60 52 44 36
63 55 47 39 31 23 15
7 62 54 46 38 30 22
14 6 61 53 45 37 29
21 13 5 28 20 12 4
密钥K0等分为左右两部分C0D0,每部分28位;
将C0D0经过16轮循环左移,创建16个块CnDn(1≤n≤16),CnDn的定义与C0D0相同,并且每一对CnDn左右两部分均为28位,每一对CnDn共56位。每一对CnDn都是由前一对Cn-1Dn-1移位而来,表2为循环移位表。如表2所示,在第一轮、第二轮、第九轮、第十六轮得到的CnDn分别是由前一对Cn-1Dn-1循环左移一位而来,其余轮得到的CnDn均是由前一对Cn-1Dn-1循环左移两位而来。
表2循环移位表
轮数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1
由于在对明文使用密钥进行加密时,明文与密钥要进行异或,因此要确保异或时明文的比特位与密钥的比特位相同,因此对56bit的CnDn先由56bit缩位为48bit。表3为选择换位表P1。每一对CnDn,通过选择换位表P1进行选择换位,获得48bit的密钥Kn,最终获得16个48bit的子密钥。如C1D1经过选择换位表P1后得到子密钥K1,C2D2经过选择换位表P1后得到子密钥K2,以此类推,最终得到K15
表3选择换位表P1
14 17 11 24 1 5
2 28 15 6 21 10
23 19 12 4 26 8
16 7 27 20 13 2
41 52 31 37 47 55
30 40 51 45 33 48
44 49 39 56 34 53
46 42 50 36 29 32
S16:通过随机生成的哈夫曼编码改变16个子密钥的顺序分别得到各数据单元对应的16个新子密钥。
在上述步骤S15中得到了48bit的16个子密钥K0到K15。得到16个子密钥可以直接对定位信息进行加密,但是由于在使用固定顺序的子密钥对定位信息进行加密时,容易为攻击者提供可乘之机。因此可以通过引入哈夫曼编码改变16个子密钥的顺序,最终对于各数据单元分别获得与原来16个子密钥的顺序不同的新的16个子密钥,如原来的子密钥顺序是从K0到K15,在使用哈夫曼编码改变子密钥的顺序后新的16个子密钥的顺序可能变为K3,K5,K0,K14,K12,K10,K7,K6,K11,K9,K8,K2,K4,K1,K13,K15
16个新子密钥的顺序与哈夫曼编码、各数据单元的数据有关。如选取的哈夫曼树有a,b,c,d 4个叶子节点数,当随机配置的各叶子节点的权重为7,5,2,4,则生成的哈夫曼编码中0代表a,10代表b,110代表c,111代表d;当随机配置的各叶子节点的权重为2,3,4,5,则生成的哈夫曼编码中110代表a,111代表b,10代表c,0代表d。各叶子节点的权重不同导致哈夫曼编码不同,对于同一个数据单元进行解码时得到的序列集合也会不同,而16个新子密钥的顺序又是与序列集合相关的,因此,哈夫曼编码不同,16个新子密钥的顺序不同;当哈夫曼编码确定时,对于不同的数据单元解码得到的序列集合也会不同,因此,对于不同的数据单元,最终得到的16个新子密钥的顺序也会不同。通过引入哈夫曼编码可以改变16个子密钥的顺序,进而提高数据传输时的安全性。步骤16的具体实施过程在下文展示。
在实施中,各数据单元得到16个新子密钥的步骤相同。步骤S16的通过随机生成的哈夫曼编码改变16个子密钥的顺序分别得到各数据单元对应的16个新子密钥具体包括以下步骤:
(1)将各数据单元通过初始换位表得到第一数据;
为了提高数据的安全性,可以通过初始换位表IP改变数据单元中数据的顺序。此处以第一个数据单元为例进行说明。先将64bit的第一数据单元通过初始换位表IP变换,得到64bit的第一数据。表4为初始换位表IP。如表4中可以看出IP转换规则为第一数据单元的第58位转换为第一数据的第1位,同理依次完成64位数据的转换。
表4初始换位表IP
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
(2)将第一数据与64bit的密钥进行异或运算得到第二数据;
在实施中,可以直接使用第一数据完成后面的步骤。但是为了提高加密数据的安全性,优选地,先将64bit的第一数据与64bit的密钥进行异或运算得到第二数据,然后使用第二数据进行后面的步骤。
(3)选取哈夫曼树叶子节点数并随机配置各叶子节点的权重生成随机哈夫曼编码;
由于是使用哈夫曼编码来改变子密钥的顺序,因此首先需要生成哈夫曼编码。哈夫曼编码与哈夫曼树的叶子节点数以及叶子节点的权重有关。哈夫曼树的叶子节点数不同,各叶子节点的权重不同,生成的哈夫曼编码也会不同。在实施中,哈夫曼树的叶子节点数不作限定,本申请选取的哈夫曼树的叶子节点数为4个,然后随机配置各叶子节点的权重,进而生成随机哈夫曼编码。如哈夫曼树有a,b,c,d 4个叶子节点,随机配置权重为7,5,2,4,则生成的哈夫曼编码中0代表a,10代表b,110代表c,111代表d。
(4)利用随机哈夫曼编码对第二数据进行解码得到序列集合;
假设生成的第二数据为数据C,则利用生成的随机哈夫曼编码对数据C进行解码,得到一个编码的序列集合{C0,C1,C2...Cn},并且将序列中的元素用十进制表示。以上述的有a,b,c,d 4个叶子节点,随机配置权重为7,5,2,4的哈夫曼树为例,将第一数据单元经过64bit的第一数据单元通过初始换位表IP变换,得到64bit的第一数据,然后第一数据与64bit的密钥进行异或运算得到第二数据。假设得到的第二数据为1010100011100111010111010111001101010010111011011110100010110111,则利用哈夫曼编码解码此第二数据得到的是bbbaadaadabdabdaacbbabdacdbbaabcd,得到的编码的序列集合为{2,2,2,0,0,7,0,0,7,0,2,7,0,2,7,0,0,6,2,2,0,2,7,0,6,7,2,2,0,0,2,6,7}。
(5)获取序列集合的前16个元素中各元素对应的值以及各元素对应的位置序号;
由于子密钥的个数为16个,因此将序列集合的前16个认为是有效序列,也就是在实施中只需要获取前16个元素即可。获取序列集合的前16个元素中各元素对应的值,即C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,C14,C15,前16个元素分别对应的位置序号即为C的角标,因此,对应的位置序号依次为0,1,2,……15。对于上述列举的例子,前16个元素对应的值依次为2,2,2,0,0,7,0,0,7,0,2,7,0,2,7,0,前16个元素对应的位置序号依次为0,2,3,……15。
(6)依次将各元素对应的值作为第一位置序号,并将各元素对应的位置序号作为第二位置序号,其中第一位置序号与第二位置序号均为16个子密钥的位置序号;
从C0开始依次到C15,若Ci(i从0到15)的值为j,分别将各元素对应的值作为第一位置序号,记为i,各元素对应的位置序号作为第二位置序号,记为j,由于第一位置序号与第二位置序号均为16个子密钥的位置序号,因此在原来的16个子密钥中的对应的子密钥可以分别记为Keyi和Keyj
(7)依次将第一位置序号对应的子密钥的位置与第二位置序号对应的子密钥的位置进行交换,得到16个新子密钥。
依次将第一位置序号对应的子密钥的位置与第二位置序号对应的子密钥的位置进行交换,即Keyi与Keyj交换位置。每一轮只交换两个子密钥的位置,并且后一轮要在前一轮的交换子密钥位置完成之后再进行,因此从C0开始计算、交换,直到C15为止,得到新的子密钥顺序。如上述列举的例子最终的密钥顺序为2,2,2,0,0,0,7,7,7,0,2,7,0,2,0,2。
S17:利用各数据单元对应的16个新子密钥分别对各数据单元进行加密得到各数据单元的加密信息。
由于DES加密算法每次只能对64bit的数据进行加密,在步骤S14中将定位信息分为多个64bit的数据单元。因此要实现对定位信息及进行加密,需要分别对每一个数据单元使用DES加密算法进行加密,为了提高数据传输时的安全性,利用上述步骤S15生成的16个新的子密钥分别对每一个数据单元进行加密,最终得到各数据单元的加密信息。在实施中,对数据单元进行加密的顺序不作限定,作为优选地方式,按照数据单元的先后顺序依次将数据单元进行加密。步骤S17的具体实施过程在下文展示。
在实施中,步骤S17的利用16个新子密钥对各数据单元进行加密得到各数据单元的加密信息具体包括如下步骤:
(1)将第一数据分为各占32bit的第一部分和第二部分;
将第一数据分为各占32bit的第一部分和第二部分,分别记为L0R0
(2)将第一部分与第二部分依次进行16次迭代最终获得第一数据块;
进行16次迭代,对于1≤n≤16,使用一个函数f,函数f有两个输入数据块,一个32位的输入数据块和一个48位的输入数据块,输出一个32位的数据块,定义+表示异或XOR,对于n从1循环到16,进行计算:
Ln=Rn-1
Rn=Ln-1+f(Rn-1,Kn)
由上述公式可知,在迭代的过程中原来的第二部分作为新的第一部分,原来的第二部分和新子密钥作用得到f函数,原来的第一部分与f函数异或得到新的第二部分。具体的得到函数f的迭代过程在下文展示。
(3)将第一数据块逆转得到第二数据块;
使用如下迭代过程依次进行16轮迭代,获得第一数据块,然后将第一数据块逆转得到第二数据块,如最终获得数据块L16R16,逆转两个数据块的顺序,得到R16L16
迭代过程包括如下步骤:
(a)将32bit的第二部分通过扩展置换表得到48bit的第二部分;
由于原来的第二部分和新子密钥作用得到f函数,新子密钥是48bit,原来的第二部分是32bit,因此,需要通过扩展置换表将32bit的第二部分扩展为48bit。表5为扩展置换表。转换规则为第二部分的第32位转换为新数据的第1位。同理依次完成48位数据的转换。
表5扩展置换表
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1
(b)将48bit的第二部分与16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
经过上述的扩展置换表,第二部分扩展为48bit,将48bit的第二部分与16个新子密钥中的第一个新子密钥进行异或运算,得到48bit的数据。
(c)将异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出32bit的数据;
异或后的48bit的数据分成8组,每组6位,每组分别用对应的S盒替换表进行S盒替换,每个S盒为一个4行16列的表,表6为8个S盒替换表。
表6 8个S盒替换表S盒1
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
S盒2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S盒3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S盒4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 19
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S盒5
2 12 4 1 7 10 11 6 5 8 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 13 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
S盒6
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
S盒7
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
S盒8
Figure BDA0003360158580000171
Figure BDA0003360158580000181
S盒替换规则为每组第一位和最后一位组合成行号,中间4位组合成列号,由行号及列号的组合查询对应S盒的数据,并将此数据转换为二进制,实现经过S盒替换后的每组由6bit转换为4bit。如异或后的48bit的数据分成8组,每组6bit,其中,第一组的数据为111111,头尾数据分别为11,转化为十进制之后,得到3为行数,中间4位为1111,转化为十进制之后,得到15为列数,在S盒1中找到第三行第15列,得到对应的数据为13,13对应的二进制位1101,即实现了经过S盒压缩将每组6bit转化为4bit,依次将每组进行S盒压缩处理,最终得到32bit的数据。然后对S盒的输出进行一个变换,表7为S盒输出转换表,通过转换表将32bit的输入数据转换为32bit的输出数据,转换规则为原数据的第16位转换为新数据的第1位。同理依次完成32位数据的转换。置换后产生f函数的最终值。
表7 S盒输出转换表
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25
(d)将32bit的数据与32bit的第一部分异或运算得到32bit的新的第二部分;
(e)将32bit的第二部分作为32bit的新的第一部分。
分别将32bit的数据与32bit的第一部分异或运算得到32bit的新的第二部分;将32bit的第二部分作为32bit的新的第一部分,经过第一轮迭代后得到数据块L1R1,按照上述迭代步骤,经过16轮迭代之后,得到第一数据块L16R16
(4)将第二数据块通过IP逆置换表得到数据单元的加密信息;
如R16L16执行一个最终的IP逆置换。表8为IP逆置换表。置换规则为原数据的第40位转换为新数据的第1位。同理依次完成64位数据的转换,最终得到引入哈夫曼编码后的DES加密算法加密后的加密信息。
表8 IP逆置换表
40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
S18:将各数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对定位信息加密后的加密信息。
对各数据单元使用上述实施例中的步骤进行加密,得到加密后的各单元的加密信息。由于最初是将定位信息划分为多个数据单元,单元的顺序代表定位信息中内容的顺序,因此在得到各数据单元的加密信息之后,按照从低位到高位的单元顺序进行组合,最终获得对定位信息加密后的加密信息。这样得到的是按照一定规律排列的定位信息,比如代表同一类的参数聚集在同一部分。如定位信息中代表时间的参数聚集在某一部分,代表经度、纬度的参数聚集在另一部分等。
本实施例所提供的将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息,通过随机生成的哈夫曼编码对数据进行解码,选取前16个元素作为有效序列,通过各元素的值与各元素对应的位置序号的关系,将原子密钥的顺序进行交换。该方法能够有效防止采用固定顺序的16个子密钥时给攻击者带来可乘之机,通过引入哈夫曼编码的DES加密算法改变了子密钥的顺序,从而提高数据传输时的安全性。
在上述实施例的基础上,本实施例还提供一种应用于地面端的车地安全通信的方法。图4为本实施例提供的一种应用于地面端的车地安全通信方法的流程图,该方法包括:
S19:接收车载端发送的包含加密信息的报文信息,其中,加密信息为车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,定位信息为明文信息。
地面端包括地面北斗终端和地面接收中心。车载端的车载北斗终端与地面端的地面北斗终端通过北斗卫星通信,在通信的过程中是以报文的形式进行通信。为了数据传输的安全性,在进行北斗卫星通信之前,先将北斗卫星传来的列车当前位置的定位信息进行加密得到加密信息,因此地面端的地面北斗终端接收到的是车载端的车载北斗终端发送的包含加密信息的报文信息。在对数据加密的过程中,采用的是引入哈夫曼编码的DES加密算法对定位信息进行加密。
S20:将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息。
在上述步骤S19中地面端的地面北斗终端接收到包含加密信息的报文信息,加密的信息不能直接被使用,因此需要对报文信息进行解密。采用引入哈夫曼编码的DES加密算法是对称加密算法,因此在加密和解密的过程中使用的是同一套密钥,因此将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密,最终得到定位信息。
具体的解密过程为:地面接收中心接收来自地面北斗终端传输的报文信息,并从报文信息中提取加密信息,然后将加密信息以64bit为单位划分为若干单元,采用引入哈夫曼编码的DES加密算法的逆过程解密,将步骤S16中获得的新子密钥顺序的逆序作为解密子密钥的顺序,将划分后的每一数据单元由密文还原成明文,最后再将各数据单元的明文组合在一起,获得完整的以明文方式体现的定位信息。
需要说明的是,在实施中,可能会出现对报文信息解密不成功的情况。因此在对报文信息进行解密之前,可以先对报文信息进行有效性检验。若是有效报文信息,则对报文信息进行解密,若不是有效报文信息,然后继续接收车载端发送的包含加密信息的报文信息。
本实施例所提供的应用于地面端的车地安全通信的方法,首先接收车载端发送的包含加密信息的报文信息,其中,加密信息为车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,定位信息为明文信息;然后将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息。该方法将信息由明文传输转换为密文传输,具有上述提到的应用于车载端的车地通信方法相同的有益效果。
在实施中,采用引入哈夫曼编码的DES加密算法加密得到加密信息的具体步骤如下:
将定位信息以64bit为单位划分为多个数据单元;
以车载端和地面端协商生成的64bit密钥为基础,生成16个子密钥;
通过随机生成的哈夫曼编码改变16个子密钥的顺序分别得到各数据单元对应的16个新子密钥;
利用各数据单元对应的16个新子密钥分别对各数据单元进行加密得到各数据单元的加密信息;
将各数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对定位信息加密后的加密信息;
其中,通过随机生成的哈夫曼编码改变16个子密钥的顺序分别得到各数据单元对应的16个新子密钥具体包括如下步骤:
将各数据单元通过初始换位表得到第一数据;
将第一数据与64bit密钥进行异或运算得到第二数据;
选取哈夫曼叶子节点数并随机配置各叶子节点的权重生成随机哈夫曼编码;
利用随机哈夫曼编码对第二数据进行解码得到序列集合;
获取序列集合的前16个元素中各元素对应的值以及各元素对应的位置序号;
依次将各元素对应的值作为第一位置序号,并将各元素对应的位置序号作为第二位置序号,其中第一位置序号与第二位置序号均为16个子密钥的位置序号;
依次将第一位置序号对应的子密钥的位置与第二位置序号对应的子密钥的位置进行交换,得到16个新子密钥;
其中,利用各数据单元对应的16个新子密钥分别对各数据单元进行加密得到各数据单元的加密信息具体包括如下步骤:
将第一数据分为各占32bit的第一部分和第二部分;
将第一部分与第二部分依次进行16次迭代最终获得第一数据块;
将第一数据块逆转得到第二数据块;
将第二数据块通过IP逆置换表得到数据单元的加密信息;
迭代过程包括如下步骤:
将32bit的第二部分通过扩展置换表得到48bit的第二部分;
将48bit的第二部分与16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
将异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出32bit的数据;
将32bit的数据与32bit的第一部分异或运算得到32bit的新的第二部分;
将32bit的第二部分作为32bit的新的第一部分。
本实施所提供的应用于地面端的采用引入哈夫曼编码的DES加密算法加密得到加密信息的具体步骤与应用于车载端的采用引入哈夫曼编码的DES加密算法加密得到加密信息的具体步骤相同,在应用于车载端的实施例中已作详细说明,此处不再赘述。并且与应用于车载端的采用引入哈夫曼编码的DES加密算法加密得到加密信息具有相同的有益效果。
在上述实施例的基础上,为了提高数据传输效率,在地面端接收到报文信息之后,只对有效报文信息进行解密,针对无效的报文信息不进行解密,直接继续等待下一组报文信息。因此在将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息之前,还包括:
判断报文信息是否为有效报文信息;
若报文信息为有效报文信息,则进入将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息的步骤;
若报文信息为无效报文信息,则重新进入接收车载端发送的包含加密信息的报文信息的步骤。
地面接收中心与地面北斗接收终端串口通信连接,地面北斗终端接收来自车载端发送的报文信息,并通过串口通信将报文信息传输至地面接收中心。地面接收中心对报文信息的有效性进行检验:根据北斗通信协议,若报文以“$TXXX”开头则为有效报文信息,否则,为无效报文信息。针对有效报文信息,则进入将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息的步骤,从而获得定位信息;针对无效报文信息,为了保证地面端能够接收到有效的报文信息,则等待下一组报文信息,重新进入接收车载端发送的包含加密信息的报文信息的步骤。
本实施例所提供的在将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息之前,先对报文信息是否为有效报文信息进行判断,通过有效性检验,只对有效的报文信息进行解密,对于无效的报文信息不进行解密。该方法可以有效提高数据的传输效率。
在实施中,当地面端的地面接收中心获取到以明文方式体现的定位信息后,为了方便查看数据,通常在接收到定位信息之后,通过显示器或者存储器,将数据显示或者存储起来,也可以既显示数据又存储数据。因此在将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息之后,还包括:
显示和/或存储定位信息。
地面接收中心在接收到定位信息之后,将定位信息存储至存储器,通常存储在数据库中;并且地面接收中心包含显示器,显示器可以对接收到的定位信息进行展示,便于进行监测。
本实施例所提供的在将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息之后,还包括:显示和/或存储定位信息。该实施例在接收到定位信息之后将定位信息进行显示或者存储,显示定位信息可以实现对定位信息进行监测,存储定位信息可以实现查看定位信息。
在上述实施例中,对于车地安全通信方法进行了详细描述,本申请还提供车地安全通信装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。其中基于功能模块角度的装置包含应用于车载端的车地安全通信装置以及应用于地面端的车地安全通信装置。
图5为本申请的一实施例提供的应用于车载端的车地安全通信装置的结构图。本实施例基于功能模块的角度,包括:
获取模块10,用于获取北斗卫星传来的列车当前位置的定位信息,其中定位信息为明文信息;
加密模块11,用于将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息;
生成模块12,用于生成包含加密信息的报文信息;
发送模块13,用于发送报文信息至地面端,以便地面端接收并解密报文信息。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的应用于车载端的车地安全通信装置,首先通过获取模块,获取了定位信息,然后通过加密模块,将定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息,再通过生成模块,生成包含加密信息的报文信息,最后通过发送模块,发送报文信息至地面端,以便地面端接收并解密报文信息。该装置中北斗卫星发送列车的定位信息是明文信息,通过加密算法将定位信息加密为加密信息,生成的包含加密信息的报文信息是密文信息,地面接收端接收的报文信息也是密文信息。由此可见,该装置将信息由明文传输转换为密文传输,提高了车地通信的安全性。
图6为本申请的一实施例提供的应用于地面端的车地安全通信装置的结构图。本实施例基于功能模块的角度,包括:
接收模块14,用于接收车载端发送的包含加密信息的报文信息,其中,加密信息为车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,定位信息为明文信息;
获得模块15,用于将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的应用于地面端的车地安全通信装置,首先通过接收模块,接收车载端发送的包含加密信息的报文信息,然后通过获得模块,将报文信息采用引入哈夫曼编码的DES加密算法的逆过程解密从而获得定位信息。该装置中北斗卫星发送列车的定位信息是明文信息,通过加密算法将定位信息加密为加密信息,生成的包含加密信息的报文信息是密文信息,地面接收端接收的报文信息也是密文信息。由此可见,该装置将信息由明文传输转换为密文传输,提高了车地通信的安全性。
图7为本申请另一实施例提供的车地安全通信装置的结构图。本实施例基于硬件角度,如图7所示,车地安全通信装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的车地安全通信的方法的步骤。
本实施例提供的车地安全通信装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的车地安全通信方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的车地安全通信方法所涉及到的数据等。
在一些实施例中,车地安全通信装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图7中示出的结构并不构成对车地安全通信装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的车地安全通信装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:车地安全通信方法,效果同上。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例(可以是车载端对应的方法、也可以是地面端对应的方法,还可以是车载端和地面端对应的方法)中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的计算机可读存储介质包括上述提到的车地安全通信方法,效果同上。
为了使本领域的技术人员更好的理解本申请的技术方案,下面结合附图8对上述本申请作进一步的详细说明,图8为本申请实施例提供的车地安全通信的流程图。该流程图包括:
S21:对车载端以及地面接收中心进行初始化,协商生成密钥;
S22:车载北斗端获取定位信息;
S23:定位信息分组、加密,生成加密信息;
S24:生成包含加密信息的报文信息;
S25:车载北斗终端发送报文信息;
S26:地面北斗终端接收报文信息;
S27:地面接收中心检验报文信息的有效性;若为有效报文信息,则进入步骤S29,若为无效报文,则进入步骤S28的等待下一组报文信息,并重新进入步骤S26。
S28:等到下一组报文信息;
S29:地面接收中心提取加密信息并进行解密;
S30:显示或存储定位信息。
上文通过对本申请实施例提供的车地安全通信的流程图进行了介绍,具有与上述提到的车地安全通信方法相同的有益效果。
以上对本申请所提供的一种车地安全通信的方法、装置及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种车地安全通信的方法,其特征在于,应用于车载端,所述方法包括:
获取北斗卫星传来的列车当前位置的定位信息,其中所述定位信息为明文信息;
将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息;
生成包含所述加密信息的报文信息;
发送所述报文信息至地面端,以便所述地面端接收并解密所述报文信息。
2.根据权利要求1所述的车地安全通信的方法,其特征在于,所述将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息包括:
将所述定位信息以64bit为单位划分为多个数据单元;
以所述车载端和所述地面端协商生成的64bit密钥为基础,生成16个子密钥;
通过随机生成的哈夫曼编码改变16个所述子密钥的顺序分别得到各所述数据单元对应的16个新子密钥;
利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息;
将各所述数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对所述定位信息加密后的加密信息;
其中,所述通过随机生成的哈夫曼编码改变16个所述子密钥的顺序得到各所述数据单元对应的16个新子密钥具体包括如下步骤:
将各所述数据单元通过初始换位表得到第一数据;
将所述第一数据与所述64bit密钥进行异或运算得到第二数据;
选取哈夫曼树叶子节点数并随机配置各所述叶子节点的权重生成随机哈夫曼编码;
利用所述随机哈夫曼编码对所述第二数据进行解码得到序列集合;
获取所述序列集合的前16个元素中各所述元素对应的值以及各所述元素对应的位置序号;
依次将各所述元素对应的值作为第一位置序号,并将各所述元素对应的位置序号作为第二位置序号,其中所述第一位置序号与所述第二位置序号均为16个所述子密钥的位置序号;
依次将所述第一位置序号对应的所述子密钥的位置与所述第二位置序号对应的所述子密钥的位置进行交换,得到16个新子密钥;
其中,所述利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息具体包括如下步骤:
将所述第一数据分为各占32bit的第一部分和第二部分;
将所述第一部分与所述第二部分依次进行16次迭代最终获得第一数据块;
将所述第一数据块逆转得到第二数据块;
将所述第二数据块通过IP逆置换表得到所述数据单元的加密信息;
迭代过程包括如下步骤:
将32bit的第二部分通过扩展置换表得到48bit的第二部分;
将所述48bit的第二部分与所述16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
将所述异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出所述32bit的数据;
将所述32bit的数据与所述32bit的第一部分异或运算得到32bit的新的第二部分;
将所述32bit的第二部分作为32bit的新的第一部分。
3.一种车地安全通信的方法,其特征在于,应用于地面端,所述方法包括:
接收车载端发送的包含加密信息的报文信息,其中,所述加密信息为所述车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,所述定位信息为明文信息;
将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息。
4.根据权利要求3所述的车地安全通信的方法,其特征在于,采用引入哈夫曼编码的DES加密算法加密得到所述加密信息的具体步骤如下:
将所述定位信息以64bit为单位划分为多个数据单元;
以所述车载端和所述地面端协商生成的64bit密钥为基础,生成16个子密钥;
通过随机生成的哈夫曼编码改变16个所述子密钥的顺序分别得到各所述数据单元对应的16个新子密钥;
利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息;
将各所述数据单元的加密信息按照从低位到高位的单元顺序进行组合,获得对所述定位信息加密后的加密信息;
其中,所述通过随机生成的哈夫曼编码改变16个所述子密钥的顺序得到各所述数据单元对应的16个新子密钥具体包括如下步骤:
将各所述数据单元通过初始换位表得到第一数据;
将所述第一数据与所述64bit密钥进行异或运算得到第二数据;
选取哈夫曼树叶子节点数并随机配置各所述叶子节点的权重生成随机哈夫曼编码;
利用所述随机哈夫曼编码对所述第二数据进行解码得到序列集合;
获取所述序列集合的前16个元素中各所述元素对应的值以及各所述元素对应的位置序号;
依次将各所述元素对应的值作为第一位置序号,并将各所述元素对应的位置序号作为第二位置序号,其中所述第一位置序号与所述第二位置序号均为16个所述子密钥的位置序号;
依次将所述第一位置序号对应的所述子密钥的位置与所述第二位置序号对应的所述子密钥的位置进行交换,得到16个新子密钥;
其中,所述利用各所述数据单元对应的16个所述新子密钥分别对各数据单元进行加密得到各所述数据单元的加密信息具体包括如下步骤:
将所述第一数据分为各占32bit的第一部分和第二部分;
将所述第一部分与所述第二部分依次进行16次迭代最终获得第一数据块;
将所述第一数据块逆转得到第二数据块;
将所述第二数据块通过IP逆置换表得到所述数据单元的加密信息;
迭代过程包括如下步骤:
将32bit的第二部分通过扩展置换表得到48bit的第二部分;
将所述48bit的第二部分与所述16个新子密钥中的第一个新子密钥进行异或运算得到异或后的48bit的数据;
将所述异或后的48bit的数据经过S盒压缩得到32bit的数据,并根据S盒输出转换表输出所述32bit的数据;
将所述32bit的数据与所述32bit的第一部分异或运算得到32bit的新的第二部分;
将所述32bit的第二部分作为32bit的新的第一部分。
5.根据权利要求3或4所述的车地安全通信的方法,其特征在于,在所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息之前,还包括:
判断所述报文信息是否为有效报文信息;
若所述报文信息为有效报文信息,则进入所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息的步骤;
若所述报文信息为无效报文信息,则重新进入所述接收车载端发送的包含加密信息的报文信息的步骤。
6.根据权利要求5所述的车地安全通信的方法,其特征在于,在所述将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息之后,还包括:
显示和/或存储所述定位信息。
7.一种车地安全通信的装置,其特征在于,应用于车载端,包括:
获取模块,用于获取北斗卫星传来的列车当前位置的定位信息,其中所述定位信息为明文信息;
加密模块,用于将所述定位信息通过引入哈夫曼编码的DES加密算法加密为加密信息;
生成模块,用于生成包含所述加密信息的报文信息;
发送模块,用于发送所述报文信息至地面端,以便所述地面端接收并解密所述报文信息。
8.一种车地安全通信的装置,其特征在于,应用于地面端,包括:
接收模块,用于接收车载端发送的包含加密信息的报文信息,其中,所述加密信息为所述车载端将北斗卫星传来的列车当前位置的定位信息采用引入哈夫曼编码的DES加密算法加密得到,所述定位信息为明文信息;
获得模块,用于将所述报文信息采用所述引入哈夫曼编码的DES加密算法的逆过程解密从而获得所述定位信息。
9.一种车地安全通信的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的车地安全通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的车地安全通信方法的步骤。
CN202111364594.0A 2021-11-17 2021-11-17 一种车地安全通信的方法、装置及计算机可读存储介质 Pending CN114051208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111364594.0A CN114051208A (zh) 2021-11-17 2021-11-17 一种车地安全通信的方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111364594.0A CN114051208A (zh) 2021-11-17 2021-11-17 一种车地安全通信的方法、装置及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114051208A true CN114051208A (zh) 2022-02-15

Family

ID=80209955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111364594.0A Pending CN114051208A (zh) 2021-11-17 2021-11-17 一种车地安全通信的方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114051208A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105974452A (zh) * 2016-06-24 2016-09-28 中国人民解放军63888部队 基于北斗的车辆信息加密传输系统
CN109861743A (zh) * 2019-03-10 2019-06-07 西安电子科技大学 基于北斗短报文定位信息传输协议的数据安全传输方法
CN111313962A (zh) * 2020-05-14 2020-06-19 江苏星宇芯联电子科技有限公司 基于北斗的车辆监控和语音调度系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105974452A (zh) * 2016-06-24 2016-09-28 中国人民解放军63888部队 基于北斗的车辆信息加密传输系统
CN109861743A (zh) * 2019-03-10 2019-06-07 西安电子科技大学 基于北斗短报文定位信息传输协议的数据安全传输方法
CN111313962A (zh) * 2020-05-14 2020-06-19 江苏星宇芯联电子科技有限公司 基于北斗的车辆监控和语音调度系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丛瑞;裴娜;: "物联网交通中的数据安全研究", 交通企业管理, no. 03, 17 May 2018 (2018-05-17) *

Similar Documents

Publication Publication Date Title
US10361842B2 (en) Encryption function and decryption function generating method, encryption and decryption method and related apparatuses
US6879689B2 (en) Stream-cipher method and apparatus
CN104488218B (zh) 加密装置、解密装置、加密方法、解密方法
Karthigaikumar et al. Simulation of image encryption using AES algorithm
EP2197144A1 (en) Methods and devices for a chained encryption mode
WO2008049046A2 (en) Method for securely extending key stream to encrypt high-entropy data
US20070189518A1 (en) 3-D quaternion quantum fractal encryption
CN108141352B (zh) 密码设备、方法、装置和计算机可读介质和编码设备、方法、装置和计算机可读介质
US8122075B2 (en) Pseudorandom number generator and encryption device using the same
CN114364062B (zh) 一种车联网安全接入网关的方法
CN116846542A (zh) 一种数据加密和解密方法、装置及电子设备
CN117411618B (zh) 应用于国际赛事的密钥生成方法、装置及加密方法
Ahmed et al. Strongest AES with S-Boxes bank and dynamic key MDS matrix (SDK-AES)
Joshy et al. Text to image encryption technique using RGB substitution and AES
CN102946315B (zh) 一种采用分组方式构造mac码的方法及系统
CN115567308A (zh) 一种基于密钥扩展的数据加密传输方法
Tianfu et al. Design of a hybrid cryptographic algorithm
US20170041133A1 (en) Encryption method, program, and system
CN114051208A (zh) 一种车地安全通信的方法、装置及计算机可读存储介质
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质
CN112910630B (zh) 扩展密钥的置换方法及装置
CN112737767B (zh) 抗差分功耗分析与时间攻击的消息认证码生成方法及系统
ES2300307T3 (es) Sistema y metodo de criptografia simetrica.
JP4395527B2 (ja) 情報処理装置
KR20040083794A (ko) 어플리케이션 데이터의 암호화 및 복호화 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination