一种基于FPGA的北斗数据加密系统及方法转让专利

申请号 : CN201610668654.0

文献号 : CN106100838A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾丽

申请人 : 成都市和平科技有限责任公司

摘要 :

本发明公开了一种基于FPGA的北斗数据加密系统及方法,涉及数据加密领域。该系统包括:北斗接收机、机载端和服务器端;所述机载端包括:键盘、机载LCD和加密卡;所述服务器端包括:数据接收单元、解密单元和数据处理单元;所述北斗接收机信号连接于机载端;所述机载端信号连接于服务器端。该发明具有:安全性高、成本低、实用性强和处理速度快等优点。

权利要求 :

1.一种基于FPGA的北斗数据加密系统,其特征在于,所述系统包括:北斗接收机、机载端和服务器端;所述机载端包括:键盘、机载LCD和加密卡;所述服务器端包括:数据接收单元、解密单元和数据处理单元;所述北斗接收机信号连接于机载端;所述机载端信号连接于服务器端。

2.如权利要求1所述的基于FPGA的北斗数据加密系统,其特征在于,所述加密卡包括:NIOS处理器、DES IP处理单元、接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器、LCD控制器和总线单元;所述总线单元分别信号连接于NIOS处理器、DES IP处理单元、JTAG接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器和LCD控制器。

3.如权利要求2所述的基于FPGA的北斗数据加密系统,其特征在于,所述键盘信号连接于总线单元;所述北斗接收机信号连接于UART接口单元;所述机载LCD信号连接于LCD控制器;所述服务器端信号连接于UART接口单元。

4.如权利要求3所述的基于FPGA的北斗数据加密系统,其特征在于,所述UART 接口单元,用于连接机载端和北斗接收机,以及机载端和服务器端的数据通信,将接收到的北斗数据分别发送至NIOS处理器和DES IP处理单元;所述NIOS处理器,用于解析北斗数据,将解析后的北斗数据经LCD控制器发送给LCD进行实时显示;所述DES IP处理单元将北斗数据进行加密后,通过I/O终端发送给NIOS处理器;所述键盘用于输入新密钥或新管理员口令,将输入的新密钥或新管理员口令经总线发送给Flash单元进行保存。

5.如权利要求4所述的基于FPGA的北斗数据加密系统,其特征在于,所述机载端和服务器端之间通过电台进行数据传输;所述数据接收单元用于接收电台发送过来的密文数据;

所述解密单元用于对密文进行解密、解析;所述数据处理单元用于处理北斗数据,显示北斗参数,发送个北斗接收机控制指令,更改密钥,更改管理员口令和设置串口参数。

6.一种基于权利要求1至4之一所述的基于FPGA的北斗数据加密系统的加密方法,其特征在于,所述方法包括一下步骤:步骤1:系统进行初始化,服务器端进行参数设置和控制北斗接收机开始运行;

步骤2:加密卡通过UART IP获取北斗数据后同时传给NIOS处理器和DES IP处理单元;

步骤3:NIOS处理器解析北斗数据并经LCD 控制器传给机载LCD进行实时显示,方便机上人员了解设备工作状态;

步骤4:DES IP处理单元将北斗数据加密后,通过I/O中断传给NIOS处理器,NIOS处理器将密文加入数据包头、尾字节后,再经电台传到服务器端;、步骤5:服务器端接收加密数据,将接收到的加密数据发发送给解密单元;

步骤6:解密单元对接收到的加密数据进行数据解密,将解密后的数据发送至数据处理单元;

步骤7:数据处理单元对接收到的解密数据进行解密;

步骤8:服务器发送更改密钥的指令至北斗接收机和更改管理员口令至加密卡,跳转继续执行步骤2。

7.如权利要求6所述的基于FPGA的北斗数据加密方法,其特征在于,所述DES IP处理单元对接收到的北斗数据进行加密的方法包括以下步骤:步骤1:接收64位明文信息,进行初始置换IP;

步骤2:进行16轮基于F函数的迭代运算;

步骤3:进行逆初始置换,生成64位的密文。

8.如权利要求7所述的基于FPGA的北斗数据加密方法,其特征在于,所述F函数的运行步骤包括以下不好走:步骤1:强将64位经初始置换IP处理后的中间数据分为左右两部分,分别记为L和R;

步骤2:将R-1按照扩展换位表E扩展为48位的数据;

步骤3:将扩展后的R-1与循环移位后的48位子密钥K(K1,K2,…,K48)进行异或运算;

步骤4:将“异或”后的结果送入8个S盒进行替代运算,每个S盒都有6位输入、4 位输出,并且8个S盒都不相同,48位的输入分为6位一组,分别送到8个S盒选择相应的输出,结果为

32位;

步骤5:将S盒替代后的32 位结果依照P盒进行置换,置换后结果即为f(R-1,K)的最终值,这样便完成了f函数的运算。

说明书 :

一种基于FPGA的北斗数据加密系统及方法

技术领域

[0001] 本发明涉及数据加密领域,特别涉及一种基于FPGA的北斗数据加密系统及方法。

背景技术

[0002] 卫星导航系统是重要的空间信息基础设施。中国高度重视卫星导航系统的建设,一直在努力探索和发展拥有自主知识产权的卫星导航系统。2000年,首先建成北斗导航试验系统,使我国成为继美、俄之后的世界上第三个拥有自主卫星导航系统的国家。该系统已成功应用于测绘、电信、水利、渔业、交通运输、森林防火、减灾救灾和公共安全等诸多领域,产生显著的经济效益和社会效益。特别是在2008年北京奥运会、汶川抗震救灾中发挥了重要作用。为了更好地服务于国家建设与发展,满足全球应用需求,我国启动实施了北斗卫星导航系统建设。
[0003] 而随着网络通信技术的发展,数据传输对安全性的要求也随之加强。如何确保信息的正确认证与严格保密,保证数据信息在传输与处理过程中不被非法窃取和篡改,成为信息安全理论与技术研究的重要内容。多数情况下,数据加密是保证信息机密性的惟一方法。在北斗测量系统中,北斗定位数据以明文形式通过电台进行传输,可能会被同型号电台获取,存在一定的安全隐患。

发明内容

[0004] 鉴于此,本发明提供了一种基于FPGA的北斗数据加密系统及方法,该发明具有:安全性高、成本低、实用性强和处理速度快等优点。
[0005] 本发明采用的技术方案如下:一种基于FPGA的北斗数据加密系统,其特征在于,所述系统包括:北斗接收机、机载端和服务器端;所述机载端包括:键盘、机载LCD和加密卡;所述服务器端包括:数据接收单元、解密单元和数据处理单元;所述北斗接收机信号连接于机载端;所述机载端信号连接于服务器端。
[0006] 进一步的,本发明的加密卡主要具备如下的功能:1、解析、处理北斗数据、检测设备工作状态并在LCD上显示相关信息;
2、接收北斗数据并通过加密卡对其加密,将密文通过电台传送到服务器端;
3、处理键盘或服务器端输入的预存指令编号或新指令,将指令发给北斗接收机并返回回馈信息;
4、更新键盘或服务器输入的新密钥或新管理员口令。新密钥先保存在Flash中,再通过总线传给密钥寄存器;新口令保存在Flash中。
[0007] 所述加密卡包括:NIOS处理器、DES IP处理单元、接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器、LCD控制器和总线单元;所述总线单元分别信号连接于NIOS处理器、DES IP处理单元、JTAG接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器和LCD控制器。
[0008] 所述键盘信号连接于总线单元;所述北斗接收机信号连接于UART接口单元;所述机载LCD信号连接于LCD控制器;所述服务器端信号连接于UART接口单元。
[0009] 所述UART 接口单元,用于连接机载端和北斗接收机,以及机载端和服务器端的数据通信,将接收到的北斗数据分别发送至NIOS处理器和DES IP处理单元;所述NIOS处理器,用于解析北斗数据,将解析后的北斗数据经LCD控制器发送给LCD进行实时显示;所述DES IP处理单元将北斗数据进行加密后,通过I/O终端发送给NIOS处理器;所述键盘用于输入新密钥或新管理员口令,将输入的新密钥或新管理员口令经总线发送给Flash单元进行保存。
[0010] 所述机载端和服务器端之间通过电台进行数据传输;所述数据接收单元用于接收电台发送过来的密文数据;所述解密单元用于对密文进行解密、解析;所述数据处理单元用于处理北斗数据,显示北斗参数,发送个北斗接收机控制指令,更改密钥,更改管理员口令和设置串口参数。
[0011] 一种基于FPGA的北斗数据加密方法,其特征在于,所述方法包括以下步骤:步骤1:系统进行初始化,服务器端进行参数设置和控制北斗接收机开始运行;
步骤2:加密卡通过UART IP获取北斗数据后同时传给NIOS处理器和DES IP处理单元。
[0012] 步骤3:NIOS处理器解析北斗数据并经LCD 控制器传给机载LCD进行实时显示,方便机上人员了解设备工作状态;步骤4:DES IP处理单元将北斗数据加密后,通过I/O中断传给NIOS处理器,NIOS处理器将密文加入数据包头、尾字节后,再经电台传到服务器端;、
步骤5:服务器端接收加密数据,将接收到的加密数据发发送给解密单元;
步骤6:解密单元对接收到的加密数据进行数据解密,将解密后的数据发送至数据处理单元;
步骤7:数据处理单元对接收到的解密数据进行解密;
步骤8:服务器发送更改密钥的指令至北斗接收机和更改管理员口令至加密卡,跳转继续执行步骤2。
[0013] 所述DES IP处理单元对接收到的北斗数据进行加密的方法包括以下步骤:步骤1:接收64位明文信息,进行初始置换IP;
步骤2:进行16轮基于F函数的迭代运算;
步骤3:进行逆初始置换,生成64位的密文。
[0014] 所述F函数的运行步骤包括以下不好走:步骤1:强将64位经初始置换IP处理后的中间数据分为左右两部分,分别记为L和R;
步骤2:将R-1按照扩展换位表E扩展为48位的数据;
步骤3:将扩展后的R-1与循环移位后的48位子密钥K(K1,K2,…,K48)进行异或运算;
步骤4:将“异或”后的结果送入8个S盒进行替代运算,每个S盒都有6位输入、4 位输出,并且8个S盒都不相同,48位的输入分为6位一组,分别送到8个S盒选择相应的输出,结果为
32位;
步骤5:将S盒替代后的32 位结果依照P盒进行置换,置换后结果即为f(R-1,K)的最终值,这样便完成了f函数的运算。
[0015] 采用以上技术方案,本发明产生了以下有益效果:1、安全性高:本发明针对北斗系统进行设计,比起针对于GPS系统设计的算法,更加适用于我国自主的卫星导航定位系统。另外,本发明采用改进后的加密算法,安全性更高。
[0016] 2、成本低:本发明的数据加密系统采用的元器件都是FPGA中的基础元器件,能够大规模进行量产,成本更低。
[0017] 3、实用性强:本发明的加密算法和解密算法案进行分离,将解密的部分放到服务器上,使得机载端的负荷减小,体积更小,便于携带,实用性更强。
[0018] 4、运行速度快:采用DES IP处理单元对北斗数据加密,比起传统的采用NIOS处理器对北斗数据进行加密,不会出现丢点现象,且处理速度更快。

附图说明

[0019] 图1是本发明实施例中一种防止IPSec VPN设备多隧道IKE协商失败的系统的流程图。

具体实施方式

[0020] 本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
[0021] 本说明书(包括任何附加权利要求、摘要)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
[0022] 本发明实施例1中提供了一种基于FPGA的北斗数据加密系统及方法,系统结构图如图1所示:一种基于FPGA的北斗数据加密系统,其特征在于,所述系统包括:北斗接收机、机载端和服务器端;所述机载端包括:键盘、机载LCD和加密卡;所述服务器端包括:数据接收单元、解密单元和数据处理单元;所述北斗接收机信号连接于机载端;所述机载端信号连接于服务器端。
[0023] 进一步的,本发明的加密卡主要具备如下的功能:1、解析、处理北斗数据、检测设备工作状态并在LCD上显示相关信息;
2、接收北斗数据并通过加密卡对其加密,将密文通过电台传送到服务器端;
3、处理键盘或服务器端输入的预存指令编号或新指令,将指令发给北斗接收机并返回回馈信息;
4、更新键盘或服务器输入的新密钥或新管理员口令。新密钥先保存在Flash中,再通过总线传给密钥寄存器;新口令保存在Flash中。
[0024] 所述加密卡包括:NIOS处理器、DES IP处理单元、接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器、LCD控制器和总线单元;所述总线单元分别信号连接于NIOS处理器、DES IP处理单元、JTAG接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器和LCD控制器。
[0025] 所述键盘信号连接于总线单元;所述北斗接收机信号连接于UART接口单元;所述机载LCD信号连接于LCD控制器;所述服务器端信号连接于UART接口单元。
[0026] 所述UART 接口单元,用于连接机载端和北斗接收机,以及机载端和服务器端的数据通信,将接收到的北斗数据分别发送至NIOS处理器和DES IP处理单元;所述NIOS处理器,用于解析北斗数据,将解析后的北斗数据经LCD控制器发送给LCD进行实时显示;所述DES IP处理单元将北斗数据进行加密后,通过I/O终端发送给NIOS处理器;所述键盘用于输入新密钥或新管理员口令,将输入的新密钥或新管理员口令经总线发送给Flash单元进行保存。
[0027] 所述机载端和服务器端之间通过电台进行数据传输;所述数据接收单元用于接收电台发送过来的密文数据;所述解密单元用于对密文进行解密、解析;所述数据处理单元用于处理北斗数据,显示北斗参数,发送个北斗接收机控制指令,更改密钥,更改管理员口令和设置串口参数。
[0028] 本发明实施例2中提供了一种基于FPGA的北斗数据加密方法,具体步骤如下:一种基于FPGA的北斗数据加密方法,其特征在于,所述方法包括以下步骤:
步骤1:系统进行初始化,服务器端进行参数设置和控制北斗接收机开始运行;
步骤2:加密卡通过UART IP获取北斗数据后同时传给NIOS处理器和DES IP处理单元。
[0029] 步骤3:NIOS处理器解析北斗数据并经LCD 控制器传给机载LCD进行实时显示,方便机上人员了解设备工作状态;步骤4:DES IP处理单元将北斗数据加密后,通过I/O中断传给NIOS处理器,NIOS处理器将密文加入数据包头、尾字节后,再经电台传到服务器端;、
步骤5:服务器端接收加密数据,将接收到的加密数据发发送给解密单元;
步骤6:解密单元对接收到的加密数据进行数据解密,将解密后的数据发送至数据处理单元;
步骤7:数据处理单元对接收到的解密数据进行解密;
步骤8:服务器发送更改密钥的指令至北斗接收机和更改管理员口令至加密卡,跳转继续执行步骤2。
[0030] 所述DES IP处理单元对接收到的北斗数据进行加密的方法包括以下步骤:步骤1:接收64位明文信息,进行初始置换IP;
步骤2:进行16轮基于F函数的迭代运算;
步骤3:进行逆初始置换,生成64位的密文。
[0031] 所述F函数的运行步骤包括以下不好走:步骤1:强将64位经初始置换IP处理后的中间数据分为左右两部分,分别记为L和R;
步骤2:将R-1按照扩展换位表E扩展为48位的数据;
步骤3:将扩展后的R-1与循环移位后的48位子密钥K(K1,K2,…,K48)进行异或运算;
步骤4:将“异或”后的结果送入8个S盒进行替代运算,每个S盒都有6位输入、4 位输出,并且8个S盒都不相同,48位的输入分为6位一组,分别送到8个S盒选择相应的输出,结果为
32位;
步骤5:将S盒替代后的32 位结果依照P盒进行置换,置换后结果即为f(R-1,K)的最终值,这样便完成了f函数的运算。
[0032] 本发明实施例3中提供了一种基于FPGA的北斗数据加密系统及方法,系统结构图如图1所示:一种基于FPGA的北斗数据加密系统,其特征在于,所述系统包括:北斗接收机、机载端和服务器端;所述机载端包括:键盘、机载LCD和加密卡;所述服务器端包括:数据接收单元、解密单元和数据处理单元;所述北斗接收机信号连接于机载端;所述机载端信号连接于服务器端。
[0033] 进一步的,本发明的加密卡主要具备如下的功能:1、解析、处理北斗数据、检测设备工作状态并在LCD上显示相关信息;
2、接收北斗数据并通过加密卡对其加密,将密文通过电台传送到服务器端;
3、处理键盘或服务器端输入的预存指令编号或新指令,将指令发给北斗接收机并返回回馈信息;
4、更新键盘或服务器输入的新密钥或新管理员口令。新密钥先保存在Flash中,再通过总线传给密钥寄存器;新口令保存在Flash中。
[0034] 所述加密卡包括:NIOS处理器、DES IP处理单元、接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器、LCD控制器和总线单元;所述总线单元分别信号连接于NIOS处理器、DES IP处理单元、JTAG接口单元、计时器、UART接口单元、Flash单元、SDRAM控制器和LCD控制器。
[0035] 所述键盘信号连接于总线单元;所述北斗接收机信号连接于UART接口单元;所述机载LCD信号连接于LCD控制器;所述服务器端信号连接于UART接口单元。
[0036] 所述UART 接口单元,用于连接机载端和北斗接收机,以及机载端和服务器端的数据通信,将接收到的北斗数据分别发送至NIOS处理器和DES IP处理单元;所述NIOS处理器,用于解析北斗数据,将解析后的北斗数据经LCD控制器发送给LCD进行实时显示;所述DES IP处理单元将北斗数据进行加密后,通过I/O终端发送给NIOS处理器;所述键盘用于输入新密钥或新管理员口令,将输入的新密钥或新管理员口令经总线发送给Flash单元进行保存。
[0037] 所述机载端和服务器端之间通过电台进行数据传输;所述数据接收单元用于接收电台发送过来的密文数据;所述解密单元用于对密文进行解密、解析;所述数据处理单元用于处理北斗数据,显示北斗参数,发送个北斗接收机控制指令,更改密钥,更改管理员口令和设置串口参数。
[0038] 一种基于FPGA的北斗数据加密方法,其特征在于,所述方法包括以下步骤:步骤1:系统进行初始化,服务器端进行参数设置和控制北斗接收机开始运行;
步骤2:加密卡通过UART IP获取北斗数据后同时传给NIOS处理器和DES IP处理单元。
[0039] 步骤3:NIOS处理器解析北斗数据并经LCD 控制器传给机载LCD进行实时显示,方便机上人员了解设备工作状态;步骤4:DES IP处理单元将北斗数据加密后,通过I/O中断传给NIOS处理器,NIOS处理器将密文加入数据包头、尾字节后,再经电台传到服务器端;、
步骤5:服务器端接收加密数据,将接收到的加密数据发发送给解密单元;
步骤6:解密单元对接收到的加密数据进行数据解密,将解密后的数据发送至数据处理单元;
步骤7:数据处理单元对接收到的解密数据进行解密;
步骤8:服务器发送更改密钥的指令至北斗接收机和更改管理员口令至加密卡,跳转继续执行步骤2。
[0040] 所述DES IP处理单元对接收到的北斗数据进行加密的方法包括以下步骤:步骤1:接收64位明文信息,进行初始置换IP;
步骤2:进行16轮基于F函数的迭代运算;
步骤3:进行逆初始置换,生成64位的密文。
[0041] 所述F函数的运行步骤包括以下不好走:步骤1:强将64位经初始置换IP处理后的中间数据分为左右两部分,分别记为L和R;
步骤2:将R-1按照扩展换位表E扩展为48位的数据;
步骤3:将扩展后的R-1与循环移位后的48位子密钥K(K1,K2,…,K48)进行异或运算;
步骤4:将“异或”后的结果送入8个S盒进行替代运算,每个S盒都有6位输入、4 位输出,并且8个S盒都不相同,48位的输入分为6位一组,分别送到8个S盒选择相应的输出,结果为
32位;
步骤5:将S盒替代后的32 位结果依照P盒进行置换,置换后结果即为f(R-1,K)的最终值,这样便完成了f函数的运算。
[0042] 本发明针对北斗系统进行设计,比起针对于GPS系统设计的算法,更加适用于我国自主的卫星导航定位系统。另外,本发明采用改进后的加密算法,安全性更高。
[0043] 本发明的数据加密系统采用的元器件都是FPGA中的基础元器件,能够大规模进行量产,成本更低。
[0044] 本发明的加密算法和解密算法案进行分离,将解密的部分放到服务器上,使得机载端的负荷减小,体积更小,便于携带,实用性更强。
[0045] 4、运行速度快:采用DES IP处理单元对北斗数据加密,比起传统的采用NIOS处理器对北斗数据进行加密,不会出现丢点现象,且处理速度更快。
[0046] 本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。