Общий вход: - однонаправленная и гомоморфная функция над группой , - для некоторого .
1) Первый шаг доказывающего. выбирает случайным образом
и вычисляет число . отправляет проверяющему.
2) Первый шаг проверяющего. выбирает наугад
и отправляет его доказывающему.
3) Второй шаг доказывающего. получает . вычисляет
и отправляет его проверяющему.
4) Второй шаг проверяющего. проверяет выполнение условия , если , или , если . Если оно не выполняется, останавливает проверку и отвергает доказательство.
5) и повторяют шаги 1) - 4) раз.
Проверяющий принимает доказательство, если он завершит итераций шагов 1) - 4). В противном случае, отвергает.