Стандартный документ, используемый в качестве справочного материала для протокола идентификации Шнорра и связанной с ним схемы подписи, — Клаус-Питер Шнорр, Эффективное создание подписи с помощью смарт-карт (альтернативная версия), в Журнал криптологии, 1991 г..
Различия между этим и протоколом идентификации Шнорра как в современном учебнике:
В исходном изложении используется группа Шнорра большого простого порядка. $q$, то есть подгруппа группы $\mathbb Z_p^*$ для огромного премьера $р$ с $q$ делитель $p-1$. Сейчас принято рассуждать в абстрактной группе порядка $q$, который может быть реализован, например. как группа эллиптических кривых.
Обозначение группы в оригинале мультипликативное, а теперь часто аддитивное.
В оригинале секрет верификатора $е$ является случайным в $[0,2^т)$ с $2^t\ll q$, из соображений эффективности. Многие современные экспозиции составляют $е$ случайно в $[0,q)$ или аналогично большой интервал.
В оригинале неясно, отправляет ли в самом протоколе идентификации доказывающая сторона А групповой элемент $х$ (текст) или это хэш $ч(х)$ (фигура 1), оптимизация, уменьшающая размер связи. Современные представления, как правило, не используют хэш в протоколе идентификации.
Оригинал (в обоих текст и фигура 1) делает частью протокола идентификации проверку открытого ключа А. $v$ и это ассоциация с личностью А $I$ используя подпись $S$:
- в 2.: «подпись КАС» $S$ за $(I,v)$, ¦
- в 3.: «Б проверяет подпись $S$¦
- в 5.: «Б проверяет $(I,v)$ либо проверив подпись $S$ или проверив $(I,v)$ на "линии".
Но современные экспозиции часто делают это внешней прелюдией. Некоторые удаляют $I$ и $S$, и A, предоставляющий свой открытый ключ $v$ на первом шаге.
В некоторых частях оригинальной статьи А является смарт-картой, в то время как некоторые другие разъяснения о том, как производятся вычисления, или уподобляют вычислительные средства их владельцу/оператору, отсутствуют.
В оригинальной экспозиции подчеркивается, что рисунок $г$ и вычисления $х$ (на шаге 2.) может быть предварительным в автономном режиме.
Используя исходные обозначения и нумерацию шагов (вопреки многим учебникам), можно было бы составить минимальное современное изложение.
- Работаем в подходящей публичной группе первоочередного порядка $q$ и генератор $\альфа$, отмечено мультипликативно. группы $q$ таким образом, элементы $\альфа^б$ за $b\in[0,q)$.
- Доказывающий А хочет продемонстрировать знание $s\in[0,q)$ такой, что $v=\альфа^s$, с публикой $v$ предполагается, что он известен верификатору B. Он использует четыре обмена:
-
- Ничья $r\in_R[0,q)$, вычисляет $х:=\альфа^г$, отправляет $х$
-
- Б рисует $e\in_R[0,q)$, отправляет $е$
-
- А вычисляет $y:=r+s\,e\bmod q$, отправляет $у$
-
- B проверяет $х=\альфа^у\,в^е$.
Действительно ли схема идентификации Шнорра и реализация смарт-карты — одно и то же?
Нет: схема — это не реализация, так же как и алгоритм — это не то же самое, что программа, использующая этот алгоритм и написанная для определенного типа компьютера. Реализация делает выбор, например, в качестве вычислительного средства используется смарт-карта; использование группы Шнорра с определенными размерными параметрами; дальнейшее ограничение количества битов в $е$ в параметр $t$. Он отправляет хэш $ч(х)$ скорее, чем $х$ на шаге 2, при этом шаг проверки 5 соответственно изменен на $ч(х)=ч(\альфа^у\,в^е)$. Он определяет, что $v$ находится в контексте, и к этому вводит $I$ и $S$.
Когда современный текст ссылается на схему идентификации Шнорра, он имеет тенденцию быть сокращенным абстрактным протоколом, как в предыдущем разделе, без смарт-карты, $t$, $ч$; и часто без $I$, $S$.
В работе, использующей схему идентификации Шнорра, я бы процитировал Бумага JoC и независимо указать протокол, который я использую, чтобы не было двусмысленности в отношении того, что я имею в виду под схемой идентификации Шнорра.