logo
Алгоритм RSA

20. Слепая подпись

Слепая подпись (Blind Signature) — разновидность ЭЦП, особенностью которой является то, что подписывающая сторона не может точно знать содержимое подписываемого документа. Понятие слепой подписи придумано Дэвидом Чаумом

Описание

Основная идея слепых подписей заключается в следующем. Отправитель А посылает документ стороне В, который В подписывает и возвращает А. Используя полученную подпись, сторона А может вычислить подпись стороны В на более важном для себя сообщении t. По завершении этого протокола сторона В ничего не знает ни о сообщении t, ни о подписи под этим сообщением.

Эту схему можно сравнить с конвертом, в котором размещён документ и копировальный лист. Если подписать конверт, то подпись отпечатается на документе, и при вскрытии конверта документ уже будет подписан.

Цель слепой подписи состоит в том, чтобы воспрепятствовать подписывающему лицу В ознакомиться с сообщением стороны А, которое он подписывает, и с соответствующей подписью под этим сообщением. Поэтому в дальнейшем подписанное сообщение невозможно связать со стороной А.

Алгоритмы слепой подписи

Полностью слепая подпись

Дана ситуация: Боб - нотариус. Алисе нужно, чтобы он подписал документ не имея никакого представления о его содержании. Боб только заверяет, что документ нотариально засвидетельствован в указанное время. Тогда они действуют по следующему алгоритму:

Алиса берёт документ и умножает его на случайное число. Оно называется маскирующим множителем.

Алиса отсылает документ Бобу

Боб подписывает документ и отсылает обратно

Алиса удаляет маскирующий множитель и получает свой документ с подписью.

Этот протокол работает только если функции подписи и умножения коммутативны.

Слепая подпись

Боб готовит n документов на каждом из которых написано некоторое уникальное слово (чем больше n, тем меньше у Боба шансов смошенничать).

Боб маскирует каждый документ уникальным маскирующим множителем и отправляет их Алисе.

Алиса получает все документы и случайным образом выбирает n-1 из них.

Алиса просит Боба выслать маскирующие множители для выбранных документов.

Боб делает это.

Алиса вскрывает n-1 документов и убеждается что они корректны.

Алиса подписывает оставшийся документ и отсылает Бобу.

Теперь у Боба есть подписанный Алисой документ с уникальным словом, которое Алиса не знает.

Протокол RSA

Первая реализация слепых подписей была осуществлена Чаумом с помощью криптосистемы RSA:

Алиса выбирает случайным образом число из диапазона от 1 до n. Затем она маскирует m, вычисляя: 

Боб подписывает t: 

Алиса снимает маскировку с td, вычисляя 

Результатом является 

Чаум придумал целое семейство более сложных алгоритмов слепой подписи под общим названием неожиданные слепые подписи. Их схемы ещё сложнее, но они дают больше возможностей.

Применение

Банковские системы

Yandex.RTB R-A-252273-3
Yandex.RTB R-A-252273-4