技术文章

当前页面: 首页 >技术文章 >基于FPGA与PCI总线的并行计算平台设计实现

基于FPGA与PCI总线的并行计算平台设计实现

供稿:中国工控网 2016/5/25 17:20:11

0 人气:104

  • 关键词: 编程软件 FPGA PCI总线
  • 摘要:本文介绍的基于PCI总线的FPGA计算平台的系统实现:通过在PC机上插入扩展PCI卡,对算法进行针对并行运算的设计,提升普通PC机对大计算量数字信号的处理速度。

本设计采用5片FPGA芯片及相关周边芯片设计实现这一并行高速计算平台,并在该平台上完成了DES和MD5等算法的加密和解密。文中通过基于MD5算法设计的加密方案(仿Yahoo邮箱的密码校验)进行暴力破解,验证了本系统的可行性以及速度快、性价比高等显著优点。

  1 系统结构

  系统利用普通PC机或工控机进行控制、数据流下载和结果采集,大计算量的数字运算利用IP-CORE技术并行地在FPGA中进行。将数字信号处理的算法设计为一个单元模块,并根据芯片的结构对布局和布线进行优化,该单元模块重复利用的技术被称为IP-CORE技术。在本系统中利用TP-CORE的可重复利用性,通过仲裁逻辑调度数据的分配,从而实现算法的并行处理。

  1.1 硬件结构

  系统中采用5片ALTERA公司的STRATIX  EP1Sl0FPGA芯片,其中4片作为数字信号处理算法CORE的载体(文中称为算法FPGA);l片作为连接PC机与运算CORE的桥接芯片、加载程序、并行总线裁决和中断判决等仲裁逻辑的载体。与PCI总线的接口使用PLX公司的PCI9054芯片。系统硬件结构如图l所示。

  1.2 逻辑结构

  BRIDGE  FPGA的程序采用自顶向下的设计方法,按功能可分为以下部分:顶层模块PCI_FPGA_PARALLEL;与PCI9054的接口模块PCI接口;数据缓存及仲裁部分:数据缓存模块FIFO、寄存器模块regpart、数据回传模块deserial、内部总线仲裁和流控模块CORE接口等。

  PCI接口部分实现与PCI9054芯片的接口时序,使得复用的地址和数据分开,产生地址空间的选取及使能信号,便于后端处理。

  仲裁逻辑部分:

  (1)实现对地址空间内数据缓冲区、各种寄存器的读写,以及根据配置寄存器的内容对算法CORE和桥FPGA做相应的操作(配置、启动、停止、复位等)。

  (2)利用缓冲区及FIF0的队列长度信号wrusedw、rdusedw、full和empty进行数据流控制。数据由PC机下载时首先进入缓冲区,每一块算法CORE均对应一个数据下行FIFO,由FIFO当前状态来判定是否从缓冲区中取数。具体逻辑模型如图3所示。

  (3)返回结果引入本地中断机制,当有正确结果产生、或无正确结果但密钥匹配完成、或系统异常状态,均产生中断信号并填写中断类型寄存器,经级联后产生向PC机的中断。中断判决如图4所示。

  (4)实现与算法core间的协议逻辑,控制多种数据流的下行以及结果的返回。

  2 MD5算法简介

  MD5(Message Digest  5)报文摘要算法是一种应用广泛的提取数字指纹的算法标准,它由MIT的密码学专家、RSA算法的发明人之一Rivest设计发明。MD5算法结构如图5所示。

  对任意长度的信息输入,MD5都将产生一个长度为128bit的输出,这一输出可以被看作是原输入报文的“报文摘要值(Message  Digest)”。

  MD5的特点:

  (1)两条不同的报文具有相同的报文摘要值的可能性极小。

  (2)对于预先给定的报文摘要值,要想寻找到一条报文,使得其报文摘要值与某个给定的报文摘要值相等,在计算上是不可能的。

  (3)根据报文的摘要值,要想推测出原来的报文是极端困难的。

  MD5算法被广泛地应用于网络数据完整性检查以及各种数据加密技术中。

  Yahoo邮箱密码算法是基于两次MD5算法。共算法步骤如下:

  stepl:对一个密码字段(例如:dfeag~hyt),用MD5算法加密:h=md5 (dfertgrhyt)。

  step2:将step1所得结果转换为32Bytes的hex值:hex(h)。

  step3:将step2所得结果与一个yahoo提供的chanllenge值简单级联:string=hex(h)+chanUenge

  step4:将step3所得结果再进行一次MD5运算:hash=md5(strmg)。

  由于未得到实际Yaheo邮箱密码生成参数(例如challenge码),本文构造了相近算法以测试本系统性能。

  测试方案如下:

  提供一个已知的challenge值与相应的Hash值,从提供的字典中提取合适密码,由生成算法计算出对应的Hash值与提供的Hash值匹配来校验匹配的密码。密钥字典的产生有两种方式:人为构造字典及系统自加、穷举产生密钥。


审核编辑(王雪)
更多内容请访问 中国工控网(http://www.gongkong.com)

手机扫描二维码分享本页

工控网APP下载安装

工控速派APP下载安装

 

我来评价

评价:
一般