物联网安全-单向散列算法

本文介绍了单向散列函数的概念、性质及典型应用,如消息完整性检测、伪随机数生成、消息认证码和数字签名。特别强调了SHA256算法在物联网安全中的重要性,由于其抗碰撞性和安全性,成为目前广泛使用的散列算法。同时,文章指出单向散列函数在面对消息伪装问题时的局限性,并提及了数字签名作为补充方案。

单向散列函数简介

概论

​  单项散列函数又称为安全散列函数或者哈希函数,可以将一段可变长度是输入数据转化为固定长度的一段输出值。 输入数据通常称为消息,输出数据通常称为消息摘要或者摘要,可用于检查消息的完整性。

​  常用的单向散列算法有MD4/5系列和SHA系列等。由于MD4、MD5算法都已被攻破,渐渐退出历史舞台,而SHA系列算法在物联网安全领域比较常见,特别是SHA256算法。

​  额外提一点,提到单向散列函数的特性,很多人一下子想到,我们经常使用到的CRC校验,例如将一段可变长度的数据经过CRC校验后,生成2个字节的校验值,那这个算不算是单向散列函数? 单从这个特性上看,CRC也算是单向单列函数,但是由于CRC不是完全单向性,从CRC值反推出满足要求的消息并不困难,所以CRC通常只用来对数据的完整性校验,而不能用来检查数据是否被恶意篡改。

单向散列函数性质

​  单向散列函数为消息产生了一个指纹,能够实现对消息的完整性检测,单向散列函数需要满足的性质如下:

  1. 输入长度可变: 输入为任意长度的消息

  2. 输出长度固定 输出的消息摘要长度固定

  3. 高效率 尽管长的消息计算时间相对会长一些,但整体计算速度还是很快的

  4. 单向性 给定消息可以算出摘要值,但根据摘要值反推出消息是不可行的

  5. 抗碰撞性 找到两个消息他们的摘要是相同的,在计算上是不可行的

单向散列函数使用方法

  1. A准备好消息数据
  2. A使用单向散列函数计算消息摘要
  3. A将消息和消息摘要一起发送给B
  4. B接收到消息和消息摘要后,使用单向散列函数计算消息的摘要。
  5. 对比接收到的消息摘要和自己计算出来的消息摘要是否一致。
  6. 如果一致则说明消息未被损
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网布道师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值