Научная статья на тему 'Разработка, реализация и анализ криптографического протокола цифровой подписи на основе эллиптических кривых'

Разработка, реализация и анализ криптографического протокола цифровой подписи на основе эллиптических кривых Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1878
372
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЯ / КРИПТОГРАФИЧЕСКИЙ ПРОТОКОЛ / ЭЛЛИПТИЧЕСКИЕ КРИВЫЕ / КРИПТОГРАФИЧЕСКАЯ СТОЙКОСТЬ / CRYPTOGRAPHY / CRYPTOGRAPHIC PROTOCOLS / ELLIPTIC CURVES / THE CRYPTOGRAPHIC STRENGTH

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Чеканов Сергей Геннадьевич

В последнее время широкое распространение получили криптографические примитивы, которые базируются на эллиптических кривых над конечными полями. Основная причина этого заключается в том, что эллиптические кривые позволяют строить примеры конечных абелевых групп с хорошими, для криптографических целей параметрами. Кроме того, меняя характеристику поля можно легко повышать стойкость шифра. Существенную роль играет возможность удобной программной реализации. Разработан и программно реализован криптографический протокол цифровой подписи на основе эллиптических кривых. Протокол производит шифрование сообщения, формирование цифровой подписи, передачу сообщения и расшифровку на стороне получателя. Проанализирована криптографическая стойкость протокола несколькими методами. Построен график зависимости криптографической стойкости протокола от характеристики конечного поля, над которым строится эллиптическая кривая. Написана программа на языке C++ в среде программирования Visual C++ 2010 с поддержкой библиотеки больших чисел GMP, производящая шифрование и дешифрование сообщения в соответствии с построенным протоколом. Разработанная программа является инструментом, позволяющим передавать и получать сообщения с достаточной степенью криптографической стойкости и приемлемой скоростью.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Development, Implementation and Analysis of Cryptographic Protocol for Digital Signatures Based on Elliptic Curves

Cryptographic primitives based on elliptic curves have become very popular recently. The main reason is that elliptic curves can build many examples of finite Abelian groups with good parameters suitable for cryptographic purposes. In addition, elliptical curves are easy to implement on a computer, and the cryptographic strength can be achieved by choosing the characteristics of the finite field. Software cryptographic protocol for digital signature based on elliptic curves is designed and implemented. The protocol encrypts messages, forming a digital signature, message transmission and decoding at the receiver. Resistant cryptographic protocol is analyzed by several methods. A diagram of dependence of cryptographic security of the protocol on finite field characteristic, over which the elliptic curve is built, is given in the paper. The program in C++ programming environment Visual C++ 2010 with the support of large numbers GMP library is written. The program allows you to encrypt and decrypt the messages according to the generated protocol. It is also the instrument for transmission and receiving the messages with high degree of cryptographic strength and at reasonable rate.

Текст научной работы на тему «Разработка, реализация и анализ криптографического протокола цифровой подписи на основе эллиптических кривых»

УДК 003.26(075.8)

РАЗРАБОТКА, РЕАЛИЗАЦИЯ И АНАЛИЗ КРИПТОГРАФИЧЕСКОГО ПРОТОКОЛА ЦИФРОВОЙ ПОДПИСИ НА ОСНОВЕ ЭЛЛИПТИЧЕСКИХ КРИВЫХ

С. Г. Чеканов

В последнее время широкое распространение получили криптографические примитивы, которые базируются на эллиптических кривых над конечными полями. Основная причина этого заключается в том, что эллиптические кривые позволяют строить примеры конечных абелевых групп с хорошими, для криптографических целей параметрами. Кроме того, меняя характеристику поля можно легко повышать стойкость шифра. Существенную роль играет возможность удобной программной реализации. Разработан и программно реализован криптографический протокол цифровой подписи на основе эллиптических кривых. Протокол производит шифрование сообщения, формирование цифровой подписи, передачу сообщения и расшифровку на стороне получателя. Проанализирована криптографическая стойкость протокола несколькими методами. Построен график зависимости криптографической стойкости протокола от характеристики конечного поля, над которым строится эллиптическая кривая. Написана программа на языке С • • в среде программирования Visual С - - 2010 с поддержкой библиотеки больших чисел GMP, производящая шифрование и дешифрование сообщения в соответствии с построенным протоколом. Разработанная программа является инструментом, позволяющим передавать и получать сообщения с достаточной степенью криптографической стойкости и приемлемой скоростью.

Ключевые слова: криптография, криптографический протокол, эллиптические кривые, криптографическая стойкость.

Введение

В настоящее время наблюдается тенденция быстрого развития технологий pi мощностей вычислительных систем компьютеров. У современных компьютеров повышается производительность за счет использования новых материалов в изготовлении, за счет улучшения взаимодействия между частями электронно-вычислительной машины, pi т.п. Расптртряют-ся возможпостр! персональных компьютеров pi суперкомпьютеров. В связрт с возрастающей вычр1слр1телыгой мощностью ЭВМ возтшкает пеобходршость модертшзацрш существутопщх средств запщты рщформацрш. Крртптографртческрге протоколы, показыватопще достаточную стойкость ко взлому сегодня, с каждым днем взламываются все быстрее. Несмотря па то, что современные кррштографртческрге протоколы могут эффектртвпо работать еще достаточное КОЛРТЧеСТВО времетш, CTOPIT задумываться О построепрш протоколов С большей ВЫЧР1СЛР1ТеЛЬ-пой сложностью задачрт взлома. В последнее время для рептетшя этого вопроса в крртпто-графрш паптла прртмепетше одна ртз областей теоррш чртсел pi алгебраической геометррш -теоррга эллрштр1ческр1х крртых над копечпымрт полямр!. Основная прртчрша этого coctopit в том, что эллрттртческрте крртые над коттечпымрт полямр! доставляют пертсчерпаемый ртсточ-тшк конечных абелевых групп, которые (даже еслр! OIIPI велрткрт) удобны для вычртслетшй PI обладают богатой структурой. Прершущества крртптосргстем па эллртптртческртх крртых заключается в том, что пертзвестпы субэкспопетщргальпые алгоррттмы вскрытрш ЭТР1Х сртстем, если в них не используются суперсингулярные кривые (вида y2 + y = x3 + ax + b), а также крртые, порядкрт которых (чртсло разлртчпых точек па крртой) делятся па большое простое

число. Цель статьи - описание разработанного и реализованного собственного криптографического протокола, позволяющего добиться лучших результатов криптостойкости, чем существующие протоколы цифровой подписи и передачи сообщений па эллиптичсеких кривых. Написана программа па языке С I I в среде программирования А^виа! С I I 2010 с поддержкой библиотеки больших чисел вМР [1], производящая шифрование и дешифрование сообщения в соответствии с построенным протоколом. Разработанная программа является инструментом, позволяющим передавать и получать сообщения с достаточной степенью криптографической стойкости и приемлемой скоростью. Существование такого программного продукта позволяет в будущем использовать его в качестве альтернативы известным криптографическим протоколам.

1. Криптографические протоколы

Протокол - распределенный алгоритм, в процессе выполнения которого два (или более) участника последовательно выполняют определенные действия и обмениваются сообщетти-

Криптографический протокол - протокол, предназначенный для выполнения функций криптографической системы; в процессе его выполнения участники используют криптографические алгоритмы. В данном случае под криптографической системой понимают систему обеспечения безопасности информации криптографическими методами.

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

При рассмотрении протоколов передачи сообщений и цифровой подписи па основе эллиптических кривых будем рассматривать стойкость криптографического протокола к атакам противника.

Противник - внешний субъект (или коалиция субъектов), наблюдающий за передаваемыми сообщениями и, возможно, вмешивающийся в работу участников путем перехвата, искажения (модификации), вставки (создания новых), повтора и перенаправления сообщений, блокирования передачи в целях нарушения одной или нескольких функций - сервисов безопасности.

Функция - сервис безопасности - защитная функция, выполняемая подсистемой безопасности и определяемая ее целевым назначением.

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

Наиболее важные требования к протоколу при передаче сообщений следующие:

аутентификация источника данных - получение подтверждения того, что рассматриваемый документ был создан именно указанным источником информации (без установления времени создания и единственности документа);

обеспечение целостности данных , т.е. невозможности их модификации после создания. Можно рассматривать как часть задачи аутентификации источника данных [2].

Для реализации современных протоколов с заявленными требованиями успешно применяется схема цифровой подписи сообщения.

2. Протокол передачи сообщений на основе эллиптических кривых

Теперь перейдем непосредственно к описанию разработанного протокола передачи сообщений па основе эллиптических кривых. При передаче сообщения М от пользователя А (отправителя) к пользователю В (получателю) выполняются следующие таги:

1) подписываем передаваемое сообщение цифровой подписью Шнорра [2], используя хэпт-футткциго Tiger [4-6J в соответствующих птагах алгоритма подписи;

2) выбираем эллиптическую кривую pi точку па пей для последующего использования в шифровании. Используем метод случайного выбора [3];

3) полученное сообщение представляем в виде точки па эллиптической кривой, используя вероятностный метод представления открытого текста [3]. При этом текст представляется в виде ASCII-кодов символов;

4) к точке, полученной па птаге 3, применяем аналог системы шифрования Эль-Гамаля для эллиптических кривых [3];

о) делаем общедоступными в канале связи: характеристику поля;

определенную над ним эллиптическую кривую; точку, выбранную па птаге 2; открытый ключ отправителя сообщения; открытый ключ цифровой подписи;

6) передаем по открытому каналу связи зашифрованное сообщение;

7) получатель по общедоступным данным расшифровывает сообщение pi удостоверяется в правртлытострт цртфровой подпртсрт;

8) в случае неверной цртфровой подпртсрт сообщетше ртгпорртруется.

Выбор данных алгоритмов обусловлен следующими соображениями:

Для крртптографртческртх протоколов цртфровой подпртсрт, которые являются сртстема-МРТ с тте доверятопщмрт друг другу стороттамрт ттеобходртмо ртспользовать бесключевые ХЭ1ТТ-фуТТКЦРТРТ.

Бесключевая хэпт-футткцртя Tiger не ртмеет патентных ограттртчепртй, ртмеет достаточную устойчртвость к атакам, совместртма с болытшпством современных хэпт-футткцртй (удобство модртфрткацрш), ртмеет высокую скорость работы.

Так как схемы цртфровой подпртсрт па основе сртмметрртчттых сртстем пшфрованртя являются по существу одпоразовымрт, для формртроватшя цртфровой подпртсрт будем ртспользовать сртстему пшфрованртя с открытым ключом. К услугам доверенной третьей стороны прртбегать тте будем, поскольку это связано с дополтштелытымрт сложттостямрт реалртзацртрт рт пегатртвпо влртяет па безопасность протокола в целом. Цртфровая подпртсь Штторра - ассрт-метрртчттая цртфровая подпртсь с открытым ключом. Отта является цртфровой подпртсыо па основе спецрталыто разработанного алгоррттма, поэтому ртмеет ряд прертмуществ по сравпе-ттртто с объедртттеппымрт подходамрт к построеттртто цртфровых подпртсей:

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

- пррт ртспользованрш данной схемы нельзя обпаружртть повторное ртспользоватше случайного чртсла, проверяя совпадетше первых компонент цртфровой подпртсрт, как это возможно, ттапрртмер, для схемы цртфровой подпртсрт Эль-Гамаля, основу которой также составляет

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

- введение в алгоритм простого числа позволяет сократить длину подписи по сравнению с подписями, основанными па сложности вычисления логарифма в конечном поле.

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

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

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

При представлении открытого текста используется вероятностный метод, поскольку не известно детерминистического полиномиального алгоритма для выписывания большого числа точек произвольной эллиптической кривой над простым конечным полем, поэтому используем вероятностный алгоритм с малой вероятностью неудачи. Порождать случайные точки па Е недостаточно: чтобы закодировать большое число возможных сообщений in, необходим какой-то систематический способ порождения точек, которые были бы связаны с ш определенным образом, например, чтобы х-коордиттата имела с m простую связь. Эта зависимость соблюдается в выбранном методе.

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

3. Проверка устойчивости протокола к атакам средствами AVIS РА

Для проверки протокола па устойчивость к атакам противника был применен пакет AVISPA, доступный па [7].

Выбор этого продукта обусловлен тем, что AVISPA интегрирует все современные подходы к анализу протоколов, такие как проверка па модели, древовидные автоматы, временная логика. При этом используются разработки, созданные после 2000 года. Специально для пего были разработаны версии языков для описания протоколов, позволившие существенно расширить класс изучаемых протоколов, а также интегрировать в единую платформу сразу несколько различных методов [1, 7].

При проверке протокола была составлена программа па языке CAS I , которая описывает сеанс связи построенного протокола. Затем средствами пакета SPAN программа переведена в формализованный язык описания протоколов НГРЭГ, а затем в более низкоуровневый язык IF, по которому уже стало возможным получить результаты проверки устойчивости протокола к атакам средствами AVISPA.

В результате проверки протокола известных атак па протокол не найдено. Злоумышленник может получить доступ к информации, только решив задачу дискретного логарифмиро-

вания на эллиптической кривой. Знания злоумышленника после сеанса протокола показаны на рис. 1.

Рис. 1. Результат проверки протокола средствами AVISPA. Злоумышленник (Intruder) и его знания показаны внизу слева

4. Анализ стойкости криптографического протокола на основе эллиптических кривых

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

Надежность цифровой подписи определяется стойкостью к криптоаналитическим атакам двух ее компонент: хэш-функции и самого алгоритма ЭЦП [8]. В протоколе мы использовали хэш-функцию Tiger. Атака на Tiger-24 (24-х раундовая версия) дает почти псевдоколлизию со сложность 247 операций до взлома, при этом используется 192-битное хэш-значение [6].

Стойкость алгоритма цифровой подписи для построенного протокола определяется стойкостью цифровой подписи Шнорра и шифрованием по системе Эль-Гамаля на эллиптических кривых.

Стойкость цифровой подписи Шнорра основана на сложности решения задачи дискретного логарифмирования в простом конечном поле. На сегодняшний день самым быстрым алгоритмом, решающим эту задачу, является алгоритм обобщенного решета числового поля, вычислительная сложность которого оценивается как 0(ехр(с(1п р) 1/3(In In q)2/3)) операций в поле Fq, где с=1,92 [8]. При характеристике поля порядка 160 двоичных разрядов (бит) стойкость составляет 1, 8 • 1011 операций до взлома.

Стойкость шифрования по системе Эль-Гамаля на эллиптических кривых основана на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой. В настоящее время наиболее быстрыми алгоритмами решения задачи дискретного логарифмирования в группе точек эллиптической кривой при правильном выборе парамет-

ров считаются г-метод и 1-метод Полларда [9]. Так, для улучшенного г-метода Полларда вычислительная сложность оценивается как . При характеристике поля порядка 160 бит стойкость составляет 1, 94 • 1026 операций до взлома.

Для обеспечения необходимого уровня стойкости построенного протокола должно выполняться ограничение па характеристику поля: она должна быть более 160 бит [2, 9]. Примечательно, что никаких других ограничений па параметры протокола не накладывается ввиду надежности применяемых методов и алгоритмов. Таким образом, криптографическая стойкость построенного протокола в худшем случае (при значении характеристики поля 160 бит) составляет 5 • 1051 операций до взлома. Для сравнения, стойкость самого близкого по применяемым идеям и алгоритмам криптографического протокола цифровой подписи, российского стандарта ГОСТ Р 34.10-2001, при использовании аналогичной характеристики поля (160 бит) составляет 1, 93 • 1035 операций до взлома. В настоящее время применяется схема ЭЦП ГОСТ Р 34.10-2001 с характеристикой поля 256 двоичных разрядов, ее стойкость составляет 3, 02 • 1038 операций до взлома [10]. График зависимости стойкости нашего протокола от нижней границы характеристики поля, начиная с 160 бит, приведен па рис. 2.

нижняя граница характеристики поля х 10

Рис. 2. Зависимость стойкости протокола цифровой подписи от нижней границы характеристики поля

Литература

1. The GNU Multiple Precision Arithmetic Library. - I RL: http://ginplib.org (дата обращения: 7.09.2013).

2. Черемупткитт, А.В. Криптографические протоколы: основные свойства и уязвимости / А.В. Черемупткитт. - М.: Академия, 2009.

3. Коблиц, Н. Курс теории чисел и криптографии / Н. Коблиц. - М.: ТВП, 2001.

4. Kelsey, ,J. Collisions and Near-Collisions for Reduced-Round Tiger, Proceedings of Fast.

Software Encryption / ,J. Kelsey, S. Lucks. - Graz: FSE, 2006.

5. Tiger: a Fast. New Cryptographic Hash Function (Designed in 1995). - I RL:

http://www.cs.technion.ac.il/ bihain/Report.s/Tiger (дата обращения: 7.09.2013).

6. Mendel, F. Cryptanalysis of the Tiger Hash Function / F. Mendel, V. Rijinen. - Springer Berlin; Heidelberg: ASIACRYPT, 2007.

7. AVIS PA - URL: http://www.avispa-project.org (дата обращения: 7.09.2013).

8. Алгоритмические основы эллиптической криптографии / А.А. Болотов, С.Б. Гаптков, А.Б. Фролов, А.А. Часовских. - М: МЭИ, 2000.

9. Ромапец, К).В. Защита информации в компьютерных системах pi сетях / К).В. Роматтец, П.А.Тимофеев, В.Ф. Шаньгип - М.: Радио pi связь, 2001.

10. Бондаренко, М.Ф. Сущность pi результаты Рісследоватшй свойств перспектрівтіьіх стандартов тціфровой подпрісрі Х9.62-1998 pi распределетшя ключей Х9.63-199Х па эллрштрт-чєскріх крртвых / М.Ф. Бондаренко, И.Д. Горбенко, Е.Г.Качко pi др. // Радрготехпріка. -2000. - № 114. - С. 15-24.

Сергей Геппадьевріч Чеканов, капдрідат фрізріко-математріческріх паук, доцент кафедры «Алгебра, геометрия и анализ:», Дальневосточный федеральный университет (г. Владивосток, Россрійская Федератція), stepltd@iriail.ru.

Bulletin of the South Ural State University. Series «Mathematical Modelling, Programming 8z Computer Software:»,

2013, vol. 6, no. 2, pp. 120-127.

MSC 11T71

Development, Implementation and Analysis of Cryptographic Protocol for Digital Signatures Based on Elliptic Curves

S. G. Chekanov, Far East Federal University, Vladivostok, Russian Federation, stepltd@mail.ru

Cryptographic primitives based on elliptic curves have become very popular recently. The main reason is that elliptic curves can build many examples of finite Abelian groups with good parameters suitable for cryptographic purposes. In addition, elliptical curves are easy to implement on a computer, and the cryptographic strength can be achieved by choosing the characteristics of the finite field. Software cryptographic protocol for digital signature based on elliptic curves is designed and implemented. The protocol encrypts messages, forming a digital signature, message transmission and decoding at the receiver. Resistant cryptographic protocol is analyzed by several methods. A diagram of dependence of cryptographic security of the protocol on finite field characteristic, over which the elliptic curve is built, is given in the paper. The program in C • • programming environment Visual C - - 2010 with the support of large numbers GMP library is written. The program allows you to encrypt and decrypt the messages according to the generated protocol. It is also the instrument for transmission and receiving the messages with high degree of cryptographic strength and at reasonable rate.

Keywords: cryptography, cryptographic protocols, elliptic curves, the cryptographic strength.

References

1. Cheremushkin A.V. Kriptograficheskie protokoly: osnovnye svoystva і uyazvirnosti

[Cryptographic Protocols: Basic Properties and Vulnerability]. Moscow, Akademiya, 2009.

2. Kobliz N. Kurs teorii chisel і kriptografii [The Course of Number Theory and Cryptography]. Moscow, TVP, 2001.

3. Kelsey J., Lucks S. Collisions and Near-Collisions for Reduced-Round Tiger, Proceedings of Fast Software Encryption. Graz, FSE, 2006.

4. Mendel F., Rijinen V. Cryptanalysis of the Tiger Hash Function. Heidelberg: ASIACRYPT, Springer Berlin, 2007.

5. Bolotov A.A., Gashkov S.B., Frolov A.B., Chasovskikh A.A. Algoritrnicheskie osnovy ellipticheskoy kriptografii [Algorithmic Foundations of Elliptic Cryptography]. Moscow, MEI, 2000.

6. Roinanets U.V., Nimofeev P.A., Shangin V.F. Zashchita inforrnatsii v komp'yuternykh sisternakh i setyakh [The Protection of Information in Computer Systems and Networks]. Moscow, Radio i Svyaz’, 2001.

7. Bondarenko M.F., Gorbenko I.D., Kachko E.G. Sushchnost’ i rezul’taty issledovaniy svoystv perspektivnykh standartov t.sifrovoy podpisi X9.62-1998 i raspredeleniya klyuchey X9.63-199X na ellipticheskikh krivykh [The Essence and Results of Research of the Properties of Perspective Digital Signature Standard X9.62-1998 and Key Distribution X9.63-199X on Elliptic Curves]. Radiotekhnika [Radiotechnique], 2000, no. 114, pp. 15-24.

Поступила в редакцию 7 сентября 2012 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.