riconoscimento Md5 vs Md4

4

C'è un modo per scoprire se un hash è MD5 o MD4?

Ad esempio:

  • 10c7ccc7a4f0aff03c915c485565b9da è un hash MD5
  • be08c2de91787c51e7aee5dd16ca4f76 è un hash MD4

So che c'è una differenza "di sicurezza", ma come può qualcuno determinare quale hash è quale "programmazione saggio" o solo con gli occhi. O non c'è davvero alcun modo per saperlo?

    
posta Ryan 19.11.2015 - 05:58
fonte

2 risposte

10

... but how can someone determine which hash is which "programming wise" or just by the eyes. Or is there really no way to know for sure?

Entrambi gli algoritmi di hash producono semplicemente byte. Non esiste una struttura intrinseca visibile in questi byte e nessun byte magico o simile che potrebbe essere utilizzato per rilevare l'algoritmo. In effetti, non sarebbe possibile distinguere tra MD4, MD5 o solo 128 bit di dati casuali solo guardando l'output dell'hash.

    
risposta data 19.11.2015 - 06:40
fonte
0

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 ....

    
risposta data 31.01.2017 - 21:13
fonte

Leggi altre domande sui tag