赞
踩
本章将介绍通过Quartus软件实现MD5(英文:MD5 Message-Digest Algorithm )不可逆校验算法。内容主要包括:ROM的基本使用、MD5原理理解、Verilog语法理解。
通过本章的阅读,读者将会完全掌握对MD5原理及算法编写的流程,并体会到Verilog是一款对位拼接极强的语言。
计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护,是计算机广泛使用的哈希算法之一,常常应用于账号登陆密码保护、文件包检验、数字签名、云盘秒传、大型文件数据传输、安全访问认证、、登录认证、指纹解锁、撞库。之所以可以广泛使用不得不提到MD5的性质:压缩性、容易计算、抗修改性、弱抗碰撞、弱抗碰撞。
举个栗子:当我们在网络上下载文件时,如果想知道下载的这个文件和网站的原始文件是否一模一样,就可以给自己下载的文件做个MD5校验。如果得到的MD5值和网站公布的相同,可确认所下载的文件是完整的。如有不同,说明下载的文件是恶意被他人篡改过是不完整的而且很有可能带有病毒。
MD5就是把一串字符串转成512固定的bit(64字节),一个字节的长度是8bit,我们先将数据包分割成每64字节为一个分组,这样可以被分割成N*512+R,我们对R进行补位,让它变成512位(第一位补1,后面全部补0)。
①填充:如果输入信息的长度(bit)对512求余的结果不等于448,就需要填充使得对512求余的结果等于448。填充的方法是填充一个1和n个0。填充完后,信息的长度就为N512+448(bit)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。