3.1.2.
3.1.3.
3.1.4.
3.1.5.
3.1.6.
3.1.7.
3.1.8.
3.1.9.
3.1.10. Свидетельство (witness): элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) подписи проверяющей стороне.
3.1.11.
3.1.12.
3.1.13.
3.1.14.
Примечания
1. Применительно к области электронной цифровой подписи свойство по перечислению 1) подразумевает, что по известной электронной цифровой подписи невозможно восстановить исходное сообщение; свойство по перечислению 2) подразумевает, что для заданного подписанного сообщения трудно подобрать другое (фальсифицированное) сообщение, имеющее ту же электронную цифровую подпись; свойство по перечислению 3) подразумевает, что трудно подобрать какую-либо пару сообщений, имеющих одну и ту же подпись.
2. В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "хэш-функция", "криптографическая хэш-функция", "функция хэширования" и "криптографическая функция хэширования" являются синонимами.
3.1.15.
Примечания
1. Строка бит, являющаяся подписью, может иметь внутреннюю структуру, зависящую от конкретного механизма формирования подписи.
2. В настоящем стандарте в целях сохранения терминологической преемственности с действующими отечественными нормативными документами и опубликованными научно-техническими изданиями установлено, что термины "электронная подпись", "цифровая подпись" и "электронная цифровая подпись" являются синонимами.
3.2. Обозначения
В настоящем стандарте применены следующие обозначения:
Общепризнанная схема (модель) цифровой подписи (см. ИСО/МЭК 14888-1 [4]) охватывает следующие процессы:
- генерация ключей (подписи и проверки подписи);
- формирование подписи;
- проверка подписи.
В настоящем стандарте процесс генерации ключей (подписи и проверки подписи) не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Механизм цифровой подписи определяется посредством реализации двух основных процессов (см. раздел 6):
- формирование подписи (см. 6.1);
- проверка подписи (см. 6.2).
Цифровая подпись предназначена для аутентификации лица, подписавшего электронное сообщение. Кроме того, использование ЭЦП предоставляет возможность обеспечить следующие свойства при передаче в системе подписанного сообщения:
- осуществление контроля целостности передаваемого подписанного сообщения;
- доказательное подтверждение авторства лица, подписавшего сообщение;
- защита сообщения от возможной подделки.
Схематическое представление подписанного сообщения показано на рисунке 1.
![]() Рисунок 1. Схема подписанного сообщения
Поле "Текст", показанное на данном рисунке и дополняющее поле "Цифровая подпись", может, например, содержать идентификаторы субъекта, подписавшего сообщение, и/или метку времени.
Установленная в настоящем стандарте схема цифровой подписи должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы цифровой подписи основывается на сложности решения задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции. Алгоритмы вычисления хэш-функции установлены в ГОСТ Р 34.11-2012.
Параметры схемы цифровой подписи, необходимые для ее формирования и проверки, определены в 5.2. В настоящем стандарте предусмотрена возможность выбора одного из двух вариантов требований к параметрам.
Настоящий стандарт не определяет процесс генерации параметров схемы цифровой подписи. Конкретный алгоритм (способ) реализации данного процесса определяется субъектами схемы цифровой подписи исходя из требований к аппаратно-программным средствам, реализующим электронный документооборот.
Цифровая подпись, представленная в виде двоичного вектора длиной 512 или 1024 бита, должна вычисляться с помощью определенного набора правил, изложенных в 6.1.
Набор правил, позволяющих принять либо отвергнуть цифровую подпись под полученным сообщением, установлен в 6.2.
Для определения схемы цифровой подписи необходимо описать базовые математические объекты, используемые в процессах ее формирования и проверки. В данном разделе установлены основные математические определения и требования, предъявляемые к параметрам схемы цифровой подписи.
5.1. Математические определения
Эллиптической кривой E, определенной над конечным простым полем
, удовлетворяющих уравнению![]() где
и не сравнимо с нулем по модулю p.Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая уравнению
![]() Пары (x, y), где x, y - элементы поля
Точка эллиптической кривой обозначается Q (x, y) или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие x- и y-координаты.
На множестве точек эллиптической кривой E определена операция сложения, обозначаемая знаком "+". Для двух произвольных точек
и эллиптической кривой E рассматривают несколько случаев.Для точек
, координаты которой определяются сравнениями![]() где
.Если выполнены равенства
, то координаты точки ![]() где
.Если выполнены условия
, то сумма точек Q + O = O + Q = Q, (5)
где Q - произвольная точка эллиптической кривой E.
Относительно введенной операции сложения множество точек эллиптической кривой E вместе с нулевой точкой образуют конечную абелеву (коммутативную) группу порядка m, для которого выполнено неравенство
![]() Точка Q называется "точкой кратности k" или просто "кратной точкой эллиптической кривой E", если для некоторой точки P выполнено равенство
![]() Параметрами схемы цифровой подписи являются:
- простое число p - модуль эллиптической кривой;
- эллиптическая кривая E, задаваемая коэффициентами
;- целое число m - порядок группы точек эллиптической кривой E;
- простое число q - порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:
![]() - точка
, удовлетворяющая равенству qP = O;- хэш-функция
, отображающая сообщения, представленные в виде двоичных векторов произвольной конечной длины, в двоичные векторы длины l бит. Хэш-функция определена в ГОСТ Р 34.11-2012. Если , то l = 256. Если , то l = 512.Каждый пользователь схемы цифровой подписи должен обладать личными ключами:
- ключом подписи - целым числом d, удовлетворяющим неравенству 0 < d < q;
- ключом проверки подписи - точкой эллиптической кривой Q с координатами
, удовлетворяющей равенству dP = Q.К приведенным выше параметрам схемы цифровой подписи предъявляют следующие требования:
- должно быть выполнено условие
для всех целых t = 1, 2, ... B, где B = 31, если , и B = 131, если ;- должно быть выполнено неравенство
- инвариант кривой должен удовлетворять условиям:
и .5.3. Двоичные векторы
Для определения процессов формирования и проверки цифровой подписи необходимо установить соответствие между целыми числами и двоичными векторами длины l бит.
Рассмотрим следующий двоичный вектор длиной l бит, в котором младшие биты расположены справа, а старшие - слева:
, ![]() где
Число
![]() Для двух двоичных векторов
![]() соответствующих целым числам
![]() Объединение представляет собой двоичный вектор длиной 2l бит, составленный из компонент-векторов
Формулы (11) и (12) определяют способ разбиения двоичного вектора
В данном разделе определены процессы формирования и проверки цифровой подписи под сообщением пользователя.
Для реализации данных процессов необходимо, чтобы всем пользователям были известны параметры схемы цифровой подписи, соответствующие требованиям 5.2.
Кроме того, каждый пользователь должен иметь ключ подписи d и ключ проверки подписи
, которые также должны соответствовать требованиям 5.2.Для получения цифровой подписи под сообщением
необходимо выполнить следующие действия (шаги) по алгоритму I:Шаг 1 - вычислить хэш-код сообщения M:
![]() Шаг 2 - вычислить целое число
![]() Если e = 0, то определить e = 1.
Шаг 3 - сгенерировать случайное (псевдослучайное) целое число k, удовлетворяющее неравенству
0 < k < q. (15)
Шаг 4 - вычислить точку эллиптической кривой C = kP и определить
![]() где
Если r = 0, то вернуться к шагу 3.
Шаг 5 - вычислить значение
s = (rd + ke)(mod q). (17)
Если s = 0, то вернуться к шагу 3.
Шаг 6 - вычислить двоичные векторы
как конкатенацию двух двоичных векторов.Исходными данными этого процесса являются ключ подписи d и подписываемое сообщение M, а выходным результатом - цифровая подпись
Схема процесса формирования цифровой подписи приведена на рисунке 2.
![]() Для проверки цифровой подписи
Шаг 1 - по полученной подписи
Шаг 2 - вычислить хэш-код полученного сообщения M:
![]() Шаг 3 - вычислить целое число
![]() Если e = 0, то определить e = 1.
Шаг 4 - вычислить значение
![]() Шаг 5 - вычислить значения
, ![]() Шаг 6 - вычислить точку эллиптической кривой
и определить![]() где
Шаг 7 - если выполнено равенство R = r, то подпись принимается, в противном случае - подпись неверна.
Исходными данными этого процесса являются подписанное сообщение M, цифровая подпись
Схема процесса проверки цифровой подписи приведена на рисунке 3.
![]() (справочное)
КОНТРОЛЬНЫЕ ПРИМЕРЫ
Приводимые ниже значения параметров p, a, b, m, q, P, а также значения ключей подписи и проверки подписи d и Q рекомендуется использовать только для проверки корректной работы конкретной реализации алгоритмов, описанных в настоящем стандарте.
Все числовые значения приведены в десятичной и шестнадцатеричной записи. Нижний индекс в записи числа обозначает основание системы счисления. Символ "\\" обозначает перенос числа на новую строку. Например, запись
12345\\
![]() ![]() представляет целое число 1234567890 в десятичной и шестнадцатеричной системах счисления соответственно.
А.1. Пример 1
А.1.1. Параметры схемы цифровой подписи
Для формирования и проверки цифровой подписи должны быть использованы следующие параметры (см. 5.2).
А.1.1.1. Модуль эллиптической кривой
В данном примере параметру p присвоено следующее значение:
![]() ![]() А.1.1.2. Коэффициенты эллиптической кривой
В данном примере параметры a и b принимают следующие значения:
![]() ![]() ![]() ![]() А.1.1.3. Порядок группы точек эллиптической кривой
В данном примере параметр m принимает следующее значение:
![]() ![]() А.1.1.4. Порядок циклической подгруппы группы точек эллиптической кривой
В данном примере параметр q принимает следующее значение:
![]() ![]() А.1.1.5. Коэффициенты точки эллиптической кривой
В данном примере координаты точки P принимают следующие значения:
![]() ![]() ![]() ![]() А.1.1.6. Ключ подписи
В данном примере считается, что пользователь обладает следующим ключом подписи d.
![]() ![]() А.1.1.7. Ключ проверки подписи
В данном примере считается, что пользователь обладает ключом проверки подписи Q, координаты которого имеют следующие значения:
![]() ![]() ![]() ![]() А.1.2. Процесс формирования цифровой подписи (алгоритм I)
Пусть после выполнения шагов 1 - 3 по алгоритму I (см. 6.1) были получены следующие числовые значения:
![]() ![]() ![]() ![]() При этом кратная точка C = kP имеет координаты:
![]() ![]() ![]() ![]() Параметр
принимает значение:![]() ![]() Параметр s = (rd + ke)(mod q) принимает значение:
![]() ![]() А.1.3. Процесс проверки цифровой подписи (алгоритм II)
Пусть после выполнения шагов 1 - 3 по алгоритму II (см. 6.2) были получены следующие числовые значения:
![]() ![]() При этом параметр
принимает значение:![]() ![]() Параметры
и принимают значения:![]() ![]() ![]() ![]() Точка
имеет координаты:![]() ![]() ![]() ![]() Тогда параметр
принимает значение:![]() ![]() Поскольку выполнено равенство R = r, то цифровая подпись принимается.
А.2. Пример 2
А.2.1. Параметры схемы цифровой подписи
Для формирования и проверки цифровой подписи должны быть использованы следующие параметры (см. 5.2).
А.2.1.1. Модуль эллиптической кривой
В данном примере параметру p присвоено следующее значение:
![]() ![]() А.2.1.2. Коэффициенты эллиптической кривой
В данном примере параметры a и b принимают следующие значения:
![]() ![]() ![]() ![]() А.2.1.3. Порядок группы точек эллиптической кривой
В данном примере параметр m принимает следующее значение:
![]() ![]() А.2.1.4. Порядок циклической подгруппы группы точек эллиптической кривой
В данном примере параметр q принимает следующее значение:
![]() ![]() А.2.1.5. Коэффициенты точки эллиптической кривой
В данном примере координаты точки P принимают следующие значения:
![]() ![]() ![]() ![]() А.2.1.6. Ключ подписи
В данном примере считается, что пользователь обладает следующим ключом подписи d:
![]() ![]() А.2.1.7. Ключ проверки подписи
В данном примере считается, что пользователь обладает ключом проверки подписи Q, координаты которого имеют следующие значения:
![]() ![]() ![]() ![]() А.2.2. Процесс формирования цифровой подписи (алгоритм I)
Пусть после выполнения шагов 1 - 3 по алгоритму I (см. 6.1) были получены следующие числовые значения:
![]() ![]() ![]() ![]() При этом кратная точка C = kP имеет координаты:
![]() ![]() ![]() ![]() Параметр
принимает значение:![]() ![]() Параметр s = (rd + ke)(mod q) принимает значение:
![]() ![]() А.2.3. Процесс проверки цифровой подписи (алгоритм II)
Пусть после выполнения шагов 1 - 3 по алгоритму II (см. 6.2) было получено следующее числовое значение:
![]() ![]() При этом параметр
принимает значение:![]() ![]() Параметры
и принимают значения:![]() ![]() ![]() ![]() Точка
имеет координаты:![]() ![]() ![]() ![]() Тогда параметр
принимает значение:![]() ![]() Поскольку выполнено равенство R = r, то цифровая подпись принимается.
--------------------------------
<*> Оригиналы международных стандартов ИСО/МЭК находятся в ФГУП "Стандартинформ" Федерального агентства по техническому регулированию и метрологии.
Часть 2. Арифметические и логические
операции
(ISO 2382-2:1976) (Data processing - Vocabulary - Part 2:
Arithmetic and logic operations)
обеспечения безопасности. Схемы цифровой
подписи, обеспечивающие восстановление
сообщений. Часть 2. Механизмы на основе
целочисленной факторизации
(ISO/IEC 9796-2:2010) (Information technology - Security
techniques - Digital signature schemes
giving message recovery - Part 2:
Integer factorization based mechanisms)
обеспечения безопасности. Схемы цифровой
подписи, обеспечивающие восстановление
сообщений. Часть 3. Механизмы на основе
дискретного логарифма
(ISO/IEC 9796-3:2006) (Information technology - Security
techniques - Digital signature schemes
giving message recovery - Part 3:
Discrete logarithm based mechanisms)
защиты. Цифровые подписи с приложением.
Часть 1. Общие положения
(ISO/IEC 14888-1:2008) (Information technology - Security
techniques - Digital signatures with
appendix - Part 1: General)
[5] ИСО/МЭК 14888-2:2008 Информационные технологии. Методы
защиты. Цифровые подписи с приложением.
Часть 2. Механизмы, основанные
на разложении на множители
(ISO/IEC 14888-2:2008) (Information technology - Security
techniques - Digital signatures with
appendix - Part 2: Integer factorization
based mechanisms)
[6] ИСО/МЭК 14888-3:2006 Информационные технологии. Методы
защиты. Цифровые подписи с приложением.
Часть 3. Механизмы на основе дискретного
логарифма
(ISO/IEC 14888-3:2006) (Information technology - Security
techniques - Digital signatures with
appendix - Part 3: Discrete logarithm
based mechanisms)
1:2010 защиты. Цифровые подписи с приложением.
Часть 3. Механизмы на основе дискретного
логарифма. Изменение 1. Алгоритм русской
цифровой подписи эллиптической кривой,
алгоритм цифровой подписи Шнора,
алгоритм цифровой подписи Шнора для
эллиптической кривой и полный алгоритм
цифровой подписи Шнора для эллиптической
кривой
(ISO/IEC 14888-3:2006/Amd (Information technology - Security
1:2010) techniques - Digital signatures with
appendix - Part 3: Discrete logarithm
based mechanisms. Ammendment 1. Elliptic
Curve Russian Digital Signature
Algorithm, Schnorr Digital Signature
Algorithm, Elliptic Curve Schnorr
Digital Signature Algorithm, and
Elliptic Curve Full Schnorr Digital
Signature Algorithm)
информации. Хэш-функции. Часть 1. Общие
положения
(ISO/IEC 10118-1:2000) (Information technology - Security
techniques - Hash-functions - Part 1:
General)
[9] ИСО/МЭК 10118-2:2010 Информационные технологии. Методы защиты
информации. Хэш-функции. Часть 2.
Хэш-функции с использованием алгоритма
шифрования n-битными блоками
(ISO/IEC 10118-2:2010) (Information technology - Security
techniques - Hash-functions - Part 2:
Hash-functions using an n-bit block
cipher)
[10] ИСО/МЭК 10118-3:2004 Информационные технологии. Методы защиты
информации. Хэш-функции. Часть 3.
Выделенные хэш-функции
(ISO/IEC 10118-3:2004) (Information technology - Security
techniques - Hash-functions - Part 3:
Dedicated hash-functions)
информации. Хэш-функции. Часть 4.
Хэш-функции с применением арифметики в
остаточных классах
(ISO/IEC 10118-4:1998) (Information technology - Security
techniques - Hash-functions - Part 4:
Hash-functions using modular arithmetic)
Вернуться в "Каталог нормативных документов"
Источник информации: https://internet-law.ru/documents/prod/gost-r_gosudarstvennyj-standart/40/gost_97187.html
На правах рекламы:
|