web安全实验
web安全实验
09388207 嵌软 严珺
1.MD5
1.1 MD5基本含义 MD5 and Password protection
MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。
将数据(如汉字)运算为另一固定长度值,是散列算法的基础原理,MD5的前身有MD2、MD3和MD4。
1.2 MD5算法
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
在MD5算法中,首先需要对信息进行填充,使其位长对512求余的结果等于448。因此,信息的位长(Bits Length)将被扩展至N*512+448,N为一个非负整数,N可以是零。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息的位长=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。
MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476。
当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。
将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。
主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向左环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。
以一下是每次操作中用到的四个非线性函数(每轮一个)。
F(X,Y,Z) =(X&Y)|((~X)&Z)
G(X,Y,Z) =(X&Z)|(Y&(~Z))
H(X,Y,Z) =X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&是与,|是或,~是非,^是异或)
这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的
你可能喜欢
- CMD命令行高级教程
- WEB安全测试
- 黑客入门教程
- 软件破解工具
- 入侵教程
- 网络攻防
- 软件破解教程
- CMD命令行高级教程4页
- CMD命令行高级教程精选合编56页
- CMD命令行高级教程50页
- CMD命令行高级教程精选合编3页
- CMD命令行高级教程精选合编8页
- CMD命令行高级教程精选合编86页
- WEB安全性测试3页
- Day1_WEB的应用安全测试93页
- 如何进行WEB安全性测试7页
- WEB安全测试分类及防范测试方法17页
- WEB系统安全性测试列表1页
- WEB安全性测试测试用例(基础)12页
- 鸿鹄论坛_黑客入门教程_基础_42页
- coolfire黑客入门教程系列之(八)9页
- coolfire黑客入门教程系列之(七)14页
- coolfire黑客入门教程系列之(六)8页
- coolfire黑客入门教程系列之(五)7页
- coolfire黑客入门教程系列之(四)10页
- 入侵检测技术教程5页
- 一份很详尽的IPC入侵教程12页
- 139端口入侵简易教程2页
- 华夏菜鸟入侵教程3页
- unix入侵教程 (79端口)5页
- 入侵网站教程3页
- 网络攻防技术技能试卷4页
- 网络攻防环境搭建36页
- 网络攻防技术原理与实战---第一次作业13页
- 网络攻防控制之建模15页
- 网络安全-ARP攻防9页
- 实验 网络攻防之远程控制实验7页


