allgosts.ru35. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ35.040. Наборы знаков и кодирование информации

ГОСТ 34.12-2018 Информационная технология. Криптографическая защита информации. Блочные шифры

Обозначение:
ГОСТ 34.12-2018
Наименование:
Информационная технология. Криптографическая защита информации. Блочные шифры
Статус:
Принят
Дата введения:
06/01/2019
Дата отмены:
-
Заменен на:
-
Код ОКС:
35.040

Текст ГОСТ 34.12-2018 Информационная технология. Криптографическая защита информации. Блочные шифры

МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ ПО СТАНДАРТИЗАЦИИ, МЕТРОЛОГИИ И СЕРТИФИКАЦИИ (МГС)

INTERSTATE COUNCIL FOR STANDARDIZATION. METROLOGY AND CERTIFICATION (ISC)

ГОСТ

34,12—

2018


МЕЖГОСУДАРСТВЕННЫЙ

СТАНДАРТ

Информационная технология КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ Блочные шифры

Издание официальное

Москва

Стандартимформ

2018


Предисловие

Цели, основные принципы и основной порядок проведения работ по межгосударственной стан* дартизации установлены в ГОСТ 1.0—2015 «Межгосударственная система стандартизации. Основные положения» и ГОСТ 1.2—2015 «Межгосударственная система стандартизации. Стандарты межгосударственные. правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия. обновления и отмены»

Сведения о стандарте

1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС»)

2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»

3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. № 54)

За принятие проголосовали:

Краткое наименование страны по МК {ИСО 31вв) 004-97

Ков страны по МК <ИСО31вв) 004-97

Соирашвнное наимекоммле национального органа по стандартизации

Армения

AM

Минэкономики Республики Армения

Киргизия

KG

Кыргыэсгандарт

Россия

RU

Россгандарт

Таджжистан

TJ

Таджиксгандарт

4 Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. N? 1061-ст межгосударственный стандарт ГОСТ 34.12—2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.

5 Настоящий стандарт подготовлен на основе применения ГОСТ Р 34.12—2015

6 ВЗАМЕН ГОСТ 28147—89 в части раздела 1 «Структурная схема алгоритма криптографического преобразования»

Информация об изменениях к настоящему стандарту публикуется в ежегодном информацией-ном указателе «Национальные стандарты», а текст изменений и поправок — е ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

© Стандартинформ. оформление. 2018


В Российской Федерации настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

Содержание

1 Область применения..................................................................1

2 Термины, определения и обозначения...................................................1

2.1 Термины и определения...........................................................1

2.2 Обозначения.....................................................................2

3 Общие положения....................................................................3

4 Алгоритм блочного шифрования с длиной блока л -128 бит.................................3

4.1 Значения параметров..............................................................3

4.2 Преобразования..................................................................4

4.3 Алгоритм развертывания ключа.....................................................4

4.4 Базовый алгоритм шифрования.....................................................4

5 Алгоритм блочного шифрования с длиной блока п - 64 бит..................................о

5.1 Значения параметров..............................................................5

5.2 Преобразования..................................................................ь

5.3 Алгоритм развертывания ключа.....................................................5

5.4 Базовый алгоритм шифрования.....................................................6

Приложение А (справочное) Контрольные примеры..........................................7

Библиография........................................................................12

Введение

Настоящий стандарт содержит описание алгоритмов блочного шифрования, которые применяются в криптографических методах защиты информации.

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

Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 10116 (1] и стандартами серии ИСО/МЭК 18033 [2). (3].

Примечание — Основная часть стандарта дополнена приложением А «Контрольные примеры».

ГОСТ 34.12—2018

МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

Информационная технология

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

Блочные шифры

Information technology. Cryptographic data security. Block ciphers

Дата введения — 2019—06—01

1 Область применения

Настоящий стандарт определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.

Определенные в настоящем стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации.

Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.

2 Термины, определения и обозначения

2.1 Термины и определения

8 настоящем стандарте применены следующие термины с соответствующими определениями:

2.1.1 алгоритм зашифрования (encryption algorithm): Алгоритм, реализующий зашифрование, т. е. преобразующий открытый текст в шифртекст.

Примечание — Адаптировано из ИСО/МЭК 18033-1 [2].

2.1.2 алгоритм расшифрования (decryption algorithm): Алгоритм, реализующий расшифрование, т. е. преобразующий шифртекст в открытый текст.

Примечание — Адаптировано из ИСО/МЭК 18033-1 [2].

2.1.3 базовый блочный шифр (basic block cipher): Блочный шифр, реализующий при каждом фиксированном значении ключа одно обратимое отображение множества блоков открытого текста фиксированной длины в блоки шифртекста такой же длины.

2.1.4 блок (block): Строка бит определенной длины.

Примечание — Адаптировано из ИСО/МЭК 18033-1 [2].

2.1.5 блочный шифр (block cipher): Шифр из класса симметричных криптографических методов, в котором алгоритм зашифрования применяется к блокам открытого текста для получения блоков шифртекста.

Примечания

1 Адаптировано из ИСО/МЭК 18033-1 [2].

2 В настоящем стандарте установлено, что термины «блочный шифре и «алгоритм блочного шифрования» являются синонимами.

Издание официальное

2.1.6 зашифрование (encryption): Обратимое преобразование данных с помощью шифра, кото* рое формирует шифртехст из открытого текста.

Примечание — Адаптировано из ИСО/МЭК 16033-1 (2).

2.1.7 итерационный ключ (round key): Последовательность символов, вычисляемая в процессе развертывания ключа шифра и определяющая преобразование на одной итерации блочного шифра.

2.1.8 ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование.

Примечания

1 Адаптировано из ИСО/МЭК 18033-1 (2].

2 В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битое).

2.1.9 открытый текст (plaintext): Незашифрованная информация.

Примечание — Адаптировано из ИСО/МЭК 10116 (1J.

2.1.10 развертывание ключа (key schedule): Вычисление итерационных ключей из ключа шифра.

2.1.11 расшифрование (decryption): Операция, обратная к зашифрованию.

Примечания

1 Адаптировано из ИСО/МЭК 18033-1 (2].

2 В настоящем стандарте в целях сохранения терминологической преемственности по отношению к нормативным документам, действующим на территории государства, принявшего настоящий стандарт, и опубликованным ранее на русском язьке научно-техническим изданиям применяется термин «шифрование», объединяющий операции, определенные терминами «зашифрование» и «расшифрование». Конкретное значение термина «шифрование» определяется в зависимости от контекста упоминания.

2.1.12 симметричный криптографический метод (symmetric cryptographic technique): Криптографический метод, использующий один и тот же ключ для преобразования, осуществляемого отправителем. и преобразования, осуществляемого получателем.

Примечание — Адаптировано из ИСО/МЭК 18033-1 (2].

2.1.13 шифр (cipher): Криптографический метод, используемый для обеспечения конфиденциальности данных, включающий алгоритм зашифрования и алгоритм расшифрования.

Примечание — Адаптировано из ИСО/МЭК 18033-1 (2].

2.1.14 шифртекст (ciphertext): Данные, полученные в результате зашифрования открытого текста в целях скрытия ею содержания.

Примечание — Адаптировано из ИСО/МЭК 10116 (1J.

2.2 Обозначения

В настоящем стандарте применены следующие обозначения:

V* — множество всех двоичных строк конечной длины, включая пустую строку:

V, — множество всех двоичных строк длины s. где s — целое неотрицательное число: нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля:

t/x iv _ прямое (декартово) произведение множества U и множества W,

|Д| — число компонент (длина) строки Де V* (если А — пустая строка, то |А| = 0):

А||В — конкатенация строк Д. Be V*. т. е. строка из ^М|4|в|. в которой подстрока с большими номерами компонент из совпадает со строкой Д. а подстрока с меньшими номерами компонент из V|8| совпадает со строкой В;

д<$$:11 — циклический сдвиг строки Де на 11 компонент в сторону компонент, имеющих ббльшие номера:

<8 — операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины:

Z?i — кольцо вычетов по модулю 21.

ЕЙ — операция сложения в кольце Z233;

F — конечное поле GF(2)[x)/p(x), где p(x)=xe+x7+xe+x + 1eGF(2)(x]: элементы поля F представляются целыми числами, причем элементу 20 + z,G+-... + 27 -97eF соответствует число 2ф+2 • 2, ♦...+27 • 27. где 2, в (0.1). /=0.1.....7. и в обозначает класс вычетов по модулю

р(х). содержащий х:

Vecs: Z2j -»VS — биективное отображение, сопоставляющее элементу кольца Z?, его двоичное представление, т. е. для любого элемента ze ZJ4. представленного в виде 2=^, +2 z, +...+2s где z^e{0,1}, /=0,1,...,$-1 выполнено равенство

Vecs<z)«z# ,| |zt|z0;

lnts: V, -^^2s — отображение, обратное к отображению Vecs. т. е. Ints a Vec/:

Д: V8 -> F —биективно» отображение, «опостеалянщв» двоичной строк» к» V& элемент поля

F следующим образом: строке z7 I kh z. е{0,1}. /=0.1.....7 соответствует

элементZo+z, 6+-... + z7 е7е F;

V:F-»V& —отображение, обратное к отображению Д.т.е. ?=д 1;

ФУ — композиция отображений, при которой отображение У действует первым;

Ф5 — композиция отображений Ф5' ’ и Ф. причем Ф1 = Ф.

3 Общие положения

8 настоящем стандарте приведено описание двух базовых блочных шифров с длинами блоков п - 128 бит и п - 64 бит и длинами ключей к - 256 бит.

Примечания

1 На описанный в настоящем стандарте шифр с длиной блока п - 128 бит можно ссылаться как на блочный шифр «Кузнечик» («Kuznechik»).

2 На описанный в настоящем стандарте шифр с длиной блока л = 64 бит можно ссылаться как на блочный шифр «Магма» («Magma»).

4 Алгоритм блочного шифрования с длиной блока л = 128 бит

4.1 Значения параметров

4.1.1 Нелинейное биективное преобразование

В качестве нелинейного биективного преобразования выступает подстановка x=Vec8K'lnt8:V8-»V8. где x':Z^-»Z в. Значения подстановки л* записаны ниже в виде массива я'= (я'(О).т.....*'(255)):

л' = {252. 238. 221. 17. 207, 110, 49. 22,251. 196. 250,218, 35. 197.4, 77.233. 119, 240.219,147,

46. 153. 186, 23. 54. 241. 187, 20. 205, 95, 193, 249. 24. 101, 90. 226, 92. 239. 33,129, 28. 60. 66.

139.1,142,79.5,132,2,174. 227,106.143.160,6,11,237.152.127.212.211.31.235, 52.44,81.

234. 200. 72, 171, 242,42,104,162. 253. 58.206,204,181,112,14.86.8.12.118,18.191.114.19.

71. 156. 183.93,135,21, 161, 150.41,16.123,154.199.243.145.120.111,157,158,178,177,50.

117. 25. 61. 255, 53. 138, 126, 109. 84. 198. 128, 195. 189. 13. 87. 223, 245. 36. 169. 62. 168. 67.

201.215,121,214,246, 124. 34. 185.3. 224. 15. 236. 222.122,148. 176, 188. 220.232.40,80, 78.

51. 10. 74.167, 151. 96. 115, 30. 0. 98. 68. 26. 184, 56. 130.100, 159. 38. 65. 173, 69. 70. 146, 39.

94. 85. 47, 140, 163, 165.125,105, 213, 149. 59. 7. 88.179. 64.134,172. 29. 247. 48. 55. 107, 228.

136.217, 231, 137, 225. 27, 131,73. 76. 63. 248. 254. 141. 83.170,144.202.216, 133. 97. 32. 113.

ЮЗ. 164. 45. 43. 9, 91. 203, 155. 37. 208.190, 229. 108. 82. 89. 166, 116. 210, 230. 244. 180. 192.

209. 102,175. 194. 57. 75. 99, 182).

4.1.2 Линейное преобразование

Линейное преобразование задается отображением I: V8 е -»V8. которое определяется следующим образом:

/(а16.....^)=7(148Д(а16)+32Д(а14)+133Д(а13)+16 Д(а,2)+

+194Д(а,,) + 192 Д(а,0)+1 Д(а9) +251-д{а8)+1 Д^) + 192 Д(а8)+ (1)

+194Д(а5)+1бД(э4)+133Д(а3)+32Д(а2)+148Д(а1)+1д(^))

для любых а, е V8, / =0,1.....15, где операции сложения и умножения осуществляются в поле F, а кон*

станты являются элементами поля в указанном ранее смысле.

4.2 Преобразования

При реализации алгоритмов зашифрования и расшифрования используются следующие преобразования;


^128 У»2в


$ : ^128 ^^128


^128 “*^128


2в-»Ч


128


F[A]: V't2axV'12a-У, 28 Х ^128


Х[/с1(а)=ЛФэ. (2)

W Л- а е V126;

S(a)=S(a16|,.|^)=K(a15)|...|x(a0). (3)

где a = a15|...|a0eV12a. a,eVa. МОД ....15:

преобразование, обратное к преобразованию S. которое может бьггь вычислено, например, следующим образом:

S-Xa)-S Ча15|..|э0) = я Ча15)|..||я ’{ао). (4)

где а в a1s|...|a0eV12a, a,eVa. /«ОД ...,15. к-1 — подстановка, обратная к подстановке л;

/?(а) ■ /?(а, 5 II |Чо>-На15.....М|М К (5)

где a»a15|...|a0eV12a, a,-eV8, г«0Д ....15;

Ца) -R,6{a). (6)

где aeVt2a:

преобразование, обратное к преобразованию R, которое может быть вычислено, например, следующим образом:

R ^a)=R ’(а15|.-|а0)-а1(1||э|..|а0|/(а1413.....а0.а,5). (7)

где a = a15|...|a0eV12a. а,еУв, /.ОД....15:

£ ’(а) я (Я ’)(э), (8)

где asV12a:

ИЛКа,. . (£SXM(a,) © . а,). (9)

где k.a^a^V^.


4.3 Алгоритм развертывания ключа

Алгоритм развертывания ключа использует итерационные константы С,eVt2a. / .1 2.....32.


которые определены следующим образом:

Cf«£(Vec128</>), /-12.....32. (10)

Итерационные ключи У12а, г=1 2.....10. вырабатываются на основе ключа

К “*25$| ^2se- гв0Д...,255. и определяются равенствами.

*1 “А25в| -|ft128:

К2127|..|Л0: (11)


<K2^.K2M2> = HCe|i_lMl.. F[C8(._1)nKX2l,rK2i).MIZ3.4.

4.4 Базовый алгоритм шифрования 4.4.1 Алгоритм зашифрования

Алгоритм зашифрования в зависимости от значений итерационных ключей Хе У,28, / = 12,.... 10. реализует подстановку Ек^ к , заданную на множестве У128 в соответствии с равенством

Ек, ...«10(a)=X(X10]£SX[K9I...£SXIX2l£SX[K1](a). (12)

где а е V,28.


4.4.2 Алгоритм расшифрования

Алгоритм расшифрования е зависимости от значений итерационных ключей К, в V128. / = 12....10, реализует подстановку DK^ к , заданную на множестве V528 в соответствии с равенством

.....^о(а)-XIKJS 'L ’XP^l-.S ’t ’Xp^lS Ч.-’Х[К1(>Ка>. <«)

где a fe V128.

5 Алгоритм блочного шифрования с длиной блока п - 64 бит

5.1 Значения параметров

5.1.1 Нелинейное биективное преобразование

В качестве нелинейного биективного преобразования выступают подстановки я. к Vec4n'Intd: V4-> V4. где л':22.,-> 2j4 , / а 0.1.... 7. Значения подстановок к' записаны ниже в виде массивов я- «{я'(0), л'(1).....л'(15)), i» 0.1.....7:

я£ «(12. 4, 6. 2 10. 5. 11. 9.14. 8.13. 7. 0. 3.15. 1); я;«(6. 8. 2. 3. 9. 10. 5.12 114. 4. 7. 1 13. 0.15); я' а(Н з. 5. 8. 2 15. 10.13. 14. 1 7. 4.12. 9. 6. 0); я3 =(12. 8. 2. 113. 4.15, 6. 7. 0. 10. 5. 3.14. 9, 11); к'4 «(7. 15. 5. 10, 8. I 6. 13. 0. 9. 3. 14. Ц 4. 2. 12); я£ »(5. 13. 15. 6. 9. 2. 12. 10. 11 7. 8. 1. 4. 3. 14. 0); я; «(8. 14. 2 5, 6. 9. 1. 12 15. 4. 11. 0. 12 10. 3. 7); я; »(I 7. 14. 13. 0. 5. 8. 3, 4.15. 10. 6. 9. 12. 11 2).

&2 Гф^обрмэоввния

При реализации алгоритмов зашифрования и расшифрования используются следующие преобразования:

(14)

(15)

(16)

(17)


t:V32-> V32 f(a) = ((а7|.|аэ)в я77)^.|л00).

где а в а7 |...|й^е V32. a-1 V4. / ® 0.1 ....7;

9 [AJ: V32 -> V32 д [ft ]<а) = (f (Vec32 (lnt32 (а)В lnt32 (А)») «зк,

где А. а е У32;

G [A]: V32 х V32 -» V32 х V32 G [АЦа,. a0) 8 (a^,. g [AHa0) ® a,).

где A. a^.a, eV32;

G’[A1:V32xV32-»Vm G‘[1](a1.a0)8(ff[Al(a0)©a1)|a0.

где A. s(j.a, e V32.

5.3 Алгоритм развертывания ключа

Итерационные ключи Ке У32,/=12-.-.32 вырабатываются на основе ключа К s А2б5|...|А0е У25в, А;е У,, / в 0.1.....255, и определяются равенствами:

К? “*вз| |кЭ2:

кМ1в(,

“„24-К9.,-'-12.....8.

5.4 Базовый алгоритм шифрования

5.4.1 Алгоритм зашифрования

Алгоритм зашифрования в зависимости от значений итерационных ключей К,е V32, / в 12..... 32. реализует подстановку заданную на множестве VM в соответствии с равенством

EKt, .X3J{a) = G*[K32|G[K31l...G[K2]GIK1l(a1.a0). (19)

где а в а,|а0 е V^.a, е V32.

5.4.2 Алгоритм расшифрования

Алгоритм расшифрования в зависимости от значений итерационных ключей К,е V32, / ■ 12, ...,32. реализует подстановку DK к . заданную на множестве VM в соответствии с равенством

1’ 32

DKt.....K32(a)=G*[K1|G[K2]...GIK31]GIK32J(a1.a(>). (20)

где а в а,|аое V^. Aj.a, е V32.

Приложение А (справочное)

Контрольные примеры

А.1 Общие положения

Настоящее приложение носит справочный характер и не является частью нормативных положений настоящего стандарта.

В настоящем приложении двоичные строки из V*. длина которых кратна 4. записываются в шестнадцатеричном виде, а символ конкатенации flD опускается, т. е. строка aeV4, будет представлена в виде где (ОД.... 9. в. 6. с, d. е, 7), / = 0Д ...,г-1. Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (см. таблицу А.1). Преобразование, ставящее в соответствие двоичной строке длины 4г шестнадцатеричную строку дшны г. и соответствующее обратное преобразование для простоты записи опускаются.

Таблица А.1 —Соответствие между двоичными и шестнадцатеричными строками

Двоичное

число

Шестнадца*

теричмое

число

Двоичное

число

Шест иадцв* теричное

число

Двоичное

число

Шестмадцв*

теричное

число

Двоичное

число

Шестнадца

теричное

число

0000

0

0100

4

1000

8

1100

С

0001

1

0101

5

1001

9

1101

d

0010

2

0110

6

1010

а

1110

е

0011

3

0111

7

1011

Ь

1111

f

А.2 Алгоритм блочного шифрования с длиной блока л = 128 бит

А.2.1 Преобразование S

S(ffeeddccbbaa99881122334455667700) = b66cd8887d38e8d77765aeea0c9a7efc. S(b66cd8887d38e8d77765aeea0c9a7efc) = 559d8dd7bd06cbfe7e7b262523280d39. S(559d8dd7bd06cbfe7e7b262523280d39) = 0c3322fed531e4630d80e15c5a81 cSOb. S(0c33221ed531e463Od80ef5c5a81cS0b)s23ae6S633f842d29c5d(529c13r5aoda. A.2.2 Преобразование Я

ЖОООООООООООООООООООООООООООООЮО) = 94000000000000000000000000000001. Ж94000000000000000000000000000001) = 35940000000000000000000000000000. Ж05940000000000000000000000000000) = 64059400000000000000000000000000. Ж64а59400000000000000000000000000) = 0d64a594000000000000000000000000. A.2.3 Преобразование L

L(64aS9400000000000000000000000000) = d456584dd0e3e84cc3166e4b7fa2890d. L(d456584dd0e3e84cc3166e4b7fa2890d) - 79d26221b87b584cd42(bc4ffea5de9a. L(79d26221b87b584cd421bc4ffea5de9a)s0e93691a0cfc60408b7b68f66b513c13. L(0e93691a0cfc60408b7b68(66b513c13) = е6э8094(ееОаэ204М97ЬсЬОЬ44Ь8580.

A.2.4 Алгоритм развертывания ключа

В настоящем контрольном примере ключ имеет значение:

К =8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef.

К, = 8899aabbccddeeff0011223344556677.

Кг =fedcba96765432100123456789abcdef.

С, s6ea276726c487ab85d27bd10dd849401.

X[C,](X1) = e63bdcc9a09594475d369f2399d1f276,

SX[C1j(K1}= O998ca37a7947aabb78f4a5ae81b748a.

LSX^RX,) = 3d0940999db75d6a9257071d5e6144a6.

HCJIK,. K2) =(c3d5fa01ebe36f7a9374427ad7ca8949, 8899aabbccddeeH0011223344558677).

C2 = (Jc87ece4d890f4b3ba4eb92079cbeb02.

F(C2]F[C1)(K1,K2) = (37777748Q56453377d5e262d9O9O3f87. c3d5fa01ebe36f7a9374427ad7ca8949).

C3 = Ь2259а96Ь4Ь88е0Ье7690430э44Р7ЮЗ,

F(C3]... F[C,J(X,.X2) = {f9eae5f29b2815e31M 1ac5d9c29fb01. 37777748e56453377d5e262d90903f87).

C4 s7bcd1b0b73e32ba5b79cb140f2551504,

F[C4].,.F[C1](X,,X2) = (e98OO89683d00d4be37dd3434699b98f. f9eae5f29b2815e31f11ac5d9c29fbO1).

C$ = 156f6d791fab511deabb0c502(d18105.

F[C5]...F[C1KK,.K2) = {b7bd7Oacea44&O714f4ebe13e35croO4.098OO89&83dOOd4be37dd3434699b98f).

C6 =a74ar7©fab73df160dd208608b9efe06.

F(Ce]...F[C,}(X,.X2) = (1a46ea1cf6ccd236467287df93fdf974.b7bd70acea4460714»4ebe13835cf004).

Cj = C9e8819do73ba5ae50f5b570561a6a07.

F[CJ... F[C, }(X,.X2) = (3d4553d8e9cfec6B15ebadc40a9ffd04.1a46eatcfeccd236467287df93fdf974>.

C8 = f6593616e6055689adfba18027aa2a08.

(X3.XJ) = F[C8]...F[C,KXt.X2) =

(db31485315694343228d6aef 8cc78c44.3d4553d8e9cfec6815ebadc40a9ff d04).

Итерационные ключи X., i = 1.2.....10. принимают следующие значения:

X, = 8899aabbccddeeK0011223344556877,

Х2 = (edcba98765432100123456789abcdet Х3 =db31485315694343228d6aef8cc78c44.

Х4 = 3d4553d8e9cfec6815ebadc40a9ffd04.

Xs = 57646468c44a5e28d3e59246f429f1ac,

X6 =bd079435165c€432b532e82834da581b,

XT =51e640757e8745de705727265a0098b1.

Xe =5a7925O17b9fdd3ed72a91a22286f9&4.

X9 =bb44e25378c73123a5f32f73odb6e517.

X,o = 72e9dd7416bcf45b755dbaa88e4a4043.

AJ.5 Алгоритм зашифрования

В настоящем контрольном примере зашифрование проводится при значениях итерационных ключей из А.2.4. Пусть открыть» текст, подлежащий зашифрованию, равен

а =1122334455667700ffeeddccbbaa99&8.

тогда

SXfX, 1(a) = ©87de8b6e87de8b6b6b6b€b6b6b6b6b6,

LSX{X,J(a) - е297Ь686е355Ь0а1сГ4а2Г9249140830. tSX(X2]Z.SX[X,Ke) = 285e497a0862d596b36f4258a1c89072.

LSX[KJ]...LSX[X1](a) - 0187a3a429b567841ad50d29207cc34e,

LSX[KJ...LSX[K1Xa) = ec9bdba057d4f4d77c5d70619dcad206.

LSX[K$]..,LSX(K,Ka) - 1357fd11de9257290c2a1473eb6bcde1.

LSX(K6J..,LSX(K1Ks) = 28ae31e7d4c2354261027ef0b32897df. tSX[K?)...LSX[K1]<a) = 07e223d56002c013d3f5e6f714b86d2d.

LSX[KJ...tSX[K1]<a) = cd8ef6cd97e0e092a8e4cca61b38bf65.

LSX[K53,..LSX[X1](a) = Od8e4Oe4a8OOdO6b211b370a3790ad8e.

Результатом зашифрования является шифртекст

b=X(K10]tSX[K9]...tSX[K,X3) = 7f679d90bebc24305a468d42b9d4edcd.

Л&* Алгоритм рмчмнфргимнии

В настоящем контрольном примере расшифрование проводится при значениях итерационных ключей из А.2.4. Пусть шифртекст. подлежащий расшифрованию, равен шифртексту, полученному в А.2.5:

b - 7f679d90bebc24305a468d42b9d4edcd,

тогда

XfK, о НЬ)= 0d8e40e4a800d06b2f1 b37ea379ead8e.

L-’XlK^Kb) = 8a6b930a52211b45c5baa43ff8b9l319.

S-1Z.'X(K,0J(b>= 76ca149eef27d1b10d17e3d5d68e5a72.

S-1Z.-'X(K9]S-1L-'X[K10J(ti> - 5d9b06d41b9d1d2d04df7755363e94a9.

S VXfKeJ.-.S ’С1Х(К10ХЬ} = 79487192aa45709c115559d6e9280f6e.

S-,i.-1X(Kz]...S-'t-,X(K,0K6) = ae506924c8ce331bb9iefc5bdfM95fa.

S-1L-’X(XeJ...S-,t-'X(K,0Kb)» bbffbfc8939eaaHafb8e22769e323aa.

S,L'X(K5]..,S-1L-,X(K10Kb) = 3cc2f07cc07a8bec0f3ea0ed2ae33e4a.

S-’t-’X(K4l...S-’i-,X(X10Kb) = f36f01291d0b96d591e228b72d011c36,

S-1L-'X(K3]..,S-'t-,XfKiel<b) = 1c4b0c1e950182Mce696af5c0bfc5df.

S-1L'X(K2]...S-1e,X(KieKb) = 99bb99ff99bb99fffffHWfffWH.

Результатом расшифрования является открытый текст

а = X[K,JS- ’t-’XtXJ... S 'L- ‘Х|КХ*>s 1122334455667700ffeeddccbbaa9988.

A.3 Алгоритм блочного шифрования с длиной блока п = 64 бит А.3.1 Преобразование t

f(fdb97531) = 2a196f34,

(<2a196f34) = ebd9f03a,

f{ebd9fO3a) - b039bb3d,

f{b039bb3d) = 68695433.

A.3.2 Преобразование g

g[87654321J(fedcba98) = fdcbc20c.

g[fdcbc20c]{87654321>= 7e791a4b,

g[7e791a4bJ(fdcbc20c) = c76549ec.

g[c76549ecj(7e791a4b) = 9791c849.

A.3.3 Алгоритм развертывания ключа В настоящем контрольном примере ключ имеет значение:

К - tfeeddccbbaa99887766554433221100KHH2f3t4f5i6f7f8f9fafWcfdfeH.

Итерационные оточи К., / = 1.2.....32. принимают следующие значения:

X, = ffeeddcc.

X9 - ffeeddcc.

Kt7 = ffeeddcc.

X25 = fcfdfeff.

X2 =bbaa9988.

X,o =bbaa9988.

X1B = bbaa9988.

X26 = f8f9fafb.

X3 = 77665544.

X,, =77665544,

X,9 =77665544.

X2T = f4f5f6f7.

X4 =33221100,

X,2 = 33221100.

K20 =33221100,

X28 = f0f1f2f3.

X5 = fOf1f2f3,

X,3 = f0f1f2f3.

X2, = f0f1f2f3.

X29 =33221100.

X6 = f4f5f6f7.

X,4 = f4f5f6f7.

X22 = f4f5f6f7.

X„ = 77665544.

Kj - f8f9fafb.

X,5 = f8f9fafb.

X2j = f8f9fafb,

X31 = bbaa9988.

X8 = fcfdfeff,

X16 = fcfdfeff.

X24 = fcfdfeff.

X32 = ffeeddcc.

А.3.4 Алгоритм зашифрования

В настоящем контрольном примере зашифрование проводится при значениях итерационных ключей из АЭ.З. Пусть открытый текст, подлежащий зашифрованию, равен

а = fedcba9876543210.

тогда

(а,. «,) = <fedcba98. 76543210).

G(X,](a,, Цэ>= (76543210. 28da3b14).

G{X2)G[X,](a,. а0) = (28da3b14. Ь14337а5).

<^Кз)...е(К,Кв,. at,) = (М4337а5. 633а7с68).

Gp<4]...G(X,}(a,. ао) = {633а7с68.еа89сО2с),

G(K$]...G(KtKa,. а^) - (еа89с02с. 11 fe726d),

G{X6)...G(X1Xa,. ^) = (11fe726d. ad0310a4),

G<K7J...G(K1Ka,. = (ad0310a4. 37d97f25).

врСД.-бр^Хв,. ) « (37d97f25.46324615).

G{Kel...G(K,He1, ^,) - (46324615, ce995f2a).

GfK^l.-.GlK^a,. a„) = (ce99512a. 93c1(449).

GfX, ,)...G[K,Ka,. a„) = (93c1f449. 4811c7ad),

G(X)2j...G[X1](ar a0) = (4811c7ad. c4b3edca),

G(Kn]...G(K1Ka,. = (c4b3edca. 44ca5ce1),

GfX,4J...G(X,](a,. aJ) = {44ca5ce1,fef51b68(,

G{K16j...G[K1Ka,. ajj) = (fef51b68. 2098od86).

GpC,J...Gp<,Ka,. Sc) = (2098cd86. 4f15bObb),

Gp^j-.-Gp^Ka,. a^) = (4f15bObb. e32805bc),

G{Kuj...G(K,Xa,. afc) = (e32805bc. e7116722).

GJX,9j...G[X1Xa1. аь) = (e7116722.89cadf21),

G(X20l...G[X,](a,. a0) »(89cadf21. bac8444d).

G(X21). ..G(X,l(a,, вф > = (bac8444d. 11263a21).

G(X22 ]... GJX, )(a,. ^) = (11263a21.625434c3),

GJX23l...G(X,](a1. e„> - (625434c3. 8025c0a5).

G<X24]...G(Xl](a1. e0) = (8025c0a5. b0d66514).

G(X2S]...G(X1](ar e„) = (b0d66514, 47b1d5f4).

G|X2el...GIX1r e„) = <47Md5f4. c78e6d50).

G{X27]...G[X,](a,. eQ> = <c78e6d50. 60251e99).

G{X2el...G(X,](av aQ> = (80251e99. 2b96eca6).

. GlKJfa,. a^j) = (2Ь96еса6. 05ef44Q1).

G(X30)...G(X,Ka,. fi\,) = (05ef4401.239a4577).

GlX3,l...G[X1l(a1, a0) = (239a4577. c2d8ca3d).

Результатом зашифрования является шифртексг

6=G4K3JG(K3,)...GfK,}(are0)=4ee901e5c2d8ca3d.

АДД Алгоритм pKUMfcmu ж

В настоящем контрольном примере расшифрование проводится при значениях итерационных ключей из А.3.3. Пусть шифртекст. подлежащий расшифрованию, равен шифртексту, полученному в предыдущем пункте:

b s 4ee901e5c2d8ca3d.

тогда

(Ь,. А) = (4ее901е5. c2d8ca3d).

G[X32KA- A,) = (c2d8ca3d. 239а4577).

G[X3,)G{K32](A. A) = (239а4577. 05ef4401>.

G[X3O)...G[X32Kb,, Ц3) = (05ef4401.2Ь96еса6).

G(X2#)...G(X32XA- А}) = (2Ь96еса6. 80251е99).

G[X2e]...G(X32XA* А}) 9 (80251е99. c78e6d50).

G(K„J...G(K32XA. А)) 9 (c78e6d50. 47b1d5f4).

G(K2<3...GtK3aJCbv Ьо) = (47bld5f4. b0d66514),

G[K2J...G(K32X6,. b0) = (WW66514. 8025c0a5).

G(K24J...G(K32KA- Aj) e (8025c0a5, 625434c3).

G(K2j)...G{K32KA- A)) 9 (625434c3. 11263a21),

G(K22J...G[K32Xb,. A,) 9 (11263a21. bac8444d),

G(K2,)...G(K32XA- A)) s (bac8444d. 89cadf21).

G[K2OJ...GtX32XA. A,) = (89cadf21, e7116722),

GlKig]...G(K32](A. A,) = (87116722. e32805bc).

G|KuJ...G(K32Kb,. b0) = (e32805bc. 4f15b0bb).

G(K,7].,.<^K32](A. A,) « (4(15b0bb. 2098cd86).

G(X,„]...G{K32](A. Ai> 9 (2098cd86. fefS1b68).

G(X,5]...G(X32](A. A) 9 (to»1b68.44ca5ce1).

6(X14]...G(X32](A, A) 9 (44ca5ce1. c4b3edca).

G[X13]...G(X32](A. Aj) =<c4b3edca, 4811c7ad>.

G(K,2]...G(K32J(A. A>) s(4811c7ad. 93c1f449).

GIK,,]...G{X32J(A- A>) s(93c1f449. ce995f2a),

G(X,e]...G(X32](A. A,) 9 (ce995f2a. 46324615).

G(X9J...GJX32](A, Aj) s (46324615. 37d97f25).

G(X8)...G(X32](A. At) 9 (37d97125. ad0310a4).

G(X7]...G{X32J(A. A)) 9 (ad0310a4. 11fe726d).

G(Xel...G[X32)(A. At> 9 (111e726d. ea89c02c),

G(X5J...G{X32)(A. A,) 9 (ea89c02c. 633a7c68),

G(X41...G[X32](A. Aj> 9 (633a7c68. Ы4337а5).

G(X3].-.G(X32](A. &o) = (M4337a5, 28da3b14),

GlX2]...G(X32)(A.b0) = (28da3b14. 76543210).

Результатом расшифрования является открытый текст

а = G’ (X, К»1Х2 ] • • - G (Х32 ](А. At) 9 fedcba9876543210.

Библиография

Примечание — Оригиналы международных стандартов ИСО/МЭК находятся в национальных {государственных) органах по стандартизации* государств, принявших настоящий стандарт.

(1J ИСО/МЭК 10116:2017 {ISO/IEC 10116:2017)


[2] ИСО/МЭК 18033-1:2015 (ISO/IEC 16033-1:2015)

[3] ИСО/МЭК 18033-3:2010 {ISO/IEC 18033-3:2010)


Информационная технология. Методы и средства обеспечения безопасности. Режимы работы при использовании алгоритмов кодирования для режима л-разрядного блочного шифрования (Information technology — Security techniques — Modes of operation for an n-brt block cipher)

Информационные технологии. Методы и средства обеспечения безопасности. Алгоритмы шифрования. Часть 1. Общие положения {Information technology — Security techniques — Encryption algorithms — Part 1: General)

Информационные технологии. Методы и средства обеспечения безопасности. Алгоритмы шифрования. Часть 3. Блочные шифры (Information technology — Security techniques — Encryption algorithms — Part 3: Block ciphers)

* В Российской Федерации оригиналы международных стандартов ИСО/МЭК находятся 8 Федеральном информационном фонде стандартов.

УДК 681.3.06:006.354 МКС 35.040

Ключевые слова: информационная технология, криптографическая защита информации, симметричный криптографический метод, зашифрование, расшифрование, блочный шифр, ключ

БЗ 1—2019/63

Редактор Л. В. Коретникова Технический редактор В.Н. Прусакова Корректор Е.Р. Ароян Компьютерная верстка Ю.В. Поповой

Сдано в набор 0S. 12 2013. Подписано а печать 00.01.2019. Формат 6Q » 04'/g. Гарнитура Ариал.

Уел. пом. л. 1.66 Уч -им- л. 1.49.

Подготовлено на основе электронной версии, предоставленной разработчиком стандарта

ИД «Юриспруденция», 11S419. Москва, ул. Орджоникидзе. 11. www.juristzdal.ru y.book@mail.nj

Создано в единичной исполнении . 117416 Москва. Нахимовский лр-т, д. 31. и. 2. www.goslinlo.ru into@gostinfb.ru

1

1 я 1255 II '11224:

К2 8 А2231 |А192;

*3 “119i| -|1ieo:

^4 “115$| -|1125:

^5 = 112? Г111:

*6 “ 195 Ь Н1в4: