- •Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).
- •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).
16. Алгоритм Шора. Основные этапы факторизации.
Вопрос: Алгоритм Шора разложения числа на множители. Основные этапы.
Источник: Яковлев, Коржик. Гл. 7, §7.2.
Этапы алгоритма Шора:
1. Классический этап: выбрать случайное a (1<a<M). Если gcd(a,M)>1 — делитель найден. Иначе перейти к квантовому этапу.
2. Квантовый этап нахождения периода:
а) Подготовить суперпозицию |ψ₀⟩ = (1/√N) Σ|x⟩|0⟩
б) Применить оракул Uƒ: |x⟩|0⟩ → |x⟩|a^x mod M⟩
в) Измерить второй регистр → получить случайное значение f₀, первый регистр сколлапсирует в суперпозицию всех x с f(x)=f₀
г) Применить квантовое Фурье-преобразование (QFT) к первому регистру
д) Измерить первый регистр → получить значение, кратное N/r
3. Постклассический этап: из измеренного значения c ≈ k·N/r восстановить r с помощью цепных дробей.
4. Проверить: если r чётное и a^(r/2) ≢ -1 (mod M), вычислить gcd(a^(r/2)-1, M) и gcd(a^(r/2)+1, M). Иначе повторить.
17. Алгоритм Шора. Постквантовая обработка. Цепные дроби.
Вопрос: Алгоритм Шора. Этап постквантовой обработки. Нахождение периода через цепные и подходящие дроби.
Источник: Яковлев, Коржик. Гл. 7, §7.2–7.3.
После квантового измерения получаем целое число c ≈ k·(N/r), где N=2^q — размер квантового регистра, r — искомый период.
Отношение c/N ≈ k/r. Нужно найти k/r из приближения c/N.
Метод цепных дробей:
Разложить c/N в цепную дробь: c/N = a₀ + 1/(a₁ + 1/(a₂ + …)) = [a₀; a₁, a₂, …]
Подходящие дроби p_i/q_i — последовательные приближения. По теореме, если |c/N - k/r| < 1/(2r²), то k/r совпадает с одной из подходящих дробей.
Перебирая q_i ≤ M как кандидаты на r, проверяем: a^q_i ≡ 1 (mod M)?
Пример (из задачи): r=6, M=35.
a^6 ≡ 1 (mod 35). r=6 — чётное. a^3 mod 35 ≢ -1.
gcd(a^3 - 1, 35) и gcd(a^3 + 1, 35). Возьмём a=2: 2^3=8. gcd(7,35)=7, gcd(9,35)=1. Найден делитель p=7! q=35/7=5.
18. Алгоритм Шора для дискретного логарифма.
Вопрос: Алгоритм Шора вычисления дискретного логарифма с помощью квантового компьютера.
Источник: Яковлев, Коржик. Гл. 7, §7.4.
Задача: дано y=g^x mod p, найти x.
Идея: ввести двумерную функцию f(a,b)=g^a · y^(-b) mod p = g^(a-xb) mod p.
Эта функция периодична в двух измерениях: f(a,b)=f(a+r,b)=f(a,b+r), где r — порядок g.
Этапы:
1) Подготовить двойной суперпозиционный регистр: (1/N) Σ_a Σ_b |a⟩|b⟩
2) Применить оракул для вычисления g^a·y^(-b) mod p
3) Измерить результат, применить 2D QFT
4) Измерить оба регистра → получить (c₁,c₂): c₁≈k₁·N/r, c₂≈k₂·N/r·(x mod r)
5) Восстановить x = c₁/c₂ (как отношение) при помощи цепных дробей
Эффективен против RSA (через DLP на эллиптических кривых) и систем Диффи-Хеллмана.
19. Криптосистема Мак-Элиса. Генерация ключей, шифрование, дешифрование.
Вопрос: КС Мак-Элиса: генерация ключей, алгоритмы шифрования и дешифрования. Стойкость, в т.ч. к квантовым атакам.
Источник: Яковлев, Коржик. Гл. 6 «Постквантовая криптография», §6.2.
Основана на теории кодирования с исправлением ошибок.
Генерация ключей:
1) Выбрать линейный [n,k,d]-код Гоппы G с эффективным алгоритмом декодирования. Получить порождающую матрицу G (k×n).
2) Выбрать случайную невырожденную матрицу S (k×k) и матрицу перестановок P (n×n).
3) Открытый ключ: G' = S·G·P (матрица k×n).
4) Закрытый ключ: (S, G, P).
Шифрование (открытый текст m — вектор длины k):
Выбрать случайный вектор ошибок e (длина n, вес Хемминга ≤ t).
C = m·G' + e.
Дешифрование:
1) C·P⁻¹ = m·S·G + e·P⁻¹. Вектор e' = e·P⁻¹ имеет тот же вес ≤ t.
2) Декодировать C·P⁻¹ алгоритмом декодирования кода G → получить m·S.
3) m = (m·S)·S⁻¹.
Стойкость:
Основана на NP-трудности синдромного декодирования произвольного линейного кода. Квантовый алгоритм Гровера даёт лишь квадратичное ускорение — при достаточном n система остаётся стойкой.
20. КС Мак-Элиса. Зашумляющий вектор. Атаки.
Вопрос: КС Мак-Элиса. Назначение зашумляющего вектора. Атаки нарушителя. Стойкость к квантовым атакам.
Источник: Яковлев, Коржик. Гл. 6, §6.2.
Зашумляющий вектор e:
Вектор ошибок e (вес ≤ t) играет роль случомизации — аналог сессионного ключа. Без e одинаковые сообщения давали бы одинаковые шифртексты. e маскирует структуру кода G', делая G' неотличимой от случайной матрицы.
Атаки:
1. Атака на структуру кода: попытка выделить из G' код Гоппы с эффективным декодером (structural attack). При k,n достаточно больших — вычислительно неосуществима.
2. Атака ISD (Information Set Decoding): перебор информационных позиций для декодирования без знания структуры. Лучшие классические алгоритмы — экспоненциальные.
3. Квантовые ISD: алгоритм Гровера ускоряет ISD в √ раз, поэтому для квантовой стойкости нужны параметры вдвое большей сложности (например, n≥2048).
Недостатки КС Мак-Элиса:
Большой размер открытого ключа (сотни килобайт для практических параметров). В NIST PQC рассматриваются варианты на основе BIKE, Classic McEliece, HQC.
