Każdy od czasu do czasu potrzebuje metody przekazania komuś pewnych
wiadomości tak, żeby niepowołane osoby nie miały szans na ich przechwycenie.
Począwszy od zabaw z kolegami na podwórku, a skończywszy na operacjach
bankowych, wojskowych czy wykorzystujących dane osobowe – bez szyfrów
po prostu nie da się żyć. Do zaszyfrowania danych zwykle potrzebny jest klucz –
pewne słowo czy liczba, które najpierw kierują procesem tworzenia szyfru,
a później pozwalają odbiorcy wiadomości ją odkodować. Osoby, które chcą
porozumiewać się za pomocą szyfru, muszą najpierw uzgodnić klucz między sobą. I tu
pojawia się problem: jak ustalić klucz, tak żeby nikt oprócz nas nie mógł
go poznać?