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哈希!

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

相关文章
|
12月前
|
存储 算法 Windows
用二叉树实现哈夫曼算法、哈夫曼树提升压缩比率及可逆压缩和非可逆压缩
用二叉树实现哈夫曼算法、哈夫曼树提升压缩比率及可逆压缩和非可逆压缩
49 0
|
12天前
|
机器学习/深度学习 人工智能 算法
基于DCT和扩频的音频水印嵌入提取算法matlab仿真
本文介绍了结合DCT和扩频技术的音频水印算法,用于在不降低音质的情况下嵌入版权信息。在matlab2022a中实现,算法利用DCT进行频域处理,通过扩频增强水印的隐蔽性和抗攻击性。核心程序展示了水印的嵌入与提取过程,包括DCT变换、水印扩频及反变换步骤。该方法有效且专业,未来研究将侧重于提高实用性和安全性。
|
27天前
|
机器学习/深度学习 算法
【MATLAB】GA_BP神经网络时序预测算法
【MATLAB】GA_BP神经网络时序预测算法
35 8
|
2天前
|
算法 数据安全/隐私保护 计算机视觉
基于DCT变换的彩色图像双重水印嵌入和提取算法matlab仿真
**算法摘要:** - 图形展示:展示灰度与彩色图像水印应用,主辅水印嵌入。 - 软件环境:MATLAB 2022a。 - 算法原理:双重水印,转换至YCbCr/YIQ,仅影响亮度;图像分割为M×N块,DCT变换后嵌入水印。 - 流程概览:两步水印嵌入,每步对应不同图示表示。 - 核心代码未提供。
|
2天前
|
机器学习/深度学习 算法 数据可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
Matlab决策树、模糊C-均值聚类算法分析高校教师职称学历评分可视化
10 0
|
3天前
|
算法 TensorFlow 算法框架/工具
基于直方图的图像阈值计算和分割算法FPGA实现,包含tb测试文件和MATLAB辅助验证
这是一个关于图像处理的算法实现摘要,主要包括四部分:展示了四张算法运行的效果图;提到了使用的软件版本为VIVADO 2019.2和matlab 2022a;介绍了算法理论,即基于直方图的图像阈值分割,通过灰度直方图分布选取阈值来区分图像区域;并提供了部分Verilog代码,该代码读取图像数据,进行处理,并输出结果到"result.txt"以供MATLAB显示图像分割效果。
|
3天前
|
算法 搜索推荐 数据挖掘
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
11 0
|
4天前
|
数据采集 机器学习/深度学习 存储
MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩
MATLAB用改进K-Means(K-均值)聚类算法数据挖掘高校学生的期末考试成绩
10 0
|
5天前
|
算法 数据安全/隐私保护 数据格式
基于混沌序列的图像加解密算法matlab仿真,并输出加解密之后的直方图
该内容是一个关于混沌系统理论及其在图像加解密算法中的应用摘要。介绍了使用matlab2022a运行的算法,重点阐述了混沌系统的特性,如确定性、非线性、初值敏感性等,并以Logistic映射为例展示混沌序列生成。图像加解密流程包括预处理、混沌序列生成、数据混淆和扩散,以及密钥管理。提供了部分核心程序,涉及混沌序列用于图像像素的混淆和扩散过程,通过位操作实现加密。