sha256算法可逆吗(解密超级计算机也无能为力)

简介: sha256算法可逆吗(解密超级计算机也无能为力)

最流行的计算机算法之一可能是SHA-256哈希函数。它是目前最流行、最强的加密函数之一。它非常强大,被用于比特币等加密货币。这是一个牢不可破的函数,由此产生的问题价值数千亿美元。

那么,是什么让这个哈希函数不可攻破呢?有几个因素我们需要讨论一下。首先,我们来看看SHA-256哈希函数。

SHA-256

SHA-256(安全哈希算法-256)是一个确定的单向哈希函数。它是美国国家安全局开发的SHA-2加密哈希函数的成员之一。到目前为止,它的256位密钥从未被泄露过。以前SHA-1是用于加密的散列算法。但是,随着时间的推移,SHA-1逐渐被弃用,它也不再被认为是安全的。所以SHA-2就被开发出来了。

2016年,SSL证书行业向SHA-2过渡,SHA-2成为新标准。SHA-256是SHA-2加密哈希函数的成员,从未被泄露。那么,它为何如此安全呢?我们马上就知道了。

它是如何工作的?

哈希函数只是将大量的信息转换成较小的随机数。SHA-256算法从给定的大随机数中生成一个小的随机数。但是,当相同的大数值通过哈希函数传递时,较小的数值总是相同的。

SHA-256非常安全,即使我们只改变了输入中的一位数字,输出也会完全改变。SHA-256返回一个十六进制表示,256位表示64个十六进制字符。无论输入多长,它总是返回64个字符的十六进制字符串。

还记得我说过SHA-256是一个确定的单向哈希函数吗?这意味着,它是一个数学函数,接受任意大小的输入,但返回固定大小的输出,就像文件或字符串的数字指纹。它是确定性的,因为相同的输入总是产生相同的输出。这是一种方法,因为很难向后执行操作,也就是说,从输出返回输入字符串。

以下是一些例子:

Input: hello

Output: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Input: Hello

Output: 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969

不管它的长度是多少,它都会返回一个64个字符的字符串。而且,即使是大写一个单词也会完全改变哈希值,我们不可能通过哈希函数,猜出" hello "和" Hello "很相似。

现在,您可以向哈希函数提供任何类型的输入,例如任意长度和大小的图像、文本、视频,它将生成精确为64个字符的输出。这就像是任何文件或字符串的数字指纹。

它的安全性如何?

获得相同哈希号的唯一方法是输入相同的文件或字符串。即使是一个小的调整也会完全改变输出。这就是它如此安全的原因。

你可以用这个算法尝试一些有趣的东西。你可以随便拍一张照片,通过SHA-256函数,输出的数字可能是人类历史上从未见过的。

千亿美元的问题是什么?

没人能找到逆转算法的方法。记得我说过这是单向的吗?这是因为几乎不可能逆转,至少在今天是这样。建立一个可以逆转SHA-256哈希的算法需要数十亿美元。

为什么它如此珍贵?

因为如果你能逆转SHA-256哈希,你就能比地球上任何人都更快地挖掘比特币。要挖掘比特币,你必须找到一个输入,它的输出是SHA-256,开头有70多个0。由于没有已知的公式来做到这一点,我们唯一的方法是通过蛮力计算。它只是尝试一系列不同的输入,直到我们找到一个可行的答案。

找到相同的哈希输入是不可能的(我将在后面解释),但是要挖掘比特币,您只需要匹配它的一小部分。所以,这是可能的。通过这种方式,在大约10分钟内,某个人在某个地方赚了12.5个比特币,差不多40万美元(截止2月1日价格)。

现在,像这样想,如果你有一个算法来找到一个输入,它将生成与给定哈希匹配的输出。你很快就会赚上不可估量的财产。

一些随机数据

我们已经建立了尽可能快地运行SHA-256算法的特殊机器。在整个世界,比特币矿工每秒运行60,000,000,000,000哈希!

声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
7天前
|
JavaScript 算法 前端开发
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
国标哈希算法基础:SHA1、SHA256、SHA512、MD5 和 HMAC,Python和JS实现、加盐、算法魔改
49 1
|
11月前
|
算法 C# 流计算
MD5、SHA256等Hash算法的实时计算
MD5、SHA256等Hash算法的实时计算
|
存储 算法 芯片
快速入门数字芯片设计,UCSD ECE111(七)enum枚举类型&优化SHA256哈希算法(二)
快速入门数字芯片设计,UCSD ECE111(七)enum枚举类型&优化SHA256哈希算法(二)
60 0
|
算法 安全 芯片
快速入门数字芯片设计,UCSD ECE111(七)enum枚举类型&优化SHA256哈希算法(一)
快速入门数字芯片设计,UCSD ECE111(七)enum枚举类型&优化SHA256哈希算法
77 0
|
存储 算法 数据处理
快速入门数字芯片设计,UCSD ECE111(六)SHA256哈希算法的状态机实现(二)
快速入门数字芯片设计,UCSD ECE111(六)SHA256哈希算法的状态机实现(二)
83 0
|
算法 安全 区块链
快速入门数字芯片设计,UCSD ECE111(六)SHA256哈希算法的状态机实现(一)
快速入门数字芯片设计,UCSD ECE111(六)SHA256哈希算法的状态机实现
126 0
|
存储 算法 Windows
用二叉树实现哈夫曼算法、哈夫曼树提升压缩比率及可逆压缩和非可逆压缩
用二叉树实现哈夫曼算法、哈夫曼树提升压缩比率及可逆压缩和非可逆压缩
59 0
|
算法 数据安全/隐私保护 Windows
WINDOWS对文件签名,算法如何由sha1改为sha256/sha512
WINDOWS对文件签名,算法如何由sha1改为sha256/sha512
270 0
|
算法 Go 数据安全/隐私保护
Go语言实现md4、md5、sha256哈希算法加密
目录 1. 哈希算法特点 2. 常用的哈希算法 3. go实现MD加密 3.1 MD4 3.2 MD5 3. go实现SHA加密 最后
619 0
Go语言实现md4、md5、sha256哈希算法加密

热门文章

最新文章