https://iopscience.iop.org/article/10.1088/1742-6596/978/1/012116/pdf
Each operation performs a nonlinear function on three of a, b, c,and d.
F(X,Y,Z) = XY v not(X) Z G(X,Y,Z) = XZ v Y not(Z) H(X,Y,Z) = X xor Y xor Z I(X,Y,Z) = Y xor (X v not(Z)) So MD5 Algorithm is nonlinear?