知道明文 密文 能推导出加密方式?

2020-05-18 09:32:07 +08:00
 jzjjzj
11655 次点击
所在节点    程序员
63 条回复
vvtoo
2020-05-18 15:18:03 +08:00
想到一个无关但有趣的话题: https://tanronggui.xyz/t/303036
msg7086
2020-05-18 15:21:39 +08:00
@legiorange 兄弟可以先了解下非对称加密是什么。
yidinghe
2020-05-18 15:23:02 +08:00
如果使用了多次加密,猜都很难猜,你不但要知道用了哪些加密方法,还要知道它们的顺序。
yidinghe
2020-05-18 15:31:29 +08:00
@janda 那是摘要算法(hash function),不是加密,加密(encryption)是可以解密(decryption)的,任何加密手段(cipher)都有对应的解密手段(decipher)。

https://en.wikipedia.org/wiki/Encryption
https://en.wikipedia.org/wiki/Hash_function
lvybupt
2020-05-18 15:31:31 +08:00
不能。
ormand1bd
2020-05-18 15:40:20 +08:00
不能
janus77
2020-05-18 16:02:34 +08:00
理论上是不能,但是有一套方法论可以提高概率,在场景固定和熟悉的情况下,靠猜的方式还是有比较高的概率猜对的
Still4
2020-05-18 16:05:45 +08:00
任何不可逆算法加点盐你就没法

比如 明文=abc 密文=md5(sub(md5('abc'),4,8)+'test')
你怎么能通过密文和明文知道这个算法,而且还知道盐=test
Jooooooooo
2020-05-18 16:07:39 +08:00
不能, 已知把 1 到 1w 的数字都映射成 a 了

你猜猜我的加密方法是什么?

(答案是我把 10001 映射成了 b, 其他数字都是 a
tsui
2020-05-18 16:21:28 +08:00
@Still4 你这个不是加密而是 hash,从密文是无法解密(还原)出明文的。
ajaxfunction
2020-05-18 16:26:42 +08:00
扔个骰子,如何推导出是几?
当然无法推导出来,但是可以猜出来
julyclyde
2020-05-18 18:18:15 +08:00
如果能的话说明这个算法的特征过于明显了
slanternsw
2020-05-18 21:10:46 +08:00
这..这不就是“存在一个黑箱函数,已知部分给定的输入和相应的输出,问能不能推导出这个黑箱函数”

结论上面已经有了,不存在通用的方法,部分情况下可以猜.
akira
2020-05-18 22:23:50 +08:00
有些可以
Johnny168
2020-05-19 09:17:18 +08:00
你想推导出来不过就是为了解密,电脑配置好点的直接跑字典算了
legiorange
2020-05-19 09:53:22 +08:00
@otakustay 那具体是神马。。。
legiorange
2020-05-19 09:54:45 +08:00
@msg7086 啊这,才疏学浅也没搜到什么还是比较模糊,那么 MD5 和非对称算法究竟有什么区别? MD5 本身是不可逆的,那么他也不算是对称也不算是非对称的话他究竟是……?
Cmdhelp
2020-05-19 10:22:18 +08:00
这个不好说,有的还真可以。。。 刚遇到过, 组合的明文,密文 32 位,,,试了一下 md5,,果然是,节省了继续逆向挖掘的时间
qwertyegg
2020-05-19 10:45:12 +08:00
@legiorange MD5 sha-n 算 hash,跟加密解密不是一回事.更不用说对称非对称加密.
co2fe
2020-05-19 11:30:43 +08:00
个人觉得
只要样本数量足够的多,比如说无穷大
理论上应该是可以推倒出加密的方式的
实际上估计不可能
只要有点复杂度的加密方式在现实中就很难有人会去花时间去推导,但是理论上是可以的。

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

https://tanronggui.xyz/t/672740

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

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

© 2021 V2EX