1
reus 2020-05-18 09:38:09 +08:00 via Android
不能
|
2
exiaoxing 2020-05-18 09:39:49 +08:00 1
明文:a,密文:z,请问加密方式是什么?
虽然不太懂加密,但是至少样本很少的情况下,肯定是推不出来的吧 菜鸟一枚,大神勿喷 |
3
Mithril 2020-05-18 09:43:14 +08:00 1
少部分加密方式可以。
|
4
cmdOptionKana 2020-05-18 09:45:26 +08:00 1
可能根据加密后的长度变化能做一个猜测(但只是猜测)。另外,根据现代加密理论,知道加密方式也没多大意义。
|
5
xiri 2020-05-18 09:46:20 +08:00
你需要去学习《信息安全概论》
|
7
myd 2020-05-18 09:47:19 +08:00 1
不能推导出来。但可以猜
|
8
Mutoo 2020-05-18 09:47:58 +08:00
某些古典加密算法,不抗频率攻击的,是可以返推现密码表的。例如凯撒加密。现代加密算法基本上都没办法用这种方式进行反推。
|
9
cmdOptionKana 2020-05-18 09:48:15 +08:00
@exiaoxing 比如 “明文:a,密文:z” 这种,由于明文与密文的长度一模一样,因此加密方式有可能是简单的字典映射。
|
10
imaning 2020-05-18 09:48:23 +08:00
从密文格式和长度上能判断个大概,也只是个大概。
|
12
cmdOptionKana 2020-05-18 09:51:09 +08:00 1
@Mutoo 呃,看到你这个回复我才发现,我还以为楼主问的是加密算法的种类…… 现在想想,他可能问的是完全破解整个加密系统。
|
14
shoaly 2020-05-18 10:01:44 +08:00
加密算法设计之初就是要防止楼主这种人, 所以就看加密算法厉害 还是楼主厉害了
|
15
Pythondr 2020-05-18 10:14:20 +08:00
看复杂度,早期的对称加密却是有反推的可能,不过需要大量的数据集作支撑
|
16
legiorange 2020-05-18 10:59:31 +08:00 1
1:密码加密分古典和现代
2:古典可以现代不行,比如古典的凯撒密码,猪圈(共济会)密码加密简单解密容易,有明显特征。现代密码 AES 加密光加密方式就几种,要是能蒙到一个 CBC 对称加密还可能 3:为什么不行楼上大佬们说也说完了我的看法是这样的: 加密分对称加密和非对称加密。 对称加密多可逆,可以通过明文攻击猜出来(我见上面提到 CPA 了),直接用工具解密试试看,问题万一加盐了?啊这…… 非对称加密,比如 MD5 这有固定特征的你还可能搞定。纵观 sha 家族……也就几个的特征比较容易看。 加密算法有很多种,问题是你根本没法确定人家只用了一种?万一是 AES+RSA(有的 3 层)你怕是要推死在这。 我曾经看过国外大佬们一起解密这种“谜题”的时候真的是全靠经验…… |
17
locoz 2020-05-18 11:14:21 +08:00
|
18
ZRS 2020-05-18 11:16:38 +08:00
不太行,只能猜猜
|
19
zhucegeqiu 2020-05-18 11:17:15 +08:00
本质就是给你 x,y,然后推导出关系,样本量足够的话就可以
|
20
locoz 2020-05-18 11:17:40 +08:00
|
21
wangkun025 2020-05-18 11:21:31 +08:00
能。
不然我楼梯为啥被封啊 |
22
PopRain 2020-05-18 11:21:32 +08:00
@legiorange 对称加密可以猜出密钥?像 DES 这种现代加密办法,不加盐个人也不可能逆向出密钥的。。。。
|
23
Ehend 2020-05-18 11:21:33 +08:00 via Android
你可以建个神经网络,正好你知道输入输出,映射关系让神经网络自己去找吧。不过这个前提就是大样本
|
24
tianshilei1992 2020-05-18 11:22:20 +08:00
Known-plaintext attack or chosen-plaintext attack or chosen-ciphertext attack
|
25
tianshilei1992 2020-05-18 11:24:50 +08:00 1
@wangkun025 楼梯被封是 pattern recognition 甚至还没这么高端(比如一些 IP 段一看就是几个目标机场,宁可错 reset 一千不可放过一个),而不是你加密的流量被破解了。
|
26
zeocax 2020-05-18 11:28:07 +08:00 via Android
@wangkun025 墙又不需要知道你的加密方式,只需要流量特征像就可以了
|
27
wangkun025 2020-05-18 11:31:26 +08:00
|
28
jugelizi 2020-05-18 11:45:47 +08:00 via iPhone 1
2+2=4 。
2x2=4 。 请问你知道明文 密文 怎么证明用的算法 |
29
FFFire 2020-05-18 11:56:29 +08:00
足够的样本,专业的团队,能提升成功率
|
30
wang93wei 2020-05-18 11:59:03 +08:00
机器学习,,,在你有足够样本的时候卷积神经网络能自己解开
|
31
legiorange 2020-05-18 12:02:07 +08:00
@PopRain 但可惜不能,比较好的是大部分服务基本菜用一个密钥。
|
32
legiorange 2020-05-18 12:04:26 +08:00
@PopRain 当初 3DES 加密的文件我就用 winhex 搞得,没什么不可能.
|
33
Hanggi 2020-05-18 12:13:55 +08:00
虽说不是无懈可击,但是那么容易就能搞清楚的话,这些加密手段怎么会活到现在呢?
|
34
qwertyegg 2020-05-18 12:15:05 +08:00 1
@locoz 你说的大概是 Shor 算法,来破解椭圆曲线加密的离散对数和 RSA. AES-256 这种是不怕量子计算机的
|
35
zoffy 2020-05-18 12:31:06 +08:00
二战时期,剑桥的数学家干过这个事情
|
36
otakustay 2020-05-18 13:42:04 +08:00 1
@legiorange 对称非对称不是你这么分的……MD5 就不是加密算法,既不是对称的也不是非对称的
|
38
janxin 2020-05-18 14:09:51 +08:00
如果有明文,密文和对应的密钥,初始化向量等一切入参,推导已知加密方式(目标一定在范围内)是可行的。大不了暴力跑一遍加密,匹配上了就是的。不过这种分析方法一般过于理想,比如一种加密方法需要运行 N 遍,如果你不知道需要跑几遍肯定这种分析是没用的。
另外讨论分析加密方式怎么会转进到密钥了...对已知加密方法的,可以使用差分密码分析方法,不过前提是加密已知,很多算法也无法使用这种攻击方法。 |
39
janda 2020-05-18 14:12:05 +08:00
要是密上密呢:
明--->密(MD5)--->密(SHA512) |
40
xd314697475 2020-05-18 15:12:19 +08:00
根据我安全课老师的 ppt,简单的加密方式是可以被推导出来的,利用的是纯密码学原理
还有一种方法是机器学习(包括深度学习),分析加密算法特征,这个也是一条路子 |
41
vvtoo 2020-05-18 15:18:03 +08:00
想到一个无关但有趣的话题: https://www.v2ex.com/t/303036
|
42
msg7086 2020-05-18 15:21:39 +08:00 via Android
@legiorange 兄弟可以先了解下非对称加密是什么。
|
43
yidinghe 2020-05-18 15:23:02 +08:00
如果使用了多次加密,猜都很难猜,你不但要知道用了哪些加密方法,还要知道它们的顺序。
|
44
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 |
45
lvybupt 2020-05-18 15:31:31 +08:00
不能。
|
46
ormand1bd 2020-05-18 15:40:20 +08:00
不能
|
47
janus77 2020-05-18 16:02:34 +08:00
理论上是不能,但是有一套方法论可以提高概率,在场景固定和熟悉的情况下,靠猜的方式还是有比较高的概率猜对的
|
48
Still4 2020-05-18 16:05:45 +08:00
任何不可逆算法加点盐你就没法
比如 明文=abc 密文=md5(sub(md5('abc'),4,8)+'test') 你怎么能通过密文和明文知道这个算法,而且还知道盐=test |
49
Jooooooooo 2020-05-18 16:07:39 +08:00
不能, 已知把 1 到 1w 的数字都映射成 a 了
你猜猜我的加密方法是什么? (答案是我把 10001 映射成了 b, 其他数字都是 a |
51
ajaxfunction 2020-05-18 16:26:42 +08:00
扔个骰子,如何推导出是几?
当然无法推导出来,但是可以猜出来 |
52
julyclyde 2020-05-18 18:18:15 +08:00
如果能的话说明这个算法的特征过于明显了
|
53
slanternsw 2020-05-18 21:10:46 +08:00 via Android
这..这不就是“存在一个黑箱函数,已知部分给定的输入和相应的输出,问能不能推导出这个黑箱函数”
结论上面已经有了,不存在通用的方法,部分情况下可以猜. |
54
akira 2020-05-18 22:23:50 +08:00
有些可以
|
55
Johnny168 2020-05-19 09:17:18 +08:00
你想推导出来不过就是为了解密,电脑配置好点的直接跑字典算了
|
56
legiorange 2020-05-19 09:53:22 +08:00
@otakustay 那具体是神马。。。
|
57
legiorange 2020-05-19 09:54:45 +08:00
@msg7086 啊这,才疏学浅也没搜到什么还是比较模糊,那么 MD5 和非对称算法究竟有什么区别? MD5 本身是不可逆的,那么他也不算是对称也不算是非对称的话他究竟是……?
|
58
Cmdhelp 2020-05-19 10:22:18 +08:00
这个不好说,有的还真可以。。。 刚遇到过, 组合的明文,密文 32 位,,,试了一下 md5,,果然是,节省了继续逆向挖掘的时间
|
59
qwertyegg 2020-05-19 10:45:12 +08:00 1
@legiorange MD5 sha-n 算 hash,跟加密解密不是一回事.更不用说对称非对称加密.
|
60
co2fe 2020-05-19 11:30:43 +08:00
个人觉得
只要样本数量足够的多,比如说无穷大 理论上应该是可以推倒出加密的方式的 实际上估计不可能 只要有点复杂度的加密方式在现实中就很难有人会去花时间去推导,但是理论上是可以的。 |
61
msg7086 2020-05-19 14:13:53 +08:00 1
@legiorange MD5 不是加密,是摘要 /哈希。
加密,这个词本身就隐含着「可以解密」。 摘自维基百科的词条:在密码学中,加密(英语:Encryption )是将明文信息改变为难以读取的密文内容,使之不可读的过程。只有拥有解密方法的对象,经由解密过程,才能将密文还原为正常可读的内容。 注意这里的「经由解密过程」。一个算法被称为加密算法的前提就是加密后可以解密。 至于非对称加密,是指使用秘钥对来加密解密的过程,秘钥对的其中一半用来加密,另一半用来解密,非对称的意思是这里来的。 |
62
legiorange 2020-05-19 14:50:16 +08:00
@qwertyegg 感谢指教
|
63
james19820515 86 天前
有结论了吗?
|