ГОСТ Р 34.10-2001
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Процессы формирования и проверки электронной цифровой подписи
Information technology. Cryptographic data security.
Formation and verification processes of [electronic] digital signature
ОКС 35.040
ОКСТУ 5001
Дата введения 2002-07-01
Предисловие
1 РАЗРАБОТАН Главным управлением безопасности связи Федерального агентства правительственной связи и информации при Президенте Российской Федерации с участием Всероссийского научно-исследовательского института стандартизации (ВНИИстандарт)
ВНЕСЕН Федеральным агентством правительственной связи и информации при Президенте Российской Федерации
2 ПРИНЯТ И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 12 сентября 2001 г. N 380-ст
3 Настоящий стандарт разработан с учетом терминологии и концепций международных стандартов ИСО 2382-2-76 "Обработка данных. Словарь. Часть 2. Арифметические и логические операции", ИСО/МЭК 9796-91 "Информационная технология. Методы защиты. Схема цифровой подписи с восстановлением сообщения", серии ИСО/МЭК 14888 "Информационная технология. Методы защиты. Цифровые подписи с приложением" и серии ИСО/МЭК 10118 "Информационная технология. Методы защиты. Хэш-функции"
4 ВЗАМЕН ГОСТ Р 34.10-94
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем.
Стандарт разработан взамен ГОСТ Р 34.10-94. Необходимость разработки настоящего стандарта вызвана потребностью в повышении стойкости ЭЦП к несанкционированным изменениям. Стойкость ЭЦП основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11.
Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО 2382-2 [1], ИСО/МЭК 9796 [2], серии ИСО/МЭК 14888 [3] - [5] и серии ИСО/МЭК 10118 [6] - [9].
Примечание - Основная часть стандарта дополнена тремя приложениями:
- А - дополнительные термины в области ЭЦП;
- Б - описание контрольного примера;
- В - перечень публикаций (библиография) в области ЭЦП.
Настоящий стандарт определяет схему электронной цифровой подписи (ЭЦП) (далее по тексту - цифровая подпись), процессы формирования и проверки цифровой подписи под заданным сообщением (документом), передаваемым по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения.
Внедрение цифровой подписи на базе настоящего стандарта повышает, по сравнению с действующей схемой цифровой подписи, уровень защищенности передаваемых сообщений от подделок и искажений.
Стандарт рекомендуется использовать в новых системах обработки информации различного назначения, а также при модернизации действующих систем.
В настоящем стандарте использована ссылка на следующий стандарт:
ГОСТ Р 34.11-94 Информационная технология. Криптографическая защита информации. Функции хэширования
3.1 Определения
В настоящем стандарте использованы следующие термины:
3.1.1 дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля (ИСО/МЭК 148881-1 [3]).
3.1.2 ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи (ИСО/МЭК 14888-1 [3]).
3.1.3 ключ проверки (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи (ИСО/МЭК 14888-1 [3]).
3.1.4 параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам (ИСО/МЭК 14888-1 [3]).
3.1.5 подписанное сообщение (signed message): Набор элементов данных, состоящий из сообщения и дополнения, являющегося частью сообщения.
3.1.6 последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел (ИСО 2382-2 [1]).
3.1.7 последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности (ИСО 2382-2 [1]).
3.1.8 процесс проверки подписи (verification process): Процесс, в качестве исходных данных которого используются подписанное сообщение, ключ проверки и параметры схемы ЭЦП и результатом которого является заключение о правильности или ошибочности цифровой подписи (ИСО/МЭК 14888-1 [3]).
3.1.9 процесс формирования подписи (signature process): Процесс, в качестве исходных данных которого используются сообщение, ключ подписи и параметры схемы ЭЦП, а в результате формируется цифровая подпись (ИСО/МЭК 14888-1 [3]).
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) подписи проверяющей стороне (ИСО/МЭК 14888-1 [3]).
3.1.11 случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число изданного набора может быть выбрано с одинаковой вероятностью (ИСО 2382-2 [1]).
3.1.12 сообщение (message): Строка бит ограниченной длины (ИСО/МЭК 9796 [2]).
3.1.13 хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции (ИСО/МЭК 148881-1 [3]).
3.1.14 хэш-функция (hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображенные в это значение;
2) для заданных исходных данных трудно найти другие исходные данные, отображаемые с тем же результатом;
3) трудно найти какую-либо пару исходных данных с одинаковым значением хэш-функции.
Примечание - Применительно к области ЭЦП свойство 1 подразумевает, что по известной ЭЦП невозможно восстановить исходное сообщение; свойство 2 подразумевает, что для заданного подписанного сообщения трудно подобрать другое (фальсифицированное) сообщение, имеющее ту же ЭЦП, свойство 3 подразумевает, что трудно подобрать какую-либо пару сообщений, имеющих одну и ту же подпись.
3.1.15 [электронная] цифровая подпись (digital signature): Строка бит, полученная в результате процесса формирования подписи. Данная строка имеет внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
Примечание - В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями, установлено, что термины "цифровая подпись" и "электронная цифровая подпись (ЭЦП)" являются синонимами.
3.2 Обозначения
В настоящем стандарте использованы следующие обозначения:
- множество всех двоичных векторов длиной 256 бит;
- множество всех двоичных векторов произвольной конечной длины;
Z - множество всех целых чисел;
- простое число, >3;
- конечное простое поле, представляемое как множество из целых чисел {0, 1, ... , -1};
- минимальное не отрицательное число, сравнимое с по модулю ;
- сообщение пользователя, ;
- конкатенация (объединение) двух двоичных векторов;
, - коэффициенты эллиптической кривой;
- порядок группы точек эллиптической кривой;
- порядок подгруппы группы точек эллиптической кривой;
- нулевая точка эллиптической кривой;
- точка эллиптической кривой порядка ;
- целое число - ключ подписи;
- точка эллиптической кривой - ключ проверки;
- цифровая подпись под сообщением .
Общепризнанная схема (модель) цифровой подписи (см. 6 ИСО/МЭК 14888-1 [3]) охватывает три процесса:
- генерация ключей (подписи и проверки);
- формирование подписи;
- проверка подписи.
В настоящем стандарте процесс генерации ключей (подписи и проверки) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:
- осуществить контроль целостности передаваемого подписанного сообщения,