基于FPGA的改进DES算法的实现*
2011-08-13张捍东朱明慧
电子技术应用 2011年4期
张捍东,朱明慧
(安徽工业大学 电气信息学院,安徽 马鞍山 243002)
为了解决数据在网络通信中的安全传输问题,通常采用分组加密技术对数据信息进行加密保护,其中最具有代表性的是数据加密标准DES。DES加密算法已成为应用非常广泛的一种分组对称加密算法,该算法具有极高的安全性。到目前为止,除了穷举搜索法对DES算法进行攻击外,还没有发现更有效的方法。目前,DES算法广泛应用于卫星通信、网关服务器、网络通信设备、智能卡(IC卡)等领域[1]。其实现方法通常分为软件实现和硬件实现两种,由于软件实现时速度较慢,最快速度不到150 Mb/s[2],且利用软件实现 DES算法在安全性方面也存在隐患,而应用硬件实现则可以克服以上的问题。现场可编程门阵列(FPGA)在算法实现方面具有灵活性、物理安全性,相对于软件实现,在速度和性能上具有明显的优势。
DES算法是以多轮的密钥变换轮函数、子密钥和数据异或运算的轮函数为特征,相应的硬件实现方法有两种:一种是通过轮函数的16份硬件拷贝,达到深度细化的流水线处理,实现性能最优;另一种是通过时分复用,重复调用1份轮函数的硬件拷贝,以时间换空间,从而得到硬件资源占用的最小化。通过对系统的性能和资源占用进行综合考虑,本文采用资源优先方案。
采用此方案系统消耗的资源较少,但运行速度受限。改进的方法是采取在轮函数内部设置流水线结构来提高整体处理的速度,同时子密钥变换轮函数提供子密钥,应与迭代轮函数保持同步工作状态,以减少迭代运算带来的等待延迟。……
登录APP查看全文
