Опубликован: 19.01.2010 | Доступ: свободный | Студентов: 3503 / 600 | Оценка: 4.28 / 4.00 | Длительность: 26:16:00
ISBN: 978-5-9963-0242-0
Специальности: Математик
Лекция 15:

Криптосистемы

< Лекция 14 || Лекция 15: 1234567

Криптография эллиптической кривой, моделирующая криптосистему Эль-Гамаля

Для шифрования и дешифрования текстов, с помощью эллиптических кривых использовались несколько методов. Один из них состоит в том, чтобы моделировать криптосистему Эль-Гамаля, используя эллиптическую кривую в GF(p) или GF(2n), как это показано на рис. 15.7.

 Криптосистема Эль-Гамаля, использующая эллиптическую функцию

Рис. 15.7. Криптосистема Эль-Гамаля, использующая эллиптическую функцию
Генерация общедоступных и частных ключей
  1. Боб выбирает E (a,b) с эллиптической кривой в GF(p) или GF(2n).
  2. Боб выбирает точку на кривой, e1 (x 1, y1 ).
  3. Боб выбирает целое число d.
  4. Боб вычисляет {e_2}({x_2},{y_{\text{2}}}) = d \times {e_1}({x_1},{y_1}). Обратите внимание: умножение здесь означает, что многократное сложение и определяется как раньше.
  5. Боб объявляет E (a,b), e1 (x1, y1 ) и e2 (x2, y2) как свой открытый ключ доступа; он сохраняет d как секретный ключ.
Шифрование

Алиса выбирает P, точку на кривой, как ее исходный текст, P. Затем она вычисляет пару точек, направляет как зашифрованный текст:

Читатель может задаться вопросом, как произвольным исходным

C1 = r x e1             C2 = P + r x e2

Текстом может быть точка на эллиптической кривой. Это одна из основных проблем в применении эллиптической кривой для моделирования. Алиса должна использовать алгоритм, чтобы найти непосредственное соответствие между символами (или блоками текста) и точками на кривой.

Дешифрование

Боб, после получения C1 и C2, вычисляет P, исходный текст, используя следующую формулу:

P = C2 – (d x C1)   Знак "минус" здесь означает сложение с инверсией.

Мы можем доказать, что P, вычисленный Бобом, — тот же, что передан Алисой, как это показано ниже:

P + r \times {e_2}-(d \times r \times {e_1}) =  = P + (r \times d \times {e_1})-(r \times d \times {e_1}) =  = P + 0 =  = P

P, C 1, C2 и e2 — это точки на кривой. Обратите внимание, что результат сложения двух обратных точек на кривой — нулевая точка.

Пример 15.11

Вот очень тривиальный пример шифровки с использованием эллиптической кривой в GF (p).

  1. Боб выбирает E67 (2, 3) как эллиптическую кривую в GF (p).
  2. Боб выбирает e1 = (2, 22) и d = 4.
  3. Боб вычисляет e2 = (13, 45), где {e_2} = d \times {e_1}.
  4. Боб публично объявляет кортеж (E, e1, e2).
  5. Алиса хочет передать исходный текст P = (24, 26) Бобу. Она выбирает r = 2.
  6. Алиса находит точку C1= (35, 1), где {C_1} = r \times {e_1}.
  7. Алиса находит точку C2 = (21, 44), где {C_2} = P \times {e_1}.
  8. Боб получает C, и C2. Он использует 2 \times {C_1}, (35, 1) и получает (23, 25).
  9. Боб инвертирует точку (23, 25) и получает точку (23, 42).
  10. Боб складывает (23, 42) с C2 = (21, 44) и получает первоначальный исходный текст P = (24, 26).
Сравнение

Ниже приводится краткое сравнение алгоритма Эль-Гамаля с его вариантом, использующим эллиптическую кривую.

a. Алгоритм Эль-Гамаля использует мультипликативную группу; вариант — эллиптическую группу.

b. Эти два члена в алгоритме Эль-Гамаля — числа в мультипликативной группе; при применении варианта — точки на эллиптической кривой.

c. Секретный ключ в каждом алгоритме — целое число.

d. Секретные числа, выбираемые Алисой в каждом алгоритме, — целые числа.

e. Возведение в степень в алгоритме Эль-Гамаля заменено умножением точки на константу.

f. Умножение в алгоритме Эль-Гамаля заменено сложением точек.

g. Инверсия в алгоритме Эль-Гамаля — мультипликативная инверсия в мультипликативной группе; инверсия —заменяется аддитивной инверсией точки на кривой.

h. Вычисление обычно легче в эллиптической кривой, потому что умножение проще, чем возведение в степень, сложение проще, чем умножение, и нахождение инверсии намного проще в группе эллиптической кривой, чем в мультипликативной группе.

Безопасность метода с использованием эллептической кривой

Чтобы расшифровать сообщение, Ева должна найти значение r или d.

a. Если Ева знает значение r, она может использовать P = {C_2}-(r \times {e_2}), чтобы найти точку P, относящуюся к исходному тексту. Но для того чтобы найти r, Ева должна решить уравнение {C_1} = r \times {e_1}. Это значит — найти две точки на кривой, C1 и e1. Ева должна найти множитель, который создает C1 начиная с e1. Эта проблема известна как проблема логарифма эллиптической кривой, единственный известный метод решения этой проблемы — РО(\rho ) - алгоритм Поларда, который неосуществим, если задано большое r и p в GF (p) или большое n в GF(2n).

b. Если Ева знает значение d, она может использовать P = {C_2} - (d \times {C_1}), чтобы найти точку P, относящуюся к исходному тексту. Поскольку {e_2} = d \times {e_1}, это тот же самый тип проблемы, что и в предыдущем пункте. Ева знает значение e1 и e2 — она должна найти d.

Безопасность криптосистемы с эллиптической кривой зависит от трудности решения проблемы логарифма эллиптической кривой.
Размер модуля

Для того же самого уровня безопасности (затраты на вычисление) модуль n, может быть меньшим в эллиптической системе (ECC), чем в RSA. Например, ECC в GF(2n) с n, состоящим из 160 битов, может обеспечить тот же уровень безопасности, как RSA с n 1024 битов.

< Лекция 14 || Лекция 15: 1234567
Наталья Шульга
Наталья Шульга

Курс "информационная безопасность" .

Можно ли на него записаться на ПЕРЕПОДГОТОВКУ по данному курсу? Выдается ли диплом в бумажном варианте и высылается ли он по почте?

Дмитрий Плешаков
Дмитрий Плешаков

Здравствуйте. На данныйц момент я изучаю курс Математика криптографии и теория шифрования. Стоимость обучения на данном курсе указана 1 руб., но, при этом доступ к лекциям указан платный. Не могли бы Вы прояснить данный момент, и, если доступ платный, какова стоимость лекций и общая стоимость курса.

Заранее благодарен.