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

Кутузов Александр Викторович1, Романюк Олег Викторович2
1Академия ФСО России, кандидат педагогических наук
2Академия ФСО России, кандидат технических наук

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

Ключевые слова: ,


Рубрика: 05.00.00 ТЕХНИЧЕСКИЕ НАУКИ

Библиографическая ссылка на статью:
Кутузов А.В., Романюк О.В. Сравнительный анализ отечественных криптографических стандартов, определяющих процедуры выработки и проверки электронной цифровой подписи // Современные научные исследования и инновации. 2018. № 4 [Электронный ресурс]. URL: https://web.snauka.ru/issues/2018/04/86291 (дата обращения: 29.03.2024).

В век развития информационных технологий бумажный документооборот постепенно вытесняется электронным, а документы подписываются не в ручную, а с помощью цифровых подписей. Цифровая подпись – это реквизит электронного сообщения, полученный в результате криптографического преобразования информации с использованием секретного ключа подписи, позволяющий установить отсутствие искажения информации в сообщении с момента формирования подписи и проверить принадлежность подписи владельцу ключа подписи [1]. При этом недобросовестный получатель не в состоянии сформировать ложное сообщение и утверждать, что оно получено от корреспондента-отправителя. Отправитель сообщения не в состоянии впоследствии отказаться от авторства подписанного им документа.
Цифровая подпись базируется на обратном использовании ключей, то есть отправитель зашифровывает информацию с помощью личного (закрытого) ключа, а получатель расшифровывает сообщение с помощью общественного (открытого) ключа, который известен всем. 
В 1990-х годах произошел стремительный рост глобальной сети Интернет и массового распространения электронной торговли, а также, появление электронной коммерции, где в качестве ресурса выступают деньги на банковском счету владельца. Стало важно обеспечить безопасность работы в этих сферах. Вследствие этого, в 1994 году в России был принят первый стандарт электронной цифровой подписи – ГОСТ Р 34.10–94 «Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма» [1]. Криптографическая защита данных реализована по ГОСТ Р 34.11­­–94, стандарт который определяет алгоритм вычисления значения хэш-функции сообщения длиной 256 бит. Стойкость схемы подписи определяется сложностью решения задачи дискретного логарифмирования в простом поле.
К концу XX века с бурным развитием вычислительной мощности техники, а также достижениями в области науки, проблему дискретного логарифмирования в простом поле нельзя было считать прочной базой криптографического алгоритма. Это стало одной из причин замены ГОСТ Р 34.10–94 на совершенно новые стандарты 2001 и 2012 года, которые построены на базе математического аппарата эллиптических кривых.
Эллиптической кривой Е, определенной над конечным полем GF(p), называется множество пар чисел (x, y)xy  GF(p), удовлетворяющих тождеству: 

,         (1)

где ab  GF(p) и  [4].
Основное достоинство использования эллиптических кривых в криптосистеме заключается в том, что по сравнению с другими они обеспечивают существенно более высокую стойкость к атакам противника. Это объясняется тем, что для обычных криптосистем предложены субэкспоненциальные методы решения задач дискретного логарифмирования, тогда как для вычисления обратных функций на эллиптических кривых в настоящее время известны только алгоритмы с экспоненциальным ростом трудоемкости. Поэтому эти криптографические системы обеспечивают более простую как аппаратную, так и программную реализацию. 
В криптографии на эллиптических кривых, в отличие от дискретного логарифмирования в простом поле, группа чисел по модулю простого числа заменяется группой решений уравнения следующего вида [4]:

.           (2)

Стандарт по ГОСТ Р 34.10–2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи» обладает стойкостью, основыванной на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11–94 [2].

В общем виде схема подписания сообщения показана на рисунке 1. К подписанному сообщению M добавляется цифровая подпись и текстовое поле.

Рисунок 1 – Схематическое представление подписанного сообщения.

В данном случае длина хэш–функции, как и в ГОСТ 34.10–94 равна 256 бит.
Стандарт ГОСТ Р 34.10-2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи» использует тот же алгоритм формирования и проверки подписи, описанный в стандарте ГОСТ Р 34.10–2001 [3]. В нем используется новый стандарт определяющий алгоритм и процедуру вычисления хеш-функции ГОСТ Р 34.11–2012, который делает возможным выбор длины хэш-значения – 256 бит, как и в предыдущем ГОСТе, или 512 бит. 
Рассмотрим этот стандарт подробнее. Параметрами схемы цифровой подписи являются:
– модуль эллиптической кривой – p, который является простым числом и удовлетворяет неравенству p > 2255;
– задаваемая своим инвариантом J(E) или коэффициентами a, b  F(p) эллиптическая кривая E,;
m – целое число, которое определяет порядок группы точек эллиптической кривой Е;
q – простое число, которое определяет порядок циклической подгруппы группы точек эллиптической кривой; для него должны быть выполнены следующие условия:

          (3)

– не нулевая точка P эллиптической кривой Е с координатами (xp, yp), удовлетворяющая равенству

q ∙ P = 0;          (4)

– хэш-функция, которая отображает представленные в виде двоичных векторов произвольной конечной длины сообщения в двоичные векторы длиной либо 256 бит, либо 512 бит.
К приведенным параметрам схемы цифровой подписи помимо этого предъявляются определенные требования: 
pt ≠ 1 (mod q) для всех целых = 1, 2, … B, где

B = 31 при           (5)
или
В = 131 при ;           (6)

m ≠ p;
– инвариант эллиптической кривой J(E) должен удовлетворять следующему условию J(E) ≠ 0,1728.
Для вычисления цифровой подписи сообщения необходимо, чтобы всем пользователям были заранее доведены представленные выше параметры схемы цифровой подписи, которые должны удовлетворять приведенным требованиям. Также у каждого пользователя должен быть ключ для подписи и ключ для проверки подписи Q(xq, yq). Эти ключи также должны соответствовать требованиям. 
Рассмотрим процесс формирования цифровой подписи, который происходит по следующему алгоритму: 
 вычисляется хэш-код подписываемого сообщения Mh(M);
 вычисляется целое число a, двоичным представлением которого является вектор хэш-кода (h(M) → a), и определяется

e ≡ (mod q).          (7)

При этом, если е = 0, то его значение необходимо заменить на е = 1;
 генерируется k – случайное целое число, которое удовлетворяет следующему неравенству 0 < k < q;
– вычисляется точка на эллиптической кривой 

C = k  P          (8)

и определяется 

r ≡ xС (mod q),          (9)

где xС это x-координата точки С. Если r = 0, то необходимо вернуться к шагу № 3;
 вычисляется значение

s ≡ (r  d + k  e) (mod q).          (10)

При этом, если s = 0, то необходимо вернуться к шагу № 3;
 вычисляются значения двоичных векторов  и , которые соответствуют параметрам r и s, и определяется значение цифровой подписи как результат конкатенации двух двоичных векторов.
В данном случае в качестве исходных данных используются: ключ подписи d и подписываемое сообщение M, а результатом является цифровая подпись ξ.
При проверке цифровой подписи ξ полученного сообщениея М выполняются следующие действия:
 на основе цифровой подписи ξ вычисляются целые числа r и s.
При этом, если выполняются неравенства 0 < r < q, 0 < s < q, то необходимо перейти к следующему шагу. В противоположном случае подпись считается неверной;
 вычисляется хэш-код принятого сообщения Мh(M);
 вычисляется целое число a, двоичным представлением которого является вектор хэш-кода (h(M) → a), и определяется параметр 

e  a mod q.          (11)

При этом, если e = 0, то необходимо присвоить значение e = 1;
 вычисляется значение 

v  e–1 (mod q);          (12)

 вычисляются значения 

z1 ≡ s  ν (mod q),          (13)
z2 ≡ –r  ν (mod q);          (14)

 определяется точка эллиптической кривой 

C = z1  z2  Q          (15)

и определяется параметр 

R  xC (mod q),          (16)

где xС – это х-координата точки С;
 если выполняется равенство R = r, то подпись сообщения принимается за правильную, а в противоположном случае подпись считается неверной. 
В качестве исходных данных этого алгоритма используются: исходное подписываемое сообщение М, цифровая подпись ξ и ключ для проверки Q, а выходным результатом является свидетельство о достоверности или ошибочности данной подписи [4].
Сравнительная таблица, описывающая основные различия в рассмотренных отечественных ГОСТах представлена ниже.

Таблица 1
ГОСТ
Хэш-функция
Размер хэш-кода
Математический аппарат
ГОСТ Р 34.10–94
ГОСТ Р 34.11–94
256 бит
Конечное поле целых чисел
ГОСТ Р 34.10–2001
ГОСТ Р 34.11–94
256 бит
Эллиптическая кривая
ГОСТ Р 34.10–2012
ГОСТ Р 34.11–2012
256 бит или 512 бит
Эллиптическая кривая

В заключении можно сделать следующих выводы о надежности алгоритмов электронной цифровой подписи в отечественных ГОСТах:
– переход от ГОСТ Р 34.10-94 к ГОСТ Р 34.10–2001 существенно повысил криптостойкость всего алгоритма. Но уровень защищенности хэш-функции не изменился, так как оба ГОСТа используют функцию хэширования, описанную в ГОСТ Р 34.11–94. 
– переход от ГОСТ Р 34.10–2001 к ГОСТ Р 34.10–2012 повысил устойчивость хэш-функции к коллизиям. Новый стандарт ГОСТ Р 34.11–2012 позволяет использовать длину хэша в 512 бит, что значительно повышает уровень защищенности хэш-функции;
– стандарты ГОСТ Р 34.10–2001 и ГОСТ Р 34.10–2012 позволяют использовать меньшую длину ключа, по сравнению со стандартом ГОСТ Р 34.10–94 без потери криптостойкости;
С созданием каждого из ГОСТов криптостойкость подписи увеличивалась. Современный стандарт ГОСТ Р 34.10–2012 соответствует всем требованиям защиты на сегодняшний день. Однако не стоит забывать, что стойкость цифровой подписи станет значительно меньше при появлении квантовых компьютеров. Поэтому необходимо вести разработку алгоритмов, не зависящих от квантовых вычислений.


Библиографический список
  1. ГОСТ Р 34.10–94 «Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма»
  2. ГОСТ Р 34.10–2001 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»
  3. ГОСТ Р 34.10–2012 «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»
  4. Коблиц Н. Введение в эллиптические кривые и модулярные формы  – Новокузнецк: ИО НФМИ, 2000. – 312 с.


Количество просмотров публикации: Please wait

Все статьи автора «Кутузов Александр Викторович»


© Если вы обнаружили нарушение авторских или смежных прав, пожалуйста, незамедлительно сообщите нам об этом по электронной почте или через форму обратной связи.

Связь с автором (комментарии/рецензии к статье)

Оставить комментарий

Вы должны авторизоваться, чтобы оставить комментарий.

Если Вы еще не зарегистрированы на сайте, то Вам необходимо зарегистрироваться:
  • Регистрация