Дискретная математика. Математические вопросы криптографии. Ерош И.Л. - 39 стр.

UptoLike

Составители: 

39
4.2. Электронные платежи
Рассмотрим протокол электронных платежей, при которых обеспе-
чивается требование неотслеживаемости покупателя (пояснение тер-
мина приведено ниже). Пусть в электронных платежах участвуют три
стороны: банк, обеспечивающий снятие со счета денег, зачисления на
счет и подпись электронной банкноты, покупатель, снимающий со сче-
та в банке некоторую сумму и передающий ее продавцу, и сам продавец
(товаров или услуг), получающий электронную банкноту и передающий
ее в банк для проверки и зачисления на свой счет.
Будем использовать три транзакции: снятие со счета, платеж и депозит.
При расчетах электронными деньгами необходимо обеспечить:
– безопасность банка, в виде невозможности подделать подпись
банка или по набору подлинных банкнот, подписанных банком, создать
новую фальшивую банкноту с банковской подписью,
– неотслеживаемость покупателя в виде невозможности сопостав-
ления выданных банкнот, которые возвращаются в банк, и покупателя,
получившего эти банкноты.
Эти, на первый взгляд, парадоксальные требования обеспечиваются
с помощью так называемой "затемненной" подписи в соответствии со
схемой RSA.
Банк выбирает два больших простых числа p и q, открытый ключ e
и вычисляет секретный ключ d из условия: e
d
1 mod ϕ (N = pq), затем
открыто публикует N, e и некоторую одностороннюю функцию f : Z
N
Z
N
.
Генерация подписи банка состоит в применении к сообщению m фун-
кции дешифрования: s m
d
mod N. В простейшем варианте электронной
подписи ключом d соответствует банкнота достоинством в 1 денежную
единицу (рубль, сто рублей, тысяча и т.п.). Для получения нескольких
денежных единиц в данном протоколе необходимо каждый раз обра-
щаться в банк. Более сложный протокол обеспечивает получение элек-
тронной банкноты произвольного достоинства.
При снятии со счета покупатель выбирает некоторое случайное чис-
ло n Z
N
и вычисляет f(n).Покупатель хочет получить от банка под-
пись на банкноте, т. е. f(n)
d
. Однако если он просто пошлет в банк
значение f(n), то нарушится условие неотслеживаемости, так как банк,
снимая со счета покупателя сумму, сопоставит покупателю выданную
(подписанную банком) банкноту. Для устранения этого покупатель вы-
бирает некоторое случайное число r Z
N
., r 0, вычисляет f(n)r
e
mod