Interested Article - ГОСТ 34.10-2018
- 2021-04-24
- 1
ГОСТ 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-94 | 1 января 1995 года | ГОСТ Р 34.11-94 | Принят постановлением Госстандарта России № 154 от 23 мая 1994 года |
Межгосударственный | ГОСТ 34.310-95 | 16 апреля 1998 года | ГОСТ 34.311-95 | |
Национальный | ГОСТ Р 34.10-2001 | 1 июля 2002 года | ГОСТ Р 34.11-94 | Принят постановлением Госстандарта России № 380-ст от 12 сентября 2001 года |
Межгосударственный | ГОСТ 34.310-2004 | 2 марта 2004 года | ГОСТ 34.311-95 | Принят Евразийским советом по стандартизации, метрологии и сертификации по переписке (протокол № 16 от 2 марта 2004 года) |
Национальный | ГОСТ Р 34.10-2012 | 1 января 2013 года | ГОСТ Р 34.11-2012 | Утверждён и введен в действие приказом Федерального агентства по техническому регулированию и метрологии № 215-ст от 7 августа 2012 года в качестве национального стандарта Российской Федерации с 1 января 2013 года |
Межгосударственный | ГОСТ 34.10-2018 | 1 июня 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 гг)
Новый и старый ГОСТы цифровой подписи очень похожи друг на друга. Основное отличие — в старом стандарте часть операций проводится над полем , а в новом — над группой точек эллиптической кривой, поэтому требования, налагаемые на простое число в старом стандарте ( или ), более жёсткие, чем в новом.
Алгоритм формирования подписи отличается только в . В старом стандарте в этом пункте вычисляются и и, если , возвращаемся к пункту 3. Где и .
Алгоритм проверки подписи отличается только в . В старом стандарте в этом пункте вычисляется , где — открытый ключ для проверки подписи, . Если , подпись правильная, иначе неправильная. Здесь — простое число, и является делителем .
Использование математического аппарата группы точек эллиптической кривой позволяет существенно сократить порядок модуля без потери криптостойкости.
Также старый стандарт описывает механизмы получения чисел , и .
Возможные применения
- Использование пары ключей (открытый, закрытый) для установления ключа сессии.
- Использование в сертификатах открытых ключей.
- Использование в S/MIME ( PKCS #7 , Cryptographic Message Syntax ).
- Использование для защиты соединений в TLS ( SSL , HTTPS , WEB ).
- Использование для защиты сообщений в ( XML Encryption ).
- Защита целостности Интернет-адресов и имён ( DNSSEC ).
Примечания
- . bestpravo.ru. Дата обращения: 1 сентября 2019. Архивировано из 1 сентября 2019 года.
- ↑ Игоничкина Е. В. . Дата обращения: 16 ноября 2008. 15 января 2012 года.
- Семёнов Г. . « Открытые системы » № 7-8/2002 (8 августа 2002). Дата обращения: 16 ноября 2008. 31 декабря 2012 года.
- Бондаренко М. Ф., Горбенко И. Д., Качко Е. Г., Свинарев А. В., Григоренко Т. А. . Дата обращения: 16 ноября 2008. 22 февраля 2012 года.
- , глава 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
- — 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
- — 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)
- Leontiev, S., Ed. and G. Chudov, Ed. (англ.) (декабрь 2008). — Internet-Drafts, work in progress. Дата обращения: 12 июня 2009. 24 августа 2011 года.
- S. Leontiev, P. Smirnov, A. Chelpanov. (англ.) (декабрь 2008). — Internet-Drafts, work in progress. Дата обращения: 12 июня 2009. 24 августа 2011 года.
- V. Dolmatov, Ed. (англ.) (апрель 2009). — Internet-Drafts, work in progress. Дата обращения: 12 июня 2009. 22 февраля 2012 года.
Ссылки
- Текст стандарта «Информационная технология. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма»
- Текст стандарта «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»
- Текст стандарта «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»
- Текст стандарта «Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи»
- Программные реализации
- . — криптографический проект компании ООО «Криптоком» по добавлению российских криптографических алгоритмов в библиотеку OpenSSL .
- на сайте GitHub
- КриптоПро CSP — криптографический проект компании «Крипто-Про».
- . — криптографический проект компании ЗАО «Сигнал-КОМ».
- . — кроссплатформенная криптографическая библиотека компании ООО «ЛИССИ».
- . — программные комплексы, средства криптографической защиты информации компании ОАО «ИнфоТеКС» .
- на сайте GitHub
- Bouncy Castle
- Аппаратные реализации
- Рутокен ЭЦП 2.0
- JaCarta-2 ГОСТ
- . Архивировано из 15 июля 2017 года.
- . Архивировано из 27 декабря 2017 года.
- 2021-04-24
- 1