Введение

Неопровержимая подпись – это схема цифровой подписи, позволяющая подписывающей стороне избирательно разрешать проверку подписи определенным лицам. Схема обеспечивает явное опровержение подписи, предотвращая возможность последующего отказа подписавшего от подтверждения подписи, что могло бы снизить её ценность для проверяющего. Она была изобретена Дэвидом Чаумом и Хансом ван Антверпеном в 1989 году.

Обзор

В этой схеме подписант, владеющий закрытым ключом, может опубликовать подпись сообщения. Однако эта подпись ничего не сообщает получателю/верификатору сообщения и подписи без участия в одном из двух интерактивных протоколов: протокола подтверждения, который удостоверяет, что кандидат является действительной подписью сообщения, выпущенной подписантом, идентифицированным по его открытому ключу, и протокола отказа, который удостоверяет, что кандидат не является действительной подписью сообщения, выпущенной подписантом. Цель данной схемы – предоставить подписанту возможность выбирать, кому предоставлять возможность проверки подписи. Однако, если подписант может впоследствии заявить о недействительности подписи, отказавшись от участия в проверке, это снизит ценность подписи для верификаторов. Протокол отказа позволяет отличить такие случаи, лишая подписанта возможности правдоподобно отрицать свою причастность. Важно, чтобы обмен данными в протоколах подтверждения и отказа не был передаваемым. Это достигается благодаря свойству нулевого знания: обе стороны могут создавать записи (транскрипты) протоколов подтверждения и отказа, которые для третьей стороны неотличимы от корректных обменов. Схема подписи с назначенным верификатором улучшает схему опровержимых подписей, позволяя для каждой подписи переложить интерактивную часть схемы на другую сторону – назначенного верификатора, тем самым снижая нагрузку на подписанта.

Протокол с нулевым знанием

Следующий протокол был предложен Дэвидом Шоумом. Выбирается группа G, в которой задача дискретного логарифмирования неразрешима, и все операции в схеме выполняются в этой группе. Как правило, это будет конечная циклическая группа порядка p, содержащаяся в Z/nZ, где p – большое простое число; эта группа снабжена групповой операцией целочисленного умножения по модулю n. Произвольно выбирается примитивный элемент (или генератор) g из G; вычисленные степени g затем комбинируются в соответствии с фиксированными аксиомами. Алиса генерирует пару ключей, случайно выбирает секретный ключ x, а затем вычисляет и публикует открытый ключ y = gx.

Подпись сообщения

Алиса подписывает сообщение m, вычисляя и публикуя подпись z = mx.