- •Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).
- •1. Квадратичный вычет (невычет). Символ Лежандра.
- •2. Китайская теорема об остатках (кто).
- •3. Генерирование простых чисел. Тест Ферма.
- •4. Тест квадратного корня. Тест Миллера-Рабина.
- •5. Метод конструирования простых чисел (теорема Демитко).
- •9. Криптосистема Эль-Гамаля. Атаки. Условия стойкости.
- •10. Криптосистема rsa. Атаки при малом открытом ключе и малом числе сообщений.
- •11. Rsa. Атака Винера. Мультипликативное свойство.
- •12. Rsa. Общий модуль. Циклическая атака.
- •13. Rsa. Анализ времени выполнения. Атака внешним воздействием.
- •14. Криптосистема Рабина. Доказуемая стойкость.
- •15. Квантовые вычисления. Факторизация через нахождение периода.
- •16. Алгоритм Шора. Основные этапы факторизации.
- •17. Алгоритм Шора. Постквантовая обработка. Цепные дроби.
- •18. Алгоритм Шора для дискретного логарифма.
- •19. Криптосистема Мак-Элиса. Генерация ключей, шифрование, дешифрование.
- •21. Гомоморфное шифрование. Виды.
- •22. Гомоморфизм системы Эль-Гамаля.
- •23. Гомоморфная кс Пэйе. Генерация ключей, шифрование, дешифрование.
- •25. Протокол разделения секрета Шамира (n,m).
- •26. Проверяемое разделение секрета. Схема Фельдмана.
- •27. Доказательство с нулевым разглашением (zkp).
- •28. Zkp для закрытого ключа Эль-Гамаля.
- •29. Протокол: поручительство информации (обязательство/commitment).
- •30. Протоколы скрытного поиска точек интереса (pir/psi).
- •31. Электронное голосование. Mix-сети.
- •32. Электронное голосование. Слепая подпись.
- •33. Электронное голосование. Гомоморфное шифрование.
- •34. Распределение симметричных ключей. Жизненный цикл.
- •35. Ключевые структуры. Базовый набор.
- •36. Распределение ключей с использованием црк.
- •37. Распределение ключей без црк. Диффи-Хеллман.
- •38. Распределение открытых ключей. Аутентификация.
- •39. Инфраструктура открытых ключей (pki).
- •40. Сертификат открытого ключа X.509. Жизненный цикл.
- •41. Протокол ike в ipSec.
- •42. Требования к безопасности в протоколе sigma.
- •43. Криптографическая защита в tls 1.3. Протокол квитирования.
- •44. Формирование ключей в tls 1.3. Perfect Forward Secrecy.
- •45. Задача: Система электронного голосования на основе Пэйе.
- •5 Избирателей голосуют:
- •55. Задача: Тест Ферма. Проверить простоту числа a.
- •57. Задача: Решить систему уравнений по кто.
- •59. Задача: Схема разделения секрета Шамира (4,m). Восстановление по долям 1 и 4.
- •61. Задача: Эллиптическая кривая e(a,b) над gf(17). Операции с точками.
- •62. Задача: Демонстрация протокола скрытного поиска точки интереса (лр 8).
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).
