Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КП - отеты на билеты.docx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
74.69 Кб
Скачать

28. Zkp для закрытого ключа Эль-Гамаля.

Вопрос: Интерактивный протокол доказательства знания закрытого ключа в КС Эль-Гамаля.

Источник: Яковлев, Коржик. Гл. 5, §5.5.

Публичные параметры: p, g, y=g^x mod p. P знает x (закрытый ключ).

Протокол (протокол Шнорра):

1) P выбирает случайное r∈[1,p-2], вычисляет и отправляет R=g^r mod p.

2) V выбирает случайный вызов c∈[1,p-2], отправляет c.

3) P вычисляет z = r + c·x mod (p-1), отправляет z.

4) V проверяет: g^z ≡ R·y^c (mod p).

Проверка: g^z = g^{r+cx} = g^r · g^{cx} = R · (g^x)^c = R · y^c. ✓

Нулевое разглашение:

Если c и r независимы — z случайна и не раскрывает x. Симулятор: выбрать z,c случайно, вычислить R=g^z·y^{-c} — неотличимо от реального протокола.

29. Протокол: поручительство информации (обязательство/commitment).

Вопрос: Протокол поручительства информации (commitment scheme).

Источник: Яковлев, Коржик. Гл. 5, §5.6.

Цель: A берёт «обязательство» на значение m, не раскрывая его. Позже A раскрывает m, и B проверяет, что m не изменилось.

Два свойства:

1. Скрытность (Hiding): B не узнаёт m до раскрытия.

2. Привязка (Binding): A не может изменить m после публикации обязательства.

Схема на основе хэш-функции:

1) A выбирает случайный r, вычисляет c = H(m || r), отправляет c.

2) Позже A раскрывает (m, r). B проверяет H(m||r)=c.

Схема Педерсена (информационно-теоретически скрытная):

c = g^m · h^r mod p, где h=g^a (a неизвестно). Скрытность: информационно-теоретическая. Привязка: основана на DLP.

Применения: аукционы (ставки скрыты), монетные флипы, ZKP-протоколы, e-голосование.

30. Протоколы скрытного поиска точек интереса (pir/psi).

Вопрос: Протоколы скрытного поиска точек интереса. Постановка, этапы, гомоморфизм.

Источник: Яковлев, Коржик. Гл. 5, §5.7.

Постановка задачи (Private Information Retrieval, PIR):

Клиент хочет получить элемент базы данных с индексом i, не раскрывая i серверу. Сервер не узнаёт, какой элемент запросил клиент.

Основные этапы протокола на основе гомоморфного шифрования:

1) Клиент шифрует запрос: вектор e-вопросов = (E(0), E(0), …, E(1), …, E(0)) — единица стоит на i-й позиции.

2) Сервер вычисляет: ответ = Σⱼ dⱼ · E(eⱼ) = E(Σⱼ dⱼ·eⱼ) = E(dᵢ) — используя аддитивный гомоморфизм.

3) Клиент дешифрует ответ и получает dᵢ.

Сервер видит только зашифрованный запрос, клиент — только результат.

Пример (ЛР 8): база данных объектов [lat, lon]. Клиент ищет ближайший к нему. Запрос шифруется вектором координат. Сервер вычисляет гомоморфно расстояния и возвращает зашифрованный результат.

31. Электронное голосование. Mix-сети.

Вопрос: Требования к системе электронного голосования. Система на основе MIX-сетей.

Источник: Яковлев, Коржик. Гл. 5, §5.8.

Требования к системе e-голосования:

1. Тайна голоса: никто не знает, как проголосовал конкретный избиратель.

2. Однократность: каждый голосует один раз.

3. Верифицируемость: каждый избиратель может проверить, что его голос учтён.

4. Открытость подсчёта: результат может проверить любой.

5. Робастность: выход из строя части компонентов не срывает голосование.

Система на основе MIX-сетей:

1) Каждый избиратель шифрует голос v открытым ключом каждого MIX-узла (луковая шифрация): E₁(E₂(…(Eₖ(v))…)).

2) MIX-узел 1 получает список шифртекстов, дешифрует свой слой, перемешивает (permutation) и передаёт MIX-узлу 2.

3) Последний MIX-узел раскрывает голоса (в уже перемешанном порядке).

4) Результат — список голосов без привязки к избирателю.

Доказательства перестановки (shuffle proofs) — каждый MIX-узел доказывает корректность своей работы через ZKP.