MD5加密(regard this as null,write it later)

MD5(MD:messagedigest,信息摘要)
1990年10月,著名密码学家R.L.Rivest在MIT(Massachusetts Institute of-Technology)提出了一种Hash函数,作为RFC1320(RFC:互联网研究和开发机构工作记录)公开发表,称为MD4

MD5是MD4的改进版本, 于1992年4月作为 RFC 1321公开发表

MD5 细节
Step 1) 填充消息: 10…0, 使消息长度等于448 mod 512
Step 2) 添加明文长度(64位)
Step 3) 初始化4个字(128 bits)的寄存器(A, B, C, D) A = 67452301
B = EFCDAB89 C = 98BADCFE D = 10325476
Step 4) 消息由512-bits 数据块(Y0,Y1,…,YL-1)处理 4 轮, 每轮16次迭代
1轮:每一轮处理16个子块. 每一轮的输入如下:
1)16个子块; 2) 寄存器ABCD中的值; 3) 常量T
总流程
在这里插入图片描述
每轮中的1次迭代:
BB + ((A + g(B,C,D) + M[k] +T[i])<<<s)
在这里插入图片描述
MD5 压缩函数
每一轮有16次迭代,每1次迭代形如:BB + ((A + g(B,C,D) + M[k] +T[i])<<<s)
g():4轮都不同的非线性函数 (F,G,H,I)
第一轮:F(X,Y,Z) = (X&Y)|((¬X)&Z)
第二轮:G(X,Y,Z)=(X&Z)|(Y&(¬Z))
第三轮:H(X,Y,Z)=XYZ
第四轮:I(X,Y,Z) = Y^(X|Z))
M[k] =第q个512-bits数据块的第k个字
T[i] = T盒的第i个32-bits字 (T[i]=232*abs(sin(i)))(常量)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值