md5 如何实现雪崩效应的
只不过是 cryptographic algorithms 翻译成了加密算法而已
考虑到 18#的引用,再查了下 cryptographic algorithms 确实有翻译为加密算法的习惯,虽然可能不太贴切?以后是不是在 v 站这类话题还是别说中文了?
@pkoukk #17 crypto currency 不是也挺多翻译成加密货币的么?毕竟要跟 Q 币这种“数字货币”区分开
,那似乎要说“密码学货币”?
#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 的实现代码给你一些参考。
1. Hash functions
2. Symmetric-key algorithms
3. Asymmetric-key algorithms
@AoEiuV020
@Vegetable
@marcong95
上学那会写密码学相关的论文的时候,我们一般都不说 hash 是加密,最多说个单向。
因为 hash 就是 hash,hash 这几个字就明白的说明了 hash 的功能,而不是上来就说加密。
名词选择的不准确会干扰听的人的理解。
再说 lz 的题目说的是 md5 如何实现雪崩效应
但是内容和题目完全不沾边,只是解释了雪崩是啥
从本质来说上就是混淆和扩散,
ref: https://eprint.iacr.org/2020/014.pdf