Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 9 - Криптопротоколы.pptx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
4.8 Mб
Скачать

Описание протокола

В этом трехходовом протоколе

сначала А фиксирует значение k в обязательстве r, тем самым лишает себя возможности изменить его в дальнейшем,

затем В передает случайное число c для того чтобы А не смог обмануть его, используя другое секрет х.

Втретьей передаче А посылает замаскированный с помощью вызова

ссекрет s, причем при его формировании не используется показательная функция.

?

Приняв s, В проверяет равенство gs ycr . Если равенство выполняется, то доказательство принято.

Протокол неинтерактивной идентификации

Протоколы интерактивного доказательства имеют ряд недостатков, обусловленных их интерактивностью.

во-первых, необходимость многократного задействования ресурса сети для передачи сообщений,

во-вторых, большие задержки, если пользователи А и В одновременно не находятся в сети.

Вэтой связи представляет интерес рассмотрение неинтерактивных протоколов доказательства с нулевым разглашением. Такие протоколы обозначаются (NZKP).

Воснове таких протоколов лежит метод, предложенный Фиатом и Шамиром, который называется эвристика Фиата-Шамира. С помощью этого метода интерактивный протокол преобразуется в неинтерактивный.

Его суть в том, чтобы доказывающий (пользователь А) сам вычислил вызов, причем таким образом, который сам не может контролировать. Обычно вызов вычисляется как хэш от сообщений, отправленных А и полученных от В, которыми они обменивались перед выполнением протокола доказательства. В предположении использования криптографической хеш-функции такой хеш можно считать случайным числом.

Неинтерактивный протокол идентификации

Пользователь А

Предварительный

обмен

Секрет х

-генерирует СЧ k -формирует k обязательство r g

-формирует случайный вызов

c h(M1, M 2, g, y,r)

-маскируе секрет (формирует доказательство)

s k cx

M1=(Я А, могу доказать,

что знаю х)

M2=(Я В, знаю у, докажите,

что знаете х)

r, c, s k cx

Пользователь B

Предварительнвый

обмен

Имеет y g x

-принимает обязательство

r gk

-принимает вызов с принимает s k cx выполняет проверку

?

gs ycr

(ycr g xc gk gs )

В этом протоколе вызов с формирует пользователь А, как хеш-код от имеющихся у него сообщений М1 и М2 и параметров протокола. В принципе хеш с А может не передавать В. Пользователь В создаст его из тех же сообщений и параметров, которые использовал А, поскольку они известны ему.

Протокол: Обманчивая передача

Пусть участник протокола А имеет k секретов s1, s2 , ..., sk , где каждый из

секретов si представляет из себя цепочку бит произвольной длинны. Предполагается, что А анонсирует название этих секретов (скажем, «коррупционная сделка в N-ской компании»), а само содержание секретов

сохраняется в тайне. В хочет купить один из этих секретов, предположим si (к другим у него нет интереса или недостаточно денег для покупки), однако он хочет это сделать так, чтобы владелец секретов А не узнал, что именно интересует В (иначе А может, например, предупредить компанию о возможной проверке). Тогда протокол может быть выполнен следующими шагами:

Протокол – обманчивая передача

1.А передает В однонаправленную функцию (например, функцию

шифрования РША xe mod n , сохраняя в секрете р, q и d.

2.Если В решает купить секрет si , то он генерирует k случайных чисел x1, ..., xk , и посылает А цепочку чисел y1, ..., yk , где

 

xj ,

если

j i

 

 

 

 

 

 

 

.

 

y j

xj , если

j i

 

f

 

 

 

 

 

 

 

3. А находит числа z j f 1

y j ,

j 1, 2, ..., k (для РША функциями f

будут zj ydj modn ,

j 1, 2, ..., k ) и посылает В aj z j sj , где черта над буквой

означает преобразование чисел в цепочку бит, а – побитовое сложение по mod2 (шифрует секреты)

4.

В, зная, что

z j f 1 f xj xi находит желаемый им секрет как

s z a

(расшифровывает только один секрет).

s j z j (z j s j )

i i

i

 

Видно, что В не получает никакой информации о z j для j i

и, следовательно, никакой информации о sj для j i . С другой стороны, у А нет никакой возможности отличить случайные числа xj , j i от случайного числа xi и поэтому А не может

определить каков был выбор В.

(Очевидно, что активный В мог бы послать А несколько чисел в форме f xj и тогда получить от А больше секретов.

Однако существуют видоизменения протокола, которые могут предотвратить такой обман [15].