Hashing vs Crittografia
Il processo di trasformazione di una stringa di caratteri in un valore di lunghezza fissa più breve (chiamati valori hash, codici hash, somme hash o checksum) che rappresenta la stringa originale è chiamato hashing. Di solito, una funzione viene utilizzata per eseguire questa trasformazione e viene chiamata funzione hash. L'hashing renderebbe più veloce l'indicizzazione e il recupero dei dati nei database, poiché la ricerca del valore hash di lunghezza più breve e fissa sarebbe più veloce della ricerca del valore originale. La crittografia è il processo di conversione dei dati in un formato che non può essere compreso dalle parti che non sono autorizzate a vedere i dati. Questo nuovo formato è chiamato testo cifrato. La conversione del testo cifrato nel formato originale è detta decrittografia.
Cosa è Hashing?
La conversione di una stringa di caratteri in un valore di lunghezza fissa più breve che rappresenta la stringa originale viene chiamata hashing. Questa conversione viene eseguita da una funzione di hash. L'hashing consente l'indicizzazione e il recupero più veloce dei dati dai database a causa dell'uso di un valore hash più breve rispetto al valore originale. L'hash viene anche utilizzato negli algoritmi di crittografia per la crittografia e la decrittografia delle firme digitali. L'hash è un'operazione a senso unico e il valore originale non può essere recuperato dal valore hash. Inoltre, l'hashing non dovrebbe produrre lo stesso valore di hash per due valori originali diversi. Alcuni dei metodi di hashing semplici e comunemente usati sono il metodo Division-resto, il metodo folding e il metodo di trasformazione Radix.
Cos'è la crittografia?
La conversione di dati in un formato (detto testo cifrato) che non può essere compreso dalle parti non autorizzate a vedere i dati è chiamato crittografia. La crittografia è stata utilizzata per molto tempo. I metodi di crittografia vanno da semplici metodi come la sostituzione di lettere per numeri a metodi più complessi come la riorganizzazione di bit in un segnale digitale utilizzando un algoritmo di computer. Ottenere i dati originali dal testo cifrato si chiama decrittazione e richiede la chiave di decodifica corretta. Questa chiave è disponibile solo per le parti autorizzate a vedere i dati. Un metodo di crittografia viene chiamato crittografia avanzata se non può essere interrotto senza conoscere la chiave di decrittografia. La crittografia a chiave pubblica è uno dei metodi di crittografia in cui i dati vengono crittografati utilizzando la chiave pubblica del destinatario e non può essere decifrato senza utilizzare una chiave privata corrispondente.
Qual è la differenza tra Hashing e Crittografia?
La conversione di una stringa di caratteri in un valore di lunghezza fissa più breve che rappresenta la stringa originale viene chiamata hashing, mentre la conversione dei dati in un formato (chiamato cipher-text) che non può essere compreso dalle parti che non sono autorizzate a vedere i dati, viene chiamata crittografia. Poiché l'hashing è un'operazione unidirezionale in cui il valore originale non può essere recuperato dal valore hash, viene utilizzato anche per la crittografia. Le funzioni di hash Message-Digest (MD2, MD4 e MD5) vengono utilizzate per crittografare le firme digitali. Ma l'uso dell'hash non è limitato alla crittografia. L'hashing viene anche utilizzato per il recupero più rapido dei dati dai database. Ma le funzioni di hash utilizzate per queste attività sono diverse l'una dall'altra e potrebbero non funzionare bene se intercambiate tra le due attività.