Vysvětlím to bez technického žargonu.
Řekněme, že chcete někomu poslat ošklivý dopis, ale raději byste ho osobně nedoručili ze strachu, že se na vás může naštvat.
Můžete požádat kurýra, aby vám vzal dopis z vašeho domu a doručil jej příjemci, že? Funguje to, ale má problém v tom, že kurýr zná obě identity, a zlý kurýr by vás mohl donést.
Můžete použít dva kurýry a dát pokyn prvnímu, aby jej předal druhému, a dát pokyn druhý jej předá příjemci. To téměř funguje, protože teď jste jedinou osobou, která zná oba koncové body konverzace. Kurýr A
vás zná a kurýr B
, zatímco kurýr B
zná kurýr A
a příjemce;
Vy --- A --- B --- Příjemce
A jen snížit šance na získání špatného okruhu (když jsou všichni kurýři zlí a spolupracují ), ToR využívá 3 kurýry, takže do svého diagramu v hlavě přidejte „ C
“.
Zbývá jeden problém; jak doručíme pokyny každému kurýrovi, aniž bychom odhalili naši totožnost? Pokud jste na jeden kousek papíru napsali 'předat B' , můžete to dát kurýrovi A
vedle svého ošklivého dopisu, ale jakékoli pokyny, které spolu s ním pošlete, A
umí také číst, a proto bude znát totožnost všech v okruhu.
ToR řeší tento konečný problém s opakovaným šifrováním , šifrováním zprávy a pokyny opakovaně, jednou pro každého kurýra. Z hlediska naší analogie to děláte;
-
Vložte svůj ošklivý dopis do červeného pole vedle kousku papíru s nápisem „ předat příjemci '.
-
Zamkněte červené pole klíčem patřícím kurýrovi C.
-
Vložte červené pole do modrého pole vedle kousku papíru s nápisem „ předat C “.
-
Zamkněte modrý rámeček klíčem patřícím kurýrovi B.
-
Vložte modrý rámeček do zeleného rámečku vedle kousku papíru s nápisem „ předat B '.
-
Zamknout zelené pole s klíčem patřícím kurýrovi A a předat mu ho.
Pokud budete postupovat tímto způsobem, uvidíte, že žádný z kurýrů nemůže nikdy znát celý okruh a pro příjemce neexistuje způsob, jak to zjistit poslal jsi ošklivý dopis.