摘要算法

来源:互联网 发布:smb端口号 xp 编辑:程序博客网 时间:2024/05/21 07:01
       摘要算法是一种能产生特殊输出格式的算法,这种算法的特点是:无论用户输入多少长度的原始数据,经过计算后输出的密文都是固定长度的,这种算法的原理是根据一定的运算规则对原数据进行某种形式的提取,这种提取就是摘要,被摘要的数据内容与原数据有密切联系,只要原数据稍有改变,输出的“摘要”便完全不同,因此,基于这种原理的算法便能对数据完整性提供较为健全的保障。但是,由于输出的密文是提取原数据经过处理的定长值,所以它已经不能还原为原数据,即消息摘要算法是不可逆的,理论上无法通过反向运算取得原数据内容,因此它通常只能被用来做数据完整性验证。
        如今常用的“消息摘要”算法经历了多年验证发展而保留下来的算法已经不多,这其中包括MD2、MD4、MD5、SHA、SHA-1/256/384/512等。
        常用的摘要算法主要有MD5和SHA1。D5的输出结果为16字节(128位),SHA1的输出结果为20字节(160位)。
        MD5算法: 
        对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。     
1、首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至(L-1)*512+448,即(L-1)*64+56个字节(Bytes)。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。
2、然后在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=(L-1)*512+448+64=L*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。     
3、MD5中有4个32位被称作链接变量(Chaining Variable)的整数参数,它们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。 它们连接起来作为IV。    
4、当设置好这四个链接变量后,HMD5开始进入算法的四轮循环运算。
5、循环的次数是信息中512位信息分组的数目,即L次循环。
        SHA-1算法:
1、首先需要对信息进行填充,使其字节长度对512求余的结果等于448。因此,信息的字节长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。 
2、附加消息长度,与MD5第二步类似,不同的是以大端(最高有效字节/位存储于低地 址字节/位)方式来表示消息被填充前的长度。  
3、对消息摘要缓冲区初始化,算法使用160比特长的缓冲区来存储中间结果和最终散列值,将缓冲区表示成5个32比特长的寄存器A、B、C、D、E,每个寄存器以大端方式存储数据,初始值为(十六进制,高位字节在前)A=67452301,B=EFCDAB89,C=98BADCFE,D=10325476,E=C3D2E1F0。  
4、以分组为单位对消息进行处理,每一个分组都经过压缩函数HSHA处理;HSHA有4轮处理过程,每一轮又有20步迭代;4轮处理过程的处理结构一样,所用逻辑函数不同,分别表示为f1、f2、f3、f4;每轮的输入为当前处理的消息分组和缓冲区当前的值,输出仍存放在缓冲区中。最后第四轮的输出与第一轮输入的缓冲区值V相加,相加时将V看做5个32比特的字,每个字与第四轮输出的对应的字按模232相加,相加结果为HMD5的输出。
5、消息的所有分组均被处理完后,最后一个HSHA的输出即为产生的160位消息摘要。

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 因为飞机延误耽误行程怎么办 伤了朋友的心怎么办 羊蹄被绳子缠肿了怎么办 新老师教的不好怎么办 跟老公三观不合怎么办 突然有社保补扣怎么办 街头篮球篮板反应慢怎么办 换水了龙鱼顶缸怎么办 压着眼睛睡觉醒来模糊怎么办 天热眼睛有眼屎怎么办 眼睛里膜起来了怎么办 眼睛一边大一边小怎么办 眼白膜鼓起来了怎么办 主持问答环节没人提问怎么办 转学原学校不给怎么办 村长借东西不还怎么办 村长不上报建房申请怎么办 村长不上报建房手续申请怎么办 村长不给村民盖章怎么办? 找村干部办事难怎么办 洪洞县村长不给我盖章怎么办 睾丸穿刺取精只配到6个胚胎怎么办 孩子一只耳朵听不到声音怎么办 孕早期孕囊生长慢怎么办 试管2次不着床怎么办? pescm球员年龄大了怎么办 实况足球俱乐部经理球员老了怎么办 你不是我的菜怎么办 苹果平板电脑耳机有回音怎么办 obs直播有电流音怎么办 语音里网吧很吵怎么办 电脑k歌有延迟怎么办 想开个跆拳道馆怎么办营业执照? 壶嘴拐弯处漏水怎么办 裂纹茶壶嘴坏了怎么办 小孩刚上学怕她上火怎么办 在幼儿园小朋友不愿叠衣服怎么办 孩子在家听话幼儿园不听话怎么办 变魔术时观众说看过这个怎么办 孕妇8个月摔跤了怎么办 孩子吃了残奶怎么办