ГОСТ 34.10-2018 (полное название: «ГОСТ 34.10-2018. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи», англ. «Information technology. Cryptographic data security. Signature and verification processes of electronic digital signature») — действующий межгосударственный криптографический стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи, реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.

Стандарт разработан на основе национального стандарта Российской Федерации ГОСТ Р 34.10-2012 и введен в действие с 1 июня 2019 года приказом Росстандарта № 1059-ст от 4 декабря 2018 года.

Область применения Цифровая подпись позволяет: Аутентифицировать лицо, подписавшее сообщение; Контролировать целостность сообщения; Защищать сообщение от подделок;

История Первые версии алгоритма разрабатывались Главным управлением безопасности связи ФАПСИ при участии Всероссийского научно-исследовательского института стандартизации (ВНИИстандарт), позже разработка перешла в руки Центра защиты информации и специальной связи ФСБ России и АО «ИнфоТеКС».

Описание Криптографическая стойкость первых стандартов цифровой подписи ГОСТ Р 34.10-94 и ГОСТ 34.310-95 была основана на задаче дискретного логарифмирования в мультипликативной группе простого конечного поля большого порядка. Начиная с ГОСТ Р 34.10-2001 стойкость алгоритма основана на более сложной задаче вычисления дискретного логарифма в группе точек эллиптической кривой. Также стойкость алгоритма формирования цифровой подписи основана на стойкости соответствующей хеш-функции: +ТипНаименованиеВведен в действиеФункция хешированияПриказНациональныйГОСТ Р 34.10-941 января 1995 годаГОСТ Р 34.11-94Принят постановлением Госстандарта России № 154 от 23 мая 1994 годаМежгосударственныйГОСТ 34.310-9516 апреля 1998 годаГОСТ 34.311-95НациональныйГОСТ Р 34.10-20011 июля 2002 годаГОСТ Р 34.11-94Принят постановлением Госстандарта России № 380-ст от 12 сентября 2001 годаМежгосударственныйГОСТ 34.310-20042 марта 2004 годаГОСТ 34.311-95Принят Евразийским советом по стандартизации, метрологии и сертификации по переписке (протокол № 16 от 2 марта 2004 года)НациональныйГОСТ Р 34.10-20121 января 2013 годаГОСТ Р 34.11-2012Утверждён и введен в действие приказом Федерального агентства по техническому регулированию и метрологии № 215-ст от 7 августа 2012 года в качестве национального стандарта Российской Федерации с 1 января 2013 годаМежгосударственныйГОСТ 34.10-20181 июня 2019 годаГОСТ 34.11-2018Принят Межгосударственным советом по метрологии, стандартизации и сертификации (протокол № 54 от 29 ноября 2018 года). Приказом Федерального агентства по техническому регулированию и метрологии № 1059-ст от 4 декабря 2018 г. введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 года

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

После подписывания сообщения М к нему дописывается цифровая подпись размером 512 или 1024 бит, и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе: Сообщение М + Цифровая подпись Текст Дополнение

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

Алгоритм Приводится описание варианта схемы ЭЦП с длиной секретного ключа 256 бит. Для секретных ключей длиной 512 бит (второй вариант формирования ЭЦП, описанный в стандарте) все преобразования аналогичны.

Параметры схемы цифровой подписи простое число  — модуль эллиптической кривой такой, что эллиптическая кривая задаётся своим инвариантом или коэффициентами , где  — конечное поле из p элементов. связан с коэффициентами и следующим образом , причём . целое число  — порядок группы точек эллиптической кривой, должно быть отлично от простое число , порядок некоторой циклической подгруппы группы точек эллиптической кривой, то есть выполняется , для некоторого . Также лежит в пределах . точка эллиптической кривой , являющаяся генератором подгруппы порядка , то есть и для всех k = 1, 2, …, q-1, где  — нейтральный элемент группы точек эллиптической кривой E.  — хеш-функция (ГОСТ Р 34.11-2012), которая отображает сообщения M в двоичные векторы длины 256 бит.

Каждый пользователь цифровой подписи имеет личные ключи: ключ шифрования  — целое число, лежащее в пределах . ключ расшифрования , вычисляемый как .

Дополнительные требования: , , где и

Двоичные векторы Между двоичными векторами длины 256 и целыми числами ставится взаимно-однозначное соответствие по следующему правилу . Здесь либо равно 0, либо равно 1. Другими словами,  — это представление числа z в двоичной системе счисления.

Результатом операции конкатенации двух векторов и называется вектор длины 512 . Обратная операция — операция разбиения одного вектора длины 512 на два вектора длины 256.

Формирование цифровой подписи Блок-схемы:

Вычисление хеш-функции от сообщения М: Вычисление , и если , положить . Где  — целое число, соответствующее Генерация случайного числа такого, что Вычисление точки эллиптической кривой , и по ней нахождение где  — это координата точки Если , возвращаемся к предыдущему шагу. Нахождение . Если , возвращаемся к шагу 3. Формирование цифровой подписи , где и  — векторы, соответствующие и .

Проверка цифровой подписи Вычисление по цифровой подписи чисел и , учитывая, что , где и  — числа, соответствующие векторам и . Если хотя бы одно из неравенств и неверно, то подпись неправильная. Вычисление хеш-функции от сообщения М: Вычисление , и если , положить . Где  — целое число соответствующее Вычисление Вычисление и Вычисление точки эллиптической кривой . И определение , где  — координата точки В случае равенства подпись правильная, иначе — неправильная.

Криптостойкость Криптостойкость цифровой подписи опирается на две компоненты — на стойкость хеш-функции и на стойкость самого алгоритма шифрования.

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

Один из самых быстрых алгоритмов, на данный момент, при правильном выборе параметров — -метод и -метод Полларда.

Для оптимизированного -метода Полларда вычислительная сложность оценивается как . Таким образом для обеспечения криптостойкости операций необходимо использовать 256-разрядное .

Отличия от ГОСТ Р 34.10-94 (стандарт 1994—2001 гг) Новый и старый ГОСТы цифровой подписи очень похожи друг на друга. Основное отличие — в старом стандарте часть операций проводится над полем , а в новом — над группой точек эллиптической кривой, поэтому требования, налагаемые на простое число в старом стандарте ( или ), более жёсткие, чем в новом.

Алгоритм формирования подписи отличается только в пункте 4. В старом стандарте в этом пункте вычисляются и и, если , возвращаемся к пункту 3. Где и .

Алгоритм проверки подписи отличается только в пункте 6. В старом стандарте в этом пункте вычисляется , где  — открытый ключ для проверки подписи, . Если , подпись правильная, иначе неправильная. Здесь  — простое число, и является делителем .

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

Также старый стандарт описывает механизмы получения чисел , и .

Возможные применения Использование пары ключей (открытый, закрытый) для установления ключа сессии.RFC 4357, глава 5.2, «VKO GOST R 34.10-2001» — Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms Использование в сертификатах открытых ключей.RFC 4491 — Using the GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms with the Internet X.509 Public Key Infrastructure Использование в S/MIME (PKCS #7, Cryptographic Message Syntax).RFC 4490 — Using the GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic Message Syntax (CMS) Использование для защиты соединений в TLS (SSL, HTTPS, WEB). Использование для защиты сообщений в XML Signature (XML Encryption). Защита целостности Интернет-адресов и имён (DNSSEC).

Примечания

Ссылки Текст стандарта Текст стандарта Текст стандарта Текст стандарта

Программные реализации

КриптоПро CSP — криптографический проект компании «Крипто-Про».

Bouncy Castle

Аппаратные реализации Рутокен ЭЦП 2.0 JaCarta-2 ГОСТ

Категория:Стандарты криптографии Категория:ГОСТ Р Категория:ГОСТ Категория:Криптография Категория:Криптография с открытым ключом Категория:Электронная подпись Категория:Эллиптические кривые