首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于赛灵思Spartan-3E的片上系统无线保密通信终端设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于赛灵思Spartan-3E的片上系统无线保密通信终端设计
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2015-1-17 19:05
|
只看该作者
基于赛灵思Spartan-3E的片上系统无线保密通信终端设计
解决方案
,
电子产品
,
数据加密
,
开发平台
,
安全性
作者:毋杰 康丙寅 王昭婧 黄克军 电子科技大学
来源:电子产品世界
利用软件实施加密算法已经成为实时安全通信系统的重要瓶颈。标准的商品化CPU和DSP无法跟上数据加密算法的计算速度要求。此外,CPU和DSP需要完成太多的其他任务。基于FPGA高度优化的可编程的硬件安全性解决方案提供了并行处理能力,并且可以达到所要求的加密处理性能基准[1].然而如果仅使用FPGA可编程VHDL来实现的话,系统就不够灵活,升级困难,况且实现起来有很大的难度,本系统以AES加密算法为例,使用Xilinx SPARTAN 3E为开发平台,以xilinx的嵌入式软核microblaze为主控制器,调用FPGA的硬件VHDL编程实现的AES加解密和控制CC2420来实现高速有效的数据通信。
系统设计思想
本设计使用硬件描述语言VHDL在FPGA数字逻辑层面上实现AES加解密,为了系统的扩展性和构建良好的人机交互,设计通过PS/2键盘输入加密密钥,并将其显示在LCD上。在软核MicroBlaze上,通过SPI总线读写FIFO和RAM控制射频芯片CC2420,使系统具有信道选择、地址识别、自动CRC校验功能,使系统更加安全、通信误码率更低。
数据帧结构设计
为了更好的提高本系统数据的传输率,在官方zigbee的数据帧格式基础上做了修改。采用如表5-2所示的数据帧格式。数据帧发送时,CC2420自动在数据包的开始处加上前导码和帧起始分隔符在数据包末尾加CRC检验。
表1 数据帧结构
数据可靠传输
为了确保数据不出错和不丢失,本设计采用了CRC校验、超时重传、返回ACK和NOACK等措施来确保数据的不出错和丢失,
系统模块构成
加密端通过串口和网口从发送段接收数据,当接收够16字节(128bit),或不足时能自动补零成128bit后送给硬件AES加密模块。在软核Microblaze的控制下通过VHDL编程的AES加密后将数据进行组帧打包,通过软核对CC2420的寄存器的读写将数据通过无线发送端CC2420发送出去,同时等待发送段确认。接收端在接收到数据以后,从数据包中将数据提取,进行快速AES解密,解密完成后进行CRC校验,如果校验正确则向源地址发送ACK确认。将正确数据送出,如果校验失败,则返回NOACK。为了确保安全,AES加解密算法需要的密钥key由键盘输入和修改,同时可以在LCD上显示出来。必须保证两端key相同才能保证正常通信。
图1 系统总体控制数据流图
AES加解密模块
3.1.1 AES简介
AES加解密算法(Rijndael算法)对待加密的明文先进行分段然后加密,明文的长度可以是l28位、192位或256位。同样,用于加密的密钥长度也有l28位、192位或256位。根据明文及密钥长度不同的组合,加密的轮次有10轮、12轮和l4轮。在圈函数的每一圈迭代中,包括4步变换,分别是字节代换运算、行变换、列混合以及圈密钥的加法变换。经过验证,选用l28位的明文和密钥是几种组合中加解密速度最快的[2]。所以在本系统设计中使用的为128位明文和128位密文的组合。由于AES为对称加解密,所以在此文中我们只讨论AES的加密方法,解密就是与AES对称的方式来进行的。
3.1.2 AES加解密模块设计
在本系统中,使用了FPGA的硬件描述语言(VHDL)来实现了AES的加解密算法,AES分别为轮密钥加、字节代换、行移位、列混淆、密钥扩展,下面为5个用硬件描述语言实现的小模块的分别介绍。由于列混淆模块、行移位模块、轮密钥加与文献[4]中算法相同在此不做讨论。
① 字节代换模块
此模块为AES中的每一个字节提供了一个非线性代换。任一非零字节被函数所代替。如果x是零字节,y=b 就是SubBytes变化的结果。在本设计中,为了加快算法速度,将S盒预先写入RAM中,直接用地址来指示替代的字节,利用空间来换时间,达到了加快用算的目的。
②密钥扩展模块
本设计采用了Xilinx IP核Single Block RAM 位宽32,深度64,在程序的开始,由用户设置的初始密钥系统按照密钥扩展算法生成的10轮扩展密钥,将生成的密钥按照地址次序从低到高放入RAM中,在每一轮执行addroundkey时取出对应轮数的密钥,与明文相加(异或)。
图2 AES解密模块仿真波形
在本系统中采用TI 公司的CC2420来实现数据的无线通信CC2420工作于免授权的2.4GHz频段,33个16位配置寄存器、15个命令选通寄存器、1个128字节的RX RAM、1个128字节的TX RAM、1个112字节的安全信息存储器。TX和RX RAM的存取可通过地址或者用两个8位的寄存器。主机可通过SPI总线设置其工作在Normal模式,通过SPI总线MOSI,MISO接口对TX FIFO和RX FIFO及状态进行写和读的操作,将数据写入和读出RAM来实现与CC2420的数据传输,通过触发CC2420STXON,SRXON来实现数据的无线发送和接收。表二是本系统CC2420涉及的寄存器及其功能。
表2 是本系统CC2420涉及的寄存器及其功能
软核控制模块
3.3.1 软核MicroBlaze简介
MicroBlaze 是一款由xilinx公司开发的嵌入式处理器软核,其采用RISC(Reduced Instruction Set Computer)优化架构。它符合IBM CoreConnect标准,能够与PPC405系统无缝连接[3]。MicroBlaze是一个非常简化却具有较高性能的软核,在Spartan3E系列FPGA中它只占400个Slice,相当于10万门FPGA容量的1/3。其为哈佛结构,32位地址总线,独立的指令和数据缓存,并且有独立的数据和指令总线连接到IBM的PLB总线,使得它能很容易和其它外设IP核一起完成整体功能。支持SPI、I2C、PCI、CAN总线,支持重置、硬件异常、中断、用户异常、暂停等机制,可配置UART、GPIO等接口。
3.3.2 microblaze的控制流程
图3 microblaze的控制流程
3.3.3 microblaze的控制流程主程序
main () {
Initial()//初始化系统;
CmdSend()//上位机命令输入;
DataRev()//数据接收;
AESEny()//数据加密;
DataPackage()数据打包;
CC2420Sen()加密数据发送;
Return success; }
结语
本系统将软件加解密(在50M的频率下使用软件来进行加解密)与硬件加解密时间做了对比:如表3所示。
表3 软件和硬件加密对比
表4 AES加密占用FPGA资源统计表
该方案充分有效的利用了Spartan 3E的资源,尤其为可编程逻辑和RAM的利用。其中AES加解密中的乘法运算均由LUT查找表来实现,用空间换取时间,获得了很高的算法速度。在AES算法测试时我们发现80%的AES加解密时间都用于密钥扩展算法中,如果能再进一步把算法优化,比如做成流水线的算法模式的话,加解密时间又能减少近20%,即由现在的6.74us减少到略大于5.39us,效率又可以增加很多。
参考文献:
[1]AES算法FPGA实现分析,唐金艺,[M] 海军计算技术研究所
[2]唐明,张焕国,刘树渡等 AES的高性能硬件设计与研究 [M] 武汉大学计算机学院
[3]赵峰 马迪民 孙伟等 FPGA上的嵌入式设计[M] 2008.4
[4]佟玉伟 陆浪如 FPGA先进加密算法 (AES) 的并行实现 [M] 交通与计算机 2002.6
*本设计获得2008年全国大学生电子设计竞赛信息安全技术邀请赛三等奖
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议