Все о геологии :: на главную страницу! Геовикипедия 
wiki.web.ru 
Поиск  
  Rambler's Top100 Service
 Главная страница  Конференции: Календарь / Материалы  Каталог ссылок    Словарь       Форумы        В помощь студенту     Последние поступления
   Геология | Курсы лекций
 Обсудить в форуме  Добавить новое сообщение
Вперед Вверх Назад Содержание Предметный указатель
Вперед: 8.4 Электронные бумажники Вверх: 8.3 Электронная монета Назад: 8.3.3 Схема Брандса   Содержание   Предметный указатель

8.3.4 Переводимая электронная монета

В схеме Якоби, приведенной в разделе 8.3.2, электронная монета не является переводимой. Т. е., единственное, что может сделать продавец с полученной монетой -- это положить ее на свой счет в банке. Бумажные же и металлические деньги имеют то ценное свойство, что монеты и купюры, полученные в одном платеже, можно использовать для нового платежа непосредственно.

Ван Антверпен [vA90] предлагает общий способ преобразования платежных систем с электронной монетой в системы с переводимой монетой. Вначале очень кратко опишем общую конструкцию системы электронных платежей с непереводимой монетой. Для лучшего понимания полезно сравнивать элементы этой системы с их реализацией в схеме Якоби.

Банк имеет два секретных ключа $ S_0$ и $ S_1$, которым соответствуют открытые ключи $ P_0$ и $ P_1$. Эти ключи используются в двух схемах подписи, которые могут быть как однотипными, так и различных типов, но обе эти схемы должны обеспечивать возможность получения затемненных подписей. Подпись сообщения $ m$ с ключом $ S_i$ будет для простоты обозначаться через $ S_i(m)$. По соглашению, подпись с ключом $ S_1$ соответствует номиналу, скажем, в 1 цент, а подпись с ключом $ S_0$ никакого денежного содержания не имеет. Кроме того, банк выбирает и публикует некоторую одностороннюю функцию $ f$.

Ниже приводятся описания транзакций платежной системы.


Снятие со счета. Клиент P создает сообщение $ m_{\mbox{\tiny P}}$, имеющее требуемую для данной платежной системы структуру, и, используя схему затемненной подписи, получает подпись банка на этом сообщении, т. е. он получает монету $ S_1(m_{\mbox{\tiny P}})$ достоинством в 1 цент.

Платеж. P посылает $ m_{\mbox{\tiny P}}$ и $ S_1(m_{\mbox{\tiny P}})$ клиенту R. Последний проверяет подпись, выбирает случайный запрос $ c_{\mbox{\tiny P}}$ и посылает его P. Клиент P вычисляет ответ $ r_{\mbox{\tiny P}}$ и передает его R, который, используя $ c_{\mbox{\tiny P}}$ и $ m_{\mbox{\tiny P}}$, проверяет корректность ответа.

Депозит. R посылает $ m_{\mbox{\tiny P}}$, $ S_1(m_{\mbox{\tiny P}})$, $ c_{\mbox{\tiny P}}$ и $ r_{\mbox{\tiny P}}$ в банк. Банк проверяет подпись и корректность ответа $ r_{\mbox{\tiny P}}$ на запрос $ c_{\mbox{\tiny P}}$. Кроме того, банк проверяет, не была ли данная монета потрачена ранее, и если да, то идентифицирует нарушителя.


Для преобразования этой платежной системы в систему с переводимой монетой в нее вносятся следующие изменения. Прежде, чем принимать платеж, клиент R обращается в банк и выполняет с ним протокол, аналогичный снятию со счета, но получает подпись с другим ключом, т. е. $ S_0(m_{\mbox{\tiny R}})$, где $ m_{\mbox{\tiny R}}$ -- сообщение, сформированное R таким же образом, как P формирует $ m_{\mbox{\tiny P}}$.

Когда R получает монету от P в транзакции платежа, он не выбирает запрос случайным образом, а вычисляет его в виде $ c_{\mbox{\tiny P}}=f(m_{\mbox{\tiny R}},\rho_{\mbox{\tiny R}})$, где $ \rho_{\mbox{\tiny R}}$ -- специальным образом подобранный параметр, зависящий от конкретной системы электронных платежей.

В дальнейшем R может заплатить полученную монету третьему клиенту, T, с помощью следующей транзакции.


Перевод монеты. R высылает T     $ m_{\mbox{\tiny P}}$, $ S_1(m_{\mbox{\tiny P}})$, $ r_{\mbox{\tiny P}}$, $ m_{\mbox{\tiny R}}$, $ S_0(m_{\mbox{\tiny R}})$ и $ \rho_{\mbox{\tiny R}}$. T проверяет подписи, а также корректность ответа $ r_{\mbox{\tiny P}}$ на запрос $ f(m_{\mbox{\tiny R}},\rho_{\mbox{\tiny R}})$. Затем он вычисляет запрос $ c_{\mbox{\tiny R}}$ и посылает его R. Получив ответ $ r_{\mbox{\tiny R}}$, клиент T проверяет его корректность, используя $ c_{\mbox{\tiny R}}$ и $ m_{\mbox{\tiny R}}$.


Чтобы положить полученную монету на свой счет, T должен выслать банку всю информацию, полученную от R в процессе выполнения транзакции перевода монеты, а также свой запрос $ c_{\mbox{\tiny R}}$. В свою, очередь, T может действовать описанным выше образом и получить монету, которую можно использовать для дальнейших платежей. Этот процесс перевода монеты в принципе может продолжаться сколь угодно долго, однако, как нетрудно видеть, при этом размер монеты возрастает. С интуитивной точки зрения это представляется естественным, поскольку монета должна содержать информацию, позволяющую банку идентифицировать нарушителя, потратившего монету дважды. Шаум и Педерсен [ChP] доказали, что такое возрастание длины монеты и в самом деле неизбежно. Для обеспечения безусловной неотслеживаемости при каждом переводе монета должна возрастать по крайней мере на количество битов, необходимое для идентификации клиента, а в случае вычислительной неотслеживаемости -- приблизительно на половину этого количества.


Вперед Вверх Назад Содержание Предметный указатель
Вперед: 8.4 Электронные бумажники Вверх: 8.3 Электронная монета Назад: 8.3.3 Схема Брандса   Содержание   Предметный указатель


Проект осуществляется при поддержке:
Геологического факультета МГУ,
РФФИ
   
TopList Rambler's Top100