ДСТУ 4145-2002
(полное название: «
ДСТУ 4145-2002. Информационные технологии. Криптографическая защита информации. Цифровая подпись, основанная на эллиптических кривых. Формирование и проверка
») —
украинский
стандарт, описывающий алгоритмы формирования и проверки
электронной цифровой подписи
, основанные на свойствах групп точек эллиптических кривых над полями
и правилах применения этих правил к сообщениям, которые пересылаются по каналами связи и/или обрабатываются в компьютеризованных системах общего назначения.
Принят и введён в действие приказом государственного комитета Украины по вопросам технического регулирования и потребительской политики от
28 декабря
2002 года
№ 31
. Текст стандарта есть в открытом доступе
.
коэффициенты
эллиптической кривой
вида
, где
. Рекомендованные для использования эллиптические кривые для полиномиального базиса и оптимального нормального базиса указаны в Приложении к стандарту
базовая точка эллиптической кривой
, порождающая
подгруппу
группы
длина цифровой подписи
, которая выбирается для группы пользователей:
Вычисление цифровой предподписи
Вычисление
состоит в выборе первой координаты секретной, случайно выбранной точки из орбиты точки
. После использования цифровой
её сразу уничтожают вместе с соответствующим рандомизатором.
проверка значения координаты
( если
, то повторить процедуру выбора рандомизатора)
иначе принять
. (иное обозначение:
)
Результат
цифровая
Алгоритм вычисления подписи
проверка корректности общих параметров, ключей, и выполнения условий и ограничений относительно значений промежуточных величин в соответствии с определенными стандартом процедурами
получение элемента основного поля
из
хеш-кода
по установленной стандартом процедуре. Если при этом получается
, то принимают
выбор рандомизатора
вычисление цифровой предподписи
вычисление элемента основного поля
(произведение является элементом
) (фактически,
)
получение целого числа
из элемента основного поля
по установленной стандартом процедуре (в случае
выбирается новый рандомизатор)
вычисление целого числа
(если
, выбирается новый рандомизатор)
на основе пары целых чисел
записывается цифровая подпись
как двоичный ряд длины
: в младших разрядах левой половины битов размещается значение
, в младших разрядах правой половины битов размещается значение
, оставшиеся разряды заполняются нулями
Результат
подписанное сообщение в виде (
,
,
), где
- цифровая подпись
проверка корректности общих параметров, ключей, и выполнения условий и ограничений относительно значений промежуточных величин в соответствии с определенными стандартом процедурами
проверка идентификатора
хеш-функции
: если данный идентификатор не используется в заданной группе пользователей, то принимается решение "подпись недействительна" и проверка завершается
проверка условий
. Если хотя бы одно из них не выполняется, то принимается решение "подпись недействительна" и проверка завершается
проверка наличия текста сообщения и его длины
. В случае отсутствия текста либо при
принимается решение "подпись недействительна" и проверка завершается