В конструкции 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.