Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Протоколы информационного обмена

.pdf
Скачиваний:
97
Добавлен:
10.05.2014
Размер:
1.77 Mб
Скачать

Однако существует способ быстрого умножения точки на число, который требует O(log k log3 p) количества операций для умножения точки P E , определенной в конечном поле Fp на некоторое число k [19]. Этот метод

аналогичен алгоритму быстрого возведения в степень для элементов конечного поля, действительно: 100P = 2(2(P + 2(2(2(P + 2P))))) .

В группе точек, принадлежащих эллиптической кривой существует задача, имеющая экспоненциальный уровень сложности и получившая название задачи дискретного логарифмирования на эллиптической кривой. Суть ее заключается в том, что при известных точках P,Q E , вычисли-

тельно трудно найти такое число x (если оно существует), что Q = xP .

Стойкость криптографических систем на эллиптических кривых основана на сложности решения этой задачи. Приведем оценки необходимой вычислительной мощности для нахождения дискретного логарифма в группе точек эллиптической кривой [18] (табл.5.1).

 

 

 

 

 

Таблица 5.1

 

 

 

 

 

 

Модуль кривой p , бит

163

191

239

359

431

Порядок

группы точек

160

186

234

354

426

кривой n , бит

 

 

 

 

 

Требуемая

вычислительная

9,6*1011

7,9*1015

1,6*1023

1,5*1041

1052

мощность (M/Y)

 

 

 

 

 

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

следующую оценку для решения задачи дискретного логарифмирования в группе точек эллиптической кривой: ( πn / 2) / m , где m – количество

процессоров для параллельных вычислений, а n – порядок группы точек эллиптической кривой [17]. С помощью этого метода в 2000 г. была решена задача дискретного логарифмирования в группе точек эллиптиче-

49

ской кривой с порядком в 108 бит. Для сравнения отметим, что криптосистема, использующая преобразования в группе точек эллиптической кривой с порядком в 160 бит, эквивалентна по стойкости криптосистеме RSA с модулем шифрования в 1024 бита [8].

Примечание. В рамках лабораторного практикума рассматриваются только кривые, удовлетворяющие уравнению (5.1). Для полей с характеристикой p 3 используются другие уравнения эллиптических функций [4].

ЗАДАНИЕ

1.Разделиться на группы по два человека.

2.В конечном поле Fp сгенерировать общую эллиптическую кривую

E вида

y 2 = x3 + ax +b ,

такую, что

4a3 + 27b2 0 ,

p выбрать простым, используя таблицу простых чисел (желательно 3-

значное число, большее 263или 4-значное число).

3. Выполнить вручную операции сложения и вычитания двух произвольных точек R1 и R2 E . Выполнить вручную операцию удвоения

выбранной произвольной точки R E . Проверить результаты вычислений на спецвычислителе. Убедится, что полученные в результате вычислений точки принадлежат эллиптической кривой E .

4. Каждому абоненту сгенерировать пару чисел e1 и d1 .

Для этого нужно выбрать случайное число e1 в интервале [3, N 1] , где N – ранг кривой, такое, что:

НОД(e1, N) =1

Найти мультипликативно обратное к e1 число d1 по модулю N : e1d1 1mod N

5.Отослать число e1 другому абоненту.

6.Выбрать открытый текст M1 (короткое слово из букв русского ал-

фавита) и перевести его в массив точек Pi1 E .

50

7. Осуществить преобразование выбранного ранее открытого текста, представленного в виде массива точек Pi1 , путем умножения каждой из них на число e2 , полученное от другого абонента.

Qi1 = e2 Pi1 .

8. Отослать другому абоненту полученные результаты (точки Qi1 , по-

лученные в результате преобразования) и выбранный вами открытый текст M1 .

9. Осуществить обратное преобразование полученного массива точек Qi2 с использованием числа d1 :

Pi2 = d1Qi2 .

10. Перевести полученный массив точек Pi2 в открытый текст M 2. Сравнить полученный результат с изначальным открытым текстом M 2 , который был выбран другим абонентом. Текст M 2 должен совпадать с

текстом M 2.

11. Оформить и сдать отчет о выполнении лабораторной работы. Форма отчета приведена в приложении 1 для работы 5.

ПРАКТИЧЕСКОЕ РУКОВОДСТВО

Работа 5 выполняется группами по два человека. Работа происходит по протоколу «Операции над точками ЭК». Возможные роли: 1-й абонент и 2-й абонент. Выберите роль для работы по протоколу. Договоритесь о том, кто создает сессию для работы по протоколу, и о времени начала работы. Пользователь, выбравший роль 1-го абонента, выбирает параметры кривой и пересылает их своему партнеру.

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

51

Р а б о т а 6

ПРОТОКОЛ ДИФФИ-ХЕЛЛМАНА ДЛЯ ЭЛЛИПТИЧЕСКИХ КРИВЫХ

Цель: практическое изучение протокола Диффи-Хеллмана на эллиптических кривых для генерации сеансового ключа; анализ дефекта протокола с атакой «посередине».

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Протокол Диффи-Хеллмана используется в процессе управления ключами. В результате его работы два или более абонентов вычисляют общее значение секретного ключа, при этом по открытым каналам связи передается только общедоступная информация. Предложенная в 1976 г. схема [15] получила большое распространение и впоследствии также была реализована на основе криптографических преобразований в группе точек, принадлежащих эллиптической кривой, определенной в конечном поле

[19].

Рассмотрим базовый вариант схемы Диффи-Хеллмана, использующий преобразования в группе точек эллиптической кривой [19]. Абоненты А и B знают общую эллиптическую кривую E , определенную над конечным полем Fp . Помимо этого оба абонента заранее договариваются об ис-

пользовании некоторой произвольной точки Q E .

Абонент A выбирает случайное число ka (желательно, чтобы величина числа ka была сравнима с модулем кривой p , что, в свою очередь,

сравнимо с рангом кривой). Абонент B аналогичным образом выбирает некоторое случайное число kb . Эти числа абоненты A и B сохраняют в

тайне.

Абонент A вычисляет точку K A = kaQ путем умножения точки Q на число ka . Полученную точку он отправляет абоненту B. Абонент B аналогичным образом вычисляет точку K B = kbQ и отправляет ее абоненту A. После этого абонент A вычисляет точкуK AB = ka K B , а абонент В –

52

точку K BA = kb K A . Нетрудно увидеть, что точки K AB и K BA совпадают, действительно:

K AB = ka K B = ka (kbQ) = kb (kaQ) = kb K A = K BA .

Общим секретом для абонентов А и B является точка KAB. Для передачи секретных сообщений можно, например, воспользоваться значением координаты x этой точки. Если известен ранг эллиптической кривой, то возможно непосредственное применение x в качестве секретного ключа зашифрования в криптосистеме на эллиптических кривых. В противном случае можно использовать значение x в качестве ключа в классических криптосистемах.

По открытым каналам связи передаются только параметры кривой E , точки Q, KA и KB. Этой информации злоумышленнику не хватит для того, чтобы вычислить значение общего для абонентов А и B секрета – точки KAB . Для вычисления общего секрета необходимо знать числа ka или kb .

Нахождение их на основе знания точек Q, K A и K B эквивалентно реше-

нию задачи дискретного логарифмирования на эллиптической кривой. Как уже отмечалось, эта проблема имеет экспоненциальный уровень сложности и не поддается эффективному решению при имеющемся уровне развития вычислительной техники и математических алгоритмов. В этом смысле схема Диффи-Хеллмана является безопасной.

Однако возможны активные атаки, связанные с самой схемой информационного обмена данными. Рассмотрим атаку, получившую название атаки посередине с перекодированием сообщения [9].

Злоумышленник C внедряется в процесс информационного обмена между абонентами A и B (рис.6.1), выдавая себя абоненту А за абонента B, а абоненту B – за абонента А. Таким образом он генерирует два общих секрета: один для обмена данными с пользователем A, другой для обмена данными с пользователем B. Впоследствии, когда абонент А посылает криптограмму абоненту B, он думает, что зашифровывает ее на общем для них с B секретном ключе. Однако на практике он использует секретный ключ, который известен злоумышленнику C. Злоумышленник C перехватывает и блокирует криптограмму от абонента А. Потом расшифровывает ее с использование знания общего для них с абонентом А секретного ключа. Затем заново зашифровывает с использованием общего для него с абонентом B сетного ключа и отправляет абоненту B. В случае успешного осуществления такой атаки, абоненты А и B ведут обмен секретными сообщениями, содержание которых становится известно злоумышленнику.

53

A

 

 

 

 

C

 

 

 

 

 

 

 

B

 

EGF(p), Q, N

 

 

EGF(p), Q, N

 

EGF(p), Q, N

ka

 

 

kc

 

 

 

 

 

 

 

 

kb

 

 

 

KA=kaQ

 

 

 

 

 

 

 

 

 

 

 

 

 

KB=kbQ

 

 

KAC=kcKA

 

 

 

KBC=kcKB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

KAC=kaKC

 

 

 

 

 

KC=kcQ

 

 

 

KBC=kb*KC

 

 

 

 

 

 

 

 

Pm

 

 

x ac x ac*

1 mod

N

 

 

 

CAC=xacPm

 

 

 

P

= x*

C

AC

xbc xbc*

1mod N

 

 

 

 

 

 

 

 

 

m

 

ac

 

 

 

 

 

 

 

 

 

 

 

 

 

CCB = xbc Pm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P = x*

C

CB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

bc

 

Рис.6.1

Итак, абонентам A, B и злоумышленнику C известны эллиптическая кривая E и точка Q на этой кривой. Абонент А выбирает секретное число

ka , абонент B – kb и злоумышленник C – kc . Абонент А вычисляет точку K A = kaQ и отправляет ее абоненту B. Абонент B вычисляет точку

KB = kbQ и отправляет ее абоненту А. Злоумышленник C перехватывает

иблокирует дальнейшую передачу точек K A и K B . Вместо этого он вычисляет значение точки KC = kcQ и отправляет его абонентам А и B. Помимо этого злоумышленник C вычисляет значение общего для него секрета с абонентом А – точку K AC (xAC , y AC ) = kc K A и с абонентом B –

точку

K BC (xBC , yBC ) = kc K B . Абонент А получает точку KC

вместо

K B

и

вычисляет общий

секрет со

злоумышленником –

точку

K AC (xAC , y AC ) = ka KC , полагая, однако,

что это – общий секрет с або-

нентом

B. Абонент

B

аналогичным

образом

вычисляет

точку

K BC (xBC , yBC ) = kb KC .

Пусть известен ранг N эллиптической кривой

E , тогда далее для обмена секретными сообщениями в качестве ключа

зашифрования будут использоваться координаты x

полученных общих

секретов. Абонент А хочет послать абоненту B некоторое секретное со-

общение

M , которому на эллиптической кривой E соответствует точка

Pm . Он вычисляет криптограмму C AC = x AC Pm и отправляет ее абоненту B. Злоумышленник С перехватывает и блокирует дальнейшее прохождение криптограммы CAC. Злоумышленник C вычисляет такое число x*AC ,

54

при котором xAC x*AC 1mod N . После этого он дешифрует криптограм-

му CAC, действительно Pm = x*AC C AC . После того, как злоумышленник С узнал содержание секретного сообщения, он перешифровывает его на секретном ключе xBC и отправляет абоненту B: CCB = xBC Pm . Абонент

В вычисляет значение такого числа x*BC , при котором xBC x*BC 1mod N , и расшифровывает полученную криптограмму Pm = x*BC CBC .

ЗАДАНИЕ

1. Все участники информационного обмена договариваются об используемой эллиптической кривой E, характеристике поля Fp и началь-

ной общей точке Q E .

2. Абоненты А и B действуют по схеме Диффи-Хеллмана для генерации общей секретной точки.

3. Абонент А выбирает некоторую точку Pm E , зашифровывает ее

с использованием координаты x полученной общей секретной точки и отправляет криптограмму абоненту B.

4.Абонент B расшифровывает полученную криптограмму.

5.Злоумышленник C осуществляет атаку «посередине» с перешифрованием сообщения на протокол информационного обмена между пользователями A и B.

6.Оформить и сдать отчет о выполнении лабораторной работы. Форма отчета приведена в приложении 1 для работы 6.

ПРАКТИЧЕСКОЕ РУКОВОДСТВО

Работа 6 выполняется группами по три человека. Работа происходит по протоколу «Схема Диффи-Хеллмана». Возможные роли: абонент А, абонент B и злоумышленник C. Выберите роль для работы по протоколу. Договоритесь о том, кто создает сессию для работы по протоколу, и о времени начала работы.

Для выполнения работы используйте специализированный вычислитель для эллиптических кривых. Для задания характеристики p поля Fp

используйте таблицу простых чисел. Ранг кривой N (т.е. количество точек на кривой) считается автоматически.

По предварительной договоренности, для выполнения задания и осуществления атаки «посередине», возможна отправка сообщений между абонентамиA иB черезпользователя, выбравшегорользлоумышленника C.

55

Р а б о т а 7

ДИАЛОГОВЫЕ ПРОТОКОЛЫ ПЕРЕДАЧИ СЕКРЕТНЫХ СООБЩЕНИЙ

Цель: практическое изучение протокола Месси-Омуры на эллиптических кривых для передачи секретного сообщения; анализ безопасности схемы.

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Рассмотрим протокол Месси-Омуры (Massey-Omura), использующий криптографические преобразования в группе точек эллиптической кривой, определенной в конечном поле [4, 17]. В информационном обмене участвуют два абонента А и B. Цель протокола состоит в передаче секретного сообщения от одного абонента к другому без предварительного распространения ключей.

Всем абонентам известна общедоступная информация, состоящая из кривой E , определенной в конечном поле Fp , ранга кривой N и харак-

теристики поля (модуля кривой) p . Пусть вид кривой задается уравнением:

y 2 = x3 + ax +b ,

при этом

4a3 + 27b2 0 , a, b Fp .

Каждый из абонентов генерирует свою пару секретных чисел e и d , являющихся мультипликативно обратными по модулю ранга N :

ed 1mod N

Для этого необходимо выбрать такое число e , что

0 < e < N ,

НОД(e, N) =1 .

56

В таком случае число d можно легко вычислить, например, с помощью расширенного алгоритма Евклида из уравнения:

ed + Ny =1 .

Абонент А генерирует пару чисел (ea , da ) . Абонент B – пару чисел (eb , db ) .

Ниже приводится схема протокола информационного обмена.

А: Хочет переслать абоненту B секретное сообщение M , которому соответствует на кривой E некоторая точка Pm .

Для этого он вычисляет значение точки

Q1 = ea Pm .

Отправляет значение Q1 абоненту B.

B:Вычисляет значение точки

Q2 = ebQ1 .

Отправляет значение Q2 абоненту A.

A:Вычисляет значение точки

Q3 = daQ2 .

Отправляет значение точки Q3 абоненту B.

B:Вычисляет значение точки

Q4 = dbQ3 .

Значение Q4 равно точке Pm , соответствующей секретному со-

общению M . Действительно:

Q4 = dbQ3 = db (daQ2 ) = db (da (ebQ1)) = db (da (eb (ea Pm ))) .

Воспользовавшись свойством коммутативности операции умножения в конечном поле Fp, можно записать, что

Q4 = (ea da )(eb db )Pm = Pm .

Имея это значение, абонент B восстанавливает исходный открытый текст M .

В рассмотренном протоколе секретное сообщение передается от одного абонента другому в процессе диалога, состоящего в обмене криптограммами, при этом по открытым каналам связи передается только зашифрованная и общедоступная информация.

57

ЗАДАНИЕ

1.Всем участникам информационного обмена договорится об общих параметрах эллиптической кривой определенной в конечном поле, и о характеристике поля.

2.Каждому абоненту сгенерировать свои секретные параметры.

3.Осуществить передачу секретного сообщения от одного абонента к другому в соответствии с протоколом Месси-Омуры.

4.Оформить и сдать отчет о выполнении лабораторной работы. Форма отчета приведена в приложении 1 для работы 7.

ПРАКТИЧЕСКОЕ РУКОВОДСТВО

Работа 7 выполняется группами по два человека. Работа происходит по протоколу «Протокол Месси-Омуры». Возможные роли: абонент А и абонент B. Выберите роль для работы по протоколу. Договоритесь о том, кто создает сессию для работы по протоколу, и о времени начала работы. Секретное сообщение передается от абонента A к абоненту B.

Для выполнения работы используйте специализированный вычислитель для эллиптических кривых. Для задания характеристики p поля Fp

используйте таблицу простых чисел. Ранг кривой N (т.е. количество точек на кривой) считается автоматически.

58