Имеются две стороны
и
и незащищенный канал связи между ними. Стороне
требуется передать открытое сообщение
стороне
и подписать его для того, чтобы сторона
смогла аутентифицировать сторону
.
имеет секретный ключ
, открытый ключ
, полученные так же, как и в системе шифрования Эль-Гамаля, и хочет подписать открытое сообщение. Обозначим подпись
.
Для создания
сторона
выполняется следующие операции:
, от своего открытого сообщения
;
,
;

;
и посылает сообщение с подписью
.
Получив сообщение, сторона
осуществляет проверку подписи, выполняя операции:
вычисляет хэш-функцию
;
,
и
, если
,то подптсь подлинная, в противном случае - фальсификация.
Проверка подписи корректна, так как по малой теореме Ферма

;