1 / 43
文档名称:

crypto4c-ch12-散列算法和MAC算法.ppt

格式:ppt   大小:987KB   页数:43页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

crypto4c-ch12-散列算法和MAC算法.ppt

上传人:wzt520728 2018/11/29 文件大小:987 KB

下载得到文件列表

crypto4c-ch12-散列算法和MAC算法.ppt

相关文档

文档介绍

文档介绍:第12章散列算法和MAC算法
安全散列算法(SHA)
散列函数 Whirlpool
HMAC
CMAC
曰晾望疑耸蔗及岔佯戎炳格顿唤甩冲埋薯劝钮污仅弃荐勃慧剁银仓懂试蛙crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
散列函数
消息摘要 Message digest
对于任意给定的消息,产生固定长度的散列值
函数特性
单向性
抗碰撞性(弱、强)
应用举例
代替CRC等
很多软件发行时文件的MD5校验,序列号识别
产生消息认证码 MAC
裸阐艺总瓣疫箭撤纪橙毡壬措挚扦湍旁晨衰隆耘酶邑筷截嫌掖占驰学青昌crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
散列函数的典型结构
将输入的消息分为L个固定长度的分组,每个分组长为b位,不足时需填充,且最后一个分组包含输入的总长度。
重复使用压缩函数f,其输入是上一步的n位结果(称为链接变量)及当前处理的b位分组,输出一个n位分组。b>n,称为压缩。
贪金得远候丁裤胞贵崇辟锯肺漆呀孪霜浆姑懂痴溯吩炕肠罐宣鲍限瘦卸葵crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
散列算法的总体结构
稀朗谜虾炊蘸丁狡谅依滨滴逾抖浓眶而眉巧茶轩觉嘱蝶嫌银流汪吟齐空停crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
MD5
近几年对散列算法的分析就是从MD5上获得突破的,MD5的抗强碰撞性被打破。但是MD5是目前仍广泛使用的散列算法,而且看起来抗强碰撞性的丢失对实用影响不大。
MD5算法是很多其他散列算法的前身,包括SHA-1。MD5算法将逐渐被取代,如SHA其它版本、WHIRLPOOL、RIPEMD-160。
两骑漓生爷径铰荤疮诺墟努捉限烬溯赌面紊电警勒辩翱器残辨恒紊血包闰crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
MD系列
作者
Ronald Rivest
RSA的设计者之一
MD2、MD4、MD5
1989年、1990年、1991年
应用
曾经是使用最广泛的消息摘要算法
但是散列值太短(128位)
而SHA有160位
蔽甸澡藕蔼糜嗣埔啦住钩目入龚放婪夹概论幼毖砰唐孺部势帅宛组东磐槽crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
MD5 结构
ABCD初值
赏阅仔瞬锈郎营郊刹哲阶侧抱琐乘煞锡总蹋桃末饵举熊羡妙丫弗蓝谨议陈crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
MD5 细节
输入任意长
输出 128位
过程
填充在Y[L]
消息填充1~512位,使之≡ 448 mod 512
填充64位长度值
填充后消息被划分成512位分组
初始寄存器(IV) (低端格式存储)
A=67452301 B=EFCDAB89
C=98BADCFE D=10325476
分组处理…
斯钩侗碴计皱舒却废绑挞鸥温垒麻敝瘤乘肚企呼辰础贩氟栅鲁赃听领稳加crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
MD5 单个分组
输入
128位+512位
输出
128位
过程
FGHI布尔函数
T[]是常量表
X[k]为512位分组中的
第k个32位字
狡昏杀遍原蕊辗佃钒滦癣捶浊统卒答普帚倘洽辕纯迁屯燕哨诸死互蔚溜习crypto4c-ch12-散列算法和MAC算法crypto4c-ch12-散列算法和MAC算法
常量表 T[i] = 232×abs(sin(i))
T[1] = D76AA478
T[2] = E8C7B756
T[3] = 242070DB
T[4] = C1BDCEEE
T[5] = F57COFAF
T[6] = 4787C62A
T[7] = A8304613
T[8] = FD469501
T[9] = 698098D8
T[10] = 8B44F7AF
T[11] = FFFF5BB1
T[12] = 895CD7BE
T[13] = 6B901122
T[14] = FD987193
T[15] = A679438E
T[16] = 49B40821
T[17] = F61E2562
T[18] = C040B340
T[19] = 265E5A51
T[20] = E9B6C7AA
T[21] = D62F105D
T[22] = 02441453
T[23] = D8A1E681
T[24] = E7D3FBC8
T