УДК 004.056.55
ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ И МЕТОДЫ ИХ ГЕНЕРАЦИИ Разумов П. В., Бачило А. О., Черкесова Л. В., Сафарьян О. А. Донской государственный технический университет, Ростов-на-Дону, Российская Федерация
therazumov@gmail .com a-bachilo@,mail .ш [email protected] safari_2006@,mail .ш
Проведено комплексное исследование эллиптических кривых, представлены их описание и характеристика. Выявлены характеристики, обеспечивающие свойства, при которых эллиптическая кривая является наиболее стойкой в криптосистемах. Проведено достаточное количество экспериментов, не имеющих аналогов в мировой практике, позволивших сделать вывод, что метод комплексного умножения будет более быстрым алгоритмом на практике, это даст возможность разработчикам криптоалгоритмов с открытым ключом использовать данный алгоритм в реальных условиях.
Ключевые слова: эллиптическая кривая, криптосистема, комплексное умножение, аддитивная группа, эндоморфизм кольца, дискретный логарифм, скрученные
UDC 004.056.55
ELIPTIC CURVES AND METHODS OF THEIR GENERATION Razumov P. V., Bachilo A. O., Cherkesova L. V., Safaryan O. A. Don State Technical University, Rostov-on-Don, Russian Federation therazumov@gmail .com a-bachilo@mail .ru [email protected] safari [email protected]
The article is devoted to a complex study of elliptic curves, their description and characteristics. The characteristics providing the properties under which the elliptic curve is the most stable in cryptosystems are revealed. A sufficient number of experiments have been carried out, as a result of which it follows that the method of complex multiplication will be a faster algorithm in practice, which would allow developers of public-key cryptalgorithms to use this algorithm in real conditions.
Key words: elliptic curve, cryptosystem, complex multiplication, additive group, endomor-phism of a ring, discrete logarithm, twisted elliptic curves.
эллиптические кривые.
Введение. В связи с повсеместным распространением информационных систем в наши дни остро встает вопрос защищённости хранимых и передаваемых данных. С одной стороны, наблюдается потребность субъектов информационных систем в надёжном механизме аутентичности передаваемых данных. С другой — современные криптографические протоколы, обладая высоким уровнем криптографической стойкости, позволяют субъектам систем передачи данных обладать абсолютной уверенностью в надёжности коммуникационных систем [1].
Вследствие этого за последние годы широкое применение получили различные информационные системы, использующие средства асимметричной криптографии, работа которых основана на использовании открытого ключа шифрования. Согласно научным исследованиям учёных, среди криптосистем, использующих открытый ключ, наиболее стойкими к атакам различного рода являются криптосистемы, основанные на эллиптических кривых (ЭК).
Результаты данной работы основываются на исследованиях таких учёных, как Нил Коблиц, Рене Чуф, Джозеф Сильверман, Артур Аткин, Скотт Ванстоун, Альфред Менезес, Тацуаки Окамото
Iл
[2]. Некоторые положения применительно к методикам генерации криптографически стойких эллиптических кривых получили развитие в ходе написания данной работы.
Использование эллиптических кривых в криптосистемах предложили американские ученые Нил Коблиц и Виктор Миллер в 1985 г. [3-5].
Необходимостью разработки методов генерации криптографически стойкой эллиптически кривой, применяемой в реальных криптосистемах, является проблема выбора криптографически стойкой эллиптической кривой для асимметричной криптосистемы, которая, в первую очередь, обусловлена трудоемкостью вычислений и сложной реализацией существующих алгоритмов.
Постановка задачи. В ходе исследования выявлены два наиболее перспективных подхода к реализации методов генерации криптографически стойкой эллиптической кривой. Обсуждаемыми в работе алгоритмами являются методика «случайного выбора» эллиптической кривой и подход, основывающийся на применении метода комплексного умножения. Использование данных алгоритмов генерации способствует повышению криптостойкости системы в целом.
В данной работе приведено описание эллиптических кривых, дана их общая характеристика, а также рассмотрены алгоритмы генерации криптографически стойких эллиптических кривых. Приведено их подробное описание.
Целью данной работы является исследование алгоритмов генерации криптографически стойких эллиптических кривых для определения оптимального метода их применения в условиях отражения атаки злоумышленника на секретные зашифрованные данные, передаваемые по каналу связи. В процессе достижения поставленной цели авторами были сформулированы и успешно решены следующие задачи: исследование эллиптических кривых с точки зрения обеспечения безопасности и эффективности, выявление методов генерации криптографически стойких эллиптических кривых; анализ существующих подходов к генерации эллиптической кривой, основанный на случайном переборе ЭК как математических объектов, использующих метод комплексного умножения.
Основная часть. Основоположниками криптографии на основе эллиптических кривых стали американские ученые Нил Коблиц и Виктор Миллер, которые в 1985 году независимо друг от друга предложили системы криптографической защиты на основе открытого ключа, которые используют свойства аддитивной группы точек на эллиптической кривой для реализации шифрования. Впоследствии работы этих исследователей легли в основу криптографии на эллиптических кривых [3].
Изучением вопроса генерации криптостойких эллиптических кривых занимались немецкий ученый Геральд Байер и швейцарский исследователь Йоханнес Баучман. В своей совместной работе «Методы генерации эллиптических кривых», опубликованной в 27 августа 2002 года в качестве доклада агентству по развитию информационных технологий Японии. В этой работе они описали подходы к созданию эллиптических кривых над полем р (где р —
простое число) и над полем 2", а также привели сравнение исследуемых методов [6].
В России данной проблемой занимались В. В. Пылин в диссертации «Алгоритмы и методы генерации эллиптической кривой для асимметричной криптосистемы» (2008 г.) и Н. В. Расторгуева в диссертации «Подбор параметров эллиптических кривых и анализ их крипто-стойкости для использования в асимметричных криптосистемах» (2014 г.) [7, 8].
Применение эллиптических кривых в криптографии. Безопасность криптосистем на эллиптических кривых определяется количеством точек Е(Ер) . Таким образом, чтобы решить, подходит ли группа рациональных точек для использования в криптографии, необходимо знать порядок ее группы.
Первый подход, называемый случайным подходом, выбирает случайную кривую E. Порядок группы E (Fp) определяется с использованием алгоритмов подсчета точек. На основании подсчета количества точек можем определить, является ли данная группа подходящей для использования в криптографии. Если окажется, что найденная эллиптическая кривая не удовлетворяет безопасности криптосистемы, выбирается другая эллиптическая кривая [2].
Второй метод использует теорию комплексного умножения (CM-метод — complex multiplication method). Рассматриваемый метод имеет достаточно большое отличие от предыдущего. В данном методе в первую очередь выполняется поиск подходящих точек группы. Это может быть осуществлено без знания соответствующих эллиптических кривых по заданным входным данным. После того как множество точек найдено, эллиптическая кривая определяется с помощью формул комплексного умножения [2].
Исследование криптографически стойких ЭК над полем Fp. Пусть q = p является простым числом, где p > 5 . Эллиптической кривой над полем F является пара E = (a, b) е F2, где
4а3 + 27Ъ2 ф 0 . Точка на кривой E является решением (х, у) е Ер таким, что у2 = х3 + ах + Ъ или точка на бесконечности О, которая действует как единичный элемент. Множество точек Е над полем Ер обозначается Е(Ер) . Приведенная структура называется группой рациональных
точек Е над полем Ер [1].
Эллиптическая кривая является криптографически стойкой, если она удовлетворяет условиям безопасности и эффективности.
Сначала рассмотрим стойкость кривой с точки зрения безопасности. Безопасность криптосистемы на эллиптических кривых основана на сложности решения проблемы дискретного логарифма в Е(Е ). На данный момент известно несколько алгоритмов решения дискретных
логарифмов. Для того чтобы сделать их разрешение невозможным, требуется, чтобы эллиптическая кривая E удовлетворяла следующим условиям.
1) | ЕЕ) |= кхг,г > 2160 - простое, к > 0 - целое;
2) простые числа г и р различны;
3) порядок р в мультипликативной группе Ер из Ег не менее В , где В > 20 .
Первое условие исключает применение общих алгоритмов дискретного логарифма. Второе условие делает невозможной аномальную атаку. И, наконец, последнее условие исключает атаки на закрытые ключи, такие как известные атаки Менезеса, Окамото, Ванстоуна, а также атаки Фрея и Рюка [6].
Далее рассмотрим криптографическую стойкость криптосистем на эллиптических кривых с точки зрения эффективности. Предположим, что эллиптическая кривая Е, заданная над конечным полем Ер, удовлетворяет условиям безопасности. Если эта кривая используется в криптографической системе, тогда эффективность этой системы зависит от эффективности арифметических операций в конечном поле Ер . Поэтому p должно быть малым,
насколько это возможно. Это следует из теоремы Хассе:
ЦЕ(Ер )|-1)2 < р < ЦЕ(Ер )|+1)2 (1)
Следовательно, |Е (Ер )| также необходимо быть небольшим. Рассмотрим первое условие безопасности:
| Е(Ер) |= кхг (2)
где r > 2160 - простое, k > 0 - целое (кофактор).
Безопасность криптосистемы, в которой используется E(F ), основана на сложности решения проблемы дискретного логарифма в подгруппе порядка r в группе точек эллиптической кривой E(F ) . Таким образом, k должно быть малым. Далее мы улучшаем первое условие.
IE(Fm ) |= k х r , где r > 2160 - простое, k > 0 - целое.
Третье условие подразумевает, что эндоморфизм кольца End(E(F )) ЭК над алгебраическим замыканием Fp является мнимым квадратичным порядком.
Подводя итоги, нужно сказать, что эллиптическая кривая E (Fp) является криптографически стойкой, если она удовлетворяет следующим условиям:
1) | E(Fm ) |= k х r, где >, где r > 2160 - простое, k < 4 - целое;
2) p Ф r.
3) ps = 1mod r,1 < s < 20.
Методы генерации криптографически стойких эллиптических кривых. Продолжая исследование, рассмотрим два метода нахождения криптографически стойкой эллиптической кривой. Для этого должна быть решена следующая задача: пусть r0 и k0 - положительные целые
числа, где r > 2160, k < 4. Необходимо найти эллиптические кривые, чьи коэффициенты k х r такие, что r > r0, k > k0. Следовательно, целые числа r0 и k0 служат границами для r и k для
определения эффективности и безопасности [2].
Перед рассмотрением алгоритмов мы опишем алгоритм проверки простого p , называемый
160
isstrongP(r0, k0, p, N) . На вход алгоритма поступают положительные целые числа r0 и k0, где r > 2 , k < 4, простое p и целочисленное N.
Данный алгоритм возвращает простое r, если N = k х r является порядком криптографически стойкой эллиптической кривой E над полем Fp, где r > r0, k > k0; иначе - выведет 0. Рассмотрим более подробно данный алгоритм. Алгоритм проверки простого p:
1) //проверяется, принадлежит ли N интервалу Хассе:
2) if | N - (p +1)|> 2yfp then
3) return (0);
4) r ^ 0 ; k ^ 0 ; //инициализируем r и k, равными 0;
5) //проверка условия 1:
6) for i ^ 1; i < k0; i ^ i +1 do;
7) if i | N and isPr ime(N / i, 50) = true and N / i > r0 then
8) r ^ N / i; k ^ i; break;
9) if r = 0 then
10) return (0);
11) //проверка условия 2:
12) If p = r then
13) return (0);
14) //проверка условия 3:
15) pr ^ 1mod r ;
16) for i ^ 1; i < 19; i ^ i +1 do
17) pr ^ p x pr mod r ;
18) if pr = 1 then
19) return (0);
20) return (r).
Алгоритм, основанный на случайном выборе ЭК. Первая задача состоит в том, чтобы найти простое число p. На сегодняшний день не известны атаки на криптосистемы эллиптической кривой, которые используют свойства некоторого поля Fp. Таким образом, выбор простого числа p не является критическим. Однако мы должны рассмотреть граничные условия r > r0 и к > к0 . Переменная b является длиной бита к0 x r0 . Мы предлагаем выбрать такое p , что k0 x r0 < p < 2b . Метод get Pr ime(k0, r0) возвращает такое простое число. Пользователь может выбрать свою собственную реализацию get Pr ime, например, использовать простые числа в интервале [к xr0,2b] [9].
После того как p известно, далее выполняется следующее: выберем параметры a и b , для которых 4a3 + 27b2 ^ 0mod p, определим порядок группы рациональных точек кривой (a, b) над Fp и, наконец, проверим, криптографически сильная ли эта группа.
В первую очередь выясним, как выбрать a и b . Обычно выбор параметров происходит случайным образом. Основная идея состоит в том, чтобы использовать одностороннее свойство криптографической хеш-функции. Через h обозначим такую хеш-функцию, а L — длину в битах на выходе h . Предполагаем, L > 160 . Чтобы генерировать кривую случайным образом, сначала выбирается битовая строка длиной не менее L. Мы пишем SEED для этой строки (строит из битовой строки новую последовательность). Как только SEED известно, значение h(SEED) используется для вычисления a и b общеизвестным детерминированным алгоритмом. Таким образом, если мы предоставим SEED, хеш-функцию h и детерминированный алгоритм вычисления (a, b) из h(SEED), любой субъект может проверить, что a и b фактически вычисляются с использованием SEED . Одностороннее свойство h гарантирует, что параметры фактически выбраны случайным образом. В этой работе мы будем писать getParamaters(p, SEED) для любого алгоритма, который возвращает эллиптические кривые E , определенные над Fp в случайном порядке.
Если кривая E = (a, b) выбрана, мы должны определить порядок группы кривой E(Fp) . В
настоящее время наиболее известным алгоритмом для решения данной задачи является алгоритм SEA. SEA -алгоритм был разработан американскими учеными Чуфом, Элкисом и Аткином. Обозначим SEA(p,E) . Обозначим результат SEA(p,E) через N . Если isStrongP(r0,k0,p,N) Ф 0 , то наша задача решена. В противном случае нам нужно вызвать getParameters(p,SEED), SEA(p,E) и isStrongP(r0, k0, p, N), пока мы не добьемся успеха.
Алгоритм случайного выбора ЭК
1) p ^ get Pr ime (r00, k0);
2) while true do
3) E ^ getParameters(p, SEED);
4) N ^ SEA(p, E);
5) r ^ isStrongP(r, k,, p, N);
6) if r Ф 0 then
7) return (p, E, r, N / r ).
Метод комплексного умножения. Центральным термином в рамках метода комплексного умножения является мнимый квадратичный дискриминант [1]. Обозначим такой дискриминант через А. Это отрицательное целое число: А = 0,1 mod 4 .
Через 0А мы обозначаем мнимый квадратичный порядок дискриминанта А:
Оа= Z (^) (3)
Кроме того, запишем h(A) для 0А. Если p — простое число, то оно называется нормой в 0А; если существуют целые числа t, y, то:
t2 -Ау 2 = 4p (4)
Если p является нормой в 0А, то эллиптические кривые Ej и E2 над полем Fp с кольцом эндоморфизмов 0А строятся по следующей схеме, используя комплексное умножение.
IEp (Fp )|= p +1-1 ,| E2p (Fp )|= p +1 +1 (5)
Пусть H е Z[X] — минимальный многочлен j[ ], где j — эллиптическая модуляр-
ная функция. Степень H равна h(А). По модулю p многочлен H разбивается на линейные множители. Пусть H(j ) = 0modp . Предположим, что А < -4 . Тогда имеем: jp е {0; 1728} . Пусть S p — квадратичный нестационарный mod p . Вместе с уравнением:
(ap, bp ) = (3kp ,2k р ), (6)
jp
где к =
р 1728 - у
Мы имеем
(Е,,р, Е2, р } = {(ар, Ър ),(а/р, Ъ/р )} (7)
Эллиптические кривые Е1,р и Е2,р называются скрученными эллиптическими кривыми над
полем Ер [10]. Для данной конструкции не известно, какая из эллиптических кривых Е1 р и Е2
является криптографически стойкой. Однако, выбирая точки на каждой кривой и проверяя, является ли их порядок делителем р +1 + г или р +1 - г, можно идентифицировать кривые Е1 и Е2 .
Нам нужно знать представление простого числа р , как в формуле (4). Тогда мы знаем групповые
порядки Е1р (Ер) и Е2р (Ер) из формулы (5). Используя эти порядки и алгоритм isstгongP, мы
можем проверить условия безопасности. Обычно большая часть времени тратится на вычисление полинома Н . Причина в том, что коэффициенты Н становятся довольно большими даже для дискриминанта с небольшим значением.
Однако в зависимости от значения А шоё24 можно использовать альтернативные многочлены, коэффициенты которых очень малы по сравнению с Н . Работа с этими полиномами значительно ускоряет метод «комплексного умножения» на практике. Битовая сложность метода «комплексного умножения» инвариантна.
Сравнительный анализ методов. В этом разделе сравниваются случайный подход и метод «комплексного умножения», чтобы найти криптографически сильную группу эллиптических кривых над Ер. Будем сравнивать влияние на безопасность и эффективность.
Для начала разберемся с безопасностью. Основным преимуществом случайного подхода является то, что каждая криптографически сильная группа эллиптических кривых над Ер вычисляется с примерно одинаковой вероятностью. Метод комплексного умножения применим только в том случае, если используются небольшие дискриминанты, например, дискриминанты со значениями не более 1000. Тогда сгенерированные кривые являются особыми в случае, если их кольцо эндоморфизмов имеет значение не более чем 1000. Таким образом, не каждая криптографически сильная группа эллиптических кривых может выводиться методом комплексного умножения.
Теперь обсудим эффективность. Разберем случай при к0 = 1, то есть мы ищем группу эллиптических кривых простого порядка. Запишем Ь для длины бит г0. Ранее было заявлено, что битовая сложность случайного подхода зависит только от Ъ . Однако битовая сложность комплексного умножения зависит от значения используемого мнимого квадратичного дискриминанта. Далее будет рассмотрено, для какого значения оба подхода имеют одно и то же время выполнения на практике для некоторого заданного фиксированного Ь. Это число названо значением пересечения, и обозначается оно Ис (Ъ).
Для определения Ис (Ъ) сначала было измерено время выполнения случайного подхода Р(г0, к0). Отмечено, что здесь реализована стратегия раннего прерывания и использование скрученной кривой, которая описана выше.
Все тесты были выполнены на различных видах компьютеров и средств вычислительной техники с использованием программного обеспечения свободного доступа. Результаты исследований приведены в табл. 1.
Таблица 1
Среднее время выполнения случайного подхода для получения криптографически сильной эллиптической группы Е (Е ) простого порядка
В 160 170 180 190 200 210
Время выполнения (мин.) 3,63 4.87 7.97 10.3 13.1 16.7
К (Ъ) 50 820 960 1040 1090 1200
В табл. Ъ означает длину бита р . Было проведено 100 вычислительных экспериментов, на основании которых были определены среднестатистические значения.
На основании проведённых экспериментов было выявлено, что метод комплексного умножения будет более быстрым алгоритмом на практике, если К(А) < Ис (Ъ) при дискриминанте А, используемой в методе комплексного умножения. По данным табл. 1 можно сделать вывод, что значение пересечения довольно велико. Таким образом, даже если учесть дополнительное требование 01БА (немецкое агентство информационной безопасности) о том, что значение фундаментального дискриминанта, соответствующего А, составляет не менее 200, метод комплексного умножения предпочтительнее метода случайного выбора ЭК по длине бит ключей, использующихся в криптосистемах.
Заключение. Применение эллиптических кривых является одной из основных и наиболее надежных технологий построения открытых ключей в асимметричной криптографии. Основным критерием стойкости таких криптографических систем является проблема сложности решения дискретного логарифма.
i \QQ/ *
Для противостояния имеющимся алгоритмам решения данной задачи характеристики эллиптической кривой должны удовлетворять некоторым определенным условиям. Соответственно, эллиптические кривые, удовлетворяющие таким условиям, являются криптографически сильными.
Важной задачей эллиптической криптографии является генерация криптографически сильных эллиптических кривых над конечным полем простого порядка. Существует несколько способов генерации, среди которых наиболее распространенными и надежными являются случайный подход к генерации эллиптической кривой и подход, использующий метод комплексного умножения. После генерации методами расчета числа точек находится порядок кривой и проверяется выполнение известных условий. К сожалению, алгоритмы расчета числа точек эллиптической кривой над большими полями слишком медленны.
Если кольцо эндоморфизмов эллиптической кривой имеет малое число классов, то метод комплексного умножения предпочтительнее метода случайной генерации. Но при больших значениях дискриминанта (D > 200 ) существующие методы комплексного умножения становятся непрактичными из-за низкой скорости. Поэтому наиболее актуальной является разработка быстрых алгоритмов генерации эллиптических кривых методом комплексного умножения.
Библиографический список
1. H. Baier. Efficient Algorithms for Generating Elliptic Curves over Finite Fields Suitable for Use in Cryptography. PhD thesis, Darmstadt University of Technology,2002.
2. Harald Baier and Johannes Buchmann. Generation Methods of Elliptic Curves. An evaluation report for thelnformation-technology Promotion Agency, Japan, 2002.
3. Koblitz N. Elliptic curve cryptosistems // Mathematics of Computation. 48 (1987). P. 203-204
4. Miller V. Uses of elliptic curves in cryptography // Advances in Cryptology: Proceedings of Crypto'85. Lecture Notes in Computer Science. 218 (1986). Springer-Verlag. P. 417-426.
5. NIST Recommended Elliptic Curves for Federal Government Use. National Instituteof Standards and Technology, 1999.
6. H. Baier. How to find Elliptic Curve Groups of Prime Order. Technical Report,Darmstadt University of Technology, 2002. Technical Report TI-6/02.
7. Ишмухаметов, Ш. Т. Математические основы защиты информации: электронное учебное пособие для студентов института вычислительной математики и информационных технологий / Ш. Т. Ишмухаметов, Р. Г. Рубцова. — Казань : Казанский федеральный университет, 2012. — 138 с.
8. Пылин, В. В. Алгоритмы и методы генерации эллиптической кривой для асимметричной криптосистемы : автореф. дис. ... канд. техн. наук. — Санкт-Петербург, 2008. — 147 с.
9. Schoof R. Ellitic curves over finite fields and computation of square roots. Vol. 44. No. 170. P. 283-494. Apr. 1985.
10. Schoof R. Ellitic curves over finite fields and computation of square roots. Vol. 44. No. 170. P. 283-494. Apr. 1985.