1 导言
跟着信息技术和网络化进程的开展,网络通讯安全问题日益突出。现场可编程门阵列(FPGA)以其本身规划灵敏、可靠性高的长处广泛运用于加密范畴。硬件完结的加密算法不占用计算机资源.加密进程彻底与外部总线阻隔,具有较高的数据维护才能。算法可灵敏改动,具有较强的独立性。加密机由单片机,FPGA和El通讯接口组成。FPGA内部算法由VHDL言语编写。该体系适用于要求数据安全较高的场合,其终端可为计算机,银行POS机等,供给数据传输的安全性和保密性。
2 流加密解密原理及算法
2.1 流加密解密原理
流暗码由密钥和暗码算法两部分组成,密钥一般存储在加解密设备内部,在数据传输前已设置完结。暗码算法在较长时刻内是不变的。在同步流暗码中,只需发送端和接纳端有相同的密钥和内部情况,就能发生相同的密钥流。
数据传输时,加密端和解密端运用同一个初始密钥,加密时暗码流与明文相异或得到密文,一起每隔必定时刻参加同步数据;解密时以同步形式发生的密文与暗码流进行异或得到明文,同步形式选用63位Gold码。整个加解密进程与发送数据格局如图1所示。在发送密文中参加初始同步码,接纳端运用Gold码的三值特性检测Gold码完结同步数据。对接纳数据流和Gold码做互相关运算,相关成果满意Gold码的三值特性,阐明当时数据流是发送端参加的同步Gold码.标志为密文的开始,然后调用解密算法对后续的密文解密,康复传输的数据。
2.2 A5/1算法原理
A5/1引是GSM移动通讯中数据传输的流暗码加密算法。A5/1暗码流发生器生成的暗码与明文数据帧的每一位相异或得到密文序列。A5/1算法由3个不同长度的线性反应移位寄存器R1,R2,R3组成,其长度分别为19,22,23位,其反应特征方程分别为:x18+x17+x16+x13+1,x22+x21+x20+x7+1。算法的初始密钥是64位向量。暗码流输出位为3个移位寄存器的异或输出。移位寄存器的使能由大都函数操控。Rl的第8位、R2的第10位、R3的第10位为大都函数数据输入,它们决议3个移位寄存器的移位情况。在这3个数据位中,假如有两个或两个以上的都为0,大都函数值就为0;假如有两个或两个以上的都为1,大都函数值就为1。大都函数输入的3个数据位中与大都函数值相同,相应的移位寄存器就移位。A5/1的硬件完结原理如图2所示。暗码流的发生分两个阶段.第一阶段给寄存器装人64位初始值;第二阶段则依据时钟节拍和使能操控发生暗码流。
2.3 W7算法原理
W7H算法与A5/1算法在结构原理上有相似之处。W7算法由8个类似于A5/1算法硬件结构模块并行组成,每一个模块都包括3个线性反应移位寄存器和大都函数。不同的是w7算法是128位的初始密钥,线性反应移位寄存器的长度图2 A5/1算法的硬件完结原理和反应结构都不同于A5/1算法。3个线性反应移位寄存器长度分别为38、43、47位。8个并行模块选用同一初始密钥。但反应结构和大都函数的输入位均各不相同。8个模块的输出组成8位暗码流,加密功率更高。各线性移位寄存器由固定数据位经过逻辑与发生1位数据,再将该位数据与最高位输出异或,最终将3个移位寄存器输出再异或输出作为本并行块的暗码位输出。因为有8个并行块,最终总的输出8 bit,即1字节。规划时,每隔8个时钟周期输出一次,确保数据速率的一致性。
3 体系硬件规划
该体系硬件规划由单片机,FPGA和El接121等组成,如图3所示。单片机用于输入用户初始密钥;FPGA担任密钥流发生以及加解密;E1接口完结数据流的发送和接纳,完结HDB3码和TTL电平之间的转化,完结通讯接口单元和协议数据处理单元之间的全双工通讯。
因为通讯链路选用E1规范,该体系规划的外部数据链路接121选用E1接口,选用接口器材DS21348。DS21348支撑El和T1线接口单元,经过寄存器设置挑选E1线接口单元。DS21348可装备为硬件形式,完结HDB3到TTL、TTL到HDB3的电平转化,时钟同步、数据信号格局转化以及数据帧处理。该体系可并行处理两路数据,一路加密,一路解密,完结全双工通讯。
因为TI公司的MSP430系列微处理器渠道具有低功耗和小体积等特色,合适便携式运用场合,所以单片机选用MSP430系列,并经过SPI接口完结与FPGA的数据通讯。单片机外接一键盘,用于输入初始密钥。考虑到用户输入密钥位数不能许多,可设置简略的密钥,并在单片机内部扩展至算法所需的位数,然后经过单片机SPI接口传送至FGPA。SPI接口共4条信号线:串行时钟(SCK),主机输出/从机输入(MOSI),主机输入/从机输出(MISO),从机片选(SS)。SPI接口可装备为主或从形式。规划装备为主形式。当单片机向FPGA传输指令或数据时,运用SPIO形式。当片选信号丙拉低,在每个时钟(SCK)的上升沿发送数据,无需FPGA向单片机输人数据,所以不运用MISO数据线。片选信号SS与FP-CA的RAM的使能相连,操控数据读入。当用户输人初始密钥后,经过数据扩展,与算法挑选数据经过SPI接口传送至FPGA。SPI接口时序如图4所示。
FPGA选用CyeloneII系列中的EP20F256C6,该器材是低本钱架构FPGA,可供给多达18 752个逻辑单元.152个用户IO,239 616 bit的存储位,密度超越CyeloneI FPGA的3倍,彻底满意体系规划需求。CycloneII FPGA内部的逻辑资源可完结杂乱运用。CyeloneII器材选用的低本钱串行装备器材,这种串行装备器材最大可供给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的加密算法规划具有很高的灵敏性,假如选用愈加先进的加密算法,可进一步进步体系的安全性和保密性。