Серия История. Политология. Экономика. Информатика. 2010. № 13 (84). Выпуск 15/1
УДК 681.3
АНАЛИЗ ПОРОГОВЫХ КРИПТОСИСТЕМ НА ЭЛЛИПТИЧЕСКОЙ КРИВОЙ
В статье рассмотрены методы построения пороговых криптосистем на эллиптической кривой (ЭКК-ПК). Проведен сравнительный анализ скорости шифрования и дешифрования при реализации ЭКК-ПК, использующей эллиптическую кривую, рекомендованную №Ж и ЭКК-ПК, построенную с использованием СОК.
Ключевые слова: пороговые криптосистемы на эллиптической кривой, система остаточных классов.
Н. И. ЧЕРВЯКОВ М. Г. БАБЕНКО
Ставропольский
государственный
университет
e-mail: whbear@yandex.ru
Современные информационные системы требуют особого подхода к передаче электронных документов по открытым каналам связи и сохранению секретных сведений. Для этих целей используются криптографические средства защиты информации.
Эллиптические кривые - один из самых перспективных инструментов для построения криптографических алгоритмов [1].
В работе [2] предлагается использовать для передачи данных в уязвимых к атакам беспроводным сетям пороговую криптосистему на эллиптической кривой, позволяющую доставлять сообщение от отправителя к получателю при условии, что ряд пользователей сети недоступны по техническим или каким-либо другим причинам. Это обусловлено тем, что эллиптическая кривая обеспечивает максимально возможную для криптосистемы с открытым ключом стойкость на один бит размера задачи [3]. В работе [2] представлена табл. 1 о размерах ключей для эквивалентных уровней безопасности.
Таблица 1
Размер ключей в битах для эквивалентных уровней безопасности
Симметричный ECC DH/DSA/RSA
128 283 3072
192 409 7680
256 571 15360
Эллиптическая кривая E над простым полем Fp , где p > 3 , задана уравнением в форме Вейерштрассе:
E(Fp): y2 = х3 + ax + b , где 4a3 + 27b2 ф 0 и a, b e Fp. (1)
Решение уравнения (1) совместно с бесконечно удаленной точкой задают множество точек эллиптической кривой. При использовании самого быстрого универсального алгоритма SEA для нахождения #E(GF(q)) требуется 2836 операций, что приблизительно равно 5 х1014, а так как современная вычислительная техника может выполнять 1010 операций в секунду, то потребуется 13 часов для нахождения порядка одной эллиптической кривой. Это делает данный алгоритм неприемлемым для использования его в практических целях.
Альтернативным решением этой проблемы является построение криптосистемы на эллиптической кривой с использованием системы остаточных классов.
-|7g НАУЧНЫЕ ВЕДОМОСТИ Серия История. Политология. Экономика. Информатика.
1 Jm 2010. № 13 (84). Выпуск 15/1
Сложность генерации может быть уменьшена при использовании эллиптиче-
n
ской кривой над кольцом Zq, где q = ^ pi, pi - попарно различные простые числа и
i=1
для каждого i е {l,2,..,n} pi > 3.
Пусть эллиптическая кривая над кольцом задана уравнением
E(Zq): y2 = х3 + ax + b над Zq, (2)
n
где q = ^ Pj и Pj - попарно простые числа и pi > 3 .
j=1
Приведем алгоритм нахождения мощности множества эллиптической кривой, заданной уравнением (2).
Алгоритм нахождения мощности множества точек на эллиптической кривой.
Рассмотрим сравнение
y2 = х3 + ax + b (mod pi). (3)
1. Найдем количество решений ni сравнения (3), используя формулу
n
= Рг + Z
( х3 + ax + b Л ( x3 + ax + b Л
, где
- символ Лежандра.
2. Вычислим порядок по формуле.
# E (zq )=ПИ( +1.
i=i
При соответствующем выборе простых чисел pi мощность множества точек эллиптической кривой, заданной уравнением (2), при |_log2 qj = 283 вычисляется с
использованием вышеприведенного алгоритма за 1 секунду, что гораздо меньше, чем время у алгоритма SEA.
Поставим задачу сравнить скорость шифрования и дешифрования данных криптосистемы, построенной с помощью пороговой криптосистемы на точках эллиптической кривой, заданной уравнением (2) и использующей операции в СОК с пороговой криптосистемой, построенной на точках эллиптической кривой, из работы [4].
Рассмотрим основные методы из работы [2] для построения пороговой криптографии на точках эллиптической кривой.
1. Для разбиения перед кодированием: отправитель S генерирует частичные сообщения, используя интерполяцию Шамира-Лагранжа из сообщения M, затем шифрует эти частичные сообщения в точки.
Для разбиения после кодирования отправитель S сначала шифрует сообщение в точки, затем зашифрованные точки разбивает на частичные сообщения, используя интерполяцию Лагранжа.
2. S распространяет частичные сообщения Cis наряду с передачей xi, s надежно ко всем соседним узлам по разным несвязным маршрутам.
3. Доступные узлы на этих маршрутах выполняют задачу отправления частичных пакетов сообщения, пока это не достигает получателя R . Ни один из этих узлов не является или акционером или объединителем в реализации ЭКК-ПК.
4. Когда R получает t или больше Cis и xis, используя сначала t xi значения,
тогда вычисляет соответствующий зашифрованный текст C. В случае разбиения перед кодированием эти частичные сообщения сначала расшифровываются с исполь-
Серия История. Политология. Экономика. Информатика. 2010. № 13 (84). Выпуск 15/1
зованием алгоритма ЭКК-ПК, а затем, используя интерполяцию Лагранжа, оригинальное сообщение восстанавливается. Для разбиения после кодирования частичные сообщения сначала объединяют, используя интерполяцию Лагранжа, чтобы возвратить оригинальный С, затем, используя алгоритм ЭКК-ПК для расшифровки, оригинальное сообщение М восстанавливают.
Мультиперелет вовлекает больше, чем 2 узла, ^ на единственном несвязном маршруте
Рис. 1. Модель протокола, базирующегося на ЭКК-ПК
Приведем методы построения ЭКК-ПК с разбиением на части до и после кодирования. Для уменьшения времени вычисления скалярного умножения точки на эллиптической кривой все операции с точками будем производить в проективной системе координат.
Метод 1. Шифрование данных с разбиением на части перед кодированием.
1) Алиса разбивает сообщение M на n частей секретMt, 1 < t < n;
2) Алиса преобразовывает каждую часть Mt в точку Pt(Xt :Yt : Zt);
3) Алиса выбирает случайное число r <| H | и вычисляет rnBG = (Xk : Yk : Zk );
4) Алиса сообщает (rG,, XkXt mod p, YkYt mod p, ZkZt mod p) .
Метод 2. Дешифрования данных с разбиение на части перед кодированием.
1) Боб вычисляет nBrG = rnBG = (Xk :Yk : Zk);
2) Боб восстанавливает Xt и Yt, используя Xkl XkXt mod p, YklYkYt mod p и ZllZkZtmod p;
3) Если есть t и больше частей PM, то Боб восстанавливает PM и преобразует PM в секрет M .
Метод 3. Шифрование данных с разбиением на части после кодирования.
1) Алиса конвертирует сообщение M в точку PM (X : Y : Z) ;
Серия История. Политология. Экономика. Информатика. 2010. № 13 (84). Выпуск 15/1
2) Алиса выбирает случайное число r <| H |;
3) Алиса вычисляет rnBG = (Xk : Yk : Zk ), u = XkX mod p, w = YkY mod p и v = ZkZ mod p;
4) Алиса разбивает u , w , v на n частей ut, wt и vt соответственно, 1 < t < n ;
5) Алиса передает rG и n части ut, wt и vt Бобу.
Метод 4. Дешифрование данных с разбиением на части после кодирования.
1) Боб комбинирует t части ut, wt, vt и вычисляет каждое значение отдельно u , w , v;
2) Боб вычисляет nBrG = rnBG = (xk, yk );
3) Боб восстанавливает PM, используя Xk Xklu = XklXkXmodp и Yklw = Yk%Y mod p, Zklw = ZklZkZ mod p ;
4) в конечном счете, Боб конвертирует PM в секрет M .
Реализуя приведенные алгоритмы для рекомендованной эллиптической кривой из работы [4]:
кривая P -256;
p = 2256 -2224 + 2192 + 296 -1 ;
a = -3;
b = 5ac635d8 aa3a93e7 b3ebbd55769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b.
И эллиптической кривой Q - 281:
32
q = Пpi, где p1 = 271, p2 = 277, p3 = 281, p4 = 283 , p5 = 293, p6 = 307 , p7 = 311,
i=1
p8 = 313, p9 = 317 , p10 = 331, p11 = 337, p12 = 347, p13 = 349 , p14 = 353 , p15 = 359 , p16 = 367, pxl = 373 , p18 = 379 , pX9 = 383 , p%) = 389 , p2X = 397, p22 = 401, p23 = 409, p24 = 419, p25 = 421, p26 = 431, p27 = 433 , p28 = 43 9, p29 = 443 , p30 = 449, = 457, p32=461;
a = 3 ;
b = 5ac635d8 aa3a93e7 b3ebbd55769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b.
Для тестирования методов разделения секрета на точках эллиптических кривых было сгенерировано 1000 случайных сообщений. После запросили системное время Tstart - время начала, Tend - время окончания выполнения алгоритма, а среднее
T -T
время работы алгоритма вычисляем по формуле ^ qqq^ . Результаты, полученные при тестировании, представлены в табл. 2.
Таблица 2
Среднее время работы методов в миллисекундах
Кривая P -256 Кривая Q-281
Метод 1 638 325
Метод 2 701 400
Метод 3 647 327
Метод 4 698 401
Серия История. Политология. Экономика. Информатика. 2010. № 13 (84). Выпуск 15/1
Мы видим, что шифрование в СОК приблизительно в два раза быстрее, чем шифрование, использующее алгоритмы из работы [4], а дешифрование - на треть быстрее. Это происходит вследствие того, что выполнение модулярных операций в СОК быстрее, что позволяет использовать криптосистемы на точках эллиптической кривой, построенные на базе СОК с большей эффективностью.
1. Menezes, A. Handbook of applied cryptography [текст] / A. Menezes, P. van Oorchot, S. Vanstone - CRC press, 1997. - 816 p.
2. Ertaul, L. Elliptic Curve Cryptography based Threshold Cryptography Implementation for MANETs [текст] / L. Ertaul, N. J. Chavan / / IJCSNS International Journal of Computer Science and Network Security. - 2007. - Vol. 7. - No. 4. P. 48-61.
3. Ростовцев А. Г. Два подхода к логарифмированию на эллиптической кривой [текст] / А. Г. Ростовцев, Е. Б. Маховенко // http://www.ssl.stu.neva.ru/ssl/archieve/lift1.pdf
4. Recommended Elliptic Curves for Federal Government Use [текст]. - NIST. http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf.
Литература
AN ANALYSIS THRESHOLD IN ELLIPTIC CURVE CRYPTOGRAPHY
Stavropol State University
N. I. CHERVAYKOV M. G. BABENKO
The methods for constructing threshold in Elliptic Curve Cryptography (ECC-TC) are described in article. We researched a comparative analysis of the speed encryption and decryption in the implementation of ECC-TC, and used elliptic curves recommended by NIST and the ECC-TC built with the use of SRC.
Key words: threshold cryptosystem on an elliptic curve, system of residual classes.