Примечание - В настоящих рекомендациях при записи байтовой строки каждый байт представлен в шестнадцатеричном виде и отделен от соседних пробелами. Предполагается, что двоичной строке
и наоборот. Например, двоичная строка 1100101100011000 соответствует байтовой строке CB 18.Настоящие рекомендации определяют следующие режимы работы алгоритмов блочного шифрования, которые используют в процессе своей работы функции ACPKM и ACPKM-Master:
- режим шифрования CTR-ACPKM;
- режим выработки имитовставки OMAC-ACPKM.
Данные режимы можно использовать в качестве режимов для блочных шифров "Магма" или "Кузнечик", определенных в ГОСТ Р 34.12-2015. В первом случае подразумевается, что в качестве отображения EK использован блочный шифр "Магма" с длиной блока n = 64; во втором случае подразумевается, что в качестве отображения EK использован блочный шифр "Кузнечик" с длиной блока n = 128.
Использование двух разных блочных шифров в рамках одного режима работы алгоритма блочного шифрования не допускается. Использование двух одинаковых ключей для режима шифрования CTR-ACPKM и режима выработки имитовставки OMAC-ACPKM в рамках одной криптосистемы не допускается, при этом должна быть обеспечена независимость данных ключей.
При обработке сообщений в режиме CTR-ACPKM каждое сообщение разбивают на секции, где под секцией понимается строка, состоящая из данных, обрабатываемых на одном секционном ключе до применения к нему функции ACPKM, определенной в 4.1.1.
Параметром, определяющим порядок функционирования режима CTR-ACPKM, является длина секции N. Значение N выражено в битах и фиксировано в рамках каждого конкретного протокола исходя из требований к производительности системы и нагрузке на ключ. Длина секции N должна быть кратна длине блока n используемого блочного шифра. Дополнительный параметр режима CTR-ACPKM - это длина блока гаммы s, 0 < s <= n, выраженная в битах. Величина s должна делить длину блока n.
Процесс обработки сообщений в режиме CTR-ACPKM схематично представлен на рисунке 1.
![]() Примечание - На рисунке 1 через mmax обозначена максимальная длина сообщения, выраженная в битах,
.При обработке каждого сообщения M = Mj, j = 1, 2, ..., в режиме CTR-ACPKM сообщение разбивают на
секций и представляют в виде , где i = 1, 2, ..., l - 1, , w <= N. Первую секцию каждого сообщения обрабатывают на секционном ключе K1, который равен начальному ключу K. Для обработки i-ой секции каждого сообщения, i = 2, ..., l, используют секционный ключ Ki, который вычисляют из значения ключа Ki-1 с помощью функции ACPKM.Результатом зашифрования сообщения M длины m в режиме CTR-ACPKM на начальном ключе K с длиной секции N и вектором инициализации IV является строка C, |C| = |M|, которая формируется по следующей схеме:
(1)При использовании режима CTR-ACPKM не требуется применение процедуры дополнения сообщения.
Длина m сообщения, обрабатываемого в режиме CTR-ACPKM, не должна превышать значения 2n/2-1·s бит.
Для обработки каждого отдельного сообщения в режиме CTR-ACPKM на одном начальном ключе K использовано значение уникальной синхропосылки
.Функция ACPKM принимает на вход ключ Ki-1 длины k бит и преобразует его в ключ Ki той же длины. Функция ACPKM определяется в зависимости от используемого блочного шифра "Магма" или "Кузнечик", определенного в ГОСТ Р 34.12-2015, следующим образом:
(2)где
, , а константа D = 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F
90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F.
При вычислении имитовставки сообщения в режиме OMAC-ACPKM каждое сообщение разбивают на секции, где под секцией понимается строка, состоящая из данных, обрабатываемых на одном секционном ключе до применения к нему функции ACPKM-Master, определенной в 4.2.1.
При формировании имитовставки в режиме OMAC-ACPKM начальный ключ K не используют непосредственно для обработки данных и задействуют только для порождения последовательности секционных ключей. Параметрами, определяющими порядок функционирования режима OMAC-ACPKM, является длина секции N и частота T* смены мастер-ключей, обозначенных на рисунке 2
![]() Примечание - На рисунке 2 через mmax обозначена максимальная длина сообщения, выраженная в битах,
, t = T*/(k + n).Процесс обработки сообщений в режиме OMAC-ACPKM схематично представлен на рисунке 2.
При обработке сообщения Mj длины m в режиме OMAC-ACPKM на начальном ключе K сообщение разбивают на
секций и представляют в виде , где , i = 1, 2, ..., l - 1, , w <= N. Для обработки секции изначального ключа K с помощью функции ACPKM-Master вырабатывается последовательность ключевого материала секций . Каждая i-я секция, i = 1, 2, ..., l - 1, обрабатывается на ключе Ki. Для обработки последней l-й секции использованы ключ Kl и вспомогательный ключ Результатом вычисления имитовставки сообщения M длины m в режиме OMAC-ACPKM на начальном ключе K с длиной секции N и частотой смены ключа T* является строка MAC длины s, которая формируется по следующей схеме:
(3)Длина m сообщения, обрабатываемого в режиме OMAC-ACPKM, не должна превышать значения
бит.Очередная часть ключевого материала секции K[i] может быть вычислена по мере необходимости при поступлении данных на вход (может обеспечиваться потоковый режим обработки данных).
Функция ACPKM-Master принимает на вход начальный ключ K длины k бит, параметр частоты смены мастер-ключа T* и количество элементов l в последовательности ключевого материала секций, которые необходимо выработать. Функция ACPKM-Master задана в соответствии с выбранным блочным шифром "Магма" или "Кузнечик", определенным в ГОСТ Р 34.12-2015, следующим образом:
(4)где
является функцией зашифрования в режиме CTR-ACPKM с длиной блока гаммы s = n, которая принимает на вход ключ K, размер секции N, значение вектора инициализации и сообщение M.В данном разделе приведены алгоритмы экспорта и импорта ключа, использующие в своей работе один из блочных шифров, определенных в ГОСТ Р 34.12-2015 ("Магма" или "Кузнечик").
Входными параметрами алгоритма экспорта ключа KExp15 являются экспортируемый ключ
, ключ шифрования и значение . При этом должна быть обеспечена независимость ключей - вычисляют значение имитовставки KEYMAC длины n бит:
(5)где OMAC (K, M) - функция выработки имитовставки, описанная в ГОСТ Р 34.13-2015, на ключе K от данных M;
- вычисляют значение KEXP:
(6)где |encKey| = |K|, |encKeyMAC| = |KEYMAC|, CTR (K, IV, M) - функция зашифрования в режиме гаммирования с длиной блока гаммы s = n, представленном в ГОСТ Р 34.13-2015, принимающая на вход ключ K, вектор инициализации IV и данные M;
- результат работы алгоритма экспорта ключа K называется экспортным представлением ключа K, обозначается через
и полагается равным строке KEXP: (7)Импорт ключа по алгоритму KImp15 (получение ключа K по экспортному представлению KEXP с помощью ключей
и значения ) осуществляется по следующей схеме:- строка KEXP расшифровывается на ключе
полагается равной результату расшифрования;- вычисляют значение имитовставки длины n бит в соответствии с режимом выработки имитовставки, указанным в ГОСТ Р 34.13-2015, от данных
- результат работы алгоритма импорта ключа от его экспортного представления KEXP обозначается через
и полагается равным строке K: (8)В рамках применения одной и той же пары ключей (
Допускается применение алгоритмов экспорта KExp15 и импорта KImp15 к ключу K произвольного криптографического алгоритма.
(справочное)
БЛОЧНЫХ ШИФРОВ С ПРЕОБРАЗОВАНИЕМ КЛЮЧА
В данном приложении представлены контрольные примеры работы режимов работы блочных шифров с преобразованием ключа, приведенных в разделе 4. Параметры s, m, N и T* выбраны из соображений демонстрации особенностей работы алгоритмов.
А.1 Режим шифрования CTR-ACPKM для шифра "Магма"
В настоящем разделе приведены тестовые примеры работы режима шифрования CTR-ACPKM для шифра "Магма" со следующими входными данными:
- длина блока n - 64 бита;
- длина блока гаммы s - 64 бита;
- размер секции N - 128 бит;
- ключ K:
88 99 AA BB CC DD EE FF 00 11 22 33 44 55 66 77
FE DC BA 98 76 54 32 10 01 23 45 67 89 AB CD EF;
- вектор инициализации IV:
12 34 56 78;
- открытый текст M:
11 22 33 44 55 66 77 00 FF EE DD CC BB AA 99 88
00 11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A
11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A 00
22 33 44 55 66 77 88 99.
Сообщение M разбивают на четыре секции M1, M2, M3, M4, каждую из которых разбивают на блоки. Обработку данных производят в соответствии с таблицами А.1.1 - А.1.4.
Таблица А.1.1
Таблица А.1.2
Обработка секции M2 в режиме CTR-ACPKM для шифра "Магма"
Таблица А.1.3
Обработка секции M3 в режиме CTR-ACPKM для шифра "Магма"
Таблица А.1.4
Результатом зашифрования открытого текста M в режиме CTR-ACPKM в данном случае является строка
:2A B8 1D EE EB 1E 4C AB 68 E1 04 C4 BD 6B 94 EA
C7 2C 67 AF 6C 2E 5B 6B 0E AF B6 17 70 F1 B3 2E
A1 AE 71 14 9E ED 13 82 AB D4 67 18 06 72 EC 6F
84 A2 F1 5B 3F CA 72 C1.
А.2 Режим шифрования CTR-ACPKM для шифра "Кузнечик"
В настоящем разделе приведены тестовые примеры работы режима шифрования CTR-ACPKM для шифра "Кузнечик" со следующими входными данными:
- длина блока n - 128 бит;
- длина блока гаммы s - 128 бит;
- размер секции N - 256 бит;
- ключ K:
88 99 AA BB CC DD EE FF 00 11 22 33 44 55 66 77
FE DC BA 98 76 54 32 10 01 23 45 67 89 AB CD EF;
- вектор инициализации IV:
12 34 56 78 90 AB CE F0;
- открытый текст M:
11 22 33 44 55 66 77 00 FF EE DD CC BB AA 99 88
00 11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A
11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A 00
22 33 44 55 66 77 88 99 AA BB CC EE FF 0A 00 11
33 44 55 66 77 88 99 AA BB CC EE FF 0A 00 11 22
44 55 66 77 88 99 AA BB CC EE FF 0A 00 11 22 33
55 66 77 88 99 AA BB CC EE FF 0A 00 11 22 33 44.
Сообщение M разбивают на четыре секции M1, M2, M3, M4, каждую из которых разбивают на блоки. Обработку данных производят в соответствии с таблицами А.2.1 - А.2.4.
Таблица А.2.1
Таблица А.2.2
Обработка секции M2 в режиме CTR-ACPKM для шифра "Кузнечик"
Таблица А.2.3
Обработка секции M3 в режиме CTR-ACPKM для шифра "Кузнечик"
Таблица А.2.4
Результатом зашифрования открытого текста M в режиме CTR-ACPKM в данном случае является строка
:F1 95 D8 BE C1 0E D1 DB D5 7B 5F A2 40 BD A1 B8
85 EE E7 33 F6 A1 3E 5D F3 3C E4 B3 3C 45 DE E4
4B CE EB 8F 64 6F 4C 55 00 17 06 27 5E 85 E8 00
58 7C 4D F5 68 D0 94 39 3E 48 34 AF D0 80 50 46
CF 30 F5 76 86 AE EC E1 1C FC 6C 31 6B 8A 89 6E
DF FD 07 EC 81 36 36 46 0C 4F 3B 74 34 23 16 3E
64 09 A9 C2 82 FA C8 D4 69 D2 21 E7 FB D6 DE 5D.
А.3 Режим выработки имитовставки OMAC-ACPKM для шифра "Магма"
В настоящем разделе приведены тестовые примеры работы режима выработки имитовставки OMAC-ACPKM для шифра "Магма" со следующими входными данными:
длина блока n - 64 бита;
длина блока гаммы s - 64 бита;
размер секции N - 128 бит;
частота смены ключа T* - 640 бит;
ключ K:
88 99 AA BB CC DD EE FF 00 11 22 33 44 55 66 77
FE DC BA 98 76 54 32 10 01 23 45 67 89 AB CD EF.
А.3.1 Пример работы режима OMAC-ACPKM для шифра "Магма" с открытым текстом длины 1,5 блока
Открытый текст M длины 1,5 блока:
11 22 33 44 55 66 77 00 FF EE DD CC.
Сообщение M состоит из одной секции M1, которую разбивают на блоки.
При формировании ключевого материала вырабатывается строка
:0D F2 F5 27 3D A3 28 93 2A C4 9D 81 D3 6B 25 58
A5 0D BF 9B BC AC 74 A6 14 B2 CC B2 Fl CB CD 8A
70 63 8E 3D E8 B3 57 1E.
Обработку данных производят в соответствии с таблицей А.3.1.1.
Таблица А.3.1.1
Результатом вычисления имитовставки сообщения M в режиме OMAC-ACPKM в данном случае является строка C2:
A0 54 0E 37 30 AC BC F3.
А.3.2 Пример работы режима OMAC-ACPKM для шифра "Магма" с открытым текстом длины 5 блоков
Открытый текст M длины 5 блоков:
11 22 33 44 55 66 77 00 FF EE DD CC BB AA 99 88
00 11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A
11 22 33 44 55 66 77 88.
Сообщение M разбивают на три секции M1, M2, M3, каждую из которых разбивают на блоки.
При формировании ключевого материала вырабатывается строка
:0D F2 F5 27 3D A3 28 93 2A C4 9D 81 D3 6B 25 58
A5 0D BF 9B BC AC 74 A6 14 B2 CC B2 Fl CB CD 8A
70 63 8E 3D E8 B3 57 1E 8D 38 26 D5 5E 63 A1 67
E2 40 66 40 54 7B 9F 1F 5F 2B 43 61 2A AE AF DA
18 0B AC 86 04 DF A6 FE 53 C2 CE 27 0E 9C 9F 52
68 D0 FD BF E1 A3 BD D9 BE 5B 96 D0 A1 20 23 48
6E F1 71 0F 92 4A E0 31 30 52 CB 5F CA 0B 79 1E
1B AB E8 57 6D 0F E3 A8.
Обработку данных производят в соответствии с таблицами А.3.2.1 - А.3.2.3.
Таблица А.3.2.1
Таблица А.3.2.2
Обработка секции M2 в режиме OMAC-ACPKM для шифра "Магма"
Таблица А.3.2.3
Результатом вычисления имитовставки сообщения M в режиме OMAC-ACPKM в данном случае является строка C5:
34 00 8D AD 54 96 BB 8E.
А.4 Режим выработки имитовставки OMAC-ACPKM для шифра "Кузнечик"
В настоящем разделе приведены тестовые примеры работы режима выработки имитовставки OMAC-ACPKM для шифра "Кузнечик" со следующими входными данными:
- длина блока n - 128 бит;
- длина блока гаммы s - 128 бит;
- размер секции N - 256 бит;
- частота смены ключа T* - 768 бит;
- ключ K:
88 99 AA BB CC DD EE FF 00 11 22 33 44 55 66 77
FE DC BA 98 76 54 32 10 01 23 45 67 89 AB CD EF.
А.4.1 Пример работы режима OMAC-ACPKM для шифра "Кузнечик" с открытым текстом длины 1,5 блока
Открытый текст M длины 1,5 блока:
11 22 33 44 55 66 77 00 FF EE DD CC BB AA 99 88
00 11 22 33 44 55 66 77.
Сообщение M состоит из одной секции M1, которую разбивают на блоки.
При формировании ключевого материала вырабатывается строка
:0C AB F1 F2 EF BC 4A C1 60 48 DF 1A 24 C6 05 B2
C0 D1 67 3D 75 86 A8 EC 0D D4 2C 45 A4 F9 5B AE
0F 2E 26 17 E4 71 48 68 0F C3 E6 17 8D F2 C1 37.
Обработку данных производят в соответствии с таблицей А.4.1.1.
Таблица А.4.1.1
для шифра "Кузнечик"
Результатом вычисления имитовставки сообщения M в режиме OMAC-ACPKM в данном случае является строка C2:
B5 36 7F 47 B6 2B 99 5E EB 2A 64 8C 58 43 14 5E.
А.4.2 Пример работы режима OMAC-ACPKM для шифра "Кузнечик" с открытым текстом длины 5 блоков
Открытый текст M длины 5 блоков:
11 22 33 44 55 66 77 00 FF EE DD CC BB AA 99 88
00 11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A
11 22 33 44 55 66 77 88 99 AA BB CC EE FF 0A 00
22 33 44 55 66 77 88 99 AA BB CC EE FF 0A 00 11
33 44 55 66 77 88 99 AA BB CC EE FF 0A 00 11 22.
Сообщение M разбивают на три секции M1, M2, M3, каждую из которых разбивают на блоки. При формировании ключевого материала вырабатывается строка
:0C AB F1 F2 EF BC 4A C1 60 48 DF 1A 24 C6 05 B2
C0 D1 67 3D 75 86 A8 EC 0D D4 2C 45 A4 F9 5B AE
0F 2E 26 17 E4 71 48 68 0F C3 E6 17 8D F2 C1 37
C9 DD A8 9C FF A4 91 FE AD D9 B3 EA B7 03 BB 31
BC 7E 92 7F 04 94 72 9F 51 B4 9D 3D F9 C9 46 08
00 FB BC F5 ED EE 61 0E A0 2F 01 09 3C 7B C7 42
D7 D6 27 15 01 B1 77 77 52 63 C2 A3 49 5A 83 18
A8 1C 79 A0 4F 29 66 0E A3 FD A8 74 C6 30 79 9E
14 2C 57 79 14 FE A9 0D 3B C2 50 2E 83 36 85 D9.
Обработку данных производят в соответствии с таблицами А.4.2.1 - А.4.2.3.
Таблица А.4.2.1
для шифра "Кузнечик"
Таблица А.4.2.2
Обработка секции M2 в режиме OMAC-ACPKM
для шифра "Кузнечик"
Таблица А.4.2.3
для шифра "Кузнечик"
Результатом вычисления имитовставки сообщения M в режиме OMAC-ACPKM в данном случае является строка C5:
FB B8 DC EE 45 BE A6 7C 35 F5 8C 57 00 89 8E 5D.
(справочное)
КОНТРОЛЬНЫЕ ПРИМЕРЫ РАБОТЫ АЛГОРИТМОВ ЭКСПОРТА
KExp15 И ИМПОРТА KImp15 КЛЮЧА
В данном приложении представлены контрольные примеры работы алгоритмов экспорта и импорта ключей, приведенных в разделе 5, со следующими входными данными:
- ключ K:
88 99 AA BB CC DD EE FF 00 11 22 33 44 55 66 77
FE DC BA 98 76 54 32 10 01 23 45 67 89 AB CD EF;
- ключ
08 09 0A 0B 0C 0D 0E 0F 00 01 02 03 04 05 06 07
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F;
- ключ
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
38 39 3A 3B 3C 3D 3E 3F 30 31 32 33 34 35 36 37.
Б.1 Алгоритмы экспорта KExp15 и импорта KImp15 ключа для шифра "Магма"
Вектор инициализации IV:
67 BE D6 54.
KEYMAC:
75 A7 66 18 E9 0F 49 73.
:CF D5 A1 2D 5B 81 B6 E1 E9 9C 91 6D 07 90 0C 6A
C1 27 03 FB 3A BD ED 55 56 7B F3 74 2C 89 9C 75
5D AF E7 B4 2E 3A 8B D9.
Б.2 Алгоритмы экспорта KExp15 и импорта KImp15 ключа для шифра "Кузнечик"
Вектор инициализации IV:
09 09 47 2D D9 F2 6B E8.
KEYMAC:
10 02 2A DE 94 EE 55 B4 34 D2 07 7F 5A 13 AF F4.
:E3 61 84 E8 4E 8D 73 6F F3 6C C2 E5 AE 06 5D C6
56 B2 3C 20 F5 49 B0 2F DF F8 8E 1F 3F 30 D8 C2
9A 53 F3 CA 55 4D BA D8 0D E1 52 B9 A4 62 5B 32.
(рекомендуемое)
В принятых в настоящее время в Российской Федерации принципах разработки средств криптографической защиты информации содержатся рекомендации по использованию дополнительных мер по защите криптографически опасной информации. Данные меры должны противостоять атакам, использующим каналы распространения информативных сигналов (см. приложение А Р 1323565.1.012-2017). К таким мерам относительно рассматриваемых в настоящих рекомендациях режимов работы блочных шифров могут быть отнесены, в частности, ограничение числа блоков, которые могут быть преобразованы на одном секретном ключе, и ограничение количества сообщений, обрабатываемых с использованием одного секретного ключа.
Перечисленные ограничения необходимо устанавливать в соответствии с определяемым в Р 1323565 классом средства криптографической защиты, с учетом используемых криптографических механизмов, условий эксплуатации и возможностей, которые могут быть использованы для проведения атак на средство защиты. При этом ограничения целесообразно устанавливать согласованным образом для каждого класса криптографических механизмов.
Кроме того, приводятся возможные значения параметров режима шифрования CTR-ACPKM при его реализации в криптографических протоколах, в том числе и в протоколе безопасности транспортного уровня (TLS).
Для средств криптографической защиты информации классов КС1, КС2 и КС3 (см. раздел 4 Р 1323565.1.012-2017), а также средств, которые не подпадают под действие [1], допустимым является использование следующих ограничений:
- при использовании алгоритма блочного шифрования "Магма" объем преобразованной на одном секретном ключе информации не должен превышать 4 Мбайт (524 288 блоков);
- размер N одной секции режима CTR-ACKPM полагается равным 1 Кбайт (128 блоков).
Из указанных ограничений следует, что число сообщений, которые могут быть обработаны на одном секретном ключе K, не должно превышать 4096. При этом длины сообщений дополнительно не ограничены.
Для средств криптографической защиты информации классов КВ и КА допустимым является использование следующих ограничений:
- при использовании алгоритма блочного шифрования "Кузнечик" объем обработанной на одном секретном ключе информации не должен превышать 256 Кбайт (16 384 блока);
- размер N одной секции режима CTR-ACKPM полагается равным 4 Кбайт (256 блоков).
Из указанных ограничений следует, что число сообщений, которые могут быть преобразованы на одном секретном ключе K, не должно превышать 64. При этом длины сообщений дополнительно не ограничены.
Вернуться в "Каталог нормативных документов"
Источник информации: https://xn--c1ad2agd.xn--p1ai/documents/prod/prikaz/73/r_90857.html
На правах рекламы:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||