[发明专利]基于容错的MD5全流水硬件加密方法无效
申请号: | 201110177114.X | 申请日: | 2011-06-28 |
公开(公告)号: | CN102222204A | 公开(公告)日: | 2011-10-19 |
发明(设计)人: | 窦勇;胡绵江;倪时策;李荣春;吕启 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F21/24 | 分类号: | G06F21/24 |
代理公司: | 湖南省国防科技工业局专利中心 43102 | 代理人: | 冯青 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 容错 md5 流水 硬件 加密 方法 | ||
技术领域
本发明涉及一种可容错的全流水的消息摘要(MD5)硬件加密方法和MD5运算器件。
背景技术
随着FPGA技术的兴起,许多安全加密算法都被硬件化以提高计算速度和安全性。MD5数字摘要算法在网络安全的诸多方面都得到广泛的应用,由于其串行计算的特点,对MD5算法的加速并不像其它具有并行操作算法那样容易实现。又由于硬件的容错设计需要消耗大量的硬件资源还会降低运算吞吐率,因此MD5的高吞吐率的且具有容错功能的硬件实现方法并不多见。
在这种背景下,期望一种有超高吞吐率并具有容错功能的MD5硬件加密方案。
发明内容
本发明为了找到一种具有容错能力且具有超高吞吐率的MD5硬件加密方法,对MD5加密运算进行了结构拆分,提供了一种64级全流水的硬件运算结构,并针对单粒子翻转(SEU)等常见数据错误进行了容错加固。
本发明主要包括两个步骤:
首先是对MD5加密运算的64个步骤进行全展开,实现中每一个步骤使用一个单独的运算单元。在该单元中,输入算法中相应步骤中特定的参数并使用特定的运算公式,各单元的计算公式见表1,各公式中的参数值见表2;64个功能独特的单元按照一定顺序依次连接,数据块经过这64个器件的处理就相当于经过了MD5的64轮加密运算。数据分组被分为16个32位的字,当第1个数据分组从初始单元流出以后,第2个数据分组便可以进入初始单元。数据分组被分为16个32位的字,当数据分组流入初始,初始取出第一个字X0进行表1所示公式计算,得到一个结果作为单元1的b输入,同时将数据分组全部交给单元1;单元1取出第二个字X1(以后每个单元取出的字见表2所示)进行表1所示公式计算,得到结果作为单元2的b输入,同时将数据分组全部交给单元2,以此类推,直到单元63将a,b,c,d四个链接变量全部输出(链接变量的初始值见附图1的说明,传递过程见附图4的说明),4个链接变量的组合即是运算结果。在使用时,a、c、d和T从参数列表里提取出以后马上进行海明码解码,然后再投入使用,b变量被同时提取出3个副本,通过一个按位三模表决器,选出正确的b值投入运算。
在以上的过程中,当第1个数据分组从初始单元流出以后,第2个数据分组便可以进入初始单元,以此类推,当第1个数据及其计算结果分组从单元63流出的时候,第2个数据分组刚好从单元62流出,第3个数据分组从单元61流出,……,第64个数据分组从初始单元流出,而第65个数据分组正准备进入初始单元。以此便实现了MD5加密算法的流水化。
其次,根据SEU可能发生的位置进行了海明码容错加固;将运算部件进行三模冗余加固,最终在64个步骤中都进行了这样的容错加固。
本发明中的MD5运算过程不需要复杂的控制逻辑,整个流水线中的数据有效性仅与一个使能信号绑定。因此大大降低了控制逻辑的出错几率,也避免了加固控制逻辑所产生的延迟。
根据本发明,可以实现每一轮运算都能高度容错的MD5加密,并且当数据充满流水线后能够达到数十Gbps的超高吞吐率。
本发明的优点在于:假设待加密的数据长度都不超过一个数据分组,这样一个数据分组走完流水线就完成了整个文本的加密处理,不再需要将结果反馈到流水线的开头部分。考虑到MD5加密主要应用在用户名和登录口令的加密上,一个数据分组的长度(448bit,56个字符)对于绝大多数口令系统都足够长,因此本发明的适用范围仍然比较广泛。并且,在这样的假设下,64级流水线最高可以达到平均一个节拍处理完一个512bit文本的吞吐率。在xlinxISE 10.1平台下布线所得频率为127MHz,折算出吞吐率为65Gbps。
附图说明
图1是一般的MD5加密的总体结构说明图。
图2是一般的MD5运算轮循的结构示例图。
图3是本发明的MD5运算步骤的结构示意图。
图4是本发明的未加入容错设计的运算单元结构图。
图5是本发明的初始运算单元结构图。
图6是本发明的一般运算单元结构图。
图7是本发明中运算器部件的内部结构。
图8是本发明中非线性函数部件的内部结构。
具体实施方式
符号说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110177114.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:呼叫排序编号的通知系统
- 下一篇:程序死锁检测方法和系统