Протокол Шнорра (Schnorr)

From CryptoWiki
Jump to: navigation, search

Протокол Шнорра является альтернативой протоколам Фиата-Шамира и ... Безопасность данного протокола основана на проблеме дискретного логарифмирования. Архитектура протокола позволяет выполнить предвычисления, что приводит к уменьшению объёма вычислений, которые доказывающая сторона выполняет в процессе протокола. Также возможно уменьшение объёма передаваемой информации в случае использования подгруппы порядка q мультипликативной группы целых чисел в кольце вычетов File10.png, где q|(p-1).

Стоит отметить, что данный протокол по сравнению с протоколом Фиата-Шамира имеет относительно низкие вычислительные требования и состоит только из 3-х этапов. Рассмотрим данные этапы более подробно.

Первым этапом является выбор параметров протокола.

  1. Выбирается два простых числа p и q, причём q|(p-1).
  2. Выбирается число t (File14.png), являющееся параметром безопасности.
  3. Выбирается элемент File11.png, имеющий порядок q.
  4. Каждая сторона протокола получает копию системных параметров File12.png, а также открытый ключ доверенного центра T, который позволяет проверить подпись File13.png сообщения m.

Второй этап заключается в выработке параметров каждого пользователя.

  1. Каждая сторона протокола A получает уникальный идентификатор File4.png.
  2. Сторона A выбирает приватный ключ a (File15.png) и вычисляет File16.png.
  3. Сторона A передаёт v доверенному центру T и получает сертификат File17.png, который связывает v и File4.png.

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

  1. Доказывающая сторона A случайным образом выбирает число r (0<r<q), вычисляет File18.png и отправляет проверяющей стороне B File19.png.
  2. Сторона B аутентифицирует открытый ключ v доказывающей стороны A путём проверки подписи доверенного центра, после чего отправляет A случайное ранее не использовавшееся число e, File20.png.
  3. Сторона A проверяет File20.png и передаёт B File21.png.
  4. B вычисляет File22.png и принимает доказательство, если z=x.

Назад