电子发烧友网 > 安全设备/系统 > 正文

采用FPGA器件实现GPS数据加密系统中机载模块中DES IP的设计

2020年01月13日 17:00 次阅读

针对GPS测量系统数据传输过程中的安全问题,采用FPGA技术设计了GPS数据加密系统。系统移植MD5算法到NIOS中对系统口令加密,并设计DES IP对GPS数据加密。实验表明,该设计可有效防止GPS数据被非法窃取,具有安全性强、速度快、操作简便等特点。

随着网络通信技术的发展,数据传输对安全性的要求也随之加强。如何确保信息的正确认证与严格保密,保证数据信息在传输与处理过程中不被非法窃取和篡改,成为信息安全理论与技术研究的重要内容。多数情况下,数据加密是保证信息机密性的惟一方法。在GPS测量系统中,GPS定位数据以明文形式通过电台进行传输,可能会被同型号电台获取,存在一定的安全隐患。本设计应用FPGA技术设计了GPS数据加密系统,通过MD5加密算法对管理员口令进行加密;DES加密算法对GPS数据进行加密。这样,GPS数据经加密卡加密后再以密文方式发给电台进行传输,同时接收端必须使用密钥将密文解码才能得到定位数据,从而确保了数据传输的安全。

1 、系统组成及功能

GPS数据加密系统由机载模块和服务器端两部分组成,通过电台进行通信。其系统结构如图1所示。

采用FPGA器件实现GPS数据加密系统中机载模块中DES IP的设计

1.1 机载模块

机载模块由4×4键盘、机载LCD、加密卡三部分组成,用户可通过4×4键盘发送预定义指令、更改密钥等操作;机载LCD用于显示系统工作状态、飞行参数等数据;加密卡为系统核心部件,主要有以下4个功能:

(1)解析、处理GPS数据、检测设备工作状态并在LCD上显示相关信息;

(2)接收GPS数据并通过加密卡对其加密,将密文通过电台传送到服务器端;

(3)处理键盘或服务器端输入的预存指令编号或新指令,将指令发给GPS接收机并返回回馈信息;

(4)更新键盘或服务器输入的新密钥或新管理员口令。新密钥先保存在FLASH中,再通过总线传给密钥寄存器;新口令保存在FLASH中。

系统工作时,加密卡通过UART IP获取GPS数据后同时传给NIOS和DES IP。NIOS解析GPS数据并经LCD CONtroller传给机载LCD进行实时显示,方便机上人员了解设备工作状态;DES IP将GPS数据加密后,通过I/O中断传给NIOS,NIOS将密文加入数据包头、尾字节后,再经电台传到服务器端。

1.2 服务器端

服务器端为通用计算机,其应用软件使用VC++6.0开发,服务器的主要功能有以下6点:

(1)接收电台传来的密文并进行DES算法解密、解析和处理GPS数据;

(2)显示GPS参数,并保存数据;

(3)发送GPS接收机控制指令;

(4)更改密钥;

(5)更改管理员口令;

(6)设置串口参数。

2 、数据加密算法的原理及应用

2.1 MD5算法的原理及应用

信息—摘要算法MD5(Message-DigeST Algorithm 5),在90年代初由Rivest设计发明,经MD2、MD3和MD4发展而来。其作用可使大容量信息在用数字签名软件签署私人密匙前,被“压缩”成一种保密的格式(对任意长度的信息,生成一个长度为128 bit的值)。

本设计将MD5算法移植到NIOS中,用于加密管理员口令。这样系统在并不知道管理员口令的明码情况下就可以确定口令的合法性,从而有效地防止了反编译等技术手段对管理员口令进行破解。系统工作时,NIOS预先将管理员口令加密后,将MD5值存储在FLASH中,当加密卡接收到更改密钥、更改口令或发GPS接收机控制指令等操作命令时,先将输入的口令计算成MD5值,然后与存储在FLASH中的MD5值进行比较,如果两值相同则说明口令正确,再进行相应的操作。

2.2 DES算法的原理及应用

DES(Data Encryption Standard)是一种分组乘积加密算法,是用64 bit的密钥对64 bit的明文加密,64 bit密钥中每8 bit有一奇偶校验位不参与运算,有效密钥只有56 bit。同时,它又是对称加密算法,其加密和解密运算过程完全相同,只是在迭代运算时子密钥的使用顺序不同。如图2所示,64 bit的明文块在经过初始IP置换后,被重新排列,然后进入16轮的迭代运算;每一轮迭代运算由一个f函数完成;最后一轮迭代的输出为64 bit,将其左半部分和右半部分互换产生预输出;预输出再与逆初始置换IP-1作用产生64 bit的密文,IP-1是IP的反变换。

采用FPGA器件实现GPS数据加密系统中机载模块中DES IP的设计

采用软件方式实现的DES算法会在很大程度上占用系统资源,造成系统性能的严重下降,而DES算法本身并没有大量的复杂数学计算(如乘、带进位的加、模等运算),在加密、解密过程和密钥生成过程中仅有逻辑运算和查表运算。因而,无论是从系统性能还是加、解密速度的角度来看,采用硬件实现都是一个理想的方案。

图3为DES IP的硬件逻辑图,主要由状态控制器、子密钥生成器、DES算法运算器三部分组成。其中,状态控制器用于控制IP的工作状态、模式和标识完成状态;子密钥生成器将56 bit密钥分成两部分,每部分按循环移位次数表移位并按置换选择表置换,从而生成每一轮次运算的子密钥K(K1,K2,…,K48);DES算法运算器为整个IP的关键,它将64 bit中间数据分为左右两部分,分别记为Li和Ri。单个运算的过程可以写为下面的公式:

基于FPGA技术的GPS数据加密系统设计研究

采用FPGA器件实现GPS数据加密系统中机载模块中DES IP的设计

(1)将Ri-1按照扩展换位表E扩展为48 bit的数据;

(2)将扩展后的Ri-1与循环移位后的48 bit子密钥K(K1,K2,…,K48)“异或”;

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

(4)S盒替代后的32 bit结果依照P盒(P box)进行置换,置换后结果即为f(Ri-1,Ki)的最终值,这样便完成了f函数的运算。

算法中用到的初始换位表IP、放大换位表E、替代函数表S、换位函数P、逆初始换位IP-1、密钥循环移位表可在参考文献中查到。本设计中,GPS数据的加密在加密卡中完成,解密在服务器端完成,为方便功能扩展,在加密卡中设计、保留了解密功能。

2.3 DES算法仿真验证

本设计的DES IP采用ALTERA公司的Quartus 7.0软件开发及Verilog HDL语言编写,整个加密卡在单片Cyclone系列EP1C6Q240C8N芯片上实现。图4为Quartus 7.0开发软件下DES IP的仿真图。

采用FPGA器件实现GPS数据加密系统中机载模块中DES IP的设计

各仿真信号的意义及说明如下:

时钟信号(clk):周期为10 ns、占空比为50%;

复位信号(reset_n):低电平有效,置高;

模式信号(mode):加密/解密选择,‘1’为加密,‘0’为解密;

加载信号(load):高电平有效,置高;

加密数据(des_in):8000 0000 0000 0000;

密钥信号(key):0000 0000 0000 0000;

加密结果(des_out):95F8 A5E5 DD31 D900;

加密完成信号(ready) :在第17个周期后置高。

DES IP工作时,“密钥”保存在总线接口的密钥寄存器中,“加密数据”由NIOS输入,加密完成后,通过“加密完成信号”产生的I/O中断传回给NIOS。图4中,其加密结果与XILINX公司网站上设计参考中给出的数据一致,表明DES IP设计正确。

本设计采用FPGA技术设计了GPS数据加密系统,重点介绍了机载模块中DES IP的设计。实验发现,采用NIOS进行DES算法软件加密时速度慢,会出现间隔丢失GPS数据的现象,而采用硬件DES IP进行加密处理时,完全可以满足GPS接收机的速度需要,不会出现丢点现象。系统采用MD5算法对管理员口令进行加密,进一步增强了系统的安全性,因此本设计对解决该GPS测量系统安全性方面有较大的现实意义和实用价值。

责任编辑:gt

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

小梅哥FPGA设计思想与验证方法视频教程

刚刚录制了一个fpga开发流程的视频,该视频为投石问路,主要是想听听大家对于小梅哥在录制视频时需要注意的内容以及希望系列
发烧友学院发表于 2016-03-24 00:00 37952次阅读
小梅哥FPGA设计思想与验证方法视频教程

基于fpga的电源设计

我现在没有一个具体的方案 谁能给我个提示一下 比如 fpga从哪入手(fpga一点不会) 具体的电路应该分为哪几个模块 单...
发表于 2020-01-13 23:30 42次阅读
基于fpga的电源设计

【雨的FPGA笔记】基础实践-------IP核中PLL的使用

PLL锁相环,可以对时钟网络进行系统级的时钟管理和偏移控制,具有时钟倍频和分频,相位偏移和可编程占空比的功能。...
发表于 2020-01-13 19:13 18次阅读
【雨的FPGA笔记】基础实践-------IP核中PLL的使用

【雨的FPGA笔记】基础实践-------ModelSim手动仿真

基于流水灯的ModelSIm软件仿真为例子                 ...
发表于 2020-01-13 16:34 144次阅读
【雨的FPGA笔记】基础实践-------ModelSim手动仿真

趣谈Linux的操作系统

趣谈Linux操作系统
发表于 2020-01-13 16:00 95次阅读
趣谈Linux的操作系统

关于异构计算FPGA基础知识的详细介绍

随着云计算,大数据和人工智能技术应用,单靠 CPU 已经无法满足各行各业的算力需求。
发表于 2020-01-13 15:15 33次阅读
关于异构计算FPGA基础知识的详细介绍

如何才能保证服务器的托管安全

如何做好服务器托管安全?想要保证服务器托管安全应该怎样做?对于企业来说,服务器的安全是决定着一个企业....
发表于 2020-01-13 14:45 41次阅读
如何才能保证服务器的托管安全

【高手问答】资深工程师为你解答工程与产品设计上的...

本期我们邀请到了资深工程师白纪龙@白老大大,也是许多坛友熟知的白老师,他将为我们解答大家在PCB设计....
发表于 2020-01-13 09:39 0次阅读
【高手问答】资深工程师为你解答工程与产品设计上的...

未备案网站如何去发现

网络技术的发展日新月异,技术手段作为一种辅助管理手段,也要与时俱进,不断改进和完善。
发表于 2020-01-13 09:38 59次阅读
未备案网站如何去发现

【雨的FPGA笔记】基础实践-------呼吸灯设计和实现

呼吸灯设计和实现 内容 一个周期为1s的呼吸灯,从熄灭到完全点亮一共需要1s。 将1s分为1000个1ms作为呼吸...
发表于 2020-01-12 19:50 147次阅读
【雨的FPGA笔记】基础实践-------呼吸灯设计和实现

如何简单快速的实现嵌入式FPGA

Achronix Semiconductor 营销副总裁 Steve Mensor 表示,这款被称为....
发表于 2020-01-12 10:56 301次阅读
如何简单快速的实现嵌入式FPGA

同步传输和异步传输到底有什么区别

通常,异步传输是以字符为传输单位,每个字符都要附加 1 位起始位和 1 位停止位,以标记一个字符的开....
发表于 2020-01-12 10:40 159次阅读
同步传输和异步传输到底有什么区别

云计算的三层模式是什么详细资料介绍

“云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数....
发表于 2020-01-12 09:20 193次阅读
云计算的三层模式是什么详细资料介绍

如何用FPGA测量数字正弦波的频率?

如何用FPGA测量数字正弦波的频率
发表于 2020-01-11 22:27 171次阅读
如何用FPGA测量数字正弦波的频率?

【雨的FPGA笔记】基础实践-------按键控制LED和BEEP设计和实现

设计内容        按KEY0时点亮最右边的灯,按动按键KEY1时依次往左移动,按下KEY2时关...
发表于 2020-01-11 12:47 69次阅读
【雨的FPGA笔记】基础实践-------按键控制LED和BEEP设计和实现

【雨的FPGA笔记】基础实践-------流水灯设计和实现

设计内容        将4个LED每隔1s从左往右分别依次点亮熄灭,形成流水状。按复位键时进行复...
发表于 2020-01-11 11:07 311次阅读
【雨的FPGA笔记】基础实践-------流水灯设计和实现

车载移动监控的组成、功能及特点分析

从运营商的角度上,视频监控已经发展成为中国电信重要的增值业务,为中国电信向综合信息提供商转型奠定了坚....
发表于 2020-01-10 16:36 88次阅读
车载移动监控的组成、功能及特点分析

FPGA的行业优势以及它与DSP的区别分析

FPGA的优势有三个方面:1)通信高速接口设计。FPGA可以用来做高速信号处理,一般如果AD采样率高....
发表于 2020-01-10 15:46 139次阅读
FPGA的行业优势以及它与DSP的区别分析

hdmi矩阵切换器采用FPGA纯硬件架构方案

hdmi矩阵切换器在众多的领域中有着广泛的运用,对于不同的运用场合和需求,有着许多不同的方案,而dm....
发表于 2020-01-10 15:43 108次阅读
hdmi矩阵切换器采用FPGA纯硬件架构方案

关于Xilinx FPGA内部体系结构的分析

Xilinx的FPGA的基本结构是一样的,主要由6部分组成,分别为可编程输入/输出单元、基本可编程逻....
发表于 2020-01-10 15:39 190次阅读
关于Xilinx FPGA内部体系结构的分析

云计算是如何来的

云计算阶段,对资源的管理是把基础设施资源,如计算资源、存储资源、网络资源等放在一个大的池子里,通过云....
发表于 2020-01-10 14:40 59次阅读
云计算是如何来的

嵌入式导航系统是在怎样的设计下实现的

构成嵌入式导航系统的硬件核心是 S3C2440A 微处理器。它是一款 ARM920T 的内核 RIS....
发表于 2020-01-10 14:05 107次阅读
嵌入式导航系统是在怎样的设计下实现的

如何用乘加器(mac)实现150个数平方和?

这个模块是music算法中的协方差矩阵中的一部分。输入的150个数是16位的,得到的结果是32位。 自己也写了代码可是结果...
发表于 2020-01-10 10:57 329次阅读
如何用乘加器(mac)实现150个数平方和?

深维科技荣获北航全球创新创业大赛二等奖

经过初赛、复赛的激烈对决和层层选拔,深维科技参赛项目“超高性能数据中心FPGA异构计算加速解决方案”....
发表于 2020-01-10 09:28 78次阅读
深维科技荣获北航全球创新创业大赛二等奖

怎么想到使用单片机和GPS进行结合使用?

怎么想到使用单片机和GPS进行结合使用的,优点是什么?十分感谢...
发表于 2020-01-09 21:13 454次阅读
怎么想到使用单片机和GPS进行结合使用?

利用伽利略卫星网络改善全球定位服务,完善GPS系...

全球定位系统(GPS)功能正在快速成为消费电子应用的主要市场驱动力,也逐渐成为在各式各样新一代消费类....
发表于 2020-01-09 17:06 285次阅读
利用伽利略卫星网络改善全球定位服务,完善GPS系...

采用JP13模块和BENQ-M32模块设计手持无...

随着光纤通信传输网的延伸以及通信维护任务的增加,为加强通信线路的维护,并及时发现维护过程中存在的各种....
发表于 2020-01-09 16:23 545次阅读
采用JP13模块和BENQ-M32模块设计手持无...

服务器机房里都有哪些比较重要的系统

大家会常常听到数据中心、服务器机房这些词汇,都知道服务器机房是专门容纳计算设备的房间。
发表于 2020-01-09 14:07 331次阅读
服务器机房里都有哪些比较重要的系统

企业如何选择合适的云平台

在云计算技术蓬勃发展的同时,众多可供选择的技术可能使IT经理在寻找能够满足其特定组织需求的云平台时成....
发表于 2020-01-09 14:03 92次阅读
企业如何选择合适的云平台

【雨的FPGA笔记】基础知识-------构成

经典的岛型结构 FPGA由三个部分构成:实现逻辑电路的逻辑块(LB)、与外部进行信号输入/输出的I/O块(...
发表于 2020-01-09 11:01 1032次阅读
【雨的FPGA笔记】基础知识-------构成

LVDS技术的应用优势及基于FPGA实现远端显示...

LVDS接口又称RS-644总线接口,是20世纪90年代出现的一种数据传输和接口技术。LVDS是一种....
发表于 2020-01-08 16:40 537次阅读
LVDS技术的应用优势及基于FPGA实现远端显示...

帧同步系统的工作原理及如何基于FPGA实现其设计

实现帧同步的关键是把同步码从一帧帧数据流中提取出来。本设计的一帧信码由39位码元组成。其中的巴克码为....
发表于 2020-01-08 16:30 1497次阅读
帧同步系统的工作原理及如何基于FPGA实现其设计

英特尔新发布Stratix 10,为可编程四核A...

FPGA在高度并行、大吞吐量数字信号处理(DSP)应用方面享有很好的声誉。过去几代FPGA器件一直稳....
发表于 2020-01-08 15:32 285次阅读
英特尔新发布Stratix 10,为可编程四核A...

工业控制服务器的特点及作用是什么

目前我国工控服务器还只是刚起步阶段,国内的用户数量还不是很多,目前用的比较广泛的领域是是数据中心和国....
发表于 2020-01-08 14:57 72次阅读
工业控制服务器的特点及作用是什么

嵌入式导航系统如何设计实现

嵌入式导航系统由硬件层、软件层和中间层组成。
发表于 2020-01-08 09:15 113次阅读
嵌入式导航系统如何设计实现

移动执法站系统解决方案的原理、构成及功能分析

随着公安信息化工作的逐渐推进以及移动警务系统建设的整体推进,通过充分利用公安信息资源以及对公安信息移....
发表于 2020-01-07 16:33 541次阅读
移动执法站系统解决方案的原理、构成及功能分析

rfid技术在汽车的总线上有什么作用

基于RFID 技术的汽车总装制造执行系统使得企业能够及时、准确的掌握生产线状态,提高生产效率,确实有....
发表于 2020-01-07 16:32 67次阅读
rfid技术在汽车的总线上有什么作用

FPGA的发展瓶颈有哪些,该如何解决

据Semico统计,FPGA市场正在逐年增长,而复合年均增长率高达38.4%,至2023年将具有55....
发表于 2020-01-07 15:23 165次阅读
FPGA的发展瓶颈有哪些,该如何解决

FPGA和GPU在深度神经网络方面谁更胜一筹

在今天的大数据时代,企业和消费者被各种来源的海量数据淹没,包括商业交易、社交媒体以及传感器或机器对机....
发表于 2020-01-07 15:08 253次阅读
FPGA和GPU在深度神经网络方面谁更胜一筹

FPGA中面积换速度该如何去实现

在FPGA中,如果要将一个采样率为480MHz,中频频率为302.5MHz的信号变频到零中频的基带信....
发表于 2020-01-07 14:45 87次阅读
FPGA中面积换速度该如何去实现

云计算的总体拥有成本怎样算出来

要了解组织的云计算财务模型,第一步是分配一个公共资源单元以标准化总体拥有成本(TCO)比较中的数据。
发表于 2020-01-07 14:42 124次阅读
云计算的总体拥有成本怎样算出来