Діффі й Хеллман запропонували 1976 року алгоритм для створення криптографічних систем з відкритим ключем, який базується на складності обчислення дискретного логарифма. Алгоритм Діффі–Хеллмана може бути використано задля розподілу ключів (генерування секретного ключа), але його не можна використовувати для шифрування повідомлення.
Згідно з цим алгоритмом, учасники інформаційного процесу А та В домовляються щодо значення великого простого числа p і простогодискретного кореня цього числа a (рис).
Сторона А обирає випадкове число , а сторона В – випадкове число у такий спосіб, щоби виконувалися умови
1 < < p – 1 та 1 < < p – 1.
Числа та тримаються сторонами А та В в секреті.
Сторона А формує відкритий ключ за правилом
(mod p).
Аналогічно сторона В формує відкритий ключ за правилом
(mod p).
Після обміну несекретними ключами та сторони обчислюють значення секретного числа К:
К (mod p) (mod p);
К (mod p) (mod p).
Здобуте число К для ймовірного зловмисника є секретним, оскільки розв’язання рівнянь та для великих чисел є неможливе.