- •Лекция Криптографические протоколы
- •Протокол: доказательство с нулевым разглашением секрета (Zero Knowledge Proof –ZKP)
- •Базовый протокол доказательства с нулевым разглашением секрета
- •Требования к протоколам ZKP
- •Пример протокола ZKP на основе решения трудной задачи
- •Задача коммивояжера
- •Изоморфизм графов
- •Протокол доказательства с нулевым разглашением принимает для данной задачи следующий вид:
- •Если P знает ГЦ на графе G, то он сможет правильно выполнить задания
- •Протокол доказательства того, что закрытый ключ x корреспондента P
- •Этапы построения протокола
- •2-й этап (усиление протокола)
- •3-й этап усиление протокола
- •Особенности протокола
- •Протокол доказательства, что для расшифрования использовался закрытый ключ, соответствующий известному открытому ключу
- •Криптосистема Эль -Гамаля
- •Доказательство, что для расшифрования использовался закрытый ключ, соответствующий известному открытому ключу (протокол доказательства
- •Выполнение сравнений свидетельствуют о том, что равенство выполняется.
- •Протоколы аутентификации пользователей (субьектов) - протоколы идентификации
- •Аутентификация пользователей (субъектов)
- •Протоколы аутентификации,
- •Проблема паролирования
- •Графический пароль в ОС Android
- •Защита от подсматривания
- •Парольные символы
- •Неподсматриваемый графический пароль «Шахматы»
- •Регистрация пароля
- •Регистрация пароля
- •Прохождение аутентификации с подсказами
- •Вероятность угадывания пароля при i подсматриваниях можно
- •Динамический пароль
- •Аутентификация пользователей
- •2. Протоколы идентификации на основе тнхники запрос-ответ с использованием
- •рукопожатия
- •Протокол аутентифицированной выработки ключа в стандартах мобильной связи 3G и 4G (Authenticated key
- •Анализ протокола идентификации на основе симметричных алгоритмов шифрования
- •Способы идентификации на основе использования цифровой подписи
- •Идентификация пользователей на основе протокола с нулевым разглашением
- •Достоинство протокола идентификации с нулевым разглашением (НР) по сравнению с алгоритмом ЭЦП, в
- •Протокол идентификации Шнорра
- •Описание протокола
- •Протокол неинтерактивной идентификации
- •Неинтерактивный протокол идентификации
- •Протокол: Обманчивая передача
- •Протокол – обманчивая передача
- •Видно, что В не получает никакой информации о z j для j i
Описание протокола
В этом трехходовом протоколе
сначала А фиксирует значение 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].
