-
Tu je naše riešenie. Najskôr sa Alica a Bob verejne dohodnú na prvočíselnom deliteli a na generátore.
-
Napríklad 3 a 17.
-
Potom si Alica vyberie náhodné prvočíslo, povedzme 15, a vyráta 3 na 15. modulo 17. Výsledok pošle verejne Bobovi.
-
Potom si Bob vyberie svoje náhodne číslo, napríklad 13. Vypočíta 13. mocninu 3 modulo 17 a výsledok pošle Alici.
-
A teraz podstatná časť. Alica vezme Bobov verejný výsledok a umocní ho svojim tajným číslom, čím dostane zdieľané tajomstvo. V tomto prípade to je 10.
-
Bob berie Alicin verejný výsledok, ten umocní svojim súkromným číslom, čím dostane rovnaké tajné číslo.
-
Uvedomte si, že urobili rovnaké výpočty, aj keď to tak nevyzerá.
-
Čo urobila Alica?
-
12 od Boba, bola získaná ako 3 umocnená na 13 modulo 17. Takže jej výpočet je ako 3 na 13. na 15. modulo 17.
-
Bob dostal od Alice 6 vyrátanú ako 3 na 15. modulo 17.
-
Jeho výpočet zodpovedá 3 na 15. na 13.
-
Všimnite si, že vykonali rovnaké výpočty s exponentami v inom poradí. Poradie exponentov sa dá zameniť bez zmeny výsledku.
-
Takže obaja vypočítali 3 umocnenú oboma ich súkromnými číslami.
-
Bez súkromných čísel, 13 alebo 15, nebude môcť Eva nájsť riešenie.
-
Takto sa to robí!
-
Eva uviazla v riešení problému diskrétneho logaritmu. S dostatočne veľkými číslami môžeme povedať, že pre ňu nebude v praxi možné rozlúštiť šifru v rozumnom čase.
-
Tento postup rieši problém zdieľaného kľúča. Môže byť použitý s generátorom pseudonáhodných čísel, aby šifroval správy medzi ľuďmi, ktorý sa nikdy nestretli.