Пусть существуют два абонента: Алиса и Боб. Предположим, Алиса хочет создать общий секретный ключ с Бобом, но единственный доступный между ними канал может быть подслушан третьей стороной. Изначально должен быть согласован набор параметров ( для общего случая и для поля характеристики ). Так же у каждой стороны должна иметься пара ключей, состоящая из закрытого ключа (случайно выбранноецелое число из интервала ) и открытого ключа (где — это результат проделывания раз операции суммирования элемента ). Пусть тогда пара ключей Алисы будет , а пара Боба . Перед исполнением протокола стороны должны обменяться открытыми ключами.
Алиса вычисляет . Боб вычисляет . Общий секрет[англ.] — (x-координата получившейся точки). Большинство стандартных протоколов, базирующихся на ECDH, используют функции формирования ключа для получения симметричного ключа из значения [4][5].
Вычисленные участниками значения равны, так как . Из всей информации, связанной со своим закрытым ключом, Алиса сообщает только свой открытый ключ. Таким образом никто, кроме Алисы, не может определить её закрытый ключ, кроме участника, способного решить задачу дискретного логарифмирования на эллиптической кривой. Закрытый ключ Боба аналогично защищён. Никто, кроме Алисы или Боба, не может вычислить их общий секрет, кроме участника, способного разрешить проблему Диффи — Хеллмана[6].
Открытые ключи бывают либо статичными (и подтверждённые сертификатом) либо эфемерные (сокращённо ECDHE). Эфемерные ключи используются временно и не обязательно аутентифицируют отправителя, таким образом, если требуется аутентификация, подтверждение подлинности должно быть получено иным способом[3]. Аутентификация необходима для исключения возможности атаки посредника. Если Алиса либо Боб используют статичный ключ, опасность атаки посредника исключается, но не может быть обеспечена ни прямая секретность, ни устойчивость к подмене при компрометации ключа, как и некоторые другие свойства устойчивости к атакам. Пользователи статических закрытых ключей вынуждены проверять чужой открытый ключ и использовать функцию формирования ключа на общий секрет, чтобы предотвратить утечку информации о статично закрытом ключе[7]. Для шифрования с другими свойствами часто используется протокол MQV.
При использовании общего секрета в качестве ключа зачастую желательно хешировать секрет, чтобы избавиться от уязвимостей, возникших после применения протокола[7].
Значит, её порядок равен порядку группы , а именно числу , и её можно использовать для построения ключа.
Пусть , . Тогда открытые ключи участников протокола вычисляются как
.
.
А общий секрет будет равен:
.
В качестве ключа симметричной системы используется значение (или его часть)
.
Laurie Law. An Efficient Protocol for Authenticated Key Agreement : [англ.] / Laurie Law, Alfred Menezes, Minghua Qu … [et al.]. — Designs, Codes and Cryptography. — Kluwer Academic Publishers, 2003. — Vol. 28, no. 2. — P. 119–134. — ISSN0925-1022. — doi:10.1023/A:1022595222606.
Болотов А. А., Гашков С. Б., Фролов А. Б.Глава 2. Протоколы на эллиптических кривых // Элементарное введение в эллиптическую криптографию. Протоколы криптографии на эллиптических кривых. — М.: КомКнига, 2006. — С. 83—86. — ISBN 5-484-00444-6, ББК 32.81, УДК 512.8.