Izvorna verzija ove priču pojavio se u Časopisu Quanta.
Tisućama godina, ako ste htjeli poslati tajnu poruku, u osnovi je postojao jedan način da to učinite. Poruku biste šifrirali pomoću posebnog pravila, poznatog samo vama i vašoj ciljnoj publici. Ovo je pravilo djelovalo poput ključa u bravu. Da imate ključ, mogli biste dešifrirati poruku; u suprotnom, morali biste obijati bravu. Neke brave su toliko učinkovite da se nikada ne mogu odabrati, čak ni uz beskonačno vrijeme i resurse. Ali čak i te sheme pate od iste Ahilove pete koja muči sve takve sustave šifriranja: kako taj ključ staviti u prave ruke, a zadržati ga podalje od pogrešnih?
Kontraintuitivno rješenje, poznato kao kriptografija s javnim ključem ne oslanja se na čuvanje ključa u tajnosti, već na njegovu širu dostupnost. Trik je u tome da također koristite drugi ključ koji nikada ne dijelite ni s kim, čak ni s osobom s kojom komunicirate. Samo upotrebom ove kombinacije dva ključa – jednog javnog, jednog privatnog – netko može šifrirati i dešifrirati poruku.
Da biste razumjeli kako ovo funkcionira, lakše je zamisliti “ključeve” ne kao objekte koji stanu u bravu, već kao dva komplementarna sastojka u nevidljivoj tinti. Prvi sastojak čini da poruke nestaju, a drugi čini da se ponovno pojavljuju. Ako špijun po imenu Boris svojoj kolegici Natashi želi poslati tajnu poruku, on napiše poruku i zatim upotrijebi prvi sastojak kako bi je učinio nevidljivom na stranici. (Njemu je to lako učiniti: Natasha je objavila jednostavnu i dobro poznatu formulu za nestajanje tinte.) Kad Natasha primi papir poštom, nanosi drugi sastojak koji čini da se Borisova poruka ponovno pojavi.
U ovoj shemi svatko može učiniti poruke nevidljivima, ali samo ih Natasha može ponovno učiniti vidljivima. A budući da nikad ni s kim ne dijeli formulu za drugi sastojak – čak ni s Borisom – može biti sigurna da poruka nije usput dešifrirana. Kad Boris želi primiti tajne poruke, on jednostavno usvoji istu proceduru: objavi jednostavan recept za nestajanje poruka (koji Natasha ili bilo tko drugi može koristiti), a zadrži još jedan samo za sebe kako bi se one ponovno pojavile.
U kriptografiji s javnim ključem, “javni” i “privatni” ključ funkcioniraju kao prvi i drugi sastojak ove posebne nevidljive tinte: jedan šifrira poruke, drugi ih dešifrira. Ali umjesto uporabe kemikalija, kriptografija s javnim ključem koristi matematičke zagonetke tzv. funkcije potpornih vrata. Te je funkcije lako izračunati u jednom smjeru, a iznimno ih je teško obrnuti. Ali oni također sadrže “vrata”, dijelove informacija koji, ako su poznati, čine funkcije trivijalno lakima za izračunavanje u oba smjera.
Jedna uobičajena funkcija zatvarača uključuje množenje dvaju velikih prostih brojeva, što je laka operacija. Ali obrnuti to – to jest, početi s umnoškom i pronaći svaki prosti faktor – računalno je nepraktično. Za izradu javnog ključa počnite s dva velika prosta broja. Ovo su tvoja vrata. Pomnožite dva broja zajedno, a zatim izvedite nešto dodatno matematičke operacije. Ovaj javni ključ sada može šifrirati poruke. Da biste ih dešifrirali, trebat će vam odgovarajući privatni ključ, koji sadrži primarne faktore—potrebna vratašca. S tim je brojevima lako dešifrirati poruku. Držite ta dva glavna faktora u tajnosti i poruka će ostati tajna.