今天发现一个帖子上提到过,不可逆的加密算法。

2020-04-11 09:30:31 +08:00
 nnnToTnnn

问一下大家什么叫做不可逆的加密算法? 目前我仅仅只是知道散列算法,取 hash 值。

例如 sha512

明文

123

密文

3c9909afec25354d551dae21590bb26e38d53f2173b8d3dc3eee4c047e7ab1c1eb8b85103e3be7ba613b31bb5c9c36214dc9f14a42fd7a2fdb84856bca5c44c2

解密逻辑就很简单了,找一台运算速度比较高的电脑生成所有字符串的组合。依次对比结果集,不久可以逆向出来密码了吗?

7520 次点击
所在节点    程序员
67 条回复
redeemer1001
2020-04-11 09:37:36 +08:00
hash 不是加密啊朋友…
nnnToTnnn
2020-04-11 09:40:40 +08:00
@redeemer1001 我了解到的不可逆向的符合此特征似乎只有 hash 。不知道那种加密算法,可以不可逆,如果不可逆,那么加密出来的内容也无任何意义了。。。

> 我对加密算法不是很了解 T - T 这是我个人的理解。 望纠正
sunziren
2020-04-11 09:43:17 +08:00
给一个 2W 字的论文写一个 200 字的摘要,然后你能通过这 200 字的摘要还原出原来的论文吗?这就是不可逆 -逃
HTSdTt3WygdgQQGe
2020-04-11 09:44:12 +08:00
问题是计算速度多高
hanqi7012
2020-04-11 09:45:45 +08:00
摘要 能理解吧
maemual
2020-04-11 09:45:51 +08:00
“不可逆的加密算法”这个说法就是错误的,所以没有讨论的必要。
哈希散列根本不是加密算法
wizardoz
2020-04-11 09:48:35 +08:00
hash 是多对一的,你找到一个数据能够得到一样的 hash,但是这个数据未必是我当初的那个数据。
PopRain
2020-04-11 09:50:53 +08:00
散列不是加密,是防篡改。。。(更完善还要数字签名配合)

公开密钥就算是你说的“不可逆加密” ,根据公开的足够长的公开密钥,合理的时间内你不可能从密文得到原文。
lewinlan
2020-04-11 09:52:16 +08:00
可逆的意思是可以通过忽略不计的代价逆向计算,典型例子是公钥。
那种暴力破解不叫逆向。
chizuo
2020-04-11 09:55:24 +08:00
随便看一门网络安全的书或者课,就能解决你的疑惑。
xuanbg
2020-04-11 10:01:47 +08:00
不可逆的算法都不能叫加密算法,原因很简单,因为没法解密啊。

你这种还原的办法叫做暴力破解,不叫解密。比你的办法更好的办法是彩虹表,具体的自己可百度。
learningman
2020-04-11 10:04:37 +08:00
我这有个 170G 的游戏,现在我打成一个压缩包求个 MD5 抄在纸上,你能把他变回这 170G 吗
baoyexi
2020-04-11 10:12:01 +08:00
这回轮到 Shannon 的棺材板盖不住了
RickyC
2020-04-11 10:15:21 +08:00
不存在绝对不可逆的算法吧?

在有大数据的情况下, 把加密结果和待加密文字都匹配储存, 形成一个特别大的数据库,

对于广大用户来说, 应该不存在绝对安全的不可加密算法.
hoyixi
2020-04-11 10:21:05 +08:00
用英文讨论很清晰,用中文很快把你绕晕,尤其抠字眼的学术派,和没有学习过术语的日常派,根本不在一个频道
harryhao
2020-04-11 10:23:41 +08:00
先区别加密算法和非加密算法,加密算法一般都是算法公开,密钥保密例如 aes,sha/md5 属于非加密算法, 算法公开,没有密钥
MOONLIGHTT
2020-04-11 10:26:26 +08:00
hash 主要用于防止需要传输的内容被非法篡改。虽然 hash 类似桶模型,存在一定的碰撞几率(不同的内容计算得到的 hash 值相同),但从数学上可以证明在篡改一些想更改的内容之后,再篡改一些无关内容使最终 hash 值相同是 [计算上不可行的] 。
rrfeng
2020-04-11 10:51:18 +08:00
不可逆和加密就是冲突的概念。
那你干脆删除数据,也是不可逆加密。反正不要原始数据了。

了解一下摘要 /签名
shadeofgod
2020-04-11 10:52:25 +08:00
要分清 Hashing 和 Encryption,前者是 one way 的,后者是 two way 的,中文语境下很多人都把这两个叫加密但是严格来说 hashing 不算加密。

说 hashing 是 one way 是因为没有办法通过逆转原有的 hash 过程来获取原本的数据,因为这个过程中往往会丢失一部分信息(比如取模运算是无法根据结果反向运算得到原来的数字),只能通过彩虹表之类的暴力碰撞方式。
iyear
2020-04-11 11:00:24 +08:00
hash 不是数据摘要么,和 rar 加密压缩完全不一样
这个可以:1G 片子->32 位 md5
这个不可以:32 位 md5->1G 片子

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX