1
ShuA1 2021-04-05 22:44:05 +08:00 10
md5 是 hash 算法,不是加密算法
|
2
godpeo 2021-04-05 22:51:48 +08:00 1
类似 乘以很大的数 很多次, 细微变化也引起大变。
|
3
loading 2021-04-05 22:53:25 +08:00 via Android 3
楼主的好几个发帖都有 md5,然后居然还是说是加密算法,难道你找到逆向解密方式了吗?如果是的话,人类压缩算法可能要突破了。
|
4
yolee599 2021-04-05 23:21:02 +08:00 via Android
md5 算法和密码学有关系?
|
5
v2sir 2021-04-05 23:35:33 +08:00 1
关键是你想表达什么?
|
8
nvkou 2021-04-06 01:10:09 +08:00 via Android
哇!我几百 g 的文件可以“加密”成一串字符串。屌爆了!
硬盘和网盘甚至冯诺依曼体系都是骗局!不信楼主现场帮我解密还原。 |
10
singerll 2021-04-06 06:31:00 +08:00 via Android 7
楼上几位都在高潮什么,摘要确实属于加密算法,只不过不可逆。。
|
13
LudwigWS 2021-04-06 08:57:30 +08:00 via iPhone
网上搜索了一下,似乎称 MD5 为密码学哈希算法更准确,不符合狭义加密算法的定义
|
14
Rheinmetal 2021-04-06 09:29:31 +08:00
找个密码学 mooc 看看吧 还能答疑多好
|
15
AoEiuV020 2021-04-06 09:36:27 +08:00 1
不知道为什么讨论会变成 md5 是不是加密算法,
我一直了解的都是加密算法分单向加密算法和双向加密算法,什么时候加密算法必须可以解密还原了, |
16
pkoukk 2021-04-06 09:40:44 +08:00
只能说 crypto 翻译成加密不太好,才导致了各种误解。
加这个字会在潜意识里对应解,暗示了有加就有解。翻译成密码学就挺好 |
17
pkoukk 2021-04-06 09:44:24 +08:00
看看隔壁数字货币就学的很聪明了,crypto currency 为啥不叫加密货币?
叫加密货币大家就觉得这东西是隐秘化的东西了,但实际上却完全相反,所以他们并没有采用加密货币这种说法。 |
18
Vegetable 2021-04-06 09:53:28 +08:00
最搞笑的是,楼主这段话是从维基百科复制来的,被各路大哥一顿嘲讽,先去把 wiki 修改了好吗?
原文是 In cryptography, the avalanche effect is the desirable property of cryptographic algorithms, typically block ciphers[1] and cryptographic hash functions, wherein if an input is changed slightly (for example, flipping a single bit), the output changes significantly (e.g., half the output bits flip). In the case of high-quality block ciphers, such a small change in either the key or the plaintext should cause a drastic change in the ciphertext. The actual term was first used by Horst Feistel,[1] although the concept dates back to at least Shannon's diffusion. 只不过是 cryptographic algorithms 翻译成了加密算法而已 |
19
exiledkingcc 2021-04-06 10:54:55 +08:00 10
MD5 属于密码学( Cryptography )的内容,是密码学 hash 算法( Cryptographic hash function )。
不能说是加密( Encryption )算法。 加密( Encryption )指把明文( plaintext )编码( encoding )成为密文( ciphertext )的过程。 相反,解密( Decryption )是指把密文解码为明文的过程。 |
20
marcong95 2021-04-06 11:02:12 +08:00 1
v 站日常之 md5/base64 不是加密算法
考虑到 18#的引用,再查了下 cryptographic algorithms 确实有翻译为加密算法的习惯,虽然可能不太贴切?以后是不是在 v 站这类话题还是别说中文了? @pkoukk #17 crypto currency 不是也挺多翻译成加密货币的么?毕竟要跟 Q 币这种“数字货币”区分开 ,那似乎要说“密码学货币”? |
22
Flymachine 2021-04-06 11:44:58 +08:00 4
计算 MD5 时,实际上算的是是“数据+填充字节+数据长度取模”。这样长度的变化必然会导致 MD5 计算结果的变化。至于每一位的变化如何引发 MD5 的变化,你可以理解一下核心的这四个变换函数:
#define F(x,y,z) ((x & y) | (~x & z)) #define G(x,y,z) ((x & z) | (y & ~z)) #define H(x,y,z) (x^y^z) #define I(x,y,z) (y ^ (x | ~z)) 计算 MD5 时会把每一 512 字节的数据会分成 16 个小组,然后去做这 4 个变换运算,结果参与下一个小组运算。 毫无疑问,只要数据中有一位发生了变化,变换函数的结果必然也会发生变化。在之后的运算中差异便会被累积起来,从而使结果出现较大的变化。 我没学过密码学,所以没法说这四个函数是基于怎样的原理设计出来的。只能根据 MD5 的实现代码给你一些参考。 |
24
QBugHunter 2021-04-06 12:58:50 +08:00
问个问题,楼主这个帖子是陈述句还是疑问句?
|
25
Flymachine 2021-04-06 13:03:36 +08:00
话说目前 MD5 算法已经不安全了,王小云的研究,且现在已经有搞病毒搞流氓软件的在利用这项技术了。
现在比较简单的散列算法里也就 SHA-1 还能用(虽然也不安全了),之后还是要换成 SHA-256 之类的高强度算法 |
26
nnnToTnnn 2021-04-06 13:26:16 +08:00
cryptographic algorithms
1. Hash functions 2. Symmetric-key algorithms 3. Asymmetric-key algorithms |
27
agdhole 2021-04-06 13:43:41 +08:00
别在代码里面把 md5 当加密用就行
|
28
sakura1 2021-04-06 13:47:04 +08:00
借楼问一下,为什么我不能新建主题了
|
29
iyaozhen 2021-04-06 13:48:07 +08:00
其实 MD5 就是要雪崩效应,稍微不一样 hash 出来的要不一样 不然就有规律了
|
30
BeautifulSoap 2021-04-06 13:50:51 +08:00
论计算机领域里不靠谱翻译导致的各种没有意义的问题和争吵
|
31
hxndg 2021-04-06 14:11:10 +08:00
|
32
yunyuyuan 2021-04-06 16:18:07 +08:00
这都能吵起来
|
33
IvanLi127 2021-04-06 16:31:04 +08:00
前面几楼怎么这么容易高潮。。。这算严谨过度了吧
|
34
felixcode 2021-04-06 16:35:30 +08:00
楼主只想自问自答,自答完了就结帖了,把这当成了记事本,却没想到有这么多回复。
|
35
jhdxr 2021-04-07 00:20:30 +08:00
@Flymachine sha-1 安全????
|
36
Flymachine 2021-04-07 09:28:02 +08:00
@jhdxr “也就 SHA-1 还能用(虽然也不安全了)”,能用和安全是两个概念...
毕竟不是每个领域都需要像金融业那么注重安全。虽然 SHA-1 已经不被推荐使用,但至少碰撞难度还是比较高的,说一句“能用”没啥差错吧? |
37
jhdxr 2021-04-07 11:38:55 +08:00
@Flymachine 目前,或者说从去年开始,就已经有针对 sha1 的选择性前缀的碰撞攻击( a chosen-prefix collision )了。我不认为在这样的情况下,这依然能够被认为是尽管不安全但还在能用的边缘。
ref: https://eprint.iacr.org/2020/014.pdf |
38
Flymachine 2021-04-07 12:43:32 +08:00
@jhdxr 好吧,我没有关注这件事,4.5 万美金的破解成本确实不算太高了。看来只能上 SHA-256 或者 SHA-3 了...
|
39
unco020511 2021-04-07 14:08:40 +08:00
@singerll hash 什么时候属于加密算法了?你自己去维基百科上看看加密的定义,md5 这样的摘要算法绝对不属于加密算法
|
40
singerll 2021-04-07 15:24:52 +08:00 via Android
@unco020511 你看下国家密码局颁发的国密算法文件。。。
|
41
runliuv 2021-04-07 15:38:58 +08:00
@exiledkingcc 6666
|
42
unco020511 2021-04-07 17:27:50 +08:00
@singerll 贴出来看看
|
43
quxinna OP 我发现 md5 是通过 5 进行雪崩的
|
44
quxinna OP md5 雪崩问题我有一些进展,https://github.com/221294583/crc32 说是 crc32 通过多项式和原始值同时进行的递归异或实现雪崩,我想 md5 也是如此,但我看不懂 md5 的代码,有谁帮我一下解释这段代码。https://github.com/blueimp/JavaScript-MD5
|