计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

MD5算法的快速硬件实现(1)

2015-01-02 01:38
导读:计算机应用论文论文,MD5算法的快速硬件实现(1)在线阅读,教你怎么写,格式什么样,科教论文网提供各种参考范例:摘 要 文章介绍了一种在FPGA上快速实现MD5算法的新方法,给出了优化设计的原理
摘 要 文章介绍了一种在FPGA上快速实现MD5算法的新方法,给出了优化设计的原理、实现的具体方法及其重要模块的设计实现方案。 关键词 MD5;FPGA;Verilog语言;集成电路;关键路径1 引言 随着电子商务和网络通信的发展,网络信息安全的重要性越来越显著,信息加密、数字签名、数据的完整性认证、身份验证等成为信息安全领域的重要内容。MD5算法本身是为数字签名应用而设计的,随后也应用在信息验证技术当中。作为应用最广泛的安全散列算法,MD5算法的高效实现就成为研究的需要,MD5算法本身可以采用软件实现,但其性能受到处理器件性能的制约不能满足网络通信带宽日益增长的要求,因而通过硬件实现高速MD5 运算就成为需要。2 MD5算法介绍 MD5 算法可以对任何长度不超过 264二进制位的消息产生128 位的单向散列消息摘要输出, RFC1321 标准中的MD5 算法主要步骤如下: 在一些初始化处理后,MD5以512位分组来处理输入文本,每一分组又划分为16个32位子分组。算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。 (1)附加填充比特:填充消息使其长度恰好为一个比512位的倍数仅小64位的数。即对报文进行填充使报文的长度(比特数)与448模512同余。填充方法是附一个1在消息后面接所要求的多个比特0。 (2)附加长度值:在其后附上64位的消息长度(填充前)。如果消息长度大于 264,仅使用该长度的低64比特。这样,该域包含的长度值为初始长度模264 的值。这两步的作用是使消息长度恰好是512位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充后不相同。 (3)初始化寄存器:四个32位初始化变量为: 它们也被称为链接变量(chaining variable) (4)进行算法的主循环:这一步是算法的核心,它是一个包含四个大循环的64步函数,四个大循环结构相同,但每次使用的逻辑函数不同,每一个大循环由对512比特的16步操作组成,即每16步为一轮大循环。 每次操作如下(设 Ai 1、Bi 1 、Ci 1 、Di 1 为第 1个时钟周期时打入寄存器的值): 以一下是每轮中用到的四个非线性函数(每轮一个)。 常数ti可以如下选择:在第i步中,ti是4294967296*abs(sin(i))的整数部分,i的单位是弧度。Wi是512位消息分组中的一个,Si是每次循环移位的次数。对每次而言也是固定的常数。 (5)结果输出:所有64步完成之后,将第64步的输出加到四个初始化变量上作为新的初始化变量,进行下一个512比特分组的运算,直到所有分组处理完毕,单次操作图如下:图1. MD5算法单步操作图共2页: 1 [2] 下一页 论文出处(作者): (科教作文网http://zw.nseAc.com)
基于OpenGL的实验室用滑动变阻器的设计与实现
具有相同机床的数控加工中心生产调度的优化算法
    上一篇:如何建立营销性企业网站(1) 下一篇:没有了