Perché gli hash non possono essere invertiti? [chiuso]

-3

Immagina un universo teorico in cui è possibile eseguire l'hashing inverso. Cosa succede se prendo un messaggio a 5000 bit e lo cancelletto. Così ora ottengo una stringa hash di dire 256 bit. Se riesco a tornare al messaggio a 5000 bit (teoricamente) non otterrei il Santo Graal della compressione? Come se potessi prendere qualsiasi stringa del mondo e comprimerla in qualcosa di molto piccolo ...

    
posta Chaitanya Rahalkar 29.05.2017 - 08:38
fonte

1 risposta

4

I problemi sono collisioni. A causa del fatto che gli hash hanno uscite differenti limitate non si può sapere quale valore esatto è stato cancellato. Sì, puoi indovinare, ma non otterrai il valore corretto il 100% delle volte (eccetto che hai un numero limitato di valori dai quali sai che non hanno collisioni). Basti pensare a una situazione in cui hash(I will donate you 1000$) = hash(You owe me 1000$) . Ciò causerebbe alcuni seri problemi nella comunicazione. Quindi le collisioni sono la ragione per cui non dovresti usare gli hash per la compressione.

    
risposta data 29.05.2017 - 08:59
fonte

Leggi altre domande sui tag