密码学知识之hash算法

Posted 区块链虚拟币

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了密码学知识之hash算法相关的知识,希望对你有一定的参考价值。

密码学在信息技术领域的重要地位无需多言,如果没有现代密码学的研究成果,人类社会根本无法进入信息时代。


密码学领域十分繁杂,本文简单介绍一下hash算法。


定义:

hash (哈希或散列) 算法是信息技术领域非常基础也非常重要的技术。它能任意长度的二进制值(明文) 映射为较短的固定长度的二进制值(hash 值) ,并且不同的明文很难映射为相同的 hash 值。


举例:

也就是"hello,  my card is 123456"(明文)通过hash算法后就变成了“49883a2ef85dc81b90fb606”(hash 值),hash值我们是看不懂的。



一个优秀的 hash 算法,要能达到以下几点:

  • 正向快速:给定明文和 hash 算法,在有限时间和有限资源内能计算出 hash 值。

  • 逆向困难:给定(若干) hash 值,在有限时间内很难(基本不可能) 逆推出明文。

  • 输入敏感:原始输入信息修改一点信息,产生的 hash 值看起来应该都有很大不同。

  • 冲突避免:也称为抗碰撞性,很难找到两段内容不同的明文,使得它们的 hash 值一致(发生冲突) 。


我们常接触的hash算法有哪些?

  • MD5

  • SHA-1

  • SHA-2

以上算法都属于算力敏感型的,意味着计算资源是瓶颈,所以硬件设备计算能力越强,执行算法的能力就越厉害。




分享最有价值的精选资讯给您。



以上是关于密码学知识之hash算法的主要内容,如果未能解决你的问题,请参考以下文章

常见用户密码加密方式之特殊的单向HASH算法

区块链与密码学原理之:Hash算法的分类和原理浅析

区块链中的加密算法:Hash算法之SHA256算法

HASH算法简介

HASH算法简介

从零到壹学习密码学第二讲:hash 算法