- •Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).
- •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).
55. Задача: Тест Ферма. Проверить простоту числа a.
Вопрос: Проверить тестом Ферма является ли число a простым. Вероятность ошибки не более 0.2. (a задаёт преподаватель; для примера a=91.)
Источник: Яковлев, Коржик. Гл. 3, §3.2.
Вероятность ошибки ≤ 0.2 за 1 раунд → нужно не менее k раундов, где (1/2)^k ≤ 0.2 → k≥1 (1/2=0.5>0.2), k=2 (0.25>0.2), k=3 (0.125<0.2). Достаточно k=3 раундов при ошибке ≤ (1/2)^3≈0.125<0.2.
Пример: a=91=7·13 (составное, но проверяем).
Раунд 1: выберем b=2.
2^{90} mod91. По т. Ферма для простых: 2^{90}≡1. Вычислим: 91=7·13. 2^6=64≡1(mod7) (порядок 2 в Z/7 = 3... 2^3=8≡1mod7, нет: 2^1=2,2^2=4,2^3=1. Порядок=3). 90=3·30, 2^{90}=(2^3)^{30}≡1^{30}=1(mod7). mod13: 2^{12}≡1(mod13). 90=12·7+6. 2^{90}=2^{12·7}·2^6≡1·64≡64-4·13=64-52=12≡-1(mod13). По КТО: 2^{90}≡1(mod7) и ≡-1(mod13). Это не ≡1(mod91). Тест дал 2^{90}≢1(mod91) → 91 составное.
Вывод: уже первый раунд показал, что 91 — составное.
(Для нечётных чисел, проходящих тест Ферма много раундов, — вероятно простые; но числа Кармайкла обходят тест.)
56. Задача: Тест Миллера-Рабина. Число a=?
Вопрос: Проверить тестом Миллера-Рабина является ли число a простым. Вероятность ошибки не более 0.05. (a задаётся преподавателем; для примера a=91.)
Источник: Яковлев, Коржик. Гл. 3, §3.3.
Вероятность ошибки ≤ 0.05: за каждый раунд ≤1/4. (1/4)^t ≤ 0.05 → t≥2 (1/16=0.0625>0.05), t=3 (1/64≈0.016<0.05). Нужно ≥3 раунда (уточнение: t=2: 0.25^2=0.0625>0.05; t=3: ≤0.016<0.05).
Пример: a=91. a-1=90=2^1·45 (s=1, d=45).
Раунд 1: b=2. x=2^{45} mod91.
2^{45} mod91: из вычислений выше, 2^{90}≡... Найдём 2^{45}: mod7: 2^3=1, 45=3·15, 2^{45}≡1(mod7). mod13: 2^{12}≡1(mod13). 45=12·3+9. 2^{45}≡2^9=512mod13. 512-39·13=512-507=5. По КТО: x≡1(mod7), x≡5(mod13). 13y₁≡1mod7, y₁=6. 7y₂≡1mod13, y₂=2. x=1·13·6+5·7·2=78+70=148 mod91=148-91=57.
x=57≠1 и ≠90. r=0 (только одна итерация t.к. s=1). Значит 91 — составное.
Вывод: тест Миллера-Рабина: 91 — составное. Число 91=7·13.
57. Задача: Решить систему уравнений по кто.
Вопрос: Решить систему уравнений (параметры задаются преподавателем). Для примера: x≡1(mod3), x≡2(mod5), x≡3(mod7).
Источник: Яковлев, Коржик. Гл. 2, §2.3. — Алгоритм КТО описан в вопросе 2.
M=3·5·7=105. M₁=35, M₂=21, M₃=15.
y₁=35⁻¹mod3: 35≡2(mod3). 2y≡1(mod3) → y₁=2.
y₂=21⁻¹mod5: 21≡1(mod5). y₂=1.
y₃=15⁻¹mod7: 15≡1(mod7). y₃=1.
x=1·35·2 + 2·21·1 + 3·15·1 = 70+42+45 = 157 mod105 = 52.
Ответ: x≡52(mod105).
Проверка: 52=17·3+1 ✓; 52=10·5+2 ✓; 52=7·7+3 ✓.
58. Задача: Вычисление символа Лежандра (b/n). n=31, b>10.
Вопрос: Решить пример (b/n) mod n, n=31, b>10. Описать каждое действие. (b выбрано: b=17.)
Источник: Яковлев, Коржик. Гл. 2, §2.4.
Вычислим (17/31) — символ Лежандра (31 простое).
Метод 1 — критерий Эйлера:
(17/31) ≡ 17^{(31-1)/2} = 17^{15} (mod 31).
17^2=289 mod31. 289-9·31=289-279=10. 17^2≡10.
17^4≡10^2=100 mod31=100-3·31=100-93=7.
17^8≡7^2=49 mod31=49-31=18.
17^{15}=17^8·17^4·17^2·17^1=18·7·10·17 mod31.
18·7=126 mod31=126-4·31=126-124=2.
2·10=20. 20·17=340 mod31. 340-10·31=340-310=30≡-1(mod31).
(17/31)=-1 → 17 является квадратичным невычетом по mod 31.
Метод 2 — закон взаимности:
(17/31): оба нечётные. (17-1)/2=8 чётное, (31-1)/2=15 нечётное → (17/31)=(31/17)=
31 mod17=14. (14/17)=(2/17)·(7/17).
(2/17): 17≡1(mod8) → (2/17)=1.
(7/17)=(17/7)·(-1)^{(7-1)(17-1)/4}=(17/7)·(-1)^{24}=(17/7).
17 mod7=3. (3/7)=3^3 mod7=27mod7=6≡-1. (3/7)=-1.
(7/17)=-1. (14/17)=1·(-1)=-1. (17/31)=-1 ✓
Вывод: (17/31)=-1, т.е. 17 — квадратичный невычет по mod31.
