La tua domanda implica un piccolo malinteso. Innanzitutto, per chiarire questo problema: Le firme digitali non crittografano i dati originali. Puoi scegliere di firmare e crittografare i dati originali, ma questi sono due processi completamente distinti. Mi occuperò dei messaggi firmati e crittografati alla fine. I dati originali sono chiamati plaintext sotto, che è il termine ufficiale.
Una firma digitale standard funziona eseguendo prima l'hashing del testo in chiaro. Per la firma dei messaggi, solo l'hash è crittografato. Poiché sia il mittente che il destinatario possono eseguire l'hash del testo in chiaro, dovrebbero ottenere lo stesso risultato. Una firma digitale richiede che il mittente aggiunga l'hash al messaggio e crittografa l'hash con la sua chiave privata.
Poiché il mittente ha crittografato l'hash con la sua chiave privata, il destinatario sa che solo la chiave pubblica del mittente gli consentirà di decrittografare un hash che corrisponde al testo normale . Questo è il concetto essenziale della firma.
Per verificare il testo in chiaro, il destinatario decrittografa l'hash allegato al messaggio. Quindi calcola da solo un hash per il testo in chiaro. Se il suo hash calcolato corrisponda l'hash decifrato, poi si sa che il messaggio non è stato modificato. Se il suo hash calcolato non corrisponde l'hash decifrato, il messaggio non può essere considerato attendibile.
Se il mittente vuole crittografare l'intero messaggio, si può fare anche questo. Si sarebbe semplicemente cifrare il testo in chiaro con la chiave pubblica del destinatario (i dati crittografati è chiamato testo cifrato ). Quindi calcola un hash per il testo cifrato e invia il testo cifrato con una copia crittografata dell'hash, proprio come un normale messaggio firmato. Il processo è simile per il destinatario, ma questa volta il destinatario utilizzerà l'hash per verificare il testo cifrato. Se corrisponde, decodificherà il testo cifrato in testo semplice.