基于MSP430和Cyclone II 的网络数据加密实现
应用SPIO模式。当片选信号丙拉低,在每个时钟(SCK)的上升沿发送数据,无需FPGA向单片机输人数据,所以不使用MISO数据线。片选信号SS与FP-CA的RAM的使能相连,控制数据读入。当用户输人初始密钥后,经过数据扩展,与算法选择数据通过SPI接口传送至FPGA。SPI接口时序如图4所示。
FPGA采用CycloneII系列中的EP20F256C6,该器件是低成本架构FPGA,可提供多达18 752个逻辑单元.152个用户IO,239 616 bit的存储位,密度超过CycloneI FPGA的3倍,完全满足系统设计需要。CycloneII FPGA内部的逻辑资源可实现复杂应用。CycloneII器件采用的低成本串行配置器件,这种串行配置器件最大可提供64 Mbit的nash存储器。所以,采用EP20F256C6可高效完成系统核心算法,有效节约成本。其内部算法由VHDL语言编程实现。主要程序模块:加解密算法模块(A5/1和W7)、数据存储模块、同步产生模块、同步检测模块。加密和解密各有一套独立的模块集合。其中A5/1算法模块的VHDL代码如下:
FPGA的模块控制由两个独立的状态机组成,用于处理加密算法和解密算法,其状态转换如图5所示。
系统上电初始化后,由用户向单片机输入初始密钥和算法选择数据,通过SPI接口送入FPGA,FPGA接收到密钥后将初始密钥传给算法模块,算法模块初始化后产生同步Gold码,并等待数据,当待加密数据有效时,启动加密算法;当数据无效时,再次进入等待数据状态。相应地,解密模块先检测起始的同步Gold码,检测到后,当待解密数据有效时,启动解密算法,当待解密数据无效时,再次进入等待数据状态。如此往复,完成数据的加密解密过程。在密钥传输过程中,由于两种算法所需的初始密钥位数不同,当使用w7算法时,初始密钥在送入FPGA中后还需二次扩展达到所需的位数。
4 仿真与分析
采用QuartuslI 8.0软件仿真FPGA功能。共用4 865个逻辑单元,1 024 bit的片上存储位,时序分析得到最大工作频率为95.79 MHz。仿真加密时序如图6所示。
5 结论
通过对整个设计的调试验证,结果满足设计要求。整个系统具有较高的安全性和保密性,可为要求通信安全的网络应用提供一种基于硬件的加密方式,基于FPGA的加密算法设计具有很高的灵活性,如果采用更加先进的加密算法,可进一步提高系统的安全性和保密性。
数据 加密 实现 网络 II MSP430 Cyclone 基于 数字信号 相关文章:
- 基于GPS的数据采集系统的研究(01-15)
- 带以太网接口的GSM无线数据传输系统设计与实现(10-06)
- 探讨如何应对未来移动数据业务的高速增长(03-17)
- 在多通道宽带射频系统中通过低压差分信号传输数据总线实现大型射频数据共享(03-24)
- 无线射频识别技术在规模化奶牛场的应用(05-14)
- 瑞风智能一卡通社区解决方案(05-15)