
Эль-Гамаль (Лекция 3 БСит).pptx
- Количество слайдов: 37
6. 17010 1 Безпека інформаційних і комунікаційних систем Лекция 3 (2 семестр) Лектор СУШКО С. А.
Мультипликативная группа Zn* Группа G – множество элементов с определенной на нем групповой операцией ●, удовлетворяющей аксиомам: замкнутость Единичный элемент a е=е а=а abєG ● ● ● При a b=b a ● ассоциативность (a b) с=а (b c) ● ● ● группа – коммутативна Обратный элемент a а-1=а-1 а=а ● ●
Мультипликативная группа Zn* Кольцо вычетов Мультипликативная группа Zn={0, 1, 2, …, n-1} Zn* состоит из по модулю п Поле GF(p) или Fр или Zр={0, 1, 2, …, р-1} р - простое элементов кольца, взаимно простых с модулем Z n* каждый элемент группы имеет обратный
Теория чисел: примитивные корни Примитивный корень по mod n – это целое число g, для которого gφ(n) ≡ 1(mod n); gl ≡ 1(mod n) при 1≤ l ≤ φ(n) Различные степени примитивного корня g не равны между собой и равны различным элементам группы Zn* Для каждого элемента а группы Zn* найдется показатель i, для которого gі = a (mod n)
Теория чисел: примитивный корень Эквивалентные названия Примитивный корень = первообразный корень = примитивный элемент Пример Z 9 = {0, 1, 2, 3, 4, 5, 6, 7, 8}; Z 9*= {1, 2, 4, 5, 7, 8}; φ(9) = 6 20 ≡ 1 mod 9; 21 ≡ 2 mod 9; 23 ≡ 8 mod 9; 24 ≡ 7 mod 9; 26 ≡ 1 mod 9; 27 ≡ 2 mod 9; 22 ≡ 4 mod 9; 25 ≡ 5 mod 9; 28 ≡ 4 mod 9. 2 - примитивный корень по mod 9
Теория чисел: примитивные корни 2, 3, 10, 13, 14, 15 – примитивные корни по mod 19 g g 2 g 3 g 4 g 5 g 6 g 7 g 8 g 9 g 10 1 1 1 1 1 2 4 8 16 13 7 14 9 18 17 3 9 8 5 15 7 2 6 18 16 4 16 7 9 17 11 6 5 1 4 5 6 11 17 9 7 16 4 1 5 6 17 7 4 5 11 9 16 1 6 7 11 1 7 8 7 18 11 12 1 8 7 18 11 9 5 7 6 16 11 4 17 1 9 10 5 12 6 3 11 15 17 18 9 11 7 1 11 12 11 18 7 8 1 12 11 18 7 13 17 12 4 14 11 10 16 18 6 14 6 8 17 10 7 3 4 18 5 15 16 12 9 2 11 13 5 18 4 16 9 11 5 4 7 17 6 1 16 17 4 11 16 6 7 5 9 1 17 18 1 18 1 g 11 1 15 10 6 6 17 11 12 5 14 7 8 2 13 3 9 4 18 g 12 1 11 11 7 1 1 7 11 11 1 Циклические подгруппы g 13 1 3 14 9 17 4 7 8 6 13 11 12 15 2 10 5 16 18 g 14 1 6 4 17 9 5 11 7 16 16 7 11 5 9 17 4 6 1 g 15 1 12 12 11 7 11 1 18 11 8 1 18 8 12 8 7 7 18 g 16 1 5 17 6 16 9 7 11 4 4 11 7 9 16 6 17 5 1 g 17 g 18 1 1 10 1 13 1 5 1 4 1 16 1 11 1 12 1 17 1 2 1 7 1 8 1 3 1 15 1 14 1 6 1 9 1 18 1
Свойства примитивных корней Теория чисел: примитивные корни Примитивные корни существуют по любому модулю? НЕТ Если р –простое, то существует φ(р-1) примитивных корней по mod p Если g – примитивный корень по простому модулю р, то gn≡ 1(mod р) только если n ≡ 0 mod р-1 gi≡ g j(mod р) только если i ≡ j mod р-1
Как проверить, будет ли число g примитивным корнем по mod p ? Если р – 1 = p 1 m 1 p 2 m 2 ·…· prmr, то число g, не делящееся на р, будет примитивным корнем по mod g(p-1)/pi ≡ 1(mod p), p, если i= 1, 2, …, r
Как проверить, будет ли число g примитивным корнем по mod p ? Пример. Будут ли числа 2 и 6 примитивными корнями по mod 41 ? p – 1 =40 = 23· 5; g=2; 240/2 ≡ 220 ≡ 1(mod 41); g=2 – не примитивный корень; g=6; 640/2 ≡ 620 ≡ -1(mod 41); 640/5 ≡ 68 ≡ 10(mod 41); g=6 – примитивный корень;
Теория чисел: примитивные корни Если в группе Zn* есть примитивные корни, то группа циклическая Итоги Любой примитивный корень является генератором Zn* и может быть использован для создания множества Zn*={g, g 2, g 3, …, gφ(n) } Zn*={a, b, c, … , d} Zр* всегда циклическая (р –простое)
Теория чисел : логарифм дискретный Определение Пусть р – простое и gx ≡ a (mod p). Тогда x = logga – дискретный логарифм Пример 34 ≡ 13 mod 17 log 313 = 4
Теория чисел : логарифм дискретный Красной линией разделены подгруппы с максимальным периодом 37 y=2 хmod 37 Непредсказуемость функции !!! http: //ru. wikipedia. org/wiki/%D 0%90%D 0%BB%D 0%B 3%D 0%BE%D 1%80%D 0%B 8 %D 1%82%D 0%BC_%D 0%A 8%D 0%B 5%D 0%BD%D 0%BA%D 1%81%D 0%B 0
Теория чисел : дискретный логарифм Дискретное логарифмирование Если g – примитивный корень по модулю p, то logga существует для любого элемента а из Zp* Нет эффективного алгоритма для вычисления дискретных логарифмов Возвести в степень – легко; найти дискретный логарифм трудно Дискретное логарифмирование – задача из NP-класса
Дискретное логарифмирование : «шаг младенца – шаг великана» Алгоритм «Шаг младенца – шаг великана» или алгоритм Шенкса Детерминированный алгоритм дискретного логарифмирования в группе Zp*. Даниэль Шэнкс 1917 – 1996 Специалист в области теории чисел
Дискретное логарифмирование : «шаг младенца – шаг великана» Вход: р – простое, а, b – элементы циклической группы Zp* Найти m =[ Выход: значение х, при котором а х ≡ b(mod p) ]+1 и такое число k, чтобы km > p Вычислить две последовательности чисел (по mod p): b, a 2 b, a 3 b, … , am – 1 b am, a 2 m, a 3 m, … , akm
Дискретное логарифмирование : «шаг младенца – шаг великана» В этих последовательностях найти числа m и k, для которых im j a = a ·b Дискретный логарифм х = im – j Почему это работает?
Дискретное логарифмирование : «шаг младенца – шаг великана» Шаг 3
Дискретное логарифмирование : «шаг младенца – шаг великана» В криптографии р – большое m, k – большие Показатель увеличивается на 1 b, a 2 b, a 3 b, … , am – 1 b Показатель увеличивается на m m, a 2 m, a 3 m, a …, km a
Теория чисел: дискретный логарифм Пример. Найти log 247 в группе Z 101* p=101; 2 х ≡ 47 (mod 101); a=2; b=47 m = 10; k=11 0 j a j·b 47 Cписок 1 1 2 3 4 5 6 7 8 8 9 10 94 87 73 45 90 79 57 13 13 26 52 Список 2 1 2 3 4 5 6 6 aim 28 77 35 71 69 13 13 i j = 8; i=5 7 8 х = im – j = 5· 10 -8 = 42 9 10 11
Задачи, связанные с дискретным логарифмированием Вычислительная проблема Диффи – Хеллмана: дано: gx, gy Задача дискретного логарифмирования найти: gxу Проблема DDH: дано: gx, gy, gz найти: z≡xy
Криптосистема Эль-Гамаля Криптосистема с открытым ключом Основана на трудности дискретного логарифмирования в конечном поле Криптосистема включает алгоритм шифрования и алгоритм ЭЦП Основа стандартов ЭЦП в США и России
Криптосистема Эль-Гамаля: Тахер Ель-Гамаль (араб. , ﺍﻟﺠﻤﻞ ﻃﺎﻫﺮ Тахер Ель-Гамаль англ. El. Gamal или El Gamal) – египетский шифровальщик, криптоаналитик. Каирский университет, доктор по информатике в Стэндфорде. Работает с компанией по услугам онлайн-платежей, член совета компании Signa. Cert, Inc по вопросам верификации ЭЦП. Офицер безопасности Axway, Inc.
Криптосистема Эль-Гамаля: генерация ключей Выбрать ростое п большое число p Найти примитивный корень g по mod p Выбрать случайное число а из интервала (1; р-2) Открытый ключ p, g, h Вычислить a h=g mod p Cекретный ключ а
Криптосистема Эль-Гамаля: зашифрование Произвольно выбрать рандомизатор r – целое число из [1; p-1] Открытое сообщение разбить на блоки М p Уравнения шифрования С 1=gr (mod p); С 2=М·hr (mod p) (С 1; С 2) – шифротекста М
Криптосистема Эль-Гамаля : расшифрование Уравнения расшифрования M= С 2 Зашифрование на открытом ключе абонента . (С 1 a)-1 mod p Расшифрование на секретном ключе абонента
Криптосистема Эль-Гамаля : пример Пример: сгенерировать ключи и зашифровать с помощью шифра Эль-Гамаля сообщение СКЛО. Р е ш е н и е: СКЛО = 21 14 15 18 = блоки 2114, 1518. p=2179; g=7; a=8 a 8 h=g mod p=7 mod 2179=1346. (2179, 7, 1346) – открытый ключ. Выбираем r = 9. Зашифрование: M=2114. С 1=gr(mod p)=79(mod 2179)=706; С 2=М·hr(mod p)=2114· 13469(mod p)=51. Шифротекст для M=2114 – пара (706, 51)
Криптосистема Эль-Гамаля : пример Аналогично шифротекст для M=1518 – пара (706, 1055). Расшифрование: M= С 2· (С 1 a)-1 mod 2179 = 51. (7068)-1 mod 2179 = = 51· (1139)-1 mod 2179 = 51· 2135 mod 2179 = 2114 = СК. Расшифрование второго блока аналогично.
Криптосистема Эль-Гамаля: криптоанализ Что имеет противник? p, g, h , C 1, C 2 Идея вскрытия Найти a, r из сравнений r a h=g mod p; C 1=g mod p и далее прочитать M=С 2 h -r Криптоанализ свелся к дискретному логарифмированию – задаче NP-класса
Криптосистема Эль-Гамаля: корректность использования ранодомизатора (С 1, С 2) М * М С 1=gr (mod p); С 2=М·hr (mod p) *) С =gr (mod p); (С 1, С 2 1 С 2*=М *·hr (mod p) hr ≡С 2 М -1 (mod p) hr ≡ С 2*( М* )-1 (mod p) С 2 М -1 ≡ С 2* (М* )-1 (mod p) М ≡ С 2 (С 2*)-1 М* (mod p)
Криптосистема Эль-Гамаля : особенности эксплуатации Длина шифрованного текста вдвое больше длины открытого Длина эквивалентных ключей: RSA – 200 бит Эль-Гамаля – 150 бит Стойкость обеспечивает использование модуля длиной p 1024 бит | |= Не выбирать модуль, для которого число р– 1 имеет небольшие простые делители
Криптосистема Эль-Гамаля : скорость шифрования Длина модуля, бит Режим работы 512 768 1024 Зашифрование 0, 33 с 0, 80 с 1, 09 с Расшифрование 0, 24 с 0, 58 с 0, 77 с Данные для программной реализации (на SPARC-II) с 160 -битовым показателем степени Почему расшифрование быстрее?
Криптосистема с открытым ключом: детерминированный алгоритм Детерминированный алгоритм шифрования С М С=Еk откр (М)
Криптоанализ шифров с открытым ключом: «проверка открытого текста» Атака «проверка открытого текста» С 1 М 2 С 2 . . . Если для какого-то шифротекста Сі=С, то и Мi Сi С=Еk откр (М) Мі=М
Вероятностное шифрование ИДЕЯ ПРИНАДЛЕЖИТ Шафи Гольдвассер (Shafi Goldwasser) Профессор компьютерных наук в Массачу-сетском институте (США) и профессор математики в институте Вейцмана (Израиль) Сильвио Микали (Silvio Micali) Специалист по компьютерным наукам, криптограф из Массачусетского института (США)
Криптоанализ шифров с открытым ключом Шифрование с открытым ключом подобно прятанью верблюда под одеялом: можно утаить, какой верблюд на самом деле спрятан, но не утаить число его горбов. Shafi Goldwasser
Вероятностное шифрование С 1 М С 1=Еk откр (М) С 2=Еk откр (М) . . . Сn Сn=Еk откр (М) M=Dk cекр (C 1) = Dk cекр (C 2)=…=Dk cекр (Cn) • Имея открытый ключ, открытый текст и шифротекст, нельзя без секретного ключа доказать, что шифротекст соответствует открытому тексту
Криптосистема Эль-Гамаля Рандомизатор превращает шифр Эль. Гамаля в схему вероятностного шифрования Для разных открытых текстов выбирать разные рандомизаторы
Эль-Гамаль (Лекция 3 БСит).pptx