Zanim zaczniesz przesyłać dane za pomocą algorytmu z kluczem symetrycznym, musisz się upewnić, że wszyscy uczestnicy komunikacji mają ten sam klucz. Nie możesz po prostu przesłać tego klucza w taki sam sposób, w jaki będziesz przesyłał zaszyfrowane dane, ponieważ wówczas każdy, kto będzie obserwował kanał komunikacyjny, zdobędzie klucz (a jeśli uważasz, że nikt nie obserwuje kanału, to w ogóle nie musisz szyfrować danych). Jeśli używasz algorytmu z kluczem publicznym, masz inny problem: musisz się upewnić, że dysponujesz poprawnym kluczem publicznym jednostki, dla której szyfrujesz dane. Są to problemy nazywane problemami dystrybucji kluczy.
Istnieją trzy popularne metody dystrybuowania kluczy symetrycznych. Pierwsza to ręczna dystrybucja kluczy, co oznacza że nie ma żadnego zdefiniowanego sposobu przekazywania klucza, więc musi go dostarczyć jakiś człowiek. Założenie jest takie, że człowiek przekaże klucz za pomocą bezpiecznej metody, która nie podlega tym samym zagrożeniom co szyfrowanie (jeśli na przykład system szyfrowania jest protokołem sieciowym, klucz zostanie przesłany faksem, a nie przez sieć).
Ręczna dystrybucja kluczy występuje często w systemach posługujących się długoterminowymi kluczami i jest do przyjęcia tylko w nich. Jeśli musisz często zmieniać klucze, angażowanie w to ludzi bardzo spowalnia procedurę i prowadzi do pomyłek.