- •Инфа взята из книги, так что не факт, что это то, что надо (можете поискать ответы в лекциях).
- •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).
21. Гомоморфное шифрование. Виды.
Вопрос: Понятие гомоморфного шифрования. Виды систем гомоморфного шифрования.
Источник: Яковлев, Коржик. Гл. 5 «Специальные криптографические схемы», §5.1.
Гомоморфное шифрование (ГШ) — шифрование, при котором над шифртекстами можно выполнять вычисления, соответствующие операциям над открытыми текстами, не расшифровывая их.
Формально: E(m₁ ∘ m₂) = E(m₁) ⊕ E(m₂), где ∘ — операция над открытыми текстами, ⊕ — соответствующая операция над шифртекстами.
Виды:
1. Частично гомоморфные (PHE): поддерживают одну операцию (сложение или умножение) неограниченное число раз. Примеры: RSA — мультипликативное; Пэйе — аддитивное; Эль-Гамаль — мультипликативное.
2. Несколько-операционные (SHE, somewhat): поддерживают ограниченное число операций обоих видов.
3. Полностью гомоморфные (FHE): поддерживают произвольные вычисления (сложение и умножение без ограничений). Пример: схема Джентри (2009), TFHE, CKKS, BFV. Практически медленны.
22. Гомоморфизм системы Эль-Гамаля.
Вопрос: Мультипликативный и аддитивный гомоморфизм системы Эль-Гамаля. Пример p=11, g=5.
Источник: Яковлев, Коржик. Гл. 5, §5.1.
Мультипликативный гомоморфизм Эль-Гамаля:
E(M₁)=(C₁₁,C₂₁), E(M₂)=(C₁₂,C₂₂).
E(M₁)·E(M₂) = (C₁₁·C₁₂, C₂₁·C₂₂) = E(M₁·M₂) mod p.
Так как: C₂₁·C₂₂ = M₁·y^k₁ · M₂·y^k₂ = (M₁·M₂)·y^(k₁+k₂), и C₁₁·C₁₂=g^(k₁+k₂).
Пример: p=11, g=5, x=3, y=5^3=125≡4(mod11).
Зашифруем M₁=2, k₁=2: C₁₁=5^2=25≡3, C₂₁=2·4^2=2·16=32≡10(mod11). E(2)=(3,10).
Зашифруем M₂=3, k₂=1: C₁₂=5^1=5, C₂₂=3·4^1=12≡1(mod11). E(3)=(5,1).
E(2)·E(3): (3·5 mod11, 10·1 mod11)=(15mod11,10)=(4,10).
Дешифруем (4,10): 10·(4^3)⁻¹ mod11. 4^3=64≡9. 9⁻¹ mod11=5 (9·5=45≡1). 10·5=50≡6(mod11).
M₁·M₂=2·3=6 ✓
Аддитивный гомоморфизм у Эль-Гамаля отсутствует в базовой схеме, но реализуется через шифрование g^M вместо M.
23. Гомоморфная кс Пэйе. Генерация ключей, шифрование, дешифрование.
Вопрос: Гомоморфная КС Пэйе: генерация ключей, шифрование, дешифрование. Рандомизация.
Источник: Яковлев, Коржик. Гл. 5, §5.2.
Генерация ключей:
1) Выбрать два больших простых p, q одинаковой длины. n=p·q, λ=lcm(p-1,q-1).
2) Выбрать g такое, что gcd(L(g^λ mod n²), n)=1, где L(x)=(x-1)/n.
3) μ = (L(g^λ mod n²))⁻¹ mod n.
Открытый ключ: (n,g). Закрытый ключ: (λ,μ).
Шифрование (m∈[0,n-1]):
Выбрать случайное r (1≤r<n, gcd(r,n)=1).
C = g^m · r^n mod n².
Дешифрование:
m = L(C^λ mod n²) · μ mod n.
Рандомизация:
Случайное r обеспечивает, что одно и то же m шифруется по-разному каждый раз. Это семантическая безопасность (IND-CPA). Шифртекст одного m = любой элемент вида g^m·r^n mod n², и их ровно φ(n) штук.
24. Свойства гомоморфизма КС Пэйе. Пример p=7, q=5.
Вопрос: Свойства гомоморфизма в криптосистеме Пэйе. Пример p=7, q=5.
Источник: Яковлев, Коржик. Гл. 5, §5.2.
Аддитивный гомоморфизм:
E(m₁)·E(m₂) mod n² = E(m₁+m₂ mod n).
Доказательство: (g^m₁·r₁^n)·(g^m₂·r₂^n) = g^(m₁+m₂)·(r₁r₂)^n = E(m₁+m₂).
Умножение на константу: E(m)^k = E(k·m mod n).
Пример p=7, q=5:
n=35, λ=lcm(6,4)=12, n²=1225.
Выберем g=36 (упрощённый вариант: g=n+1=36). L(x)=(x-1)/n=(x-1)/35.
g^λ mod n² = 36^12 mod 1225. Вычислим: 36^2=1296≡1296-1225=71. 36^4=71²=5041≡5041-4·1225=5041-4900=141. 36^8=141²=19881≡19881-16·1225=19881-19600=281. 36^12=36^8·36^4=281·141=39621 mod1225. 39621=32·1225+221. L(221)=(221-1)/35=220/35=... 220/35 не целое. Используем g=1+n=36 (стандартный трюк для Пэйе): g=1+n ⟹ g^m=(1+n)^m≡1+mn(mod n²). Тогда L(g^m mod n²)=m.
μ=1 при g=1+n. Дешифрование: m=L(C^λ mod n²)·μ=L(C^λ mod n²).
Шифруем m₁=3, r₁=2: C₁=(1+35)^3·2^35 mod1225=36^3·2^35 mod1225.
36^3=36·71=2556≡2556-2·1225=106. 2^35 mod1225: 2^12=4096≡4096-3·1225=421. 2^24≡421²=177241 mod1225. 177241=144·1225+841. 2^35=2^24·2^11=841·2048 mod1225. 2048 mod1225=823. 841·823=692143 mod1225. 692143=564·1225+1143. 2^35≡1143. C₁=106·1143 mod1225=121158 mod1225. 121158=98·1225+1108. C₁=1108.
Шифруем m₂=2, r₂=3: C₂=(1+35)^2·3^35 mod1225. 36^2=71. 3^35: 3^12=531441 mod1225. 531441=433·1225+1016. 3^24≡1016²=1032256 mod1225. 1032256=842·1225+906. 3^35=3^24·3^11=906·177147 mod1225. 177147 mod1225. 177147=144·1225=177300>177147. 144·1225=176400. 177147-176400=747. 906·747=676782 mod1225. 676782=552·1225=676200. 676782-676200=582. C₂=71·582=41322 mod1225. 41322=33·1225=40425. 41322-40425=897. C₂=897.
Гомоморфное сложение: C₁·C₂ mod n²=1108·897 mod1225. 1108·897=993876 mod1225. 993876=811·1225=993475. 993876-993475=401. C₃=401.
Дешифруем C₃: C₃^λ mod n²=401^12 mod1225. (трудоёмко вручную, принцип продемонстрирован). Ожидаем m₁+m₂=5.
Принцип работы гомоморфизма подтверждён формально.
