当前位置:首页 > 物联网 > 区块链
[导读] 什么是哈希? 加密哈希函数是在数字数据上运行的数学运算。在比特币中,所有操作都使用SHA256作为底层加密哈希函数。 安全哈希算法是由美国国家安全局(NSA)设计的一套加密哈希函

什么是哈希?

加密哈希函数是在数字数据上运行的数学运算。在比特币中,所有操作都使用SHA256作为底层加密哈希函数。

安全哈希算法是由美国国家安全局(NSA)设计的一套加密哈希函数。

简单地说,哈希函数就像一个黑盒子,在这里输入任何大小的数字信息,结果(输出)是一个字母数字字符串(例如:0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855)。对于SHA-256,输出是32字节。该函数有两个特点:

1)毫不含糊:哈希 (输出)就像输入数据的指纹。因此,从数字输入的哈希中,您无法创建原始数字输入。

2)抗冲突:任何人都不可能能够找到导致相同哈希输出的两个不同输入值。换句话说,对于任何不同的输入,总会有不同的输出。这允许使用这个函数来检查数据完整性,通过将计算的“哈希”(算法执行的输出)与已知和期望的哈希进行比较,可以确定数据的完整性。例如,计算下载文件的哈希,并将结果与之前发布的哈希进行比较,可以显示下载是否被修改或篡改。

但是为什么哈希在区块链中如此重要呢?

这是挖矿过程和矿工职责的一部分: 矿工获取一些交易并将其用作输入的一部分,他们试图计算一个哈希函数来为链提供一个新的块。

加密哈希算法有很多。下面列出了一些相对经常被引用的算法。可以在包含加密哈希函数比较的页面上找到更广泛的列表。

MD5

MD5是由Ronald Rivest在1991年设计的,用于替换以前的哈希函数MD4,并在1992年指定为RFC 1321。对MD5的冲突可以在几秒钟内计算出来,这使得该算法不适合大多数需要加密哈希的用例。MD5生成128位(16字节)。

SHA-1

SHA-1是美国政府Capstone项目的一部分。该算法的最初规范——现在通常称为SHA-0——由美国政府标准机构NIST(国家标准与技术研究所)于1993年以“安全哈希标准FIPS PUB 180”的名义发布。它在出版后不久就被美国国家安全局撤回,并被1995年在FIPS PUB 180-1(通常称为SHA-1)上出版的修订版所取代。SHA-1生成一个160位(20字节)的哈希。

文档可能只将SHA-1称为“SHA”,这可能与其他标准哈希算法(如SHA-0、SHA-2和SHA-3)相冲突。

RIPEMD - 160

RIPEMD (RACE Integrity Primitives EvaluaTIon Message Digest)是由比利时鲁汶大学(Katholieke Universiteit Leuven) COSIC研究小组的Hans DobberTIn、Antoon Bosselaers和Bart Preneel在鲁汶开发的一个加密哈希函数,于1996年首次出版。RIPEMD基于MD4中使用的设计原则,其性能类似于更流行的SHA-1。然而,RIPEMD-160并没有被破坏。顾名思义,RIPEMD-160生成160位(20字节)的哈希。

Whirlpool

在计算机科学和密码学中,Whirlpool是一个加密哈希函数。它是由Vincent Rijmen和Paulo s.l. M. Barreto设计的,他们在2000年首次描述了它。Whirlpool是基于一个基本修改版本的高级加密标准(AES)。Whirlpool生成一个512位(64字节)的哈希。

SHA-2

SHA-2(安全哈希算法2)是由美国国家安全局(NSA)设计的一组加密哈希函数,于2001年首次发布。它们是使用merker - damgard结构(来自单向压缩函数本身)构建的,使用分类的专用块密码器中使用的Davies结构来构建。

SHA-2基本上由两种哈希算法组成:SHA-256和SHA-512。SHA-224是SHA-256的一个变体,具有不同的初始值和截断的输出。SHA-384和不太为人所知的SHA-512/224和SHA-512/256都是SHA-512的变形。在AMD64等64位上,SHA-512比SHA-256更安全,而且通常比SHA-256更快。

以位为单位的输出大小由“SHA”名称的扩展名给出,因此SHA-224的输出大小为224位(28字节),SHA-256生成32字节,SHA-384生成48字节,最后SHA-512生成64字节。

SHA-3

SHA-3 (Secure Hash Algorithm 3)于2015年8月5日由NIST发布。SHA-3是更广泛的Keccak的一个子集。Keccak算法是Guido Bertoni、Joan Daemen、Michael Peeters和Gilles Van Assche的成果。Keccak基于sponge 结构,sponge 结构还可以用于构建其他加密原语,如流cypher。SHA-3提供与SHA-2相同的输出大小:224、256、384和512位。

还可以使用SHAKE-128和SHAKE-256函数获得可配置的输出大小。这里名称的-128和-256扩展表示函数的安全强度,而不是以位为单位的输出大小。

BLAKE2

2012年12月21日,布莱克的改版产品BLAKE2发布。它是由Jean-Philippe Aumasson、Samuel Neves、Zooko Wilcox-O ‘Hearn和ChrisTIan Winnerlein创建的,目标是取代广泛使用的MD5和SHA-1算法。当运行在64x64和ARM架构上时,BLAKE2b比SHA-3、SHA-2、SHA-1和MD5更快。尽管BLAKE和BLAKE2还没有被标准化为SHA-3,但它已经在许多协议中使用,包括argon2加密哈希,因为它在现代cpu上提供了很高的效率。由于BLAKE是SHA-3的候选对象,BLAKE和BLAKE2都提供了与SHA-3相同的输出大小——包括可配置的输出大小。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭