FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端

FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端

ID:37657903

大小:550.89 KB

页数:8页

时间:2019-05-27

FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端_第1页
FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端_第2页
FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端_第3页
FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端_第4页
FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端_第5页
资源描述:

《FPGA_ASIC-基于FPGA的片上系统的无线保密通信终端》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛基于FPGA的片上系统的无线保密通信终端作者:毋杰康丙寅王昭婧黄克军电子科技大学来源:电子产品世界摘要:本系统以AES加密算法为例,使用XilinxSPARTAN3E为开发平台,以xilinx的嵌入式软核microblaze为主控制器,调用FPGA的硬件VHDL编程实现的AES加解密和控制CC2420来实现高速有效的数据通信。关键词:FPGA,片上系统,AES,Xilinx,SPART

2、AN3E引言利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。标准的商品化CPU和DSP无法跟上数据加密算法的计算速度要求。此外,CPU和DSP需要完成太多的其他任务。基于FPGA高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准[1].然而如果仅使用FPGA可编程VHDL来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度,本系统以AES加密算法为例,使用XilinxSPARTAN3E为开发平台,以xilinx的嵌入式软核microbla

3、ze为主控制器,调用FPGA的硬件VHDL编程实现的AES加解密和控制CC2420来实现高速有效的数据通信。系统设计思想本设计使用硬件描述语言VHDL在FPGA数字逻辑层面上实现AES加解密,为了系统的扩展性和构建良好的人机交互,设计通过PS/2键盘输入加密密钥,并将其显示在LCD上。在软核MicroBlaze上,通过SPI总线读写FIFO和RAM控制射频芯片CC2420,使系统具有信道选择、地址识别、自动CRC校验功能,使系统更加安全、通信误码率更低。数据帧结构设计http://www.elec

4、fans.com电子发烧友http://bbs.elecfans.com电子技术论坛为了更好的提高本系统数据的传输率,在官方zigbee的数据帧格式基础上做了修改。采用如表5-2所示的数据帧格式。数据帧发送时,CC2420自动在数据包的开始处加上前导码和帧起始分隔符在数据包末尾加CRC检验。表1数据帧结构数据可靠传输为了确保数据不出错和不丢失,本设计采用了CRC校验、超时重传、返回ACK和NOACK等措施来确保数据的不出错和丢失,系统模块构成加密端通过串口和网口从发送段接收数据,当接收够16字节(

5、128bit),或不足时能自动补零成128bit后送给硬件AES加密模块。在软核Microblaze的控制下通过VHDL编程的AES加密后将数据进行组帧打包,通过软核对CC2420的寄存器的读写将数据通过无线发送端CC2420发送出去,同时等待发送段确认。接收端在接收到数据以后,从数据包中将数据提取,进行快速AES解密,解密完成后进行CRC校验,如果校验正确则向源地址发送ACK确认。将正确数据送出,如果校验失败,则返回NOACK。为了确保安全,AES加解密算法需要的密钥key由键盘输入和修改,同时

6、可以在LCD上显示出来。必须保证两端key相同才能保证正常通信。http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛图1系统总体控制数据流图AES加解密模块3.1.1AES简介AES加解密算法(Rijndael算法)对待加密的明文先进行分段然后加密,明文的长度可以是l28位、192位或256位。同样,用于加密的密钥长度也有l28位、192位或256位。根据明文及密钥长度不同的组合,加密的轮次有10轮、12轮和l4轮。在圈函数的每一圈迭代

7、中,包括4步变换,分别是字节代换运算、行变换、列混合以及圈密钥的加法变换。经过验证,选用l28位的明文和密钥是几种组合中加解密速度最快的[2]。所以在本系统设计中使用的为128位明文和128位密文的组合。由于AES为对称加解密,所以在此文中我们只讨论AES的加密方法,解密就是与AES对称的方式来进行的。3.1.2AES加解密模块设计http://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛在本系统中,使用了FPGA的硬件描述语言(VHDL)来

8、实现了AES的加解密算法,AES分别为轮密钥加、字节代换、行移位、列混淆、密钥扩展,下面为5个用硬件描述语言实现的小模块的分别介绍。由于列混淆模块、行移位模块、轮密钥加与文献[4]中算法相同在此不做讨论。①字节代换模块此模块为AES中的每一个字节提供了一个非线性代换。任一非零字节被函数所代替。如果x是零字节,y=b就是SubBytes变化的结果。在本设计中,为了加快算法速度,将S盒预先写入RAM中,直接用地址来指示替代的字节,利用空间来换时间,达到了加快用算的目的。②密钥扩展模块本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。