Dighe messaggio e firme digitali

Un digest di messaggi è una rappresentazione numerica di dimensione fissa del contenuto di un messaggio. Il digest del messaggio è calcolato da una funzione hash e può essere crittografato, formando una firma digitale.

La funzione hash utilizzata per calcolare un digest del messaggio deve soddisfare due criteri:
  • Deve essere un modo. Non deve essere possibile invertire la funzione per trovare il messaggio corrispondente a un particolare digest del messaggio, a parte provando tutti i possibili messaggi.
  • Deve essere computazionalmente infeasimo per trovare due messaggi che hash allo stesso digest.

Il digest del messaggio viene inviato con il messaggio stesso. Il ricevitore può generare un digest per il messaggio e confrontarlo con il digest del mittente. L'integrità del messaggio viene verificata quando i due dighe di messaggio sono uguali. Qualsiasi manomissione con il messaggio durante la trasmissione si traduce quasi certamente in un diverso digest di messaggi.

Un digest di messaggi creato utilizzando una chiave simmetrica segreta è noto come MAC (Message Authentication Code), perché può fornire la garanzia che il messaggio non sia stato modificato.

Il mittente può anche generare un digest di messaggi e quindi crittografare il digest utilizzando la chiave privata di una coppia di chiavi asimmetriche, formando una firma digitale. La firma deve poi essere decodificata dal destinatario, prima di confrontarla con un digest generato localmente.