Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Неоспоримая подпись является цифровой подписью схемой , которая позволяет подписывающему быть избирательными , к которому они позволяют проверять подписи. Схема добавляет явный отказ от подписи, предотвращая последующий отказ подписывающей стороны проверить подпись путем бездействия; ситуация, которая обесценила бы подпись в глазах проверяющего. Он был изобретен Дэвидом Чаумом и Хансом ван Антверпеном в 1989 году. [1]

Обзор [ править ]

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

  • Протокол подтверждения, который подтверждает, что кандидат является действительной подписью сообщения, выданного подписывающим лицом, идентифицированным открытым ключом.
  • Протокол отклонения, который подтверждает, что кандидат не является действительной подписью сообщения, выданного подписавшим.

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

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

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

Протокол с нулевым разглашением [ править ]

Следующий протокол был предложен Дэвидом Чаумом . [2]

Выбирается группа G , в которой проблема дискретного логарифмирования неразрешима, и все операции в схеме происходят в этой группе. Обычно это будет конечная циклическая группа порядка p, содержащаяся в Z / n Z , где p - большое простое число ; эта группа снабжена групповой операцией целочисленного умножения по модулю n . Выбирается произвольный примитивный элемент (или генератор) g группы G ; вычисленные степени g затем объединяются, подчиняясь фиксированным аксиомам.

Алиса генерирует пару ключей, случайным образом выбирает закрытый ключ x , а затем выводит и публикует открытый ключ y = g x .

Подпись сообщения [ править ]

  1. Алиса подписывает сообщение m , вычисляя и публикуя подпись z = m x .

Протокол подтверждения (т. Е. Признания) [ править ]

Боб хочет проверить подпись z для m Алисы под ключом y .

  1. Боб выбирает два случайных числа: a и b и использует их, чтобы скрыть сообщение, отправляя Алисе:
    с = м а г б .
  2. Алиса выбирает случайное число q , использует его для ослепления c , а затем подписывает его своим закрытым ключом x , отправляя Бобу:
    s 1 = cg q и
    s 2 = s 1 x .
    Обратите внимание, что
    ев 1 х = (CG д ) х = а г б ) х г QX =х ) (г х ) Ь + д = г у Ь + д .
  3. Боб показывает a и b .
  4. Алиса проверяет, что a и b являются правильными слепыми значениями, а затем, если да, выявляет q . Открытие этих блайндов делает биржу нулевой информацией.
  5. Боб проверяет s 1 = cg q , доказывая, что q не было выбрано нечестно, и
    s 2 = z a y b + q ,
    доказывает, что z - действительная подпись, выданная ключом Алисы. Обратите внимание, что
    г у Ь + д = х ) (г х ) Ь + д .

Алиса может обмануть на шаге 2, пытаясь случайным образом угадать s 2 .

Протокол отказа [ править ]

Алиса хочет убедить Боба, что z не является действительной подписью m под ключом g x ; т.е. z ≠ m x . Алиса и Боб согласовали целое число k , которое определяет вычислительную нагрузку на Алису и вероятность того, что она преуспеет случайно.

  1. Боб выбирает случайные значения s ∈ {0, 1, ..., k} и a и отправляет:
    v 1 = m s g a и
    v 2 = z s y a ,
    где возведение в степень с помощью a используется для скрытия отправленных значений. Обратите внимание, что
    v 2 знак равно z s y a = (m x ) s (g x ) a = v 1 x .
  2. Алиса, используя свой закрытый ключ, вычисляет v 1 x, а затем частное,
    v 1 x v 2 −1 = (m s g a ) x (z s g xa ) −1 = m sx z −s = (m x z −1 ) s .
    Таким образом, v 1 x v 2 −1 = 1, если zm x .
  3. Затем Алиса проверяет v 1 x v 2 −1 на равенство значениям:
    (m x z −1 ) i для i ∈ {0, 1,…, k} ;
    которые вычисляются повторным умножением m x z −1 (а не возведением в степень для каждого i ). Если проверка прошла успешно, Алиса предполагает, что релевантное i является s ; в противном случае она предполагает случайное значение. Где z = m x , (m x z −1 ) i = v 1 x v 2 −1 = 1 для всех i , s не подлежит восстановлению.
  4. Алиса выполняет i : она выбирает случайное r и отправляет хэш (r, i) Бобу.
  5. Боб показывает .
  6. Алиса подтверждает, что a является правильным блайндом ( т. Е. С его помощью могут быть сгенерированы v 1 и v 2 ), а затем, если это так, показывает r . Открытие этих блайндов делает биржу нулевой информацией.
  7. Боб проверяет hash (r, i) = hash (r, s) , доказывая, что Алиса знает s , следовательно, zm x .

Если Алиса попытается обмануть на шаге 3, угадав s наугад, вероятность успеха составит 1 / (k + 1) . Итак, если k = 1023 и протокол повторяется десять раз, ее шансы составляют от 1 до 2 100 .

См. Также [ править ]

Ссылки [ править ]

  1. ^ Чаум, Дэвид; ван Антверпен, Ганс (1990). «Бесспорные подписи». LNCS . 435 : 212–216.
  2. ^ Чаум, Дэвид (1991). «Неоспоримые подписи с нулевым разглашением» . Успехи в криптологии Труды EUROCRYPT '90 : 458–462. DOI : 10.1007 / 3-540-46877-3_41 .