Il problema, come esposto nel documento collegato di George P, è che "vanilla" Diffie-Hellmann non fornisce l'autenticazione come generalmente definiamo il termine (la capacità di ciascuna parte di dimostrare di essere la persona reale o un'altra entità che dire che lo sono, e per l'altra parte per verificare quella prova). D-H al suo interno fornisce semplicemente un mezzo sicuro per la negoziazione delle chiavi su una rete insicura; un osservatore (qualcuno che tocca la linea e annusa i pacchetti di sola lettura) non può decifrare la chiave derivata. Tuttavia, qualcuno che controlla un nodo tra le due parti, un vero uomo nel mezzo, può fingere di essere ciascuna delle parti in comunicazione con l'altra, e origliare la conversazione attraverso la decrittazione e la ri-crittografia.
Per risolvere questo problema usando SMP, Alice e Bob devono essere a conoscenza di qualcosa che Joe non ha (un segreto condiviso). Quindi utilizzano l'algoritmo SMP per verificare che l'altra parte conosca lo stesso segreto condiviso. Se i valori prodotti durante la dimostrazione coincidono, allora ciascuna parte sa che l'altra parte conosce lo stesso segreto, quindi sanno che (dato che il segreto non è stato compromesso) hanno sempre parlato con la persona giusta, e quindi sanno che una o entrambe le due chiavi negoziate tramite DH per la prova SMP sono sicure per l'uso come chiave simmetrica per la conversazione, perché queste chiavi sono inerenti alla trasmissione del segreto e non possono essere state falsificate senza influenzare il risultato della prova SMP.
Questo non è l'unico modo per aggiungere l'autenticazione ai protocolli di scambio D-H. Il protocollo STS, basato su Diffie-Hellman, utilizza certificati a chiave pubblica che possono essere verificati in modo indipendente come autentici e aggiunge un paio di passaggi al processo di negoziazione. Non appena ciascuna parte conosce la chiave condivisa K , e quindi sa o può calcolare g x mod p e g y mod p (dove x e y sono i segreti casuali di ogni partito generato per DH), questi due valori sono concatenati in un bitstream, hash, crittografati asimmetricamente usando la chiave privata del mittente, quindi simmetricamente usando la chiave condivisa, prima di essere inviati all'altro partito che può (in teoria) decodificare e verificare la firma e quindi il mittente. Entrambe le parti devono fare questo come parte del processo di negoziazione, quindi questo schema incorpora l'autenticazione a due vie nel sistema.