主页 > imtoken官网网址 > 【小白介绍】比特币使用的SHA256算法是什么? (上)

【小白介绍】比特币使用的SHA256算法是什么? (上)

imtoken官网网址 2023-07-26 05:08:21

据说比特币是一种加密货币。既然被称为加密货币怎么选择比特币算法原理,那么比特币必然与加密技术有关。说了这么多,加密技术包含了很多内容,那么比特币使用了什么样的密码技术呢?从整个比特币设计中我们可以看出,比特币系统中有一个比较重要的加密算法,就是SHA256算法。

SHA256的中文全称是“Secure Hash Algorithm”。所谓“hash”就是Hash的音译,Hash的意思是执行Hash函数。一般来说,Hash函数的运算有一个共同的特点。即无论原始数据有多少位,只要进行Hash运算,结果的长度是固定的。

概念往往是抽象的,所以我们用一个生动的例子来说明。如果我们去图书馆借一本书,我们会发现不管是什么书,书的侧面都会有一个便签,而便签上通常都有对应书的编号。为了便于管理,这些数字的长度通常相同。这种情况与Hash函数非常相似。我们可以把进入Hash函数之前的数据当成书。这些书的字数不一,有的几万字,有的几十万字。但是这些数据一旦经过Hash函数处理后,都变成了相同长度的数字。

并且这些编码必须满足以下要求:

一、输入Hash函数前的数据和数据经过Hash函数处理后得到的数字必须一一对应。

二、中每个数字的长度是固定的。

文章三、我们无法通过数字反转数据的内容。

Hash函数有很多种,包括SHA224、SHA256、SHA384、SHA512、SHA512/224、SHA512/256等。但是比特币只使用 SHA256。这个 256 表示函数运算后的数据结果必须是 256 位的二进制数。也就是类似这样的结果:“001100...11011”,总共有256位。

在比特币中,为什么要将数据转换为 256 位数字?其实之所以选择SHA256,主要是为了验证两个文件是否相等。

示例:商业间谍获得了一份重要的商业报告。但间谍担心商业报告在网上传递时会被截获和更改。于是对这个商业秘密进行了处理,通过SHA256运算生成了一个值,我们暂且称之为A1。

间谍随后将业务报告和A1通过电子邮件发送,并在邮件中注明:“为防止他人修改业务报告,报告下载后,请对报告进行SHA256计算,然后看看计算结果是否和A1一致,如果和A1完全一样,说明这个业务报表没有被别人篡改过,如果和A1不同,说明你下载的报表很可能是被他人篡改。”

中本聪在设计比特币时之所以选择 SHA256,主要是因为 SHA256 在验证变化方面具有巨大优势。因为只要输入的数据有细微的差别,SHA256计算出来的值就会有很大的差距。

比如下面三句话,虽然原文略有不同,但是经过Hash函数处理后会造成SHA256值的巨大差异,而且这种差异是不规则的。

原文1:动作不丢失,通俗易懂。

S1:284c4ddd2e5ef97924cc70e90cd02fd792e3fd62

原文3:动静,通俗易懂

S2:991780940ced6e6f910013f2ba2ac732e23601ef

原作3:动与静 迷失易懂

S2:62e07ce4d7d529a6268841d521bf882d3b385199

SHA安全加密标准是世界上使用最广泛、相对安全的压缩算法之一。组织联合开发。该算法于 1993 年 5 月 11 日被美国 NIST 和 NSA 设定为加密标准。

那么在比特币系统中,中本聪在哪里使用了 SHA256 算法?对于这个问题怎么选择比特币算法原理,我们下次再分解。