Sleutelovereenkomst
Een protocol waarin twee partijen samen een gedeeld geheim afleiden zonder dat dit ooit over het kanaal wordt verstuurd.
Bij een sleutelovereenkomst (key agreement) levert elke partij een waarde die de ander combineert met het eigen geheim, waarna beiden op hetzelfde resultaat uitkomen. Diffie-Hellman, gepubliceerd in 1976, was het eerste openbare voorbeeld, en het principe leeft voort in de huidige varianten met elliptische krommen. Over het netwerk gaan alleen publieke waarden, en het gedeelde geheim blijft onzichtbaar voor iedereen die meeluistert.
Sleutelovereenkomst verschilt van sleuteltransport, waarbij één partij de sleutel kiest en verstuurt. Een overeenkomst beschermt tegen passieve afluisteraars, maar niet tegen een actieve man-in-the-middle, die met beide kanten een eigen uitwisseling kan uitvoeren. Daarom ondertekenen of certificeren protocollen als TLS de publieke waarden, zodat ze aan een identiteit gebonden zijn.
Het gedeelde geheim is zelden de uiteindelijke sleutel. Meestal gaat het door een sleutelafleidingsfunctie als HKDF, die meerdere sleutels voor verschillende doeleinden oplevert, zodat één gelekte sleutel niet de hele keten blootlegt. Een klein detail dat vaak wordt overgeslagen.