Non c'è modo di farlo. Per questa ragione. Entrambe sono funzioni, in cui lo spazio di input è infinito (ok, è finito, a causa della finita imbottitura di Damgard Merkle, ma consideriamolo infetto. È praticamente.)
Lo spazio dei risultati di entrambe le funzioni è 2 ^ 128, perché entrambi producono digesti a 128 bit.
Quindi abbiamo un dominio quasi illimitato e un codominio limitato. Quindi esiste un numero (quasi) illimitato di collisioni per ciascun obiettivo per entrambe le funzioni.
Quindi non puoi distinguere quale funzione è stata usata, perché non sei nemmeno in grado di dirlo, qual è stata la fonte di una di queste funzioni ...
Ci può essere un'eccezione: se alcune delle funzioni di hash non generano parte del suo codominio (ma questo quasi certamente significherebbe anche che la funzione è terribilmente rotta). Allora saresti in grado di dire con certezza che non può essere quella funzione ....