Diffie-Hellmanův algoritmus slouží k domluvě společného klíče (například pro symetrickou kryptografii) po nezabezpečeném kanálu (kanál může být odposloucháván). Tento algoritmus zaručí výměnu společného klíče takovým způsobem, že pokud bude tuto komunikaci odposlouchávat útočník, tak nebude schopen klíč na základě odposlechnutých informací zrekonstruovat.
Princip
Algoritmus je založen na umocňování čísel
Respektive na modulární variantě tohoto vzorce
Výpočet výsledné hodnoty je velmi snadný (rychlý), ale jen velmi obtížně se dá zjistit některá z hodnot, kterou zná pouze jiný účastník. Tomuto principu, na kterém stojí bezpečnost tohoto algoritmu, se říká problém diskrétního logaritmu.
Komunikace
Komunikace probíhá následujícím způsobem:
- Účastníci se veřejně domluví na použitém modulu a základu .
- Každý z účastníků si zvolí svůj exponent (nesoudělný s modulem).
- Každý z účastníků umocní základ modulárně základ na svůj exponent a výsledek pošle dalšímu účastníkovi.
- Algoritmus končí, když je každý z původních základů zpracován každým účastníkem.