Hash函数理解

哈希函数(Hash)
 又称为 散列函数、散列算法、杂凑函数等
 是一种单向密码体制:从明文到密文的不可逆映射
 可将任意长度的输入变换为固定长度的输出
 生成消息的“数据指纹”(也称消息摘要或散列值),
在数据完整性认证和数字签名等领域有广泛的应用
分类:
 改动检测码MDC(Manipulation Detection Code)
 不带密钥哈希函数,检测消息有无篡改
 消息认证码MAC(Message Authentication Code)
 带密钥哈希函数,认证消息源真实性与消息完整性

对任意长度的输入消息,产生固定长度的输出
公式表示:
h=H(M)
M:任意长度的消息
H:哈希函数
h:固定长度的哈希值

性质:
 输入:任意有限长度消息;输出:固定长度哈希值
 可计算性:对于任意给定消息,计算哈希值容易
 单向性:对给定哈希值h,要找到M使 H(M)=h 在计算
上不可行
 抗弱碰撞性:对于给定消息M1,找到M2 ≠M1 ,且满足
H( M1 )=H(M2)在计算上是不可行的
 抗强碰撞性:找到任何满足H(M1)=H(M2)的消息对(M1,
M2),在计算上是不可行的

一般模型:
这里写图片描述

核心:
 设计无碰撞的压缩函数 f
 敌手对算法的攻击重点是f 的内部结构
 f 和分组密码一样是由多轮处理组成
 攻击者对各轮的位模式进行分析,找出 f 的碰撞
 f 是压缩函数,其碰撞不可避免
 设计f 时,应保证找出碰撞在计算上是不可行的
两个重要的迭代型哈希函数
 Hash算法众多,MD5(128位)和SHA(160位)最著名
 MD5、SHA-1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值