【密码学】哈希函数-SHA

本文详细介绍了哈希函数的概念、特征及其在密码学中的应用,重点关注SHA-512算法的工作原理,包括消息填充、初始化、循环轮处理等步骤。同时,文章还对比了SHA与MD5的区别,并提到了SHA在Java中的实现方式。
摘要由CSDN通过智能技术生成

一、哈希函数

1.定义:

Hash函数将长度可变的数据块M作为输入,产生固定长度的Hash值h=H(M)。

2.特征:

(1)可变长度输入,固定长度输出;

(2)不可逆;

(3)小概率发生碰撞,只能减少碰撞概率,无法避免碰撞;

3.应用:

(1)消息认证;

(2)数字签名;

(3)登陆认证;

(4)入侵检测和病毒检测;

(5)构建伪随机函数和作为伪随机数发生器;

4.密码学Hash函数的安全性需求:

(1)固定长度输入,可变长度输出;

(2)效率高:哈希过程简单;

(3)不可逆;

(4)伪随机性:输出

(5)抗弱碰撞性:对给定的x,找到满足H(x)=H(y)且x≠y在计算上是不可行的;

(6)抗强碰撞性:找到任何满足H(x)=H(y)的数对(x,y)计算上是不可行的;

(5)和(6ÿ

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值