logo search
Алгоритм RSA

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Протокол RSA

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

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

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

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

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

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

Применение

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