Introduzione all'algoritmo MD5

Prima di imparare l'algoritmo MD5, è molto importante capire cos'è la crittografia e come è entrato in scena l'algoritmo MD5. In parole povere, la crittografia è una pratica e uno studio di tecniche utilizzate per convertire un testo semplice in testo incomprensibile che può essere compreso solo dal destinatario. Per motivi di sicurezza, è molto importante crittografare i dati e inviarli e archiviarli in un formato particolare in modo che non possano essere trapelati e quindi utilizzati in modo improprio. MD5 è uno degli algoritmi utilizzato per codificare i dati. Esistono così tanti algoritmi sviluppati per la trasmissione e l'archiviazione sicura dei dati con i loro pro e contro. Questi algoritmi non solo proteggono i dati dal furto, ma forniscono anche l'autenticazione dell'utente.

Ora imparando a fondo sull'algoritmo MD5, MD5 sta per algoritmo Message Digest 5 che è una delle funzioni di hash crittografiche ampiamente utilizzate che accetta l'input di lunghezza arbitraria e produce un output con valore hash a 128 bit fisso. È utilizzato in un'ampia varietà di applicazioni di sicurezza. MD5 è una versione avanzata di MD4 sviluppata dal professor Ronald Rivest del MIT. MD5 è stato sviluppato come un forte algoritmo crittografico da utilizzare nell'autenticazione delle firme digitali (un codice digitale che è allegato a un documento elettronico per verificarne il contenuto e l'identità di genere).

Uso dell'algoritmo MD5

MD5 Algorithm è stato sviluppato con il principale motivo di sicurezza in quanto prende un input di qualsiasi dimensione e produce un output se un valore di hash a 128 bit. Per essere considerato sicuro dal punto di vista crittografico, MD5 deve soddisfare due requisiti:

  1. È impossibile generare due input che non possono produrre la stessa funzione hash.
  2. È impossibile generare un messaggio con lo stesso valore hash.

Inizialmente, MD5 è stato sviluppato per archiviare un hash unidirezionale di una password e alcuni file server forniscono anche checksum MD5 pre-calcolato di un file in modo che l'utente possa confrontare il checksum del file scaricato con esso. La maggior parte dei sistemi operativi basati su Unix include utilità di checksum MD5 nei loro pacchetti di distribuzione.

Come funziona l'algoritmo MD5?

Come tutti sappiamo, MD5 produce un output con valore hash a 128 bit. Questa crittografia di input di qualsiasi dimensione in valori hash subisce 5 passaggi e ogni passaggio ha un'attività predefinita.

Passaggio 1: aggiungere bit di riempimento

  • Riempire significa aggiungere bit extra al messaggio originale. Quindi in MD5 il messaggio originale è imbottito in modo tale che la sua lunghezza in bit sia congruente con 448 modulo 512. L'imbottitura è fatta in modo tale che i bit totali siano 64 in meno essendo un multiplo di 512 bit di lunghezza.
  • Il riempimento viene eseguito anche se la lunghezza del messaggio originale è già congruente con 448 modulo 512. Nei bit di riempimento, l'unico primo bit è 1 e il resto dei bit è 0.

Passaggio 2: aggiungere la lunghezza

Dopo il riempimento, alla fine vengono inseriti 64 bit che vengono utilizzati per registrare la lunghezza dell'input originale. Modulo 2 64. A questo punto, il messaggio risultante ha una lunghezza multipla di 512 bit.

Passaggio 3: inizializzare il buffer MD

Un buffer di quattro parole (A, B, C, D) viene utilizzato per calcolare i valori per il digest del messaggio. Qui A, B, C, D sono registri a 32 bit e vengono inizializzati nel modo seguente

Parola A01234567
Parola B89AbCDef
Parola CFeDcBa98
Parola D76543210

Passaggio 4: elaborazione del messaggio in un blocco di 16 parole

MD5 utilizza le funzioni ausiliarie che accettano l'ingresso come tre numeri a 32 bit e produce un'uscita a 32 bit. Queste funzioni utilizzano operatori logici come OR, XOR, NOR.

F (X, Y, Z)XY v non (X) Z
G (X, Y, Z)XZ v Y not (Z)
H (X, Y, Z)X xor Y xor Z
I (X, Y, Z)Y xor (X v non (Z))

Il contenuto di quattro buffer viene miscelato con l'ingresso utilizzando questo buffer ausiliario e 16 round vengono eseguiti utilizzando 16 operazioni di base.

Produzione-

Dopo tutto, i round hanno eseguito il buffer A, B, C, D contiene l'uscita MD5 che inizia con il bit A inferiore e termina con il bit D. più alto

Esempio:

Input: questo è un articolo sull'algoritmo di crittografia
Uscita: e4d909c290dfb1ca068ffaddd22cbb0

Vantaggi e svantaggi dell'algoritmo MD5:

  • Gli algoritmi MD5 sono utili perché è più facile confrontare e archiviare questi hash più piccoli che memorizzare un testo di grandi dimensioni di lunghezza variabile. L'algoritmo MD5 è un algoritmo ampiamente utilizzato per gli hash unidirezionali che vengono utilizzati per verificare senza necessariamente fornire il valore originale. L'algoritmo MD5 viene utilizzato dai sistemi Unix per archiviare le password dell'utente in un formato crittografato a 128 bit. Gli algoritmi MD5 sono ampiamente utilizzati per verificare l'integrità dei file.
  • Inoltre, è molto semplice generare un digest di messaggio del messaggio originale usando questo algoritmo. L'algoritmo MD5 può eseguire il digest di messaggio di un messaggio con un numero qualsiasi di bit, non è limitato al messaggio nei multipli di 8, a differenza di MD5sum che è limitato agli ottetti.
  • Ma da molti anni MD5 è soggetto a debolezza di collisione dell'hash, ovvero è possibile creare la stessa funzione di hash per due input diversi. MD5 non fornisce alcuna protezione su questi attacchi di collisione. Invece di MD5, SHA (Secure Hash Algorithm, che produce digest dei messaggi a 160 bit e progettato da NSA per far parte dell'algoritmo di firma digitale) è ora accettabile nel campo crittografico per generare la funzione hash in quanto non è facile produrre SHA -Io collisione e fino ad ora nessuna collisione è stata ancora prodotta.
  • Inoltre, l'algoritmo MD5 è piuttosto lento rispetto all'algoritmo SHA ottimizzato.SHA è molto sicuro dell'algoritmo MD5 e inoltre, può essere implementato nella tecnologia esistente con velocità superiori, a differenza di MD5. Oggi sul mercato stanno emergendo nuovi algoritmi di hashing tenendo presente una maggiore sicurezza dei dati come SHA256 (che genera una firma a 256 bit di un testo).

Conclusione

Oggi con l'archiviazione di tutti i dati su cloud e Internet, è molto importante mantenere la sicurezza di tali dati con la massima priorità. L'algoritmo più sicuro dovrebbe essere adottato per crittografare i dati privati. Studi recenti mostrano che l'algoritmo SHA dovrebbe avere un'importanza fondamentale su MD5 poiché MD5 è più vulnerabile agli attacchi di collisione. Anche se i ricercatori stanno proponendo nuovi algoritmi che sono sicuri e meno vulnerabili agli attacchi come SHA256.

Articoli consigliati

Questa è stata una guida all'algoritmo MD5. Qui abbiamo discusso dell'introduzione, degli usi, del funzionamento, dei vantaggi e degli svantaggi dell'algoritmo MD5. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Algoritmo di crittografia
  2. Che cos'è la decrittazione?
  3. Cos'è la crittografia?
  4. Crittografia vs Crittografia

Categoria: