APP下载

高速遥测PCM数据的AES加密存储系统设计

2010-01-20张会新孟令军

火炮发射与控制学报 2010年4期
关键词:码流遥测解码

张会新,刘 波,孟令军

(中北大学电子测试技术国家重点实验室,山西太原 030051)

高速遥测PCM数据的AES加密存储系统设计

张会新,刘 波,孟令军

(中北大学电子测试技术国家重点实验室,山西太原 030051)

传统的遥测PCM数据由于芯片等硬件条件的制约很难实现数据的高速解码以及安全存储,因此选用逻辑资源丰富、支持算法级语言描述以及易于通过硬件语言描述的可编程逻辑器件FPGA作为系统的中央处理器和控制器。高速遥测PCM数据通过DS26C32电平转换器和解码软件模块实现10Mbps码流数据的接收,同时运用AES加密软件模块对解码数据进行AES加密,并实现加密数据的编帧存储。

仪器仪表技术;PCM数据;AES;加密存储;存储系统

高级加密标准(AES)是迭代分组密码算法,其分组长度和密钥长度都可以改变,具有安全、性能好、效率高、可实现和灵活等方面的优点。该算法的扩充性是允许分组长度和密钥长度以32bit为步长,从128bit到256bit范围内进行特定的变化。而高速遥测PCM数据是遥测系统测量卫星、航天器及武器系统等内外部的环境参数。存储系统是记录地面试验和飞行试验数据重要部分之一[1]。本文提出对10M码流的高速遥测数据进行解码,并将解码数据实现加密处理,完成数据的安全存储,以及最终的加密数据编帧存储。

1 系统总体结构

本系统主要完成一路高速10Mbps码流的PCM数据接收、加密及存储,以FPGA为中央处理器,运用其丰富的内部资源分别完成数据的解码接收、加密运算等功能模块的实现,同时高速的PCM码流需要大容量的外部FIFO完成接受数据的缓存,采用固态的存储器完成数据的实时记录存储。

2 系统软硬件设计

2.1 PCM数据的接收硬件设计

脉冲编码调制(PCM)是用代码来表示信号信息的一种特殊调制方式,它需要经过采样、量化和编码3个过程,最终将数据组成(PCM)格式,形成串行的数据流通过调制设备进行传送。本系统采用模块化的程序设计实现数据的解码,便于数据码流和位宽等参数的调节。图1为标准PCM帧格式。

系统中整个高速PCM解调电路工作原理为:

1)高速串行PCM数据流在码同步信号作用下,通过移位寄存器将其转换为8路并行数据,并行数据在字同步(路同步)信号的作用下取出,在控制电路的配合下,存入大容量的FIFO缓冲器中。当FIFO存至半满时,系统根据产生的半满信号,由FPGA控制解码数据并进行下一步操作。本文中的PCM数据通过长线抗干扰的差分422进行传输。通过DS26C32高速差分转换芯片进行电平转换。

2)XINLINX的Spartan系列的XC2S200将数据读取进行内部的数据转换操作。在高速PCM码数据解码中FPGA内部的FIFO难以满足容量要求,所以本系统采用外部大容量FIFO(IDT7207)32K字节进行解码数据的缓存[2]。而FPGA通过控制rb或wr信号对FIFO进行读写操作,图2为PCM数据的差分电平转换接收,图3为外部FIFO的电路原理图。

2.2 PCM数据的接收软件实现

本系统采用VHDL完成高速PCM数据的解码,利用PCM 数据的格式,采用模块化程序结构完成解码,首先,上电自复位2 ms完成依据数据的码同步信号作为接收数据的时钟CLOCK的匹配,然后依据匹配的码同步时钟,在每次字同步信号的上升沿对数据进行读取,同时完成数据的串并转换。最后将解码的数据依据FIFO的返回标志进行缓存。图4为PCM的解码框图。

2.3 AES数据加密的算法研究

AES(Rijndael)是一种迭代分组密码,采用的是代替或置换网络。它对1个128位的明文数据块进行加密操作,加密时,首先将输入的明文128位数据排列成4×4的字节矩阵,将其定义为状态,所有AES的变换都是基于状态的变化。然后根据不同的密钥长度,进行10(128位密钥),12(192位密钥)或14(256位密钥)轮的迭代运算实现。而每次的AES变化是由轮函数通过多轮迭代完成的,每次的轮变换函数由4步完成[3],如图5所示。

本系统中采用VHDL语言来实现加密的软件算法,基于其有适合算法的算法级、寄存级、逻辑级、门级设计模块。系统中软件的功能模块有数据解码模块、中央控制模块、数据输入模块、密钥生成模块、加密运算模块及数据存储模块。AES的算法需依照AES的算流程进行程序模块编写。系统软件框图如图6所示。

2.4 数据的AES加密硬件设计

本系统设计采用的是基于XINLINX公司的XC2S200芯片进行的,SPARTAN-II系列用户可编程门阵列的输入输出块(IOBs)支持多种标准的输入输出信号,这些高速的输入输出结构支持存储器和总线结构的多种状态。每一个输入输出块(IOBs)有3个寄存器,这些寄存器既可以作为边沿触发的D型触发器也可作为电平敏感的锁存器,每个输入输出块都有个时钟信号为它的3个寄存器所共享,且每个寄存器都有自己的时钟允许信号。

在硬件设计中,运算处理器最重要的指标就是运算速度。而与速度有关的参量主要有吞吐量、加解密时延、单位时间内加解密的次数[4]。本系统采用的XC2S200具有可配置逻辑块数目(CLBs)丰富,其设计的算法比较灵活且加密延时可调。系统先将接收解码的PCM数据逐步从FIFO中读出并送进加密处理程序模块中,同时FPGA会将已经设计好的密文进行扩展运算并通过串行的形式传送到加密处理程序模块进行运算,通过本系统的验证能够满足FLASH的数据存储速率要求,能够实现数据的加密存储且丢包率低。

3 加密数据的存储

本系统加密数据的存储采用SAMSUNG公司的256M ×8bitNAND FIASH 芯片K9K2G08UOM 固态存储器,每片器件2 112Mbit,按块组织划分为2048块,每块分64页,每页2K+64字节。2112字节的典型编程时间300μ s,128 K字节的典型擦除时间2 ms。它以页为单位进行读写,以块为单位进行擦除;命令、数据、地址共用同一总线,具有硬件数据保护功能。系统采用FPGA进行FLASH的硬件控制,以内部的存储控制模块实现对FLASH的读写、擦除和外部FIFO的读操作命令。同时系统合理的调整加密与数据存储的时间差,能够进行数据的实时存储[5]。为了便于后续软件对数据的解密处理,系统采用编帧的方式完成,具体的帧格式如图7所示。

4 结束语

系统设计实现了高速遥测PCM码数据的解码、数据的加密及数据的存储。完全实现存储系统数据的加密功能。加密算法的灵活性决定需要硬件和算法的不断优化,以提高数据加密、存储的实时性和可靠性。本系统采用的是128位的明文和密文,其他的加密格式将是以后算法优化的重要方面之一。

References)

[1]甄国涌,林华亮.串行PCM码流解码电路设计与应用[J].航空计算技术,2005,35(1):79-81.

ZHEN Guo-yong,LIN Hua-liang.Serial PCM bit stream decoding circuit design and application[J].Aeronautical Computing Technology,2005,35(1):79-81.(in Chinese)

[2]高宇,张凤辰.新型全数字化PCM同步解调器[J].遥测遥控,1998,19(2):51-55.

GAO Yu,ZHANG Feng-chen.A new all-digital PCM synchronous demodulator[J].Telemetry Remote Control,1998,19(2):51-55.(in Chinese)

[3]JOAN DAEMEN,VINCEN T RIJM EN.高级加密标准(AES)算法-Rijndael的设计[M].谷大武,徐胜波,译.北京:清华大学出版社,2003.

JOAN DAEMEN,VINCEN T RIJMEN.Advanced Encryption Standard(AES)algorithm-Rijndael design[M].GU Da-wu,XU Sheng-bo,translation.Beijing:Tsinghua University Press,2003.(in Chinese)

[4]李雪梅,路而红,欧海文,AES算法的快速硬件设计与实现[J].电子技术应用,2006(5):48-50.

LI Xue-mei,LU Er-hong,OU Hai-wen.AES algorithm design and implementation of fast hardware[J].E-lectronics Technology,2006(5):48-50.(in Chinese)

[5]张文栋.存储测试系统的设计理论及其应用[M].北京:高等教育出版社,2002.

ZHANG Wen-dong.Storage test system theory and application[M].Beijing:Higher Education Press,2002.(in Chinese)

Encryption Storage System Design of PCM Telemetry Data Based on High-Speed AES

ZHANG Hui-xin,LIU Bo,MENG Ling-jun

(National Key Laboratory of Electronic Measurement Technology,North University of China,Taiyuan 030051,Shanxi,China)

Because of the limitation of chips and other hardware conditions in the data,the traditional PCM telemetry data are difficult to achieve high-speed decoding as well as secure storage,thus a kind of programmable FPGA logic device was used to serve as the central processing unit and controller of the system.Its logical resources are rich to support the algorithm-level language description,and it is easy to adopt hardware description language.High-speed PCM telemetry data realize the reception of 10Mbps data flow with the aid of DS26C32 level converter and decoding software module.AES encryption of decoding data were carried out by use of AES encryption software module,and compiled frame storage of encrypted data was performed.

technology of instrument and meter;PCM data;AES;encryption storage;storage system

TP309

A

1673-6524(2010)04-0092-03

2010-03-11;

2010-04-15

国家自然科学基金 (60871041)资助

张会新(1980―),男,硕士研究生,主要从事动态测试技术研究。E-mail:hello3396@sina.com

猜你喜欢

码流遥测解码
《解码万吨站》
前馈复合控制在提高遥测跟踪性能中的应用
解码eUCP2.0
高清网络摄像机图像延迟分析及解决方案
远程控制式遥测地面站关键技术研究
基于WPF的遥测CAS信息实时监控系统设计开发
自适应模糊PID控制的遥测方舱温度调节方法
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
如何对数字电视信号进行有效监测