Алиса выбирает список равномерно случайных закрытых ключей $\{а_я\}$. Она вычисляет список соответствующих открытых ключей $\{А_я\}$ как $\{a_iG\}$. Затем она объявляет список соответствующих хэшей открытого ключа. $\{P_i\}$ рассчитывается как $\{хэш(A_i)\}$.
$G$ является известной базовой точкой на кривой, и $хеш()$ является криптографически безопасной хеш-функцией.
Боб делает то же самое, чтобы у Боба были закрытые ключи. $\{b_i\}$, имеет открытые ключи $\{B_i\}$, и объявляет хэши открытого ключа $\{Q_i\}$.
На этом этапе Алиса и Боб могут принять решение о сотрудничестве для определения списка общих секретов Диффи-Хеллмана. $\{S_i\}$ как $\{a_iB_i\}$ или же $\{b_iA_i\}$. Однако они этого не делают.
Без ограничения общности, если Алиса хочет узнать общий секрет по индексу $j$ без обнаружения Боба $j$ или общий секрет:
Алиса выбирает равномерно случайный ослепляющий фактор $г$, и отправляет $X=rA_j+jH$ к Бобу. $Ч$ является второй известной базовой точкой на кривой, где $ч$ неизвестно такое, что $hG==H$.
Боб отправляет обратно Алисе список $\{Z_i\}$ = $\{b_i(X-iH)\}$.
Алиса теперь может только разлепить и узнать общий секрет $S_j$ путем расчета $r^{-1}Z_j$. Она не может ничего узнать ни о каком другом общем секрете, потому что $Ч$ Компонент списка ответов Боба аннулируется только по одному конкретному индексу.
Поскольку этот секрет Диффи-Хеллмана $S_j$ будет равно $a_jB_j$, Алиса затем может проверить, что хэш Боба $Q_j$ совпадения путем проверки $Q_j\overset{?}{=}хэш(a_j^{-1}S_j)$.