Die Verfahren, die in diesem Abschnitt vorgestellt werden, werden dazu verwendet, um zwischen zwei oder mehreren Parteien über nicht gesichterte Kanäle einen gemeinsamen, geheimen Wert zu berechnen; aus diesem geheimen Wert kann z.B. mittels einer Hash-Funktion ein gemeinsamer Sitzungs-Schlüssel (Session Key) erzeugt werden. Wie betrachten hier ausschließlich symmetrische Zweiweg-Protokolle.
Das simpelste Verfahren ist zugleich auch das älteste Public-Key-Verfahren, das öffentlich bekannt war: