导图社区 哈希函数做题笔记
这是一篇关于哈希函数知识点归纳总结的思维导图。该思维导图归纳总结了哈希函数的概念和相关知识点吗,以及它们的做题方法和技巧,比较方便适用,适用于备考。
这是一篇关于高等数学的思维导图。该思维导图归纳整理了关于这一部分的知识点,包括 二重极限、重积分 、曲线积分、曲面积分等。
这是一篇关于多元积分学及其应用的做题笔记。该思维导图比较系统全面地归纳总结了关于多元积分的基础知识以及解题方法与技巧,有利于期末备考复习。
这是一篇关于大学高等数学知识点总结的思维导图。该思维导图归纳总结了极限,导数,微分,中值的知识点以及相应例题的分析,非常有料。
社区模板帮助中心,点此进入>>
英语词性
法理
刑法总则
【华政插班生】文学常识-先秦
【华政插班生】文学常识-秦汉
文学常识:魏晋南北朝
【华政插班生】文学常识-隋唐五代
【华政插班生】文学常识-两宋
民法分论
日语高考動詞の活用
HASH函数
定义/性质
定义
通常记为H,用于将任意长的消息M映射为较短的、固定长度的一个值
函数记为:h=H(M)
又名散列函数、杂凑函数、哈希函数、散列算法
性质
单向性
对任意给定的h, 寻求x使得H(x)=h在计算上是不可行的
弱碰撞性
任意给定的x, 寻求不等于x的y, 使得H(y)= H(x)在计算上不可行
2010 密码学 真题 一 8
强碰撞性
寻求对任何的(m,m')对使得H(m)=H(m')在计算上不可行
攻击方法
生日攻击
第1类攻击
第2类攻击
生日悖论
MD5/SHA-1
MD5
步骤
step1
补位(填充)
使长度变成N*512+448
即便原始长度是N*512+448也要进行一次补位
填充的方法
在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充
原始长度为N*512+448时
在这个结果后面附加一个以64位二进制表示的填充前信息长度(单位为Bit)
step2
初始化变量
初始的128位值为初试链接变量,这些参数用于第一轮的运算,以大端字节序来表示
step3
压缩处理
详见密码ppt->3.6-Hash函数 53-56
SHA-1
概念
输入
最大长度为2^64bit
处理
以512位数据块为单位
输出
160bit
其他
一个算法摘要标准
添加填充位(一个1和若干个0)
在消息的最后添加,使得数据长度满足length=448mod512
不论多长,必须填充
添加长度
一个64位块,表示原始消息长度,64位无符号整数
初始化MD缓冲区
一个160位MD缓冲区用以保存中间和最终Hash函数的结果
可表示为5个32位的寄存器(A,B,C,D,E)
step4
以512位数据块为单位处理消息
四轮,每轮20步。四个基本逻辑函数
step5
输出。全部L个512位数据块处理完毕
几种算法比较
分析题
MD5和SHA-1优缺点
1
信息摘要
SHA-1比MD5更难找到碰撞,因为其信息摘要为160bit
2
进行轮数
SHA-1比MD5进行轮数要多,所以SHA-1要慢一些
用途
文件快速检索(百度网盘秒传,数字指纹信息)
消息完整性检测
Hash链用于口令认证
数字签名(速度快;防止消息伪造)
消息源认证(MAC)
构建随机数发生器
消息认证码
用法
消息认证(HMAC) 【不带密钥的哈希函数】
主要用于消息完整性
E为加密
机密性认证(MAC) 【带密钥的哈希函数】
主要用于消息源认证和消息完整性
对明文的认证
D为解密
H为哈希函数
对密文的认证