0Pricing
Cryptology Academy · Lezione

MD5: storia, utilizzi e motivi della sua insicurezza

Scopra il funzionamento interno di MD5 e gli attacchi alle collisioni che ne hanno decretato il superamento.

MD5: storia, utilizzi e motivi della sua insicurezza è una lezione Cryptology Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cryptology Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cryptology Academy include 4 lezioni in totale.

Benvenuto

MD5 è stata un tempo la funzione hash più usata. Oggi è completamente compromessa per gli scopi di sicurezza. Vediamo perché e che cosa è andato storto.

Panoramica di MD5

MD5 (Message Digest 5) è stata progettata da Ron Rivest nel 1991. Produce un hash di 128 bit (16 byte). Esempio di output: MD5('hello') = 5d41402abc4b2a76b9719d911017c592

Struttura dell'algoritmo MD5

MD5 usa la costruzione di Merkle-Damgård con blocchi da 512 bit. Ogni blocco attraversa quattro round da 16 operazioni ciascuno. Le operazioni usano AND, OR, XOR, NOT bit a bit, addizione e rotazioni a sinistra.

MD5 in Python

import hashlib hash = hashlib.md5(b'hello').hexdigest() print(hash) # 5d41402abc4b2a76b9719d911017c592 print(len(hash)) # 32 hex chars = 128 bits

Utilizzi storici

MD5 veniva usata per: verificare l'integrità dei file, memorizzare le password, i certificati SSL, le firme digitali e la firma del codice. La sua velocità (era veloce!) l'ha resa popolare.

Prime falle: attacchi differenziali 1996

Nel 1996, Hans Dobbertin trovò collisioni nella funzione di compressione di MD5. Fu un segnale d'allarme, ma MD5 rimase ampiamente utilizzato per anni.

Collisione completa: Wang et al. 2004

Nel 2004, il team di Xiaoyun Wang trovò collisioni complete in MD5 in pochi secondi. Ora due file diversi potevano produrre lo stesso valore hash. MD5 era ufficialmente da considerarsi inutilizzabile per la resistenza alle collisioni.

Malware Flame (2012)

Il malware Flame utilizzò collisioni MD5 per falsificare un certificato di firma del codice Microsoft. Fece apparire un software dannoso come legittimamente firmato da Microsoft.

MD5 per usi non legati alla sicurezza

MD5 è ancora accettabile per checksum non legati alla sicurezza (verifica dei download dei file, quando gli attacchi di collisione non sono una preoccupazione) e per le tabelle hash non crittografiche. Mai, però, per la sicurezza.

Fallimento dell'archiviazione delle password

Le password protette con MD5 vengono violate con estrema facilità: esistono enormi tabelle arcobaleno per gli hash MD5. MD5('password') senza salt produce sempre lo stesso hash. CrackStation è in grado di violare miliardi di hash al secondo.

Abbandono di MD5

Sostituisca MD5 con SHA-256 (integrità generale), SHA-3 (nuovi progetti), bcrypt/Argon2 (password) o HMAC-SHA256 (autenticazione dei messaggi). Senza eccezioni.

Verifica rapida

Perché MD5 è stato ritirato dagli usi legati alla sicurezza?

Riepilogo

MD5 è inutilizzabile per la sicurezza. Ora studieremo SHA-1 e la famiglia SHA-2, comprendendo i miglioramenti che ne sono seguiti.

Domande Frequenti

La lezione «MD5: storia, utilizzi e motivi della sua insicurezza» è gratuita?

Sì — il testo completo di «MD5: storia, utilizzi e motivi della sua insicurezza» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cryptology Academy, passa a CoddyKit PRO. Il corso Cryptology Academy include 4 lezioni in totale.

Cosa imparerò in «MD5: storia, utilizzi e motivi della sua insicurezza»?

Scopra il funzionamento interno di MD5 e gli attacchi alle collisioni che ne hanno decretato il superamento. Eserciti Cryptology Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Cryptology Academy?

Non è richiesta alcuna esperienza precedente. Cryptology Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «MD5: storia, utilizzi e motivi della sua insicurezza»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Cryptology Academy?

Sì. Ogni lezione Cryptology Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cosa rende efficace una funzione hash
  2. MD5: storia, utilizzi e motivi della sua insicurezza
  3. La famiglia SHA-1 e SHA-2
  4. Applicazioni degli hash: checksum, HMAC e Git
← Torna a Cryptology Academy