Главная // Актуальные документы // ГОСТ (Государственный стандарт)СПРАВКА
Источник публикации
М.: Стандартинформ, 2018
Примечание к документу
Документ включен в
Перечень стандартов и рекомендаций в области информационной безопасности, применяемых в рамках реализации цифровой повестки Евразийского экономического союза (
Рекомендация Коллегии Евразийской экономической комиссии от 12.03.2019 N 9).
Текст данного документа приведен с учетом
поправки, опубликованной в "ИУС", N 1, 2021.
Документ
введен в действие с 1 июня 2019 года.
Название документа
"ГОСТ 34.10-2018. Межгосударственный стандарт. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи"
(введен в действие Приказом Росстандарта от 04.12.2018 N 1059-ст)
"ГОСТ 34.10-2018. Межгосударственный стандарт. Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи"
(введен в действие Приказом Росстандарта от 04.12.2018 N 1059-ст)
агентства по техническому
регулированию и метрологии
от 4 декабря 2018 г. N 1059-ст
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
ПРОЦЕССЫ ФОРМИРОВАНИЯ И ПРОВЕРКИ
ЭЛЕКТРОННОЙ ЦИФРОВОЙ ПОДПИСИ
Information technology. Cryptographic data security.
Signature and verification processes
of electronic digital signature
ГОСТ 34.10-2018
Дата введения
1 июня 2019 года
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в
ГОСТ 1.0-2015 "Межгосударственная система стандартизации. Основные положения" и
ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. N 54)
За принятие проголосовали:
Краткое наименование страны по МК (ИСО 3166) 004-97 | Код страны по МК (ИСО 3166) 004-97 | Сокращенное наименование национального органа по стандартизации |
Армения | AM | Минэкономики Республики Армения |
Киргизия | KG | Кыргызстандарт |
Россия | RU | Росстандарт |
Таджикистан | TJ | Таджикстандарт |
Туркмения | TM | Главгосслужба "Туркменстандартлары" |
4
Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. N 1059-ст межгосударственный стандарт ГОСТ 34.10-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.
6 ВВЕДЕН ВПЕРВЫЕ
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Настоящий стандарт содержит описание процессов формирования и проверки электронной цифровой подписи (ЭЦП), реализуемой с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Необходимость разработки настоящего стандарта вызвана потребностью в реализации электронной цифровой подписи разной степени стойкости в связи с повышением уровня развития вычислительной техники. Стойкость электронной цифровой подписи основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по
ГОСТ 34.11.
Настоящий стандарт разработан с учетом терминологии и концепций международного стандарта ИСО 2382
[1], а также международных стандартов серий ИСО/МЭК 9796
[2],
[3], ИСО/МЭК 14888
[4] -
[6] и ИСО/МЭК 10118
[7] -
[10].
Настоящий стандарт определяет схему электронной цифровой подписи (ЭЦП) (далее - цифровая подпись), процессы формирования и проверки цифровой подписи под заданным сообщением (документом), передаваемым по незащищенным телекоммуникационным каналам общего пользования в системах обработки информации различного назначения.
Внедрение цифровой подписи на основе настоящего стандарта повышает по сравнению с ранее действовавшей схемой цифровой подписи уровень защищенности передаваемых сообщений от подделок и искажений.
Настоящий стандарт рекомендуется применять при создании, эксплуатации и модернизации систем обработки информации различного назначения.
В настоящем стандарте использована нормативная ссылка на следующий межгосударственный стандарт:
ГОСТ 34.11-2018 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящим стандартом целесообразно проверить действие ссылочного стандарта в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю "Национальные стандарты", который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя "Национальные стандарты" за текущий год. Если ссылочный стандарт заменен (изменен), то при пользовании настоящим стандартом следует руководствоваться заменяющим (измененным) стандартом. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, применяется в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
3.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
3.1.1 дополнение (appendix): Строка бит, формируемая из цифровой подписи и произвольного текстового поля.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.2 ключ подписи (signature key): Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования цифровой подписи.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.3 ключ проверки подписи (verification key): Элемент данных, математически связанный с ключом подписи и используемый проверяющей стороной в процессе проверки цифровой подписи.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.4 параметр схемы ЭЦП (domain parameter): Элемент данных, общий для всех субъектов схемы цифровой подписи, известный или доступный всем этим субъектам.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.5 подписанное сообщение (signed message): Набор элементов данных, состоящий из сообщения и дополнения, являющегося частью сообщения.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.6 последовательность псевдослучайных чисел (pseudo-random number sequence): Последовательность чисел, полученная в результате выполнения некоторого арифметического (вычислительного) процесса, используемая в конкретном случае вместо последовательности случайных чисел.
Примечание - Адаптировано из ИСО 2382
[1].
3.1.7 последовательность случайных чисел (random number sequence): Последовательность чисел, каждое из которых не может быть предсказано (вычислено) только на основе знания предшествующих ему чисел данной последовательности.
Примечание - Адаптировано из ИСО 2382
[1].
3.1.8 процесс проверки подписи (verification process): Процесс, в качестве исходных данных которого используются подписанное сообщение, ключ проверки подписи и параметры схемы ЭЦП, результатом которого является заключение о правильности или ошибочности цифровой подписи.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.9 процесс формирования подписи (signature process): Процесс, в качестве исходных данных которого используются сообщение, ключ подписи и параметры схемы ЭЦП, а в результате формируется цифровая подпись.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.10 свидетельство (witness): Элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) подписи проверяющей стороне.
3.1.11 случайное число (random number): Число, выбранное из определенного набора чисел таким образом, что каждое число из данного набора может быть выбрано с одинаковой вероятностью.
Примечание - Адаптировано из ИСО 2382
[1].
3.1.12 сообщение (message): Строка бит произвольной конечной длины.
Примечание - Адаптировано из ИСО/МЭК 14888-1
[4].
3.1.13 хэш-код (hash-code): Строка бит, являющаяся выходным результатом хэш-функции.
Примечание - Адаптировано из ИСО/МЭК 10118-1
[7].
3.1.14 хэш-функция (collision-resistant hash-function): Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам:
1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение;
2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции;
3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение.
Примечания
1 Адаптировано из ИСО/МЭК 10118-1
[7].
2 Применительно к области электронной цифровой подписи свойство по
перечислению 1) подразумевает, что по известной электронной цифровой подписи невозможно восстановить исходное сообщение; свойство по
перечислению 2) подразумевает, что для заданного подписанного сообщения трудно подобрать другое (фальсифицированное) сообщение, имеющее ту же электронную цифровую подпись; свойство по
перечислению 3) подразумевает, что трудно подобрать какую-либо пару сообщений, имеющих одну и ту же подпись.
3 В настоящем стандарте в целях сохранения терминологической преемственности с нормативными документами, действующими на территории государства, принявшего настоящий стандарт, и опубликованными ранее на русском языке научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
3.1.15 [электронная цифровая] подпись (signature); ЭЦП: Строка бит, полученная в результате процесса формирования подписи.
Примечания
1 Адаптировано из ИСО/МЭК 14888-1
[4].
2 Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
3 В настоящем стандарте в целях сохранения терминологической преемственности с нормативными документами, действующими на территории государства, принявшего настоящий стандарт, и опубликованными ранее на русском языке научно-техническими изданиями установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
В настоящем стандарте применены следующие обозначения:
Vl - множество всех двоичных векторов длиной l бит;
V* - множество всех двоичных векторов произвольной конечной длины;
Z - множество всех целых чисел;
p - простое число, p > 3;
Fp - конечное простое поле, представляемое как множество из p целых чисел {0, 1, ..., p - 1};
b(mod p) - минимальное неотрицательное число, сравнимое с b по модулю p;
M - сообщение пользователя,

;

- конкатенация (объединение) двух двоичных векторов;
a, b - коэффициенты эллиптической кривой;
m - порядок группы точек эллиптической кривой;
q - порядок подгруппы группы точек эллиптической кривой;
O - нулевая точка эллиптической кривой;
P - точка эллиптической кривой порядка q;
d - целое число - ключ подписи;
Q - точка эллиптической кривой - ключ проверки подписи;

- цифровая подпись под сообщением
M.
Общепризнанная схема (модель) цифровой подписи
[4] охватывает следующие процессы:
- генерация ключей (подписи и проверки подписи);
- формирование подписи;
- проверка подписи.
В настоящем стандарте процесс генерации ключей (подписи и проверки подписи) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см.
раздел 6):
- формирование подписи (см.
6.2);
- проверка подписи (см.
6.3).
Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:
- осуществление контроля целостности передаваемого подписанного сообщения;
- доказательное подтверждение авторства лица, подписавшего сообщение;
- защита сообщения от возможной подделки.
Схематическое представление подписанного сообщения показано на рисунке 1.
Рисунок 1 - Схема подписанного сообщения
Поле "Текст", показанное на данном рисунке и дополняющее поле "Цифровая подпись", может, например, содержать идентификаторы субъекта, подписавшего сообщение, и/или метку времени.
Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции. Алгоритмы вычисления хэш-функции установлены в
ГОСТ 34.11.
Параметры схемы цифровой подписи, необходимые для ее формирования и проверки, определены в
5.3. В настоящем стандарте предусмотрена возможность выбора одного из двух вариантов требований к параметрам.
Настоящий стандарт не определяет процесс генерации параметров схемы цифровой подписи. Конкретный алгоритм (способ) реализации данного процесса определяется субъектами схемы цифровой подписи, исходя из требований к аппаратно-программным средствам, реализующим электронный документооборот.
Цифровая подпись, представленная в виде двоичного вектора длиной 512 или 1024 бита, должна вычисляться с помощью определенного набора правил, изложенных в
6.2.
Набор правил, позволяющих принять либо отвергнуть цифровую подпись под полученным сообщением, установлен в
6.3.
5.1 Общие положения математических объектов
Для определения схемы цифровой подписи необходимо описать базовые математические объекты, используемые в процессах ее формирования и проверки. В настоящем разделе установлены основные математические определения и требования, предъявляемые к параметрам схемы цифровой подписи.
5.2 Математические определения
Эллиптической кривой
E, определенной над конечным простым полем
Fp (где
p > 3 - простое число), называется множество пар чисел (
x,
y),

, удовлетворяющих тождеству

, (1)
где

и 4
a3 + 27
b2 не сравнимо с нулем по модулю
p.
Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая тождеству

. (2)
Коэффициенты a, b эллиптической кривой E по известному инварианту J(E) определяются следующим образом:

(3)
где

,
J(
E) /= 0
или 1728.
Пары (
x,
y), удовлетворяющие
тождеству (1), называются "точками эллиптической кривой
E";
x и
y - соответственно
x- и
y-"координатами точки".
Точка эллиптической кривой обозначается Q(x, y) или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие x- и y-координаты.
На множестве всех точек эллиптической кривой E введем операцию сложения, которую будем обозначать знаком "+". Для двух произвольных точек Q1(x1, y1) и Q2(x2, y2) эллиптической кривой E рассмотрим несколько случаев.
Для точек Q1 и Q2, координаты которых удовлетворяют условию x1 /= x2, их суммой называется точка Q3(x3, y3), координаты которой определяются сравнениями

(4)
где

.
Если выполнены равенства x1 = x2 и y1 = y2 /= 0, то координаты точки Q3 определяются следующим образом:

(5)
где

.
Если выполнены условия
x1 =
x2 и

, то сумма точек
Q1 и
Q2 называется нулевой точкой
O без определения ее
x- и
y-координат. В этом случае точка
Q2 называется отрицанием точки
Q1. Для нулевой точки
O выполнены равенства
Q + O = O + Q = Q, (6)
где Q - произвольная точка эллиптической кривой E.
Относительно введенной операции сложения множество всех точек эллиптической кривой E вместе с нулевой точкой образуют конечную абелеву (коммутативную) группу порядка m, для которого выполнено неравенство

. (7)
Точка Q называется "точкой кратности k" или просто "кратной точкой эллиптической кривой E", если для некоторой точки P выполнено равенство

. (8)
5.3 Параметры цифровой подписи
Параметрами схемы цифровой подписи являются:
- простое число p - модуль эллиптической кривой;
- эллиптическая кривая
E, задаваемая своим инвариантом
J(
E) или коэффициентами

;
- целое число m - порядок группы точек эллиптической кривой E;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:

(9)
- точка P /= O эллиптической кривой E с координатами (xp, yp), удовлетворяющая равенству qP = O;
- хэш-функция

, отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные векторы длины
l бит. Хэш-функция определена в
ГОСТ 34.11. Если 2
254 <
q < 2
256, то
l = 256. Если 2
508 <
q < 2
512, то
l = 512.
Каждый пользователь схемы цифровой подписи должен обладать личными ключами:
- ключом подписи - целым числом d, удовлетворяющим неравенству 0 < d < q;
- ключом проверки подписи - точкой эллиптической кривой Q с координатами (xq, yq), удовлетворяющей равенству dP = Q.
К приведенным выше параметрам схемы цифровой подписи предъявляют следующие требования:
- должно быть выполнено условие pt /= 1(mod q), для всех целых t = 1, 2, ... B, где B = 31, если 2254 < q < 2256, и B = 131, если 2508 < q < 2512;
- должно быть выполнено неравенство m /= p;
- инвариант кривой должен удовлетворять условию J(E) /= 0 и J(E) /= 1728.
Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длины l бит.
Рассмотрим следующий двоичный вектор длиной l бит, в котором младшие биты расположены справа, а старшие - слева:

, (10)
где

,
i = 0, ...,
l - 1 равно либо 1, либо 0.
Число

соответствует двоичному вектору

, если выполнено равенство

. (11)
Для двух двоичных векторов

(12)
соответствующих целым числам

и

, операция конкатенации (объединения) определяется следующим образом:

. (13)
Объединение представляет собой двоичный вектор длиной 2
l бит, составленный из коэффициентов векторов

и

.
Формулы (12) и
(13) определяют способ разбиения двоичного вектора

длиной 2
l бит на два двоичных вектора длиной
l бит, конкатенацией которых он является.
В настоящем разделе определены процессы формирования и проверки цифровой подписи под сообщением пользователя.
Для реализации данных процессов необходимо, чтобы всем пользователям были известны параметры схемы цифровой подписи, соответствующие требованиям
5.3.
Кроме того, каждый пользователь должен иметь ключ подписи
d и ключ проверки подписи
Q(
xq,
yq), которые также должны соответствовать требованиям
5.3.
6.2 Формирование цифровой подписи
Для получения цифровой подписи под сообщением

необходимо выполнить следующие действия (шаги) по алгоритму I:
Шаг 1 - вычислить хэш-код сообщения

. (14)
Шаг 2 - вычислить целое число

, двоичным представлением которого является вектор

, и определить

. (15)
Если e = 0, то определить e = 1.
Шаг 3 - сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству
0 < k < q. (16)
Шаг 4 - вычислить точку эллиптической кривой C = kP и определить

, (17)
где xc - x-координата точки C.
Если r = 0, то необходимо вернуться к шагу 3.
Шаг 5 - вычислить значение

. (18)
Если s = 0, то необходимо вернуться к шагу 3.
Шаг 6 - вычислить двоичные векторы

и

, соответствующие
r и
s, и определить цифровую подпись

как конкатенацию двух двоичных векторов.
Исходными данными этого процесса являются ключ подписи
d и подписываемое сообщение
M, а выходным результатом - цифровая подпись

.
Схема процесса формирования цифровой подписи приведена на рисунке 2.
Рисунок 2 - Схема процесса формирования цифровой подписи
6.3 Проверка цифровой подписи
Для проверки цифровой подписи

под полученным сообщением
M необходимо выполнить следующие действия (шаги) по алгоритму II:
Шаг 1 - по полученной подписи

вычислить целые числа
r и
s. Если выполнены неравенства 0 <
r <
q, 0 <
s <
q, то перейти к следующему шагу. В противном случае подпись неверна.
Шаг 2 - вычислить хэш-код полученного сообщения M

. (19)
Шаг 3 - вычислить целое число

, двоичным представлением которого является вектор

, и определить

. (20)
Если e = 0, то определить e = 1.
Шаг 4 - вычислить значение

. (21)
Шаг 5 - вычислить значения

. (22)
Шаг 6 - вычислить точку эллиптической кривой C = z1P + z2Q и определить

, (23)
где xc - x-координата точки C.
Шаг 7 - если выполнено равенство R = r, то подпись принимается, в противном случае - подпись неверна.
Исходными данными этого процесса являются подписанное сообщение
M, цифровая подпись

и ключ проверки подписи
Q, а выходным результатом - свидетельство о достоверности или ошибочности данной подписи.
Схема процесса проверки цифровой подписи приведена на рисунке 3.
Рисунок 3 - Схема процесса проверки цифровой подписи
(справочное)
КОНТРОЛЬНЫЕ ПРИМЕРЫ
Настоящее приложение носит справочный характер и не является частью нормативных положений настоящего стандарта.
Приводимые ниже значения параметров p, a, b, m, q, P, а также значения ключей подписи и проверки подписи d и Q рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящем стандарте.
Все числовые значения приведены в десятичной и шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления. Символ "\\" обозначает перенос числа на новую строку. Например, запись
12345\\
6789010,
499602D216
представляет целое число 1234567890 в десятичной и шестнадцатеричной системах счисления соответственно.
А.2.1 Параметры схемы цифровой подписи
А.2.1.1 Условие
Для формирования и проверки цифровой подписи должны быть использованы параметры, приведенные в
5.3.
А.2.1.2 Модуль эллиптической кривой
В настоящем примере параметру p присвоено следующее значение:
p = 57896044618658097711785492504343953926\\
63499233282028201972879200395656482104110,
p = 800000000000000000000000000000000
000000000000000000000000000043116.
А.2.1.3 Коэффициенты эллиптической кривой
В настоящем примере параметры a и b принимают следующие значения:
a = 710,
a = 716,
b = 43308876546767276905765904595650931995\\
94211179445103958325296884203384958041410,
b = 5FBFF498AA938CE739B8E022FBAFEF40563F
6E6A3472FC2A514C0CE9DAE23B7E16.
А.2.1.4 Порядок группы точек эллиптической кривой
В настоящем примере параметр m принимает следующее значение:
m = 5789604461865809771178549250434395392\\
708293458372545062238097359213763106961910,
m = 8000000000000000000000000000000150
FE8A1892976154C59CFC193ACCF5B316.
А.2.1.5 Порядок циклической подгруппы группы точек эллиптической кривой
В настоящем примере параметр q принимает следующее значение:
q = 5789604461865809771178549250434395392\\
708293458372545062238097359213763106961910,
q = 8000000000000000000000000000000150
FE8A1892976154C59CFC193ACCF5B316.
А.2.1.6 Коэффициенты точки эллиптической кривой
В настоящем примере координаты точки P принимают следующие значения:
xp = 210,
xp = 216,
yp = 40189740565390375033354494229370597\\
7563573938990554508069097936521343156628010,
yp = 8E2A8A0E65147D4BD6316030E16D19\\
C85C97F0A9CA267122B96ABBCEA7E8FC816.
А.2.1.7 Ключ подписи
В настоящем примере считается, что пользователь обладает следующим ключом подписи d:
d = 554411960653632461263556241303241831\\
9657670922234001657210809775000609752554410,
d = 7A929ADE789BB9BE10ED359DD39A72C\\
11B60961F49397EEE1D19CE9891EC3B2816.
А.2.1.8 Ключ проверки подписи
В настоящем примере считается, что пользователь обладает ключом проверки подписи Q, координаты которого имеют следующие значения:
xq = 57520216126176808443631405023338071\\
17663010490631363218289674134220660485940310,
xq = 7F2B49E270DB6D90D8595BEC458B5\\
0C58585BA1D4E9B788F6689DBD8E56FD80B16,
yq = 17614944419213781543809391949654080\\
03194266204536363926070984785943828676399410,
yq = 26F1B489D6701DD185C8413A977B3\\
CBBAF64D1C593D26627DFFB101A87FF77DA16.
А.2.2 Процесс формирования цифровой подписи (алгоритм I)
Пусть после выполнения шагов 1 - 3 по алгоритму I (см.
6.2) были получены следующие числовые значения:
e = 2079889367447645201713406156150827013\\
063714251537965328995261725266146887242110,
e = 2DFBC1B372D89A1188C09C52E0EE\\
C61FCE52032AB1022E8E67ECE6672B043EE516,
k = 538541376773484637314038411479966192\\
4150400343430202071296083852889319623339510,
k = 77105C9B20BCD3122823C8CF6FCC\\
7B956DE33814E95B7FE64FED924594DCEAB316.
При этом кратная точка C = kP имеет координаты:
xc = 297009809158179528743712049839382569\\
9042275210799431965163268798205921093339510,
xc = 41AA28D2F1AB148280CD9ED56FED\\
A41974053554A42767B83AD043FD39DC049316,
yc = 328425352786846634770946653225170845\\
0680472103245454326813285455653927406091010,
yc = 489C375A9941A3049E33B34361DD\\
204172AD98C3E5916DE27695D22A61FAE46E16.
Параметр

принимает значение:
r = 297009809158179528743712049839382569\\
9042275210799431965163268798205921093339510,
r = 41AA28D2F1AB148280CD9ED56FED\\
A41974053554A42767B83AD043FD39DC049316.
Параметр

принимает значение:
s = 57497340027008465417892531001914703\\
845522704264909856393371899917551583955210,
s = 1456C64BA4642A1653C235A98A60249
BCD6D3F746B631DF928014F6C5BF9C4016.
А.2.3 Процесс проверки цифровой подписи (алгоритм II)
Пусть после выполнения шагов 1 - 3 по алгоритму II (см.
6.3) были получены следующие числовые значения:
e = 2079889367447645201713406156150827013\\
063714251537965328995261725266146887242110,
e = 2DFBC1B372D89A1188C09C52E0EE\\
C61FCE52032AB1022E8E67ECE6672B043EE516.
При этом параметр

принимает значение:
v = 176866836059344686773017138249002685\\
6274688308067549671528803657243114571897810,
v = 271A4EE429F84EBC423E388964555BB\\
29D3BA53C7BF945E5FAC8F381706354C216.
Параметры

и

принимают значения:
z1 = 376991675009019385568410572935126561\\
0884134519049194261930453241274372099975910,
z1 = 5358F8FFB38F7C09ABC782A2DF2A\\
3927DA4077D07205F763682F3A76C9019B4F16,
Z2 = 141719984273434721125159179695007657\\
692466558389728621144999326533336710922110,
Z2 = 3221B4FBBF6D101074EC14AFAC2D4F7\\
EFAC4CF9FEC1ED11BAE336D27D52766516.
Точка C = z1P + z2Q имеет координаты:
xc = 2970098091581795287437120498393825699\\
042275210799431965163268798205921093339510,
xc = 41AA28D2F1AB148280CD9ED56FED\\
A41974053554A42767B83AD043FD39DC049316,
yc = 3284253527868466347709466532251708450\\
680472103245454326813285455653927406091010,
yc = 489C375A9941A3049E33B34361DD\\
204172AD98C3E5916DE27695D22A61FAE46E16.
Тогда параметр

принимает значение:
R = 2970098091581795287437120498393825699\\
042275210799431965163268798205921093339510,
R = 41AA28D2F1AB148280CD9ED56FED\\
A41974053554A42767B83AD043FD39DC049316.
Поскольку выполнено равенство R = r, то цифровая подпись принимается.
А.3.1 Параметры схемы цифровой подписи
А.3.1.1 Условие
Для формирования и проверки цифровой подписи должны быть использованы параметры, приведенные в
5.3.
А.3.1.2 Модуль эллиптической кривой
В настоящем примере параметру p присвоено следующее значение:
p = 36239861022290036359077887
536838743060213209255346786050\\
8654615045085616662400248258848202227149685402509082360305\\
873516373426382237196498722858290737240310,
p = 4531ACD1FE0023C7550D267B6B2FEE
80922B14B2FFB90F04D4EB7C09B5D2D15D\\
F1D852741AF4704A0458047E80E4546D35
B8336FAC224DD81664BBF528BE637316.
А.3.1.3 Коэффициенты эллиптической кривой
В настоящем примере параметры a и b принимают следующие значения:
a = 710,
a = 716,
b = 151865506921082853450895003
4714043154928747527740206436\\
1940188233528099824437937328297569
147859746748660416053978836775\\
9662632641399013695904743581182639610,
b = 1CFF0806A31116DA29D8CFA54E57EB748
BC5F377E49400FDD788B649ECA1AC4\\
361834013B2AD7322480A89CA58E0CF74BC9
E540C2ADD6897FAD0A3084F302ADC16.
А.3.1.4 Порядок группы точек эллиптической кривой
В настоящем примере параметр m принимает следующее значение:
m = 362398610222900363590778875368387
43060213209255346786050865461\\
50450856166623969164898305032863068
499961404079437936585455865192212\\
97073480881261812061974310,
m = 4531ACD1FE0023C7550D267B6B2FEE
80922B14B2FFB90F04D4EB7C09B5D2D15D\\
A82F2D7ECB1DBAC719905C5EECC423F1D86
E25EDBE23C595D644AAF187E6E6DF16.
А.3.1.5 Порядок циклической подгруппы группы точек эллиптической кривой
В настоящем примере параметр q принимает следующее значение:
q = 3623986102229003635907788753683874
3060213209255346786050865461\\
504508561666239691648983050328630684999
61404079437936585455865192212\\
97073480881261812061974310,
q = 4531ACD1FE0023C7550D267B6B2FEE80922
B14B2FFB90F04D4EB7C09B5D2D15D\\
A82F2D7ECB1DBAC719905C5EECC423F1D86E25
EDBE23C595D644AAF187E6E6DF16.
А.3.1.6 Коэффициенты точки эллиптической кривой
В настоящем примере координаты точки P принимают следующие значения:
xp = 192835694406702284939930940124313759899
77866354595079743570754913077665\\
9268583544106555768100318487481965800
490321233288425233583025072952763238\\
349357327410,
xp = 24D19CC64572EE30F396BF6EBBFD7A6
C5213B3B3D7057CC825F91093A68CD762\\
FD60611262CD838DC6B60AA7EEE804E28BC8
49977FAC33B4B530F1B120248A9A16,
yp = 228872869337197285997001215552
94784163535623273295061803\\
144974259311028603015728141419970722
717088070665938506503341523818\\
5734779888586480760509872401385410,
yp = 2BB312A43BD2CE6E0D020613C857ACDD
CFBF061E91E5F2C3F32447C259F39B2\\
C83AB156D77F1496BF7EB3351E1EE4E43DC1
A18B91B24640B6DBB92CB1ADD371E16.
А.3.1.7 Ключ подписи
В настоящем примере считается, что пользователь обладает следующим ключом подписи d:
d = 61008180413637309821953815323984
7583006845519069531562982388135\\
354890606301782255383608393423372379
05766552759511682730702504645883\\
744076612118046687586010,
d = BA6048AADAE241BA40936D47756D7C93091
A0E8514669700EE7508E508B102072\\
E8123B2200A0563322DAD2827E2714A2636B7
BFD18AADFC62967821FA18DD416.
А.3.1.8 Ключ проверки подписи
В настоящем примере считается, что пользователь обладает ключом проверки подписи Q, координаты которого имеют следующие значения:
xq = 90954685300253659655669076866983
03100069292725465562815963\\
729653703124985631823204368928700528
42808608262832456858223580\\
71378029071798685586343343115056110,
xq = 115DC5BC96760C7B48598D8AB9E740D4C
4A85A65BE33C1815B5C320C854621D\\
D5A515856D13314AF69BC5B924C8B4DDFF75
C45415C1D9DD9DD33612CD530EFE116,
yq = 2921457203374425620632449734248415
4556407008235594887051648958\\
37509539134297327397380287741428246088
626609329139441895016863758\\
98410632660057247682237207610,
yq = 37C7C90CD40B0F5621DC3AC1B751CFA0E
2634FA0503B3D52639F5D7FB72AFD6\\
1EA199441D943FFE7F0C70A2759A3CDB84C114
E1F9339FDF27F35ECA93677BEEC16.
А.3.2 Процесс формирования цифровой подписи (алгоритм I)
Пусть после выполнения шагов 1 - 3 по алгоритму I (см.
6.2) были получены следующие числовые значения:
e = 28979638816828685755628272785538
65049173745197871825199562947\\
419041388950970536661109553499954248
7330887197488445389646412816544\\
6351329697382770627204596410,
e = 3754F3CFACC9E0615C4F4A7C4D8DAB531
B09B6F9C170C533A71D147035B0C591\\
7184EE536593F4414339976C647C5D5A407
ADEDB1D560C4FC6777D2972075B8C16,
k = 175516356025850499540628279921125
2803334510317477377916502\\
0814424318205707503444610298675096250
89092272358661268724735168078105417\\
4752971030987995863294510,
k = 359E7F4B1410FEACC570456C68014969463
12120B39D019D455986E364F3\\
65886748ED7A44B3E794434006011842286212273
A6D14CF70EA3AF71BB1AE679F116.
При этом кратная точка C = kP имеет координаты:
xc = 248920447703134926507286464303214
77536674513192821314440274986373\\
57611092810221795101871412928823716805
9598287083302842436534530853\\
2200444244253415176146210,
xc = 2F86FA60A081091A23DD795E1E3C689EE
512A3C82EE0DCC2643C78EEA8FCAC\\
D35492558486B20F1C9EC197C90699850260C
93BCBCD9C5C3317E19344E173AE3616,
yc = 7701738899289918360478447987809604
4168206263187609613767394680150\\
244222935327651765284428378324569364226
62546513702148162933079517\\
0843005015210864150831010,
yc = EB488140F7E2F4E35CF220BDBC75AE44F26
F9C7DF52E82436BDE80A91831DA27\\
C8100DAA876F9ADC0D28A82DD3826D4DC7F92E
471DA23E55E0EBB3927C85BD616.
Параметр

принимает значение:
r = 2489204477031349265072864643032147
7536674513192821314440274986373\\
5761109281022179510187141292882371680
59598287083302842436534530853\\
2200444244253415176146210,
r = 2F86FA60A081091A23DD795E1E3C689
EE512A3C82EE0DCC2643C78EEA8FCAC\\
D35492558486B20F1C9EC197C90699850260
C93BCBCD9C5C3317E19344E173AE3616.
Параметр

принимает значение:
s = 86452322170766951903884929738293691
70750237358484315799195987\\
99313385180564748877195639672460179421
760770893278030956807690115\\
82270990385368283183515937010,
s = 1081B394696FFE8E6585E7A9362D26B6325
F56778AADBC081C0BFBE933D52FF58\\
23CE288E8C4F362526080DF7F70CE406A6EEB1
F56919CB92A9853BDE73E5B4A16.
А.3.3 Процесс проверки цифровой подписи (алгоритм II)
Пусть после выполнения шагов 1 - 3 по алгоритму II (см.
6.3) были получены следующие числовые значения:
e = 289796388168286857556282727855386
5049173745197871825199562947\\
419041388950970536661109553499954248
7330887197488445389646412816544\\
6351329697382770627204596410,
e = 3754F3CFACC9E0615C4F4A7C4D8DAB531
B09B6F9C170C533A71D147035B0C591\\
7184EE536593F4414339976C647C5D5A407
ADEDB1D560C4FC6777D2972075B8C16.
При этом параметр

принимает значение:
v = 255694215394605222266074084316408
615387769223440078319114692849\\
3561943457323447089240019252056982806
88153534004145821243990606136\\
707223818593481596025267110,
v = 30D212A9E25D1A80A0F238532CADF3E64
D7EF4E782B6AD140AAF8BBD9BB4729\\
84595EEC87B2F3448A1999D5F0A6DE0E14A55
AD875721EC8CFD504000B3A840FF16.
Параметры

и

принимают значения:
z1 = 32064708273367686296869071018
73475250343306448089030311214484\\
38587274320504518034520882655290100
3496732941049780357793541942055\\
60008495619817370719790257510,
z1 = 3D38E7262D69BB2AD24DD81EEA2
F92E6348D619FA45007B175837CF13B026079\\
051A48A1A379188F37BA46CE12F7207F2A8345459
FF960E1EBD5B4F2A34A6EEF16,
z2 = 13667709118340031081429778480
218475973204553475356412734827\\
3208204702834216800603126181427323
08792036907264486312226797437575\\
6163726695805680585960300820310,
z2 = 1A18A31602E6EAC0A9888C01941082AEFE296
F840453D2603414C2A16EB6FC529\\
D8D8372E50DC49D6C612CE1FF65BD58E1D2029
F22690438CC36A76DDA444ACB16.
Точка C = z1P + z2Q имеет координаты:
xc = 248920447703134926507286464303214
7753667451319282131444027498637\\
35761109281022179510187141292882371680
59598287083302842436534530853\\
2200444244253415176146210,
xc = 2F86FA60A081091A23DD795E1E3C689
EE512A3C82EE0DCC2643C78EEA8FCAC\\
D35492558486B20F1C9EC197C90699850260
C93BCBCD9C5C3317E19344E173AE3616,
yc = 7701738899289918360478447987809
604416820626318760961376739468015\\
024422293532765176528442837832456936422
6625465137021481629330795170\\
843005015210864150831010,
yc = EB488140F7E2F4E35CF220BDBC75AE44
F26F9C7DF52E82436BDE80A91831DA27\\
C8100DAA876F9ADC0D28A82DD3826D4DC7F92
E471DA23E55E0EBB3927C85BD616.
Тогда параметр

принимает значение:
R = 248920447703134926507286464303214
77536674513192821314440274986\\
3735761109281022179510187141292882371
6805959828708330284243653453085\\
32200444244253415176146210,
R = 2F86FA60A081091A23DD795E1E3C689
EE512A3C82EE0DCC2643C78EEA8FCAC\\
D35492558486B20F1C9EC197C90699850260
C93BCBCD9C5C3317E19344E173AE3616.
Поскольку выполнено равенство R = r, то цифровая подпись принимается.
Примечание - Оригиналы международных стандартов ИСО и ИСО/МЭК находятся в национальных (государственных) органах по стандартизации <*> государств, принявших настоящий стандарт.
--------------------------------
<*> В Российской Федерации оригиналы международных стандартов ИСО и ИСО/МЭК находятся в Федеральном информационном фонде стандартов.
| ИСО 2382:2015 (ISO 2382:2015) | Информационная технология. Словарь (Information technology - Vocabulary) |
| ИСО/МЭК 9796-2:2010 (ISO/IEC 9796-2:2010) | Информационные технологии. Методы обеспечения безопасности. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 2. Механизмы на основе целочисленной факторизации (Information technology - Security techniques - Digital signature schemes giving message recovery - Part 2: Integer factorization based mechanisms) |
| ИСО/МЭК 9796-3:2006 (ISO/IEC 9796-3:2006) | Информационные технологии. Методы обеспечения безопасности. Схемы цифровой подписи, обеспечивающие восстановление сообщений. Часть 3. Механизмы на основе дискретного логарифма (Information technology - Security techniques - Digital signature schemes giving message recovery - Part 3: Discrete logarithm based mechanisms) |
| ИСО/МЭК 14888-1:2008 (ISO/IEC 14888-1:2008) | Информационные технологии. Методы защиты. Цифровые подписи с приложением. Часть 1. Общие положения (Information technology - Security techniques - Digital signatures with appendix - Part 1: General) |
[5] | ИСО/МЭК 14888-2:2008 (ISO/IEC 14888-2:2008) | Информационная технология. Методы обеспечения защиты. Цифровые подписи с приложением. Часть 2. Механизмы, основанные на разложении на множители (Information technology - Security techniques - Digital signatures with appendix - Part 2: Integer factorization based mechanisms) |
| ИСО/МЭК 14888-3:2016 (ISO/IEC 14888-3:2016) | Информационная технология. Методы и средства обеспечения безопасности. Цифровые подписи с приложением. Часть 3. Механизмы на основе дискретного логарифма (Information technology - Security techniques - Digital signatures with appendix - Part 3: Discrete logarithm based mechanisms) |
| ИСО/МЭК 10118-1:2016 (ISO/IEC 10118-1:2016) | Информационная технология. Методы защиты информации. Хэш-функции. Часть 1. Общие положения (Information technology - Security techniques - Hash-functions - Part 1: General) |
[8] | ИСО/МЭК 10118-2:2010 (ISO/IEC 10118-2:2010) | Информационные технологии. Методы защиты информации. Хэш-функции. Часть 2. Хэш-функции с использованием алгоритма шифрования n-битными блоками (Information technology - Security techniques - Hash-functions - Part 2: Hash-functions using an n-bit block cipher) |
[9] | ИСО/МЭК 10118-3:2004 (ISO/IEC 10118-3:2004) | Информационные технологии. Методы защиты информации. Хэш-функции. Часть 3. Выделенные хэш-функции (Information technology - Security techniques - Hash-functions - Part 3: Dedicated hash-functions) |
| ИСО/МЭК 10118-4:1998 (ISO/IEC 10118-4:1998) | Информационные технологии. Методы защиты информации. Хэш-функции. Часть 4. Хэш-функции с применением арифметических операций над абсолютными значениями чисел (Information technology - Security techniques - Hash-functions - Part 4: Hash-functions using modular arithmetic) |