-
Zde je naše řešení.
-
Nejdříve se Alice s Bobem veřejně dohodnou na prvočíselném modulu a na generátoru.
-
V našem případě 17 a 3.
-
Potom si Alice vybere své soukromé náhodné číslo.
-
Řekněme, že 15 a spočítá (15. mocninu 3 modulo 17)
-
a výsledek pošle veřejně Bobovi.
-
Potom si Bob vybere své náhodné číslo.
-
Například 13 a spočítá (13. mocninu 3 modulo 17)
-
a výsledek pošle veřejně Alici.
-
A teď podstata finty.
-
Alice vezme Bobův veřejný výsledek a umocní ho svým tajným číslem
-
a tím získá sdílené tajemství.
V tomto případě je to 10.
-
Bob vezme od Alice veřejný výsledek
-
a umocní ho svým soukromým číslem,
čímž dostane stejné tajné číslo.
-
Všimněte si, že provedli stejné výpočty.
I když to tak na první pohled nevypadá.
-
Co udělala Alice?
-
Číslo 12, které získala od Boba,
bylo vypočteno jako (13. mocnina 3 modulo 17).
-
Takže její výpočet je jako (3 na 13 na 15 modulo 17).
-
A co Bob?
-
Číslo 6, které dostal od Alice,
bylo vypočítané jako (15. mocnina 3 modulo 17).
-
Jeho výpočet lze tedy napsat jako (3 na 15 na 13 modulo 17).
-
Všimněte si, že provedli stejné výpočty s exponenty v jiném pořadí.
-
Pokud exponenty zaměníte, tak se výsledek nezmění.
-
Takže oba vypočítali 3 umocněnou oběma jejich soukromými čísly.
-
Bez jednoho ze soukromých čísel - 13 nebo 15,
nebude moci Eve najít řešení.
-
A v tom je trik!
-
Eve mezi tím uvízla v řešení problému diskrétního logaritmu.
-
Pokud budou čísla dostatečně velká, tak můžeme říci,
-
že pro ni bude prakticky nemožné rozluštit šifru v rozumném čase.
-
Tento postup řeší problém výměny klíče.
-
Může být použit spolu s generátorem pseudonáhodných čísel tak,
-
aby šifroval zprávy mezi lidmi, kteří se nikdy nesetkali.