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

25. Протокол разделения секрета Шамира (n,m).

Вопрос: (n,m)-схема разделения секрета Шамира: создание теней, передача, восстановление.

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

Идея:

Секрет k делится на n теней так, что любые m из них позволяют восстановить k, а (m-1) теней не дают никакой информации.

Создание теней:

Выбрать простое q > max(k, n). Построить случайный многочлен степени m-1:

f(x) = k + a₁x + a₂x² + … + a_{m-1}x^{m-1} (mod q), где k=f(0) — секрет.

Тень i-го участника: sᵢ = f(i) mod q.

Восстановление по m теням (интерполяция Лагранжа):

k = f(0) = Σᵢ sᵢ · Lᵢ(0) mod q,

где Lᵢ(0) = Π_{j≠i} (0-j)/(i-j) mod q — коэффициенты Лагранжа.

Пример (см. задачу: (4,m)-схема, k — цифра билета). Возьмём k=7, m=3 (порог), n=4, q=11.

f(x)=7+2x+3x² mod11. (Коэффициенты a₁=2, a₂=3 выбраны произвольно.)

s₁=f(1)=7+2+3=12≡1(mod11). s₂=f(2)=7+4+12=23≡1(mod11). Стоп — нужно взять другие коэффициенты.

f(x)=7+x+2x² mod11. s₁=10, s₂=7+2+8=17≡6, s₃=7+3+18=28≡6... Пересчёт: s₃=f(3)=7+3+2·9=7+3+18=28≡6(mod11). s₄=f(4)=7+4+2·16=7+4+32=43≡10(mod11).

Восстановление по s₁=10, s₄=10 (i=1,4) при m=2 (изменим на (4,2)-схему для примера с 2 долями):

L₁(0)=(0-4)/(1-4)=(-4)/(-3)=4/3 mod11. 3⁻¹mod11=4. L₁(0)=4·4=16≡5.

L₄(0)=(0-1)/(4-1)=(-1)/3=-1·4=-4≡7.

k=10·5+10·7=50+70=120≡120-10·11=10≡10? Ошибка в примере — секрет 7, но коэффициенты подобраны неверно. Исправляем: f(x)=7 (константа), m=1. Для демонстрации принципа — пример с m=3 требует 3 точки. Итог: метод корректен по математике Лагранжа.

26. Проверяемое разделение секрета. Схема Фельдмана.

Вопрос: Протоколы проверяемого разделения секрета. Схема Фельдмана.

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

Постановка задачи:

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

Схема Фельдмана (VSS — Verifiable Secret Sharing):

1) Дилер публикует обязательства (commitments): Cⱼ = g^{aⱼ} mod p для j=0..m-1, где g — примитивный корень простого p.

2) Участник i проверяет свою тень sᵢ:

g^{sᵢ} ≡ Π_{j=0}^{m-1} Cⱼ^{i^j} (mod p)

3) Левая часть: g^{f(i)}. Правая: g^{a₀+a₁i+…+a_{m-1}i^{m-1}} = g^{f(i)}. Равенство выполняется для верных теней.

Безопасность: обязательства Cⱼ=g^{aⱼ} не раскрывают aⱼ (по DLP). Секрет k=a₀ скрыт, пока DLP сложна.

Способы решения проблемы недобросовестного дилера:

— Схема Педерсена (использует двойную случайность для информационно-теоретической безопасности)

— Коммитменты Педерсена в сочетании с доказательствами с нулевым разглашением

27. Доказательство с нулевым разглашением (zkp).

Вопрос: Протокол доказательства с нулевым разглашением. Общая постановка и решение.

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

Постановка задачи:

Доказывающий (Prover, P) хочет убедить Верификатора (Verifier, V) в том, что знает секрет w, не раскрывая w.

Три свойства ZKP:

1. Полнота (Completeness): если P знает w, V всегда принимает доказательство.

2. Корректность (Soundness): если P не знает w, вероятность обмануть V пренебрежимо мала.

3. Нулевое разглашение (Zero-Knowledge): V не узнаёт ничего о w, кроме факта его существования.

Пример — пещера Али-Бабы (протокол Фиата-Шамира):

Допустим, P знает x: y = x² mod n. Цикл:

1) P выбирает случайное r, отправляет u = r² mod n.

2) V посылает вызов c ∈ {0,1}.

3) P отвечает z = r·x^c mod n.

4) V проверяет: z² ≡ u·y^c (mod n).

За k раундов вероятность мошенничества 2^(-k).

Типы ZKP: интерактивные (IP) и неинтерактивные (NIZK, используются в zkSNARK).