- •Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).
- •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).
13. Rsa. Анализ времени выполнения. Атака внешним воздействием.
Вопрос: КС РША. Анализ времени выполнения операций; атака внешним воздействием (fault attack).
Источник: Яковлев, Коржик. Гл. 4, §4.2; Гл. 5 «Атаки по побочным каналам».
Атака по времени (Timing attack, Кохер, 1996):
Время выполнения операции возведения в степень зависит от значения битов d. Измеряя время дешифрования для разных C, злоумышленник восстанавливает d бит за битом (алгоритм «квадрат и умножение» — лишнее умножение при бите d=1).
Защита: константное время выполнения (blinding) — перед дешифровкой: M'=C·r^e mod n, дешифровать M''=M'·r⁻¹ mod n.
Атака внешним воздействием (Fault attack, Беллькор, 1996):
Вызвать аппаратную ошибку при вычислении S_p=M^d mod p, S_q=M^d mod q (CRT). Если одно из значений повреждено, то по S и ошибочному S' можно найти p или q через gcd(S-S', n).
Защита: верифицировать подпись перед выдачей: проверить S^e ≡ M (mod n).
14. Криптосистема Рабина. Доказуемая стойкость.
Вопрос: КС Рабина: генерация ключей, шифрование–дешифрование. Понятие доказуемой стойкости.
Источник: Яковлев, Коржик. Гл. 4, §4.3.
Генерация ключей:
Выбрать два простых p≡q≡3(mod4). n=p·q — открытый ключ. Закрытый ключ: (p,q).
Шифрование:
C = M·(M+B) mod n, или в простейшем варианте C = M² mod n (B=0).
Дешифрование:
Найти 4 квадратных корня из C по mod n (как в вопросе 8). Один из них — исходное M. Для однозначного определения используют избыточность (например, последние k бит M = const).
Пример: p=11, q=31, n=341, C=28.
r₁=28^((11+1)/4)=28^3 mod11. 28≡6(mod11). 6³=216≡7(mod11). r₁=7, 11-7=4.
r₂=28^((31+1)/4)=28^8 mod31. 28≡28. 28²=784≡784-25·31=784-775=9. 9²=81≡81-2·31=19. 9·19=... вычисляем: 28^8=(28^2)^4=9^4=(9^2)^2=81^2≡19^2=361≡361-11·31=361-341=20(mod31). r₂=20, 31-20=11.
По КТО (4 пары): через M=r₁·31·y₁+r₂·11·y₂ mod341. y₁=31⁻¹mod11=31mod11=9; 9·y₁≡1(mod11)→y₁≡5(mod11). y₂=11⁻¹mod31; 11y₂≡1(mod31)→y₂=17.
x₁=7·31·5+20·11·17=1085+3740=4825 mod341=4825-14·341=4825-4774=51
x₂=7·31·5+11·11·17=1085+2057=3142 mod341=3142-9·341=3142-3069=73
x₃=341-51=290; x₄=341-73=268.
Ответы: {51, 73, 268, 290}. Правильный выбирается по маркеру.
Доказуемая стойкость:
Взлом КС Рабина эквивалентен факторизации n — доказано математически. В отличие от RSA, где это только предположение.
15. Квантовые вычисления. Факторизация через нахождение периода.
Вопрос: Понятие о квантовых вычислениях. Задачи квантового компьютера. Факторизация через нахождение периода f(x)=a^x mod M.
Источник: Яковлев, Коржик. Гл. 7 «Квантовые алгоритмы», §7.1–7.2.
Квантовый компьютер работает с кубитами — суперпозициями |0⟩ и |1⟩. Благодаря квантовому параллелизму (суперпозиции) и интерференции одновременно обрабатываются экспоненциально много состояний.
Задачи, решаемые квантовым компьютером (с экспоненциальным ускорением):
— Факторизация целых чисел (алгоритм Шора)
— Дискретное логарифмирование (алгоритм Шора для DLP)
— Поиск в неупорядоченной БД (алгоритм Гровера, ускорение в √N раз)
Связь факторизации с периодом:
Пусть надо разложить M=p·q. Выберем a: gcd(a,M)=1. Рассмотрим f(x)=a^x mod M. Эта функция периодична с периодом r: f(x+r)=f(x), т.е. a^r ≡ 1 (mod M).
Если r — чётное и a^(r/2) ≢ -1 (mod M), то gcd(a^(r/2)±1, M) дают нетривиальные делители M.
Квантовый компьютер находит период r экспоненциально быстрее классического.
