首页 > 其他 > 详细

哈希函数

时间:2020-05-11 17:37:41      阅读:65      评论:0      收藏:0      [点我收藏+]

单向函数

特点:正向很容易 逆向很难

定义:函数f:{0,1}*->{0,1}*若满足下列两个条件,则称之为强单向函数:

1.计算f(x)是容易的,即f(x)是多项式时间可计算的

2.计算f函数的逆f-1(x)是困难的,即对每一多项式时间概率算法M,每一多项式p(n)和充分大的n(n>n0)有

Pr{M(f(Un)∈f-1(f(Un))}<1/p(n)

 

Hash函数

把任意长变为固定短

消息是任意有限长度,哈希值是固定长度。

 

Hash函数要满足如下条件:

单向性(抗原像):对若干给定的消息,计算其哈希值容易.但是,对于给定的哈希值h,要找到M使得H(M)=h在计算上是不可行的。

弱抗碰撞(抗二次原像):对于给定的消息M1,要发现另一个消息M2,满足H(M1)=H(M2)在计算上是不可行的。

强抗碰撞找任意一对不同的消息M1,M2,使H(M1)=H(M2)在计算上是不可行的。

 

Hash函数的分类:

改动检测码MDC(Manipulation Detection Code)

不带密钥的哈希函数

主要用于消息完整性认证

消息认证码MAC(Message Authentication Code)

带密钥的哈希函数

用于消息源认证和消息完整性认证

 

Hash函数的用途:

消息完整性检测

消息源认证码

数字签名                 1.自己签很容易 2.别人很难模仿 3.一旦有纠纷 能被鉴别

Hash链可以用于口令认证(身份鉴别)

比特承诺等密码协议

哈希函数

原文:https://www.cnblogs.com/sjyu/p/12864726.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!