WinMd5Sum - Verificatore del valore di hash MD5
Febbraio 21, 2008
Cos’è l’MD5?
L’MD5 (acronimo di Message Digest algorithm 5) è un algoritmo per la crittografia dei dati a senso unico realizzato da Ronald Rivest nel 1991 e standardizzato con la RFC 1321.
Questo tipo di codifica prende in input una stringa di lunghezza arbitraria e ne produce in output un’altra a 128 bit (ovvero con lunghezza fissa di 32 valori esadecimali, indipendentemente dalla stringa di input) che può essere usata per calcolare la firma digitale dell’input. La codifica avviene molto velocemente e si presuppone che l’output (noto anche come “MD5 Checksum” o “MD5 Hash”) restituito sia univoco (ovvero si ritiene che sia impossibile, o meglio, che sia altamente improbabile ottenere con due diverse stringhe in input una stessa firma digitale in output) e che non ci sia possibilità, se non per tentativi, di risalire alla stringa di input partendo dalla stringa di output (la gamma di possibili valori in output è pari a 16 alla 32esima potenza).
Storia e crittanalisi
I Message Digest sono una serie di algoritmi progettati dal professor Ronald Rivest al MIT. Quando studi analitici indicarono che il predecessore dell’MD5, l’MD4 era insicuro, l’MD5 fu progettato nel 1991 come rimpiazzo più sicuro. (La debolezza dell’MD4 fu provata da Han Dobbertin.)
Applicazione pratica dell’MD5
La crittografia tramite algoritmo MD5 viene applicata in tutti i settori dell’informatica che lavorano con il supporto delle firme digitali o che comunque trattano dati sensibili. Ad esempio, viene utilizzata per controllare che uno scambio di dati sia avvenuto senza perdite, semplicemente attraverso il confronto della stringa prodotta dal file inviato con quella prodotta dal file ricevuto. Con lo stesso metodo si può verificare se il contenuto di un file è cambiato (funzione utilizzata dai motori di ricerca per capire se una pagina deve essere nuovamente indicizzata). È diffuso anche come supporto per l’autenticazione degli utenti attraverso i linguaggi di scripting Web server-side (PHP in particolare): durante la registrazione di un utente su un portale internet, la password scelta durante il processo verrà codificata tramite MD5 e la sua firma digitale verrà memorizzata nel database (o in qualsivoglia contenitore di dati). Successivamente, durante il login la password immessa dall’utente subirà lo stesso trattamento e verrà confrontata con la copia in possesso del server, per avere la certezza dell’autenticità del login.
Esempi
L’hash MD5 a 128 bit (16 byte) (anche chiamato message digest) è rappresentato come una sequenza di 32 cifre esadecimali.
Il seguente mostra una stringa ASCII di 47 byte e il corrispondente hash MD5:
MD5("Cantami o diva del pelide Achille l'ira funesta")
= b4dd7f0b0ca6c25dd46cc096e45158eb
Un piccolo cambiamento nel messaggio provocherà (molto probabilmente) un hash risultante molto differente, per esempio cambiando una a con una o:
MD5("Contami o diva del pelide Achille l'ira funesta")
= f065b51db9c592bf6ecf66a76e39f8d0
L’hash corrispondente alla stringa nulla è:
MD5("")
= d41d8cd98f00b204e9800998ecf8427e
WinMd5Sum - Verificatore del valore di hash MD5
WinMd5Sum è una leggera utilità gratuita che permette di verificare, nel sistema Windows, che il file scaricato sia quello originale.
Sono, infatti, sempre più numerosi i siti che segnalano il codice MD5 corretto del file, informazione utile se si desidera confrontarla con il codice hash calcolato sul file scaricato per capire se la copia ottenuta è davvero autentica.
Dopo l’installazione del programma, viene aggiunta la voce WindMd5Sum nella sezione “Invia a” del menù contestuale di Esplora risorse alla selezione di un file di un qualsiasi formato.
All’avvio di WinMd5Sum viene eseguito il comando Calculate; quindi non ti resta che copiare il codice hash originale nell’apposita casella di testo e premere Compare per sapere se l’hash corrisponde.
Download WinMD5Sum (~180 KB)
Leave a Reply