Ci sono alcuni concetti diversi che riguardano la crittografia dei messaggi. Mentre il governo ha sviluppato standard per la crittografia dei messaggi tramite l'Advanced Encryption Standard, ha anche sviluppato lo standard Secure Hash per scopi di autenticazione. Entrambi lavorano per proteggere i dati trasmessi. Per capire in che modo differiscono, tuttavia, è necessario comprendere la differenza tra i metodi di crittografia e le funzioni di hash crittografico.
Crittografia di base
La premessa di base della crittografia dei dati è quella di rimescolarli in qualche modo per renderli illeggibili da chiunque non sia il destinatario previsto. La crittografia funziona codificando il messaggio con l'uso di una "chiave" di crittografia, che un lettore può quindi utilizzare per decodificare il messaggio e leggerne il contenuto. In teoria, finché la chiave è al sicuro, il messaggio rimarrà privato. Tuttavia, chiunque disponga della chiave può invertire il processo, che richiede tecniche di crittografia specifiche per ridurre al minimo le possibilità che si verifichi tale evento.
Crittografia AES
L'Advanced Encryption Standard è stato creato dal National Institute for Standards in Technology per facilitare un metodo di crittografia generale e forte da utilizzare nelle comunicazioni governative. Ciò avvantaggia anche altre istituzioni, come banche o istituti medici, che si occupano anche di dati sensibili. L'obiettivo principale dell'AES è creare un metodo di crittografia irreversibile senza la chiave e che utilizzi chiavi indistruttibili tramite supposizioni o attacchi di forza bruta. Ciò significa che, a meno che qualcuno non abbia una chiave o non capisca come violare il metodo di crittografia stesso, AES rappresenta un modo sicuro e protetto per nascondere i dati da terze parti indesiderate.
Funzioni hash
Una funzione hash è simile a un algoritmo di crittografia in quanto ha lo scopo di codificare i dati in qualche modo. Tuttavia, le somiglianze finiscono qui. Invece di nascondere un messaggio di dati, una funzione di hash esegue trasformazioni sul messaggio per produrre un valore, spesso di lunghezza inferiore rispetto al messaggio originale. Questo valore è totalmente unico per il messaggio: non esistono due insiemi di dati in grado di produrre lo stesso valore da una solida funzione di hash crittografica. Inoltre, il processo è irreversibile. Le funzioni hash non utilizzano chiavi di crittografia e i valori delle funzioni hash non possono essere decifrati per ottenere il valore originale.
Standard SHA
Il Secure Hash Standard, anch'esso del NIST, delinea un algoritmo standard per una funzione hash. Questa funzione non crittografa un messaggio ma, secondo gli standard NIST, crea un "digest" del messaggio, o valore hash. Questo digest può essere utilizzato per la verifica del contenuto dei messaggi. Il mittente può eseguire il messaggio tramite una funzione SHA, allegare il digest al messaggio e inviarlo. Il destinatario può quindi eseguire il messaggio tramite la stessa funzione SHA e confrontare i valori del digest. Se sono diversi, il messaggio è stato danneggiato o manomesso. L'algoritmo standard SHA può essere accoppiato con la crittografia AES per fornire l'autenticazione e la crittografia per i messaggi sensibili.