密码技术之一认证

密码技术之一认证

一、单向散列函数

概念

单向散列函数可以根据消息的内容计算出散列值,而散列值就可以被用来检查消息的完整性。
散列值跟用户输入长度无关,输出长度都是固定的;

单向散列函数也称为消息摘要函数( message digest function )、 哈希函数或者杂凑函数0
输入单向散列函数的消息也称为原像( pre-image )。

单向散列函数输出的散列值也称为消息摘要( message digest )或者指纹( fingerprint )。

实际用途

  • 检测软件是否被篡改

  • 基于口令的加密
    PBE 的原理是将口令和盐( salt, 通过伪随机数生成器产生的随机值 )混合后计算其散列
    值,然后将这个散列值用作加密的密钥。

  • 消息认证码HMAC
    使用单向散列函数可以构造消息认证码。
    消息认证码是将 “发送者和接收者之间的共享密钥” 和 “消息” 进行混合后计算出的散列
    值。使用消息认证码可以检测并防止通信过程中的错误、篡改以及伪装。

  • 数字签名
    数字签名是现实社会中的签名和盖章这样的行为在数字世界中的实现。数字签名的处理过
    程非常耗时,因此一般不会对整个消息内容直接施加数字签名,而是先通过单向散列函数计算
    出消息的散列值,然后再对这个散列值施加数字签名。

  • 伪随机生成器
    密码技术中所使用的随机数需要具备 “事实上不可能根据过去的随机数列预测未来的随机
    数列” 这样的性质。为了保证不可预测性,可以利用单向散列函数的单向性。

  • 一次性口令
    一次性口令经常被用于服务器对客户端的合法性认证。在这种方式中,通过使用单向散列函数可以保证口令只在通信链路上传送一次( one-time ),因此即使窃听者窃取了口令,也无法使用。

常见散列函数

MD4、MD5、SHA-1、SHA-256、SHA-384、SHA-512
SHA-256、 SHA-384 和 SHA-512都是由 NIST 设计的单向散列函数,它们的散列值长度分别为 256 比特、384 比特和 512 比特。这些单向散列函数合起来统称 SHA-2;

无法解决的问题

单向散列函数可以实现完整性的检查。单向散列函数能够辨别出 “篡 改”,但无法辨别出 &#

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值