Теория и практика защиты программ


         

есть его подпись под кодом


Протокол верификации ПВ

Абонент V вычисляет
 и просит абонента S доказать, что пара (r,s) есть его подпись под кодом m. Эта задача эквивалентна доказательству того, что дискретный логарифм g по основанию r равен (по модулю p) дискретному логарифму w по основанию g, то есть, что logg(p)wºlogr(p)g. Для этого:

                    Абонент V

выбирает a,bÎRZq, вычисляет
 и посылает d абоненту S.

    Абонент S выбирает tÎRZq, вычисляет
,
 и посылает h1 и h2 абоненту V.

    Абонент V высылает параметры a и b.

    Если
, то абонент S

посылает V параметр t; в противном случае - останавливается.

    Абонент V проверяет выполнение равенств
 и
.

Если проверка завершена успешно, то подпись принимается как корректная.

Протокол ОП

 В отвергающем протоколе S доказывает, что logg(p)w¹logr(p)g. Следующие шаги выполняются в цикле l раз.

                    Абонент V

выбирает d,eÎRZq, d¹1, bÎR{0,1}. Вычисляет
,
, если b=0 и
,
, если b=1. Посылает S значения a, b, d.

                    Абонент S

проверяет соотношение
. Если оно выполняется, то a=0, в противном случае a=1. Выбирает RÎRZq, вычисляет
 и посылает V

значение c.

                    Абонент V

посылает абоненту S значение e.

                    Абонент S проверяет, что выполняются соотношения из следующих двух их пар:
,
 и
,
. Если да, то посылает V значение R. Иначе останавливается.

                    Абонент V

проверяет, что
.

Если во всех l циклах проверка в п.5 выполнена успешно, то абонент V принимает доказательства.

Таблица 13.1. Протокол верификации является интерактивным протоколом доказательств с абсолютно нулевым разглашением.


Содержание  Назад  Вперед