- ГОСТ Р 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.