112 / 691BLIND

Blind signature

Слепая подпись подписывает сообщение, содержание которого скрыто при подписании. При корректном протоколе позднейший токен нельзя надёжно связать с конкретным сеансом выпуска.

В конструкции RSA Чаума запрашивающий ослепляет закодированное сообщение случайным множителем, получает подпись скрытого значения и снимает ослепление. Корректность, слепота и неподделываемость — разные свойства; сама подпись не предотвращает копирование токена или двойную трату.

Обычная подпись показывает подписанту сообщение. Слепой протокол отделяет разрешение от содержания, позволяя подтвердить право или стоимость без знания итогового токена. [David Chaum — Blind Signatures for Untraceable Payments] [RFC 9474 — RSA Blind Signatures]

С открытым ключом RSA (n,e) запрашивающий кодирует сообщение m, выбирает случайное обратимое r и отправляет m′ = m·r^e mod n. Ослепление скрывает сообщение от подписанта. [David Chaum — Blind Signatures for Untraceable Payments] [RFC 9474 — RSA Blind Signatures]

Подписант использует тайный показатель d и после проверки разрешения возвращает s′ = (m′)^d mod n. Он видит ослеплённое значение и событие авторизации, а не итоговое сообщение. [David Chaum — Blind Signatures for Untraceable Payments] [RFC 9474 — RSA Blind Signatures]

Запрашивающий вычисляет s = s′·r⁻¹ mod n. Алгебра снимает ослепление, оставляя ту же подпись RSA, что возникла бы при прямом подписании закодированного m. [David Chaum — Blind Signatures for Untraceable Payments] [RFC 9474 — RSA Blind Signatures]

Любой обладатель открытого ключа проверяет, что s^e соответствует закодированному сообщению. Итоговая пара сообщения и подписи не обязана содержать идентификатор интерактивного выпуска. [RFC 9474 — RSA Blind Signatures] [CFRG — RSA Blind Signatures security analysis]

Слепота означает, что подписант не может надёжно связать позднейший токен с конкретным сеансом подписания. Безопасное кодирование и новый непредсказуемый множитель необходимы; учебное RSA не является протоколом для реального применения. [RFC 9474 — RSA Blind Signatures] [CFRG — RSA Blind Signatures security analysis]

Неподделываемость не позволяет создать больше действительных подписей, чем было разрешённых взаимодействий подписания. Свойство one-more unforgeability учитывает также нападающего, ведущего несколько сеансов одновременно. [RFC 9474 — RSA Blind Signatures] [CFRG — RSA Blind Signatures security analysis]

В чаумовских наличных монетный двор при выводе списывает средства или проверяет право и слепо подписывает секрет монеты. Позже он проверяет своё обязательство, не зная автоматически счёта происхождения монеты. [David Chaum — Blind Signatures for Untraceable Payments] [GNU Taler — Blind signatures]

Слепая подпись не предотвращает копирование токена, не скрывает сведения о продавце и сетевые метаданные и не гарантирует платёжеспособности эмитента или безопасности взломанного кошелька. Двойную трату обрабатывает реестр потраченных токенов или дополнительный протокол. [RFC 9474 — RSA Blind Signatures] [GNU Taler — Blind signatures]

Cashu и Fedimint используют слепо подписанные требования к монетному двору или федерации в среде Bitcoin и Lightning Network. Их конкретные криптографические конструкции отличаются от приведённого примера RSA. Приватность транзакций связана с рисками хранения средств и доступности эмитента. [Cashu protocol specifications] [Fedimint documentation]

Для полной картины прочитайте эту статью вместе с David Chaum, Chaumian eCash, DigiCash, Cashu, Fedimint, Приватность в Bitcoin. На эту статью также ссылаются DigiCash, Chaumian eCash, Cashu, David Chaum.

DOC · 001David Chaum — Blind Signatures for Untraceable PaymentsПервичный источник ↗DOC · 002RFC 9474 — RSA Blind SignaturesСпецификация ↗DOC · 003CFRG — RSA Blind Signatures security analysisСпецификация ↗DOC · 004GNU Taler — Blind signaturesДокументация ↗DOC · 005Cashu protocol specificationsСпецификация ↗DOC · 006Fedimint documentationДокументация ↗
Сначала источники · Не является инвестиционной рекомендацией