Введение
Неопровержимая подпись – это схема цифровой подписи, позволяющая подписывающей стороне избирательно разрешать проверку подписи определенным лицам. Схема обеспечивает явное опровержение подписи, предотвращая возможность последующего отказа подписавшего от подтверждения подписи, что могло бы снизить её ценность для проверяющего. Она была изобретена Дэвидом Чаумом и Хансом ван Антверпеном в 1989 году.
Обзор
В этой схеме подписант, владеющий закрытым ключом, может опубликовать подпись сообщения. Однако эта подпись ничего не сообщает получателю/верификатору сообщения и подписи без участия в одном из двух интерактивных протоколов: протокола подтверждения, который удостоверяет, что кандидат является действительной подписью сообщения, выпущенной подписантом, идентифицированным по его открытому ключу, и протокола отказа, который удостоверяет, что кандидат не является действительной подписью сообщения, выпущенной подписантом. Цель данной схемы – предоставить подписанту возможность выбирать, кому предоставлять возможность проверки подписи. Однако, если подписант может впоследствии заявить о недействительности подписи, отказавшись от участия в проверке, это снизит ценность подписи для верификаторов. Протокол отказа позволяет отличить такие случаи, лишая подписанта возможности правдоподобно отрицать свою причастность. Важно, чтобы обмен данными в протоколах подтверждения и отказа не был передаваемым. Это достигается благодаря свойству нулевого знания: обе стороны могут создавать записи (транскрипты) протоколов подтверждения и отказа, которые для третьей стороны неотличимы от корректных обменов. Схема подписи с назначенным верификатором улучшает схему опровержимых подписей, позволяя для каждой подписи переложить интерактивную часть схемы на другую сторону – назначенного верификатора, тем самым снижая нагрузку на подписанта.
Confirmation protocol, which confirms that a candidate is a valid signature of the message issued by the signer, identified by the public key. Disavowal protocol, which confirms that a candidate is not a valid signature of the message issued by the signer. The motivation for the scheme is to allow the signer to choose to whom signatures are verified. However, that the signer might claim the signature is invalid at any later point, by refusing to take part in verification, would devalue signatures to verifiers. The disavowal protocol distinguishes these cases removing the signer's plausible deniability. It is important that the confirmation and disavowal exchanges are not transferable. They achieve this by having the property of zero knowledge; both parties can create transcripts of both confirmation and disavowal that are indistinguishable, to a third party, of correct exchanges. The designated verifier signature scheme improves upon deniable signatures by allowing, for each signature, the interactive portion of the scheme to be offloaded onto another party, a designated verifier, reducing the burden on the signer.
Протокол с нулевым знанием
Следующий протокол был предложен Дэвидом Шоумом. Выбирается группа G, в которой задача дискретного логарифмирования неразрешима, и все операции в схеме выполняются в этой группе. Как правило, это будет конечная циклическая группа порядка p, содержащаяся в Z/nZ, где p – большое простое число; эта группа снабжена групповой операцией целочисленного умножения по модулю n. Произвольно выбирается примитивный элемент (или генератор) g из G; вычисленные степени g затем комбинируются в соответствии с фиксированными аксиомами. Алиса генерирует пару ключей, случайно выбирает секретный ключ x, а затем вычисляет и публикует открытый ключ y = gx.
Подпись сообщения
Алиса подписывает сообщение m, вычисляя и публикуя подпись z = mx.