Р 1323565.1.062-2025. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Схема формирования и проверки кода проверки
Актуально на 01.11.2026.
Как цитировать: "Р 1323565.1.062-2025. Рекомендации по стандартизации. Информационная технология. Криптографическая защита информации. Схема формирования и проверки кода проверки". Р 1323565.1.062-2025. https://bukva.ai/docs/shema-r-1323565-1-062-2025
(утв. и введены в действие Приказом Росстандарта от 09.07.2025 № 725-ст)
Примечание
Документ введен в действие с 01.09.2025.
Утверждены и введены в действие Приказом Федерального агентства по техническому регулированию и метрологии от 9 июля 2025 г. № 725-ст
РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
СХЕМА ФОРМИРОВАНИЯ И ПРОВЕРКИ КОДА ПРОВЕРКИ
Дата введения 1 сентября 2025 года
Предисловие
1 РАЗРАБОТАНЫ Центром защиты информации и специальной связи ФСБ России
2 ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»
3 УТВЕРЖДЕНЫ И ВВЕДЕНЫ В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 9 июля 2025 г. № 725-ст
Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации». Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соответствующая информация, уведомления и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.rst.gov.ru)
Введение
Настоящие рекомендации содержат описание схемы формирования и проверки кода проверки, длина которого при аналогичном уровне стойкости меньше длины кода проверки, который может быть сформирован в соответствии со схемой электронной цифровой подписи, определенной в ГОСТ 34.10. Указанная схема реализуется с использованием операций в группе точек эллиптической кривой, определенной над конечным простым полем.
Описываемая схема формирования и проверки кода проверки представляет собой модифицированный вариант схемы электронной цифровой подписи, предложенной К.П. Шнорром в [1].
Необходимость разработки настоящих рекомендаций вызвана потребностью в определении криптографического преобразования, позволяющего выявить фальсификацию кода идентификации при проверке кода проверки, сформированного с использованием кода идентификации. Криптографическая стойкость предлагаемой схемы основывается на предположении о вычислительной трудности задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции, определенной в ГОСТ 34.11.
1 Область применения
Настоящие рекомендации определяют криптографическое преобразование формирования кода проверки из кода идентификации, позволяющее выявить фальсификацию кода идентификации при проверке кода проверки.
2 Нормативные ссылки
В настоящих рекомендациях использованы нормативные ссылки на следующие стандарты:
ГОСТ 34.10 Информационная технология. Криптографическая защита информации. Процессы формирования и проверки электронной цифровой подписи
ГОСТ 34.11 Информационная технология. Криптографическая защита информации. Функция хэширования
Примечание - При пользовании настоящими рекомендациями целесообразно проверить действие ссылочных стандартов в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет или по ежегодному информационному указателю «Национальные стандарты», который опубликован по состоянию на 1 января текущего года, и по выпускам ежемесячного информационного указателя «Национальные стандарты» за текущий год. Если заменен ссылочный стандарт, на который дана недатированная ссылка, то рекомендуется использовать действующую версию этого стандарта с учетом всех внесенных в данную версию изменений. Если заменен ссылочный стандарт, на который дана датированная ссылка, то рекомендуется использовать версию этого стандарта с указанным выше годом утверждения (принятия). Если после утверждения настоящих рекомендаций в ссылочный документ, на который дана датированная ссылка, внесено изменение, затрагивающее положение, на которое дана ссылка, то это положение рекомендуется применять без учета данного изменения. Если ссылочный стандарт отменен без замены, то положение, в котором дана ссылка на него, рекомендуется применять в части, не затрагивающей эту ссылку.
3 Термины, определения и обозначения
В настоящих рекомендациях применены следующие термины с соответствующими определениями.
3.1 Термины и определения
3.1.1 ключ формирования кода проверки: Элемент секретных данных, специфичный для субъекта и используемый только данным субъектом в процессе формирования кода проверки.
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 свидетельство: Элемент данных, представляющий соответствующее доказательство достоверности (недостоверности) кода проверки проверяющей стороне.
3.1.11 случайное число: Случайная величина, имеющая равновероятное распределение на заданном конечном алфавите.
| хэш-код: Строка бит, являющаяся выходным результатом хэш-функции. [ГОСТ 34.11-2018, пункт 3.1.5] |
|---|
| хэш-функция: Функция, отображающая строки бит в строки бит фиксированной длины и удовлетворяющая следующим свойствам: 1) по данному значению функции сложно вычислить исходные данные, отображаемые в это значение; 2) для заданных исходных данных сложно вычислить другие исходные данные, отображаемые в то же значение функции; 3) сложно вычислить какую-либо пару исходных данных, отображаемых в одно и то же значение. [ГОСТ 34.11-2018, пункт 3.1.6] |
|---|
3.2 Обозначения
В настоящих рекомендациях применены следующие обозначения:
Fp — конечное простое поле, представленное как множество из p целых чисел {0, 1, ... , p — 1};
V* — множество всех двоичных векторов-строк конечной размерности (далее — строки), включая пустую строку;
Vn — множество всех двоичных строк размерности n, где n — неотрицательное целое число;
N_{0} — множество всех неотрицательных целых чисел;
|\overline{h}| — число компонент (длина) строки \overline{h} \in V^{*} (если \overline{h} — пустая строка, то |\overline{h}| = 0 );
\overline{h_{1}}||\overline{h_{2}} — конкатенация строк \overline{h_{1}} , \overline{h_{2}} \in V^{*} , т.е. строка из V_{|h_{1}| + |h_{2}|} , в которой подстрока с большими номерами компонент из V_{|h_{1}|} совпадает со строкой \overline{h_{1}} , а подстрока с меньшими номерами компонент из V_{|h_{2}|} совпадает со строкой \overline{h_{2}} ;
b(mod p) — минимальное неотрицательное число, сравнимое с b по модулю p;
I2BSl: N_{0} \rightarrow V_{l} — биективное отображение, ставящее в соответствие целому числу \alpha \in N_{0} , двоичная длина которого равна l0, l0 <= l, его двоичное представление:
-
если l0 = l и \alpha = \sum_{i = 0}^{l - 1} \alpha_{i}2^{i} , где {}_{\alpha_{i} \in}{_{0,1}} , i = 0, ... , l — 1, то \overline{h} = (\alpha_{l - 1},...,\alpha_{0}) , \overline{h} \in V_{l} ;
-
если l0 < l и \alpha = \sum_{i = 0}^{l_{0} - 1} \alpha_{i}2^{i} , где {}_{\alpha_{i} \in}{_{0,1}} , i = 0, ... , l0 — 1, то \overline{h} = 0^{l - l_{0}}||(\alpha_{l_{0} - 1},...,\alpha_{0}) , \overline{h} \in V_{i} , 0^{l - l_{0}} — строка, состоящая из l — l0 нулей;
BS2Il: V_{l} \rightarrow N_{0} — отображение, обратное отображению I2BSl, т.е. BS2I_{l} = I2BS_{l}^{- 1} ;
MSBl: {}^{V^{*}\} \cup _{i = 0il}^{{}^{l - 1}V \rightarrow V} — отображение, ставящее в соответствие строке \alpha_{m - 1}||...||\alpha_{1}||\alpha_{0} , m >= l, строку \alpha_{m - 1}||...||\alpha_{m - l + 1}||\alpha_{m - l} , {}_{\alpha_{i} \in}{_{0,1}} i = 0, 1, ... , m — 1;
LSBl: {}^{V^{*}\} \cup _{i = 0il}^{{}^{l - 1}V \rightarrow V} — отображение, ставящее в соответствие строке \alpha_{m - 1}||...||\alpha_{1}||\alpha_{0} , m >= l, строку \alpha_{l - 1}||...||\alpha_{1}||\alpha_{0} , {}_{\alpha_{1} \in}{_{0,1}} i = 0, 1, ... , m — 1;
H512: V^{*} \rightarrow V_{512} — хэш-функция, описанная в ГОСТ 34.11, с длиной хэш-кода 512 бит;
H: V* Vl — отображение, представляющее собой композицию отображений H512 и MSBl, т.е. отображение вида MSBl(H512(·)), где l < 512.
4 Общие положения
Схема (модель) формирования и проверки кода проверки охватывает следующие процессы:
В настоящих рекомендациях процесс генерации пар ключей формирования кода проверки и соответствующих ключей проверки кода проверки не рассмотрен. Характеристики и способы реализации данного процесса определяются вовлеченными в него субъектами, которые устанавливают соответствующие параметры по взаимному согласованию.
Использование кода проверки предоставляет возможность обеспечить решение следующих задач криптографической защиты информации по отношению к коду идентификации:
Схематическое представление кода маркировки показано на рисунке 1.
Рисунок 1 — Схема кода маркировки
Установленная в настоящих рекомендациях схема формирования и проверки кода проверки должна быть реализована с использованием операций группы точек эллиптической кривой, определенной над конечным простым полем, а также хэш-функции.
Криптографическая стойкость данной схемы формирования и проверки кода проверки основывается на предположении о вычислительной трудности задачи дискретного логарифмирования в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ 34.11 с длиной хэш-кода 512 бит.
Перечень параметров схемы формирования и проверки кода проверки, необходимых для его формирования и проверки, и требования к ним определены в разделе 5. Рекомендуемые значения параметров схемы формирования и проверки кода проверки приведены в 6.4.
Настоящие рекомендации не определяют процесс выработки параметров схемы формирования и проверки кода проверки. Конкретный алгоритм (способ) реализации данного процесса определяется исходя из требований по информационной безопасности.
5 Перечень параметров схемы формирования и проверки кода проверки
В настоящем описании используются математические объекты, аналогичные математическим объектам, введенным в ГОСТ 34.10.
Параметрами схемы формирования и проверки кода проверки являются:
- простое число p — модуль эллиптической кривой, при этом 22l-1 < p < 22l, где l — параметр безопасности, l >= 85;
- эллиптическая кривая E, определенная над конечным простым полем Fp, задаваемая коэффициентами a, b \in F_{p} , при этом 4a3 + 27b2 не сравнимо с нулем по модулю p;
- целое число m — порядок группы точек эллиптической кривой E;
- простое число q — порядок циклической подгруппы группы точек эллиптической кривой E, для которого выполнены следующие условия:
- точка P /= 0 эллиптической кривой E, с координатами (xp, yp), для которой справедливо qP = 0, где 0 — нулевая точка эллиптической кривой.
К приведенным параметрам, по аналогии с ГОСТ 34.10, предъявляются следующие требования:
- pt /= 1 (mod q), t = 1, 2, ..., t', где выбор t' осуществляется из соображений обеспечения уровня стойкости схемы и зависит от размера параметра безопасности;
- m /= p;
- J(E) /= 0, J(E) /= 1728, где J(E) = 1728 \frac{4a^{3}}{4a^{3} + 27b^{2}} (modp) .
6 Основные процессы
6.1 Общие сведения
Выбирается параметр безопасности l, в соответствии с которым формируется эллиптическая кривая, параметры которой, в частности, параметр q, должны удовлетворять требованиям, указанным в разделе 5. Параметр l выбирается в зависимости от требований по информационной безопасности. Рекомендуемые значения параметров схемы формирования и проверки кода проверки определены в 6.4.
Каждому коду идентификации или набору кодов идентификации должны соответствовать:
- ключ формирования кода проверки d, который случайно выбирается из множества {1, 2, ..., q — 1};
- ключ проверки кода проверки Q, вычисленный по правилу Q = dP.
6.2 Процесс формирования кода проверки
Для получения кода проверки для кода идентификации M \in V^{*} необходимо выполнить следующие действия.
Шаг 1 — выработать (псевдо)случайное число {}_{k \in}{_{1,2,...,q - 1}} .
Шаг 3 — вычислить r = xC(mod q), где xC — x-координата точки C. Если r = 0, то вернуться на шаг 1.
Шаг 4 — вычислить \overline{r} = I2BS_{2l}(r) .
Шаг 5 — вычислить x'Q = xQ(mod q), где xQ — x-координата точки Q.
Шаг 6 — вычислить \overline{h} = I2BS_{2l}(x'_{Q}) .
Шаг 7 — вычислить \overline{s_{0}} = H(\overline{r}||\overline{h}||M) .
Шаг 8 — вычислить целое число s_{0} = BS2I_{l}(\overline{s_{0}}) . Если s0 = 0, то вернуться на шаг 1.
Шаг 9 — вычислить целое число s1 = (k + s0d)(mod q). Если s1 = 0, то вернуться на шаг 1.
Шаг 10 — вычислить \overline{s_{1}} = I2BS_{2l}(s_{1}) .
Шаг 11 — определить код проверки \sigma как конкатенацию векторов (\overline{s_{0}}||\overline{s_{1}}) .
Исходными данными этого процесса являются ключ формирования кода проверки d, ключ проверки кода проверки Q и код идентификации M, а выходным результатом — код проверки \sigma .
Схема формирования кода проверки приведена на рисунке 2.
Рисунок 2 — Процесс формирования кода проверки
6.3 Процесс проверки кода проверки
Для проверки кода проверки \sigma = (\overline{s_{0}}||\overline{s_{1}}) \in V_{3l} для кода идентификации M \in V^{*} необходимо выполнить следующие действия.
Шаг 1 — выделить строки \overline{s_{0}} = MSB_{l}(\sigma) и \overline{s_{1}} = LSB_{2l}(\sigma) из кода проверки \sigma , где \overline{s_{0}} \in V_{1} и \overline{s_{1}} \in V_{2l} .
Шаг 2 — вычислить s_{0} = BS2I_{l}(\overline{s_{0}}) . Если выполнено неравенство s0 > 0, то перейти к следующему шагу. В противном случае, код проверки не принимается.
Шаг 3 — вычислить s_{1} = BS2I_{2l}(\overline{s_{1}}) . Если выполнены неравенства 0 < s1 < q, то перейти к следующему шагу. В противном случае, код проверки не принимается.
Шаг 4 — вычислить C' = s1P — s0Q. Если C' /= 0, то перейти к следующему шагу. В противном случае код проверки не принимается.
Шаг 5 — определить целое число r = xC'(mod q), где xC'-x — x-координата точки C'. Если выполнено неравенство r > 0, то перейти к следующему шагу. В противном случае, код проверки не принимается.
Шаг 6 — вычислить \overline{r} = I2BS_{2l}(r) .
Шаг 7 — вычислить x'Q = xQ (mod q), где xQ — x-координата точки Q.
Шаг 8 — вычислить \overline{h} = I2BS_{2l}(x\prime_{Q}) .
Шаг 9 — вычислить \overline{s}'_{0} = H(\overline{r}||\overline{h}||M) .
Шаг 10 — проверить выполнение равенства \overline{s}'_{0} = \overline{s_{0}} ;
а) если равенство выполняется, то код проверки принимается;
б) если равенство не выполняется, то код проверки не принимается.
Исходными данными этого процесса являются код идентификации M, код проверки \sigma и ключ проверки кода проверки Q, а выходным результатом является элемент данных, представляющий доказательство достоверности или недостоверности кода проверки проверяющей стороне (свидетельство).
Схема проверки кода проверки приведена на рисунке 3.
Рисунок 3 — Процесс проверки кода проверки
6.4 Рекомендуемые значения параметров схемы формирования и проверки кода проверки
Для формирования кода проверки длины 255 бит (параметр безопасности l = 85) рекомендуется использовать следующие значения параметров схемы формирования и проверки кода проверки (все числовые значения приведены в шестнадцатеричной и десятичной системах счисления, порядок обозначения которых определен в приложении А):
p = 3fffffffffffffffff00000000000000000000002ef16
p = 149657767662684458823930561810124558272617822080279910
Коэффициенты эллиптической кривой:
a = 3fffffffffffffffff00000000000000000000002ec16
a = 149657767662684458823930561810124558272617822080279610
b = 1f14b1241bc62e5eac1d602517c6eea1480788823ae16
b = 72679489520108724054932649990100019445157094858027010
Порядок группы точек эллиптической кривой:
m = 3ffffffffffffffffeffff160d7625a5e8672f9784916
m = 149657767662684458823930560042467860791896926279892110
Порядок циклической подгруппы группы точек эллиптической кривой:
q = 3ffffffffffffffffeffff160d7625a5e8672f9784916
q = 149657767662684458823930560042467860791896926279892110
Координаты точки эллиптической кривой P:
xP = 31ddd8b0f8cf15d9fef8c58a8fd24a2e060ba2e42bd16
xp = 116608159307130894051961819589168015068595893031801310
yP = 20531a4d0073d7d37ea314e76ad14caff9a9c0b072216
yp = 75587976249187891932370294073714948801933617470032210
Описание процедуры выработки рекомендованных значений параметров схемы формирования и проверки кода проверки приведено в приложении Б.
Приводимые ниже значения ключей формирования кода проверки и проверки кода проверки d и Q, а также иные параметры могут быть использованы для проверки корректной работы конкретной реализации схемы формирования и проверки кода проверки, описанной в настоящих рекомендациях.
Целые неотрицательные числа приводятся в десятичных записях с нижними индексами 10, а двоичные числа — в шестнадцатеричных записях с нижними индексами 16. Символ «\» обозначает перенос числа на новую строку. Например, записи
представляют целое число 1234567890 в десятичной и шестнадцатеричной системах счисления соответственно.
Двоичные строки представлены в шестнадцатеричной системе счисления.
А.2 Параметры схемы формирования и проверки кода проверки
В данном примере используются параметры схемы формирования и проверки кода проверки, определенные в 6.4.
В данном примере для формирования кода проверки и его проверки используется следующее сообщение M (код идентификации):
M = fbe2e5f0eee3c820fbeafaebef20fffbf0e1e0f0f520e0ed20e8ece0ebe5f0f2f120fff0eeec\
0f2f120fff0eeec20f120faf2fee5e2202ce8f6f3ede220e8e6eee1e8f0f2d1202ce8f0f2e5e220e5d116
M = 2433560348790683595942386271312251858560436724123772656834669\
38824584982360245413570902683278421647314442981930883111995087827166566924466822\
07836864328513515134102121171502510
А.2.2 Ключ формирования кода проверки и ключ проверки кода проверки
В данном примере для формирования кода проверки и его проверки используются ключ формирования кода проверки d и ключ проверки кода проверки Q (приведены x-координата и y-координата точки Q), которые определены ниже:
d = 27fcd195b33e248a6cf091f2277919f8b14e5b2b16416
d = 93507045482596901835905549981906765071901218116029210
xQ = 02c60321891a3f569fb031721e80cb85d6a76b3a364916
xQ = 103768403734515980028497766198178594629243150442247310
yQ = 0311d41c245c4861c00df3beef93d00511ab6956b95f16
yQ = 114848971893648348689039303862117758560993923555158310
А.3 Процесс формирования кода проверки
После выполнения шагов 1 - 11 по 6.2 были получены следующие значения:
Шаг 1. Выработано (псевдо)случайное число {}_{k \in}{_{1,2,...,q - 1}} .
k = 85496315899846694378024401846770554794294755143978410
Шаг 2. Вычислено C = kP с координатами:
xC = 83892182428381763831030612702665991585538120529368510
yC = 56387054170243391978656773622580720061714744272511610
Шаг 3. Вычислено r = xc(mod q), где xC — x-координата точки C:
r = 83892182428381763831030612702665991585538120529368510
Шаг 4. Вычисление \overline{r} = I2BS_{2l}(r) :
\overline{r} = 023e037ba65be36f40cb2bde10757ffc6d04180b1a75_{16}
Шаг 5. Вычислено x'Q = xQ(mod q), где xQ — x-координата точки Q:
x'Q = 103768403734515980028497766198178594629243150442247310
Шаг 6. Вычислено \overline{h} = I2BS_{2l}(x'_{Q}) :
\overline{h} = 02c60321891a3f569fb031721e80cb85d6a76b3a3649_{16}
Шаг 7. Произведена конкатенация \overline{r}||\overline{h}||M :
Вычисление \overline{s_{0}} = H(\overline{r}||\overline{h}||M) = MSB_{l}(H_{512}(\overline{r}||\overline{h}||M)) :
\overline{s_{0}} = 02e4c0e05788f98518a68a_{16}
Шаг 8. Вычислено s_{0} = BS2I_{l}(\overline{s_{0}}) :
s0 = 349810913772568242294951410
Шаг 9. Вычислено s1 = (k + s0d)(mod q):
s1 = 83734158847884807411274133400016652793576604169008110
Шаг 10. Вычислено \overline{s_{1}} = I2BS_{2l}(s_{1}) :
\overline{s_{1}} = 023ceeaf6cf59dc81661e7b4b6cb673b40fa57fb7fe1_{16}
Шаг 11. Определен код проверки \sigma как конкатенация векторов (\overline{s_{0}}||\overline{s_{1}}) :
\sigma = 0b9303815e23e614629a2a3ceeaf6cf59dc81661e7b4b6cb673b40fa57fb7fe1_{16}
А.4 Процесс проверки кода проверки
Пусть после выполнения шагов 1 - 10 по 6.3 были получены следующие числовые значения:
Шаг 1. Выделены строки \overline{s_{0}} = MSB_{l}(\sigma) и \overline{s_{1}} = LSB_{2l}(\sigma) :
\overline{s_{0}} = 02e4c0e05788f98518a68a_{16}
\overline{s_{1}} = 023ceeaf6cf59dc81661e7b4b6cb673b40fa57fb7fe1_{16}
Шаг 2. Вычислено s_{0} = BS2I_{l}(\overline{s_{0}}) :
s0 = 349810913772568242294951410
Шаг 3. Вычислено s_{1} = BS2I_{2l}(\overline{s_{1}}) :
s1 = 83734158847884807411274133400016652793576604169008110
Шаг 4. Вычислено C' = s1P — s0Q. Далее приведем пошаговое вычисление координат точки C'. Точка s1P имеет координаты:
x_{s_{1}P} = 827112205696313783789925481884565970890942820725415_{10}
y_{s_{1}P} = 216375601503505061466566583559484089568457507988052_{10}
xs0Q = 59069164408719304573685693928611271794192658099237110
ys0Q = 149534216613495419303039459129855050704642563831437910
x_{- s_{0}Q} = 590691644087193045736856939286112717941926580992371_{10}
y_{- s_{0}Q} = 1235510491890395208911026802695075679752582488420_{10}
xC' = 83892182428381763831030612702665991585538120529368510
yC' = 56387054170243391978656773622580720061714744272511610
Шаг 5. Вычислено r = xC'(mod q):
r = 83892182428381763831030612702665991585538120529368510
Шаг 6. Вычислено \overline{r} = I2BS_{2l}(r) :
\overline{r} = 023e037ba65be36f40cb2bde10757ffc6d04180b1a75_{16}
Шаг 7. Вычислено x'Q = xQ(mod q):
x'Q = 103768403734515980028497766198178594629243150442247310
Шаг 8. Вычислено \overline{h} = I2BS_{2l}(x_{Q}\prime) :
\overline{h} = 02c60321891a3f569fb031721e80cb85d6a76b3a3649_{16}
Шаг 9. Произведена конкатенация \overline{r}||\overline{h}||M :
Вычислено H_{512}(\overline{r}||\overline{h}||M) :
Вычислено \overline{s}'_{0} = H(\overline{r}||\overline{h}||M) = MSB_{l}(H_{512}(\overline{r}||\overline{h}||M)) :
\overline{s}'_{0} = 02e4c0e05788f98518a68a_{16}
Шаг 10. Проверено выполнение равенства \overline{s}'_{0} = \overline{s_{0}} .
Поскольку выполнено равенство \overline{s}'_{0} = \overline{s_{0}} , то код проверки принимается.
ВЫРАБОТКА РЕКОМЕНДОВАННЫХ ЗНАЧЕНИЙ ПАРАМЕТРОВ СХЕМЫ ФОРМИРОВАНИЯ И ПРОВЕРКИ КОДА ПРОВЕРКИ
Выработка рекомендованных значений параметров схемы формирования и проверки кода проверки, приведенных в 6.4, осуществлялась псевдослучайным образом с использованием алгоритма (см. [2]), а именно:
1. Простое число p длины 170 бит (длины 2l, где l = 85) определено модулем эллиптической кривой и принимает значение:
p = 3fffffffffffffffff00000000000000000000002ef16,
p = 149657767662684458823930561810124558272617822080279910.
2. Коэффициент эллиптической кривой a = -3(mod p) и принимает значение:
a = 149657767662684458823930561810124558272617822080279610.
3. Коэффициент эллиптической кривой b вычисляется как решение сравнения b^{2} \equiv \frac{a^{3}}{\kappa} (modp) и принимает значение:
b = 72679489520108724054932649990100019445157094858027010,
где число \kappa вычисляется по правилу \kappa = w^{*}(modp) и принимает значение:
\kappa = 1248643653760573497156290147000575489471201915613_{10} ,
где число w* вычисляется по правилу w* = BS2I161(w') и принимает значение:
w* = 124864365376057349715629014700057548947120191561310,
где число w' вычисляется по правилу w' = LBS161(w) и принимает значение:
w' = dab71e2ef6d1a1284ed6973612f9d0b4d6d7b2dd16,
где число w вычисляется по правилу w = H512(W) и принимает значение:
где число W принимает значение:
БИБЛИОГРАФИЯ
| УДК 681.3.06:006.354 | ОКС 35.040 |
| Ключевые слова: коды идентификации, коды проверки, защита информации, формирование кода проверки, проверка кода проверки | |

(1)





