La risposta di Thomas Pornin, come sempre, è eccellente, ma volevo aggiungere un punto, e questa è stata la differenza in ciò che la verifica di ognuno di questi rappresenta. In poche parole, un MAC può essere utilizzato solo per verificare l'integrità del messaggio. Una firma verifica non solo l'integrità del messaggio, ma l'identità del mittente.
La differenza è inerente alla struttura simmetrica rispetto a quella asimmetrica degli algoritmi. Tornando al post di Thomas, i MAC sono simmetrici; usano la stessa chiave K per generare il MAC e per verificarlo. In quanto tali, verificano che il messaggio che contiene il MAC sia il messaggio originariamente inviato dall'altra parte a questa conversazione, perché essere in grado di manomettere il messaggio in modo che il MAC corrisponda ancora è ritenuto difficile (e "difficile "nella crittografia ha la definizione colloquiale di" praticamente impossibile ").
Tuttavia, poiché la chiave di un algoritmo simmetrico è un "segreto condiviso", deve essere condivisa e ciò significa che non è veramente un segreto. Esistono metodi conosciuti per condividere questa chiave con una sola persona specifica, ma è questo processo di condivisione che ti permette di identificare positivamente l'altra persona usando la chiave; l'algoritmo in sé non ha modo di dimostrare a una delle parti che l'altra persona è quella che suppone di averla.
Le firme digitali, OTOH, sono asimmetriche; vengono utilizzati due tasti diversi, uno da generare e l'altro da verificare. La chiave di verifica è "pubblica"; puoi spruzzare la vernice sulla tua auto e guidarla nel mezzo di DEF CON (convenzione degli hacker) e non renderebbe lo schema più debole. Di nuovo, si crede che sia difficile generare o manomettere un messaggio e / o la sua firma e fare ancora una corrispondenza con l'altro, senza conoscere la chiave di generazione.
Questa chiave di generazione è "privata"; è un vero segreto, noto solo a una parte, che può implementare ogni sorta di ulteriore livello di sicurezza fisica ed elettronica per proteggere questi dati anche da loro stessi (molti PKI sono configurati utilizzando un modulo di sicurezza hardware per generare effettivamente la chiave privata ed eseguire crittografia che utilizza, la chiave non lascia mai quella HSM). Pertanto, è teoricamente possibile identificare positivamente l'altra parte della conversazione, in base alla loro capacità di firmare correttamente i messaggi che possono essere verificati con la loro chiave pubblica, perché c'è una sola entità sul pianeta che ha una preghiera per farlo .