- ГОСТ Р 34.10-2001
-
ГОСТ Р 34.10-2001 (полное название: «ГОСТ Р 34.10-2001. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи») — российский стандарт, описывающий алгоритмы формирования и проверки электронной цифровой подписи. Принят и введён в действие Постановлением Госстандарта России от 12 сентября 2001 года вместо ГОСТ Р 34.10-94.
Содержание
Область применения
Цифровая подпись позволяет:
- Аутентифицировать лицо, подписавшее сообщение;
- Контролировать целостность сообщения;
- Защищать сообщение от подделок;
- Доказать авторство лица, подписавшего сообщение.
История
Данный алгоритм разработан главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации при участии Всероссийского научно-исследовательского института стандартизации. Разрабатывался взамен ГОСТ Р 34.10-94 для обеспечения большей стойкости алгоритма.
Описание
ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94.
После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:
Сообщение М + Цифровая подпись Текст Дополнение Данный алгоритм не описывает механизм генерации параметров, необходимых для формирования подписи, а только определяет, каким образом на основании таких параметров получить цифровую подпись. Механизм генерации параметров определяется на месте в зависимости от разрабатываемой системы.
Алгоритм
Параметры схемы цифровой подписи
- простое число — модуль эллиптической кривой такой, что
- эллиптическая кривая задаётся своим инвариантом или коэффициентами , где — конечное поле из p элементов. связан с коэффициентами и следующим образом
- , причём .
- целое число — порядок группы точек эллиптической кривой, должно быть отлично от
- простое число , порядок некоторой циклической подгруппы группы точек эллиптической кривой, то есть выполняется , для некоторого . Так же лежит в пределах .
- точка эллиптической кривой , являющаяся генератором подгруппы порядка , то есть и для всех k = 1, 2, …, q-1, где — нейтральный элемент группы точек эллиптической кривой E.
- — хэш-функция (ГОСТ Р 34.11-94), которая отображает сообщения M в двоичные векторы длины 256 бит.
Каждый пользователь цифровой подписи имеет личные ключи:
- ключ шифрования — целое число, лежащее в пределах .
- ключ расшифрования , вычисляемый как .
Дополнительные требования:
- , , где
- и
Двоичные векторы
Между двоичными векторами длины 256 и целыми числами ставится взаимно-однозначное соответствие по следующему правилу . Здесь либо равно 0, либо равно 1. Другими словами, — это двоичное представление числа z.
Результатом операции конкатенации двух векторов и называется вектор длины 512 . Обратная операция — операция разбиения одного вектора длины 512 на два вектора длины 256.
Формирование цифровой подписи
- Вычисление хэш-функции от сообщения М:
- Вычисление , и если , положить . Где — целое число, соответствующее
- Генерация случайного числа такого, что
- Вычисление точки эллиптической кривой , и по ней нахождение где — это координата точки Если , возвращаемся к предыдущему шагу.
- Нахождение . Если , возвращаемся к шагу 3.
- Формирование цифровой подписи , где и — векторы, соответствующие и .
Проверка цифровой подписи
- Вычисление по цифровой подписи чисел и , учитывая, что , где и — числа, соответствующие векторам и . Если хотя бы одно из неравенств и неверно, то подпись неправильная.
- Вычисление хэш-функции от сообщения М:
- Вычисление , и если , положить . Где — целое число соответствующее
- Вычисление
- Вычисление и
- Вычисление точки эллиптической кривой . И определение , где — координата кривой
- В случае равенства подпись правильная, иначе — неправильная.
Криптостойкость
Криптостойкость цифровой подписи опирается на две компоненты — на стойкость хэш-функции и на стойкость самого алгоритма шифрования.[1]
Вероятность взлома хэш-функции по ГОСТ 34.11-94 составляет при подборе коллизии на фиксированное сообщение и при подборе любой коллизии.[1] Стойкость алгоритма шифрования основывается на дискретном логарифмировании в группе точек эллиптической кривой. На данный момент нет метода решения данной задачи хотя бы с субэкспоненциальной сложностью.[2]
Одни из самых быстрых алгоритмов, на данный момент, при правильном выборе параметров — -метод и -метод Полларда.[3]
Для оптимизированного -метода Полларда вычислительная сложность оценивается как . Таким образом для обеспечения криптостойкости операций необходимо использовать 256-разрядное .[1]
Отличия от ГОСТ 34.10-94 (старый стандарт)
Новый и старый ГОСТы цифровой подписи очень похожи друг на друга. Основное отличие — в старом стандарте часть операций проводится над полем , а в новом — над группой точек эллиптической кривой, поэтому требования налагаемые на простое число в старом стандарте( или ) более жёсткие, чем в новом.
Алгоритм формирования подписи отличается только в пункте 4. В старом стандарте в этом пункте вычисляются и и, если , возвращаемся к пункту 3. Где и .
Алгоритм проверки подписи отличается только в пункте 6. В старом стандарте в этом пункте вычисляется , где — открытый ключ для проверки подписи, . Если , подпись правильная, иначе неправильная. Здесь — простое число, и является делителем .
Использование математического аппарата группы точек эллиптической кривой, позволяет существенно сократить порядок модуля , без потери криптостойкости.[1]
Также старый стандарт описывает механизмы получения чисел , и .
Возможные применения
- Использование пары ключей (открытый, закрытый) для установления ключа сессии.[4]
- Использование в сертификатах открытых ключей.[5]
- Использование в S/MIME (PKCS#7, Cryptographic Message Syntax).[6]
- Использование для защиты соединений в TLS (SSL, HTTPS, WEB).[7]
- Использование для защиты сообщений в XML Signature (XML Encryption).[8]
- Защита целостности Интернет адресов и имён (DNSSEC).[9]
Примечания
- ↑ 1 2 3 4 Игоничкина Е. В. Анализ алгоритмов электронной цифровой подписи. Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- ↑ Семёнов Г. Цифровая подпись. Эллиптические кривые. «Открытые системы» № 7-8/2002 (8 августа 2002). Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- ↑ Бондаренко М. Ф., Горбенко И. Д., Качко Е. Г., Свинарев А. В., Григоренко Т. А. Сущность и результаты исследований свойств перспективных стандартов цифровой подписи X9.62-1998 и распределения ключей X9.63-199X на эллиптических кривых. Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- ↑ 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
- ↑ 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)
- ↑ Leontiev, S., Ed. and G. Chudov, Ed. GOST 28147-89 Cipher Suites for Transport Layer Security (TLS) (англ.) (декабрь 2008). — Internet-Drafts, work in progress. Архивировано из первоисточника 24 августа 2011. Проверено 12 июня 2009.
- ↑ S. Leontiev, P. Smirnov, A. Chelpanov. Using GOST 28147-89, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms for XML Security (англ.) (декабрь 2008). — Internet-Drafts, work in progress. Архивировано из первоисточника 24 августа 2011. Проверено 12 июня 2009.
- ↑ V. Dolmatov, Ed. Use of GOST signature algorithms in DNSKEY and RRSIG Resource Records for DNSSEC (англ.) (апрель 2009). — Internet-Drafts, work in progress. Архивировано из первоисточника 22 февраля 2012. Проверено 12 июня 2009.
Ссылки
- ГОСТ Р 34.10-2001. Информационные технологии. Криптографическая защита информации. Процессы формирования и проверки цифровой подписи. (2001). Архивировано из первоисточника 22 февраля 2012. Проверено 11 августа 2009.
- ГОСТ Р 34.10-94. Информационные технологии. Криптографическая защита информации. Процедуры выработки и проверки электронной цифровой подписи на базе асимметричного криптографического алгоритма. (1995). Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- Программные реализации
- Верба-W, Верба-OW. — криптографические проекты компании ЗАО «МО ПНИЭИ». Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- ГОСТы для OpenSSL. — криптографический проект компании ООО «Криптоком» по добавлению российских криптографических алгоритмов в библиотеку OpenSSL. Архивировано из первоисточника 24 августа 2011. Проверено 16 ноября 2008.
- КриптоПро CSP. — криптографический проект компании «Крипто-Про». Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- Крипто-КОМ. — криптографический проект компании ЗАО «Сигнал-КОМ». Архивировано из первоисточника 22 февраля 2012. Проверено 16 ноября 2008.
- LISSICryptoLib. — кроссплатформенная криптографическая библиотека компании ООО «ЛИССИ». Архивировано из первоисточника 19 мая 2012. Проверено 16 ноября 2008.
- Крипто-Си. — программная библиотека защиты информации компании ООО «КриптоЭкс».(недоступная ссылка — история) Проверено 16 ноября 2008.
- Домен-КС2, Домен-КМ. — программные комплексы, средства криптографической защиты информации компании ОАО «ИнфоТеКС». Архивировано из первоисточника 22 февраля 2012. Проверено 03 мая 2009.
- GOST 2.0. Архивировано из первоисточника 22 февраля 2012. Проверено 13 мая 2009.
- Аппаратные реализации
- Шипка. — программно-аппаратный криптографический комплекс компании ОКБ САПР.(недоступная ссылка — история) Проверено 16 ноября 2008.
Криптосистемы с открытым ключом RSA • DSA • DSS • NTRUEncrypt • Эль-Гамаля • Меркля — Хеллмана • Шнорра • Эллиптические • ГОСТ Р 34.10-2001 • ДСТУ 4145-2002
Категории:- Стандарты криптографии
- ГОСТ
Wikimedia Foundation. 2010.