---
title: "\"ГОСТ Р 34.12-2015. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Блочные шифры\""
number: "ГОСТ Р 34.12-2015"
issuer: "Федеральное агентство по техническому регулированию и метрологии"
status: действует
canonical: "https://bukva.ai/docs/standart-gost-r-34-12-2015"
---

## "ГОСТ Р 34.12-2015. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Блочные шифры"

# "ГОСТ Р 34.12-2015. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Блочные шифры"

(утв. и введен в действие Приказом Росстандарта от 19.06.2015 N 749-ст)

> [!IMPORTANT]
> Документ [введен](#p100009) в действие с 1 января 2016 года.


<a id="p100001"></a>Утвержден и введен в действие
Приказом Федерального агентства
по техническому регулированию
и метрологии
от 19 июня 2015 г. N 749-ст

<a id="p100002"></a>**НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ**

<a id="p100003"></a>**ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ**

<a id="p100004"></a>**КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ**

<a id="p100005"></a>**БЛОЧНЫЕ ШИФРЫ**

<a id="p100006"></a>Information technology. Cryptographic data
security. Block ciphers

<a id="p100007"></a>**ГОСТ Р 34.12-2015**

<a id="p100008"></a>ОКС 35.040

<a id="p100009"></a>Дата введения
1 января 2016 года


### <a id="p100010"></a>Предисловие


<a id="p100011"></a>1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
<a id="p100012"></a>2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
<a id="p100013"></a>3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 19 июня 2015 г. N 749-ст
<a id="p100014"></a>**4 ВВЕДЕН ВПЕРВЫЕ**

<a id="p100015"></a>Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)


### <a id="p100016"></a>Введение


<a id="p100017"></a>Настоящий стандарт содержит описание алгоритмов блочного шифрования, которые применяются в криптографических методах защиты информации.
<a id="p100018"></a>Необходимость разработки стандарта вызвана потребностью в создании блочных шифров с различными длинами блока, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам.
<a id="p100019"></a>Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 10116 [[1]](#p100443) и серии ИСО/МЭК 18033 [[2]](#p100446), [[3]](#p100449).
<a id="p100020"></a>Примечание - Основная часть стандарта дополнена [приложением А](#p100224).


### 1. <a id="p100021"></a>Область применения


<a id="p100022"></a>Настоящий стандарт определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.
<a id="p100023"></a>Определенные в настоящем стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации.
<a id="p100024"></a>Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.


### 2. <a id="p100025"></a>Термины, определения и обозначения



#### <a id="p100026"></a>2.1 Термины и определения

<a id="p100027"></a>В настоящем стандарте применены следующие термины с соответствующими определениями.
<a id="p100028"></a>2.1.1

| <a id="p100029"></a><a id="p100030"></a>алгоритм зашифрования (encryption algorithm): Алгоритм, реализующий зашифрование, т.е. преобразующий открытый текст в шифртекст.<br>[ИСО/МЭК 18033-1, статья 2.19] |
| --- |

<a id="p100031"></a>2.1.2

| <a id="p100032"></a><a id="p100033"></a>алгоритм расшифрования (decryption algorithm): Алгоритм, реализующий расшифрование, т.е. преобразующий шифртекст в открытый текст.<br>[ИСО/МЭК 18033-1, статья 2.14] |
| --- |

<a id="p100034"></a>2.1.3

| <a id="p100035"></a>базовый блочный шифр (basic block cipher): Блочный шифр, реализующий при каждом фиксированном значении ключа одно обратимое отображение множества блоков открытого текста фиксированной длины в блоки шифртекста такой же длины. |
| --- |

<a id="p100036"></a>2.1.4

| <a id="p100037"></a><a id="p100038"></a>блок (block): Строка бит определенной длины.<br>[ИСО/МЭК 18033-1, статья 2.6] |
| --- |

<a id="p100039"></a>2.1.5

| <a id="p100040"></a><a id="p100041"></a>блочный шифр (block cipher): Шифр из класса симметричных криптографических методов, в котором алгоритм зашифрования применяется к блокам открытого текста для получения блоков шифртекста.<br>[ИСО/МЭК 18033-1, статья 2.7] |
| --- |

<a id="p100042"></a>*Примечание* - В настоящем стандарте установлено, что термины "блочный шифр" и "алгоритм блочного шифрования" являются синонимами.

<a id="p100043"></a>2.1.6

| <a id="p100044"></a><a id="p100045"></a>зашифрование (encryption): Обратимое преобразование данных с помощью шифра, которое формирует шифртекст из открытого текста.<br>[ИСО/МЭК 18033-1, статья 2.18] |
| --- |

<a id="p100046"></a>2.1.7

| <a id="p100047"></a>итерационный ключ (round key): Последовательность символов, вычисляемая в процессе развертывания ключа шифра, и определяющая преобразование на одной итерации блочного шифра. |
| --- |

<a id="p100048"></a>2.1.8

| <a id="p100049"></a><a id="p100050"></a>ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование.<br>[ИСО/МЭК 18033-1, статья 2.21] |
| --- |

<a id="p100051"></a>*Примечание* - В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битов).

<a id="p100052"></a>2.1.9

| <a id="p100053"></a><a id="p100054"></a>открытый текст (plaintext): Незашифрованная информация.<br>[ИСО/МЭК 10116, статья 3.11] |
| --- |

<a id="p100055"></a>2.1.10

| <a id="p100056"></a>развертывание ключа (key schedule): Вычисление итерационных ключей из ключа шифра. |
| --- |

<a id="p100057"></a>2.1.11

| <a id="p100058"></a><a id="p100059"></a>расшифрование (decryption): Операция, обратная к зашифрованию.<br>[ИСО/МЭК 18033-1, статья 2.13] |
| --- |

<a id="p100060"></a>Примечание - В настоящем стандарте в целях сохранения терминологической преемственности по отношению к опубликованным научно-техническим изданиям применяется термин "шифрование", объединяющий операции, определенные терминами ["зашифрование"](#p100044) и ["расшифрование"](#p100058). Конкретное значение термина "шифрование" определяется в зависимости от контекста упоминания.

<a id="p100061"></a>2.1.12

| <a id="p100062"></a><a id="p100063"></a>симметричный криптографический метод (symmetric cryptographic technique): Криптографический метод, использующий один и тот же ключ для преобразования, осуществляемого отправителем, и преобразования, осуществляемого получателем.<br>[ИСО/МЭК 18033-1, статья 2.32] |
| --- |

<a id="p100064"></a>2.1.13

| <a id="p100065"></a><a id="p100066"></a>шифр (cipher): Криптографический метод, используемый для обеспечения конфиденциальности данных, включающий алгоритм зашифрования и алгоритм расшифрования.<br>[ИСО/МЭК 18033-1, статья 2.20] |
| --- |

<a id="p100067"></a>2.1.14

| <a id="p100068"></a><a id="p100069"></a>шифртекст (ciphertext): Данные, полученные в результате зашифрования открытого текста с целью скрытия его содержания.<br>[ИСО/МЭК 10116, статья 3.3] |
| --- |



#### <a id="p100070"></a>2.2 Обозначения

<a id="p100071"></a>В настоящем стандарте используются следующие обозначения:


| <a id="p100072"></a>V* | <a id="p100073"></a>- множество всех двоичных строк конечной длины, включая пустую строку; |
| --- | --- |
| <a id="p100074"></a>Vs | <a id="p100075"></a>- множество всех двоичных строк длины s, где s - целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево начиная с нуля; |
| <a id="p100076"></a>U x W | <a id="p100077"></a>- прямое (декартово) произведение множества U и множества W; |
| <a id="p100078"></a>\|A\| | <a id="p100079"></a>- число компонент (длина) строки $A \in V^{*}$ (если A - пустая строка, то \|A\| = 0); |
| <a id="p100080"></a>A\|\|B | <a id="p100081"></a>- конкатенация строк $A,B \in V^{*}$ , т.е. строка из V\|A\| + \|B\|, в которой подстрока с большими номерами компонент из V\|A\| совпадает со строкой A, а подстрока с меньшими номерами компонент из V\|B\| совпадает со строкой B; |
| <a id="p100082"></a>$AŒ_{11}$ | <a id="p100083"></a>- циклический сдвиг строки $A \in V_{32}$ на 11 компонент в сторону компонент, имеющих большие номера; |
| <a id="p100084"></a>![формула](https://i.bukva.ai/xk7efEqo/img_0.png) | <a id="p100085"></a>- операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины; |
| <a id="p100086"></a>$Z_{2^{s}}$ | <a id="p100087"></a>- кольцо вычетов по модулю 2s; |
| <a id="p100088"></a>![формула](https://i.bukva.ai/xk7efEqo/img_1.png) | <a id="p100089"></a>- операция сложения в кольце $\mathbb{Z}_{2^{32}}$ ; |
| <a id="p100090"></a>$F$ | <a id="p100091"></a>- конечное поле GF(2)[x]/p(x), где $p(x) = x^{8} + x^{7} + x^{6} + x + 1 \in GF(2)[x]$ ; элементы поля $F$ представляются целыми числами, причем элементу $z_{0} + z_{1} \cdot \theta + ... + z_{7} \cdot \theta^{7} \in F$ соответствует число z0 + 2·z1 + ... + 27·z7, где ${}_{z_{i} \in}{_{0,1}}$ , i = 0, 1, ..., 7 и $\theta$ обозначает класс вычетов по модулю p(x), содержащий x; |
| <a id="p100092"></a>$Vec_{s}:\mathbb{Z}_{2^{s}} \rightarrow V_{s}$ | <a id="p100093"></a>- биективное отображение, сопоставляющее элемент у кольца $\mathbb{Z}_{2^{s}}$ его двоичное представление, т.е. для любого элемента $z \in \mathbb{Z}_{2^{s}}$ , представленного в виде z = z0 + 2·z1 + ... + 2s-1·zs-1, где ${}_{z_{i} \in}{_{0,1}}$ , i = 0, 1, ..., s - 1, выполнено равенство Vecs(z) = = zs-1\|\|...\|\|z1\|\|z0; |
| <a id="p100094"></a>$Int_{s}:V_{s} \rightarrow \mathbb{Z}_{2^{s}}$ | <a id="p100095"></a>- отображение, обратное к отображению Vecs, т.е. Ints = Vecs-1; |
| <a id="p100096"></a>$\Delta:V_{8} \rightarrow F$ | <a id="p100097"></a>- биективное отображение, сопоставляющее двоичной строке из V8 элемент поля $F$ следующим образом: строке z7\|\|...\|\|z1\|\|z0, ${}_{z_{i} \in}{_{0,1}}$ , i = 0, 1, ..., 7 соответствует элемент $z_{0} + + z_{1} \cdot \theta + ... + z_{7} \cdot \theta^{7} \in F$ ; |
| <a id="p100098"></a>$\nabla:F \rightarrow V_{8}$ | <a id="p100099"></a>- отображение, обратное к отображению $\Delta$ , т.е. $\nabla = \Delta^{- 1}$ ; |
| <a id="p100100"></a>$\Phi\Psi$ | <a id="p100101"></a>- композиция отображений, при которой отображение $\Psi$ действует первым; |
| <a id="p100102"></a>Фs | <a id="p100103"></a>- композиция отображений Фs-1 и Ф, причем Ф1 = Ф. |



### 3. <a id="p100104"></a>Общие положения


<a id="p100105"></a>В настоящем стандарте приведено описание двух базовых блочных шифров с длинами блоков n = 128 бит и n = 64 бит и длинами ключей k = 256 бит.
<a id="p100106"></a>Примечания
<a id="p100107"></a>1 На описанный в настоящем стандарте шифр с длиной блока n = 128 бит можно ссылаться как на блочный шифр "Кузнечик" ("Kuznyechik").
<a id="p100108"></a>2 На описанный в настоящем стандарте шифр с длиной блока n = 64 бит можно ссылаться как на блочный шифр "Магма" ("Magma").


### 4. <a id="p100109"></a>Алгоритм блочного шифрования с длиной блока n = 128 бит



#### <a id="p100110"></a>4.1 Значения параметров


##### <a id="p100111"></a>4.1.1 Нелинейное биективное преобразование

<a id="p100112"></a>В качестве нелинейного биективного преобразования выступает подстановка ${}_{\Pi} = Vec_{{}_{8}\Pi\prime}Int_{8}:V_{8} \rightarrow V_{8}$ , где ${}_{\Pi\prime}:Z_{2^{8}} \rightarrow Z_{2^{8}}$ . Значения подстановки $\Pi\prime$ записаны ниже в виде массива ${}_{\Pi\prime} = (_{\Pi\prime}(0),_{\Pi\prime}(1),...,_{\Pi\prime}(255))$ :
<a id="p100113"></a> $\Pi\prime$ = (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, 103, 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).


##### <a id="p100114"></a>4.1.2 Линейное преобразование

<a id="p100115"></a>Линейное преобразование задается отображением $\ell:V_{8}^{16} \rightarrow V_{8}$ , которое определяется следующим образом:

<a id="p100116"></a> ![формула](https://i.bukva.ai/xk7efEqo/img_2.png) (1)

<a id="p100117"></a>для любых $a_{i} \in V_{8}$ , i = 0, 1, ..., 15, где операции сложения и умножения осуществляются в поле $F$ , а константы являются элементами поля в указанном ранее смысле.

#### <a id="p100118"></a>4.2 Преобразования

<a id="p100119"></a>При реализации алгоритмов зашифрования и расшифрования используются следующие преобразования:


| <a id="p100120"></a>$X[k]:V_{128} \rightarrow V_{128}$ | <a id="p100121"></a><a id="p100122"></a>$X[k](a) = ka$ ,<br>где $k,a \in V_{128}$ ; | <a id="p100123"></a>(2) |
| --- | --- | --- |
| <a id="p100124"></a>$S:V_{128} \rightarrow V_{128}$ | <a id="p100125"></a><a id="p100126"></a>![формула](https://i.bukva.ai/xk7efEqo/img_3.png) ,<br>где $a = a_{15}\|\|...\|\|a_{0} \in V_{128}$ , $a_{i} \in V_{8}$ , i = 0, 1, ..., 15; | <a id="p100127"></a>(3) |
| <a id="p100128"></a>$S^{- 1}:V_{128} \rightarrow V_{128}$ | <a id="p100129"></a><a id="p100130"></a><a id="p100131"></a><a id="p100132"></a>преобразование, обратное к преобразованию S, которое может быть вычислено, например, следующим образом:<br>![формула](https://i.bukva.ai/xk7efEqo/img_4.png) ,<br>где $a = a_{15}\|\|...\|\|a_{0} \in V_{128}$ , $a_{i} \in V_{8}$ , i = 0, 1, ..., 15,<br>$\Pi^{- 1}$ - подстановка, обратная к подстановке $\Pi$ ; | <a id="p100133"></a>(4) |
| <a id="p100134"></a>$R:V_{128} \rightarrow V_{128}$ | <a id="p100135"></a><a id="p100136"></a>$R(a) = R(a_{15}\|\|...\|\|a_{0}) = \ell(a_{15},...,a_{0})\|\|a_{15}\|\|...\|\|a_{1}$ ,<br>где $a = a_{15}\|\|...\|\|a_{0} \in V_{128}$ , $a_{i} \in V_{8}$ , i = 0, 1, ..., 15; | <a id="p100137"></a>(5) |
| <a id="p100138"></a>$L:V_{128} \rightarrow V_{128}$ | <a id="p100139"></a><a id="p100140"></a>L(a) = R16(a),<br>где $a \in V_{128}$ ; | <a id="p100141"></a>(6) |
| <a id="p100142"></a>$R^{- 1}:V_{128} \rightarrow V_{128}$ | <a id="p100143"></a><a id="p100144"></a><a id="p100145"></a>преобразование, обратное к преобразованию R, которое может быть вычислено, например, следующим образом:<br>![формула](https://i.bukva.ai/xk7efEqo/img_5.png)<br>где $a = a_{15}\|\|...\|\|a_{0} \in V_{128}$ , $a_{i} \in V_{8}$ , i = 0, 1, ..., 15; | <a id="p100146"></a>(7) |
| <a id="p100147"></a>$L^{- 1}:V_{128} \rightarrow V_{128}$ | <a id="p100148"></a><a id="p100149"></a>L-1(a) = (R-1)16(a),<br>где $a \in V_{128}$ ; | <a id="p100150"></a>(8) |
| <a id="p100151"></a>![формула](https://i.bukva.ai/xk7efEqo/img_6.png) | <a id="p100152"></a><a id="p100153"></a>$F[k](a_{1},a_{0}) = (LSX[k](a_{1})a_{0},a_{1})$ ,<br>где $k,a_{0},a_{1} \in V_{128}$ . | <a id="p100154"></a>(9) |



#### <a id="p100155"></a>4.3 Алгоритм развертывания ключа

<a id="p100156"></a>Алгоритм развертывания ключа использует итерационные константы $C_{i} \in V_{128}$ , i = 1, 2, ..., 32, которые определены следующим образом:

<a id="p100157"></a>Ci = L(Vec128(i)), i = 1, 2, ..., 32. (10)

<a id="p100158"></a>Итерационные ключи $K_{i} \in V_{128}$ , i = 1, 2, ..., 10, вырабатываются на основе ключа $K = = k_{255}||...||k_{0} \in V_{256}$ , $k_{i} \in V_{1}$ , i = 0, 1, ..., 255 и определяются равенствами:

<a id="p100159"></a>K1 = k255||...||k128;

<a id="p100160"></a>K2 = k127||...||k0;

<a id="p100161"></a>(K2i + 1, K2i + 2) = F[C8(i - 1) + 8]...
...F[C8(i - 1) + 1](K2i - 1, К2i), i = 1, 2, 3, 4. (11)


#### <a id="p100162"></a>4.4 Базовый алгоритм шифрования


##### <a id="p100163"></a>4.4.1 Алгоритм зашифрования

<a id="p100164"></a>Алгоритм зашифрования в зависимости от значений итерационных ключей $K_{i} \in V_{128}$ , i = 1, 2, ..., 10, реализует подстановку $E_{K_{1},...,K_{10}}$ , заданную на множестве V128 в соответствии с равенством

<a id="p100165"></a> $E_{K_{1},...,K_{10}}(a) = X[K_{10}]LSX[K_{9}]...LSX[K_{2}]LSX[K_{1}](a)$ , (12)

<a id="p100166"></a>где $a \in V_{128}$ .

##### <a id="p100167"></a>4.4.2 Алгоритм расшифрования

<a id="p100168"></a>Алгоритм расшифрования в зависимости от значений итерационных ключей $K_{i} \in V_{128}$ , i = 1, 2, ..., 10 реализует подстановку $D_{K_{1},...,K_{10}}$ , заданную на множестве V128 в соответствии с равенством

<a id="p100169"></a> $D_{K_{1},...,K_{10}}(a) = X[K_{1}]S^{- 1}L^{- 1}X[K_{2}]...S^{- 1}L^{- 1}X[K_{9}]S^{- 1}L^{- 1}X[K_{10}](a)$ , (13)

<a id="p100170"></a>где $a \in V_{128}$ .


### 5. <a id="p100171"></a>Алгоритм блочного шифрования с длиной блока n = 64 бит



#### <a id="p100172"></a>5.1 Значения параметров


##### <a id="p100173"></a>5.1.1 Нелинейное биективное преобразование

<a id="p100174"></a>В качестве нелинейного биективного преобразования выступают подстановки ${}_{\Pi_{i}} = Vec_{{}_{4}\Pi\prime_{i}}Int_{4}:V_{4} \rightarrow V_{4}$ , где ${}_{\Pi\prime_{i}}:Z_{2^{4}} \rightarrow Z_{2^{4}}$ , i = 0, 1, ..., 7. Значения подстановок $\Pi\prime_{i}$ записаны ниже в виде массивов ${}_{\Pi\prime_{i}} = (_{\Pi\prime_{i}}(0),_{\Pi\prime_{i}}(1),...,_{\Pi\prime_{i}}(15))$ , i = 0, 1, ..., 7:
<a id="p100175"></a> ${}_{\Pi\prime_{0}} = (12,4,6,2,10,5,11,9,14,8,13,7,0,3,15,1)$ ;
<a id="p100176"></a> ${}_{\Pi_{1}\prime} = (6,8,2,3,9,10,5,12,1,14,4,7,11,13,0,15)$ ;
<a id="p100177"></a> ${}_{\Pi\prime_{2}} = (11,3,5,8,2,15,10,13,14,1,7,4,12,9,6,0)$ ;
<a id="p100178"></a> ${}_{\Pi\prime_{3}} = (12,8,2,1,13,4,15,6,7,0,10,5,3,14,9,11)$ ;
<a id="p100179"></a> ${}_{\Pi\prime_{4}} = (7,15,5,10,8,1,6,13,0,9,3,14,11,4,2,12)$ ;
<a id="p100180"></a> ${}_{\Pi\prime_{5}} = (5,13,15,6,9,2,12,10,11,7,8,1,4,3,14,0)$ ;
<a id="p100181"></a> ${}_{\Pi\prime_{6}} = (8,14,2,5,6,9,1,12,15,4,11,0,13,10,3,7)$ ;
<a id="p100182"></a> ${}_{\Pi\prime_{7}} = (1,7,14,13,0,5,8,3,4,15,10,6,9,12,11,2)$ .

#### <a id="p100183"></a>5.2 Преобразования

<a id="p100184"></a>При реализации алгоритмов зашифрования и расшифрования используются следующие преобразования:


| <a id="p100185"></a>$t:V_{32} \rightarrow V_{32}$ | <a id="p100186"></a><a id="p100187"></a>![формула](https://i.bukva.ai/xk7efEqo/img_7.png) ,<br>где $a = a_{7}\|\|...\|\|a_{0} \in V_{32}$ , $a_{i} \in V_{4}$ , i = 0, 1, ..., 7; | <a id="p100188"></a>(14) |
| --- | --- | --- |
| <a id="p100189"></a>$g[k]:V_{32} \rightarrow V_{32}$ | <a id="p100190"></a><a id="p100191"></a>$g[k](a) = (t(Vec_{32}(Int_{32}(a)(Int_{32}(k))))Œ_{11}$ ,<br>где $k,a \in V_{32}$ ; | <a id="p100192"></a>(15) |
| <a id="p100193"></a>$G[k]:V_{32} \times V_{32} \rightarrow V_{32} \times V_{32}$ | <a id="p100194"></a><a id="p100195"></a>$G[k](a_{1},a_{0}) = (a_{0},g[k](a_{0})a_{1})$ ,<br>где $k,a_{0},a_{1} \in V_{32}$ ; | <a id="p100196"></a>(16) |
| <a id="p100197"></a>$G^{*}[k]:V_{32} \times V_{32} \rightarrow V_{64}$ | <a id="p100198"></a><a id="p100199"></a>$G^{*}[k](a_{1},a_{0}) = (g[k](a_{0})a_{1})\|\|a_{0}$ ,<br>где $k,a_{0},a_{1} \in V_{32}$ . | <a id="p100200"></a>(17) |



#### <a id="p100201"></a>5.3 Алгоритм развертывания ключа

<a id="p100202"></a>Итерационные ключи $K_{i} \in V_{32}$ , i = 1, 2, ..., 32, вырабатываются на основе ключа $K = = k_{255}||...||k_{0} \in V_{256}$ , $k_{i} \in V_{1}$ , i = 0, 1, ..., 255 и определяются равенствами:

<a id="p100203"></a>K1 = k255||...||k224;

<a id="p100204"></a>K2 = k223||...||k192;

<a id="p100205"></a>K3 = k191||...||k160;

<a id="p100206"></a>K4 = k159||...||k128;

<a id="p100207"></a>K5 = k127||...||k96;

<a id="p100208"></a>K6 = k95||...||k64;

<a id="p100209"></a>K7 = k63||...||k32;

<a id="p100210"></a>K8 = k31||...||k0;

<a id="p100211"></a>Ki + 8 = Ki, i = 1, 2, ..., 8;

<a id="p100212"></a>Ki + 16 = Ki, i = 1, 2, ..., 8;

<a id="p100213"></a>Ki + 24 = K9 - i, i = 1, 2, ..., 8. (18)


#### <a id="p100214"></a>5.4 Базовый алгоритм шифрования


##### <a id="p100215"></a>5.4.1 Алгоритм зашифрования

<a id="p100216"></a>Алгоритм зашифрования в зависимости от значений итерационных ключей $K_{i} \in V_{32}$ , i = 1, 2, ..., 32 реализует подстановку $E_{K_{1},...,K_{32}}$ , заданную на множестве V64 в соответствии с равенством

<a id="p100217"></a> $E_{K_{1},...,K_{32}}(a) = G^{*}[K_{32}]G[K_{31}]...G[K_{2}]G[K_{1}](a_{1},a_{0})$ , (19)

<a id="p100218"></a>где $a = a_{1}||a_{0} \in V_{64}$ , $a_{0},a_{1} \in V_{32}$ .

##### <a id="p100219"></a>5.4.2 Алгоритм расшифрования

<a id="p100220"></a>Алгоритм расшифрования в зависимости от значений итерационных ключей $K_{i} \in V_{32}$ , i = 1, 2, ..., 32 реализует подстановку $D_{K_{1},...,K_{32}}$ , заданную на множестве V64 в соответствии с равенством

<a id="p100221"></a> $D_{K_{1},...,K_{32}}(a) = G^{*}[K_{1}]G[K_{2}]...G[K_{31}]G[K_{32}](a_{1},a_{0})$ , (20)

<a id="p100222"></a>где $a = a_{1}||a_{0} \in V_{64}$ , $a_{0},a_{1} \in V_{32}$ .





<a id="p100223"></a>Приложение А
(справочное)

<a id="p100224"></a>**КОНТРОЛЬНЫЕ ПРИМЕРЫ**

<a id="p100225"></a>Данное приложение носит справочный характер и не является частью настоящего стандарта.
<a id="p100226"></a>В данном приложении двоичные строки из V*, длина которых кратна 4, записываются в шестнадцатеричном виде, а символ конкатенации ("||") опускается, то есть, строка $a \in V_{4r}$ будет представлена в виде

<a id="p100227"></a>ar - 1ar - 2...a0,

<a id="p100228"></a>где ${}_{a_{i} \in}{_{0,1,...,9,a,b,c,d,e,f}}$ , i = 0, 1, ..., r - 1. Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (таблица А.1). Преобразование, ставящее в соответствие двоичной строке длины 4r шестнадцатеричную строку длины r, и соответствующее обратное преобразование для простоты записи опускаются.

<a id="p100229"></a>Таблица А.1

<a id="p100230"></a>Соответствие между двоичными и шестнадцатеричными строками


| <a id="p100231"></a>0000 | <a id="p100232"></a>0 |
| --- | --- |
| <a id="p100233"></a>0001 | <a id="p100234"></a>1 |
| <a id="p100235"></a>0010 | <a id="p100236"></a>2 |
| <a id="p100237"></a>0011 | <a id="p100238"></a>3 |
| <a id="p100239"></a>0100 | <a id="p100240"></a>4 |
| <a id="p100241"></a>0101 | <a id="p100242"></a>5 |
| <a id="p100243"></a>0110 | <a id="p100244"></a>6 |
| <a id="p100245"></a>0111 | <a id="p100246"></a>7 |
| <a id="p100247"></a>1000 | <a id="p100248"></a>8 |
| <a id="p100249"></a>1001 | <a id="p100250"></a>9 |
| <a id="p100251"></a>1010 | <a id="p100252"></a>a |
| <a id="p100253"></a>1011 | <a id="p100254"></a>b |
| <a id="p100255"></a>1100 | <a id="p100256"></a>c |
| <a id="p100257"></a>1101 | <a id="p100258"></a>d |
| <a id="p100259"></a>1110 | <a id="p100260"></a>e |
| <a id="p100261"></a>1111 | <a id="p100262"></a>f |


<a id="p100263"></a>А.1 Алгоритм блочного шифрования с длиной блока n = 128 бит
<a id="p100264"></a>А.1.1 Преобразование S
<a id="p100265"></a>S(ffeeddccbbaa99881122334455667700) = b66cd8887d38e8d77765aeea0c9a7efc,
<a id="p100266"></a>S(b66cd8887d38e8d77765aeea0c9a7efc) = 559d8dd7bd06cbfe7e7b262523280d39,
<a id="p100267"></a>S(559d8dd7bd06cbfe7e7b262523280d39) = 0c3322fed531e4630d80ef5c5a81c50b,
<a id="p100268"></a>S(0c3322fed531e4630d80ef5c5a81c50b) = 23ae65633f842d29c5df529c13f5acda.
<a id="p100269"></a>А.1.2 Преобразование R
<a id="p100270"></a>R(00000000000000000000000000000100) = 94000000000000000000000000000001,
<a id="p100271"></a>R(94000000000000000000000000000001) = a5940000000000000000000000000000,
<a id="p100272"></a>R(a5940000000000000000000000000000) = 64a59400000000000000000000000000,
<a id="p100273"></a>R(64a59400000000000000000000000000) = 0d64a594000000000000000000000000.
<a id="p100274"></a>А.1.3 Преобразование L
<a id="p100275"></a>L(64a59400000000000000000000000000) = d456584dd0e3e84cc3166e4b7fa2890d,
<a id="p100276"></a>L(d456584dd0e3e84cc3166e4b7fa2890d) = 79d26221b87b584cd42fbc4ffea5de9a,
<a id="p100277"></a>L(79d26221b87b584cd42fbc4ffea5de9a) = 0e93691a0cfc60408b7b68f66b513c13,
<a id="p100278"></a>L(0e93691a0cfc60408b7b68f66b513c13) = e6a8094fee0aa204fd97bcb0b44b8580.
<a id="p100279"></a>А.1.4 Алгоритм развертывания ключа
<a id="p100280"></a>В настоящем контрольном примере ключ имеет значение:
<a id="p100281"></a>K = 8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef.

<a id="p100282"></a>K1 = 8899aabbccddeeff0011223344556677,
<a id="p100283"></a>K2 = fedcba98765432100123456789abcdef.

<a id="p100284"></a>C1 = 6ea276726c487ab85d27bd10dd849401,
<a id="p100285"></a>X[C1](K1) = e63bdcc9a09594475d369f2399d1f276,
<a id="p100286"></a>SX[C1](K1) = 0998ca37a7947aabb78f4a5ae81b748a,
<a id="p100287"></a>LSX[C1](K1) = 3d0940999db75d6a9257071d5e6144a6,
<a id="p100288"></a>F[C1](K1, K2) = (c3d5fa01ebe36f7a9374427ad7ca8949, 8899aabbccddeeff0011223344556677).

<a id="p100289"></a>C2 = dc87ece4d890f4b3ba4eb92079cbeb02,
<a id="p100290"></a>F[C2]F[C1](K1, K2) = (37777748e56453377d5e262d90903f87, c3d<sub>5</sub>fa01ebe36f7a9374427ad7ca8949).

<a id="p100291"></a>C<sub>3</sub> = b2259<sub>a96</sub>b4d88e0be7690430a44f7f03,
<a id="p100292"></a>F[C3]...F[C1](K1, K2) = (f9eae5f29b2815e31f11ac5d9c29fb01, 37777748e56453377d5e262d90903f87).

<a id="p100293"></a>C<sub>4</sub> = 7bcd1b0b73e3<sub>2ba</sub>5b79cb140f2551504,
<a id="p100294"></a>F[C4]...F[C1](K1, K2) = (e980089683d00d4be37dd3434699b98f, f9eae5f29b2815e31f11ac5d9c29fb01).

<a id="p100295"></a>C<sub>5</sub> = 1<sub>56f</sub>6d791fab511deabb0c502fd18105,
<a id="p100296"></a>F[C5]...F[C1](K1, K2) = (b7bd70acea4460714f4ebe13835cf004, e980089683d00d4be37dd3434699b98f).

<a id="p100297"></a>C6 = a74af7efab73df160dd208608b9efe06,
<a id="p100298"></a>F[C6]...F[C1](K1, K2) = (1a46ea1cf6ccd236467287df93fdf974, b7bd70acea4460714f4ebe13835cf004).

<a id="p100299"></a>C7 = c9e8819dc73ba5ae50f5b570561a6a07,
<a id="p100300"></a>F[C7]...F[C1](K1, K2) = (3d4553d8e9cfec6815ebadc40a9ffd04, 1a46ea1cf6ccd236467287df93fdf974).

<a id="p100301"></a>C8 = f6593616e6055689adfba18027aa2a08,
<a id="p100302"></a>(K3, K4) = F[C8]...F[C1](K1, K2) = (db31485315694343228d6aef8cc78c44, 3d4553d8e9cfec6815ebadc40a9ffd04).

<a id="p100303"></a>Итерационные ключи Ki, i = 1, 2, ..., 10 принимают следующие значения:
<a id="p100304"></a>K1 = 8899aabbccddeeff0011223344556677,
<a id="p100305"></a>K2 = fedcba98765432100123456789abcdef,
<a id="p100306"></a>K3 = db31485315694343228d6aef8cc78c44,
<a id="p100307"></a>K4 = 3d4553d8e9cfec6815ebadc40a9ffd04,
<a id="p100308"></a>K5 = 57646468c44a5e28d3e59246f429f1ac,
<a id="p100309"></a>K6 = bd079435165c6432b532e82834da581b,
<a id="p100310"></a>K7 = 51e640757e8745de705727265a0098b1,
<a id="p100311"></a>K8 = 5a7925017b9fdd3ed72a91a22286f984,
<a id="p100312"></a>K9 = bb44e25378c73123a5f32f73cdb6e517,
<a id="p100313"></a>K10 = 72e9dd7416bcf45b755dbaa88e4a4043.
<a id="p100314"></a>А.1.5 Алгоритм зашифрования
<a id="p100315"></a>В настоящем контрольном примере зашифрование производится при значениях итерационных ключей из [А.1.4](#p100279). Пусть открытый текст, подлежащий зашифрованию, равен

<a id="p100316"></a>a = 1122334455667700ffeeddccbbaa9988,

<a id="p100317"></a>тогда
<a id="p100318"></a>X[K1](a) = 99bb99ff99bb99ffffffffffffffffff,
<a id="p100319"></a>SX[K1](a) = e87de8b6e87de8b6b6b6b6b6b6b6b6b6,
<a id="p100320"></a>LSX[K1](a) = e297b686e355b0a1cf4a2f9249140830,
<a id="p100321"></a>LSX[K2]LSX[K1](a) = 285e497a0862d596b36f4258a1c69072,
<a id="p100322"></a>LSX[K3]...LSX[K1](a) = 0187a3a429b567841ad50d29207cc34e,
<a id="p100323"></a>LSX[K4]...LSX[K1](a) = ec9bdba057d4f4d77c5d70619dcad206,
<a id="p100324"></a>LSX[K5]...LSX[K1](a) = 1357fd11de9257290c2a1473eb6bcde1,
<a id="p100325"></a>LSX[K6]...LSX[K1](a) = 28ae31e7d4c2354261027ef0b32897df,
<a id="p100326"></a>LSX[K7]...LSX[K1](a) = 07e223d56002c013d3f5e6f714b86d2d,
<a id="p100327"></a>LSX[K8]...LSX[K1](a) = cd8ef6cd97e0e092a8e4cca61b38bf65,
<a id="p100328"></a>LSX[K9]...LSX[K1](a) = 0d8e40e4a800d06b2f1b37ea379ead8e.
<a id="p100329"></a>Результатом зашифрования является шифртекст

<a id="p100330"></a>b = X[K10]LSX[K9]...LSX[K1](a) =
= <sub>7</sub>f6<sub>79d</sub>90bebc24305a468d42b9d4edcd.

<a id="p100331"></a>А.1.6 Алгоритм расшифрования
<a id="p100332"></a>В настоящем контрольном примере расшифрование производится при значениях итерационных ключей из [А.1.4](#p100279). Пусть шифртекст, подлежащий расшифрованию, равен шифртексту, полученному в предыдущем [пункте](#p100314):

<a id="p100333"></a>b = 7f679d90bebc24305a46<sub>8d</sub>42<sub>b9d4edcd</sub>,

<a id="p100334"></a>тогда
<a id="p100335"></a>X[K10](b) = 0d8e40e4a800d06b2f1b37ea379ead8e,
<a id="p100336"></a>L-1X[K10](b) = 8a6b930a52211b45c5baa43ff8b91319,
<a id="p100337"></a>S-1L-1X[K10](b) = 76ca149eef27d1b10d17e3d5d68e5a72,
<a id="p100338"></a>S-1L-1X[K9]S-1L-1X[K10](b) = 5d9b06d41b9d1d2d04df7755363e94a9,
<a id="p100339"></a>S-1L-1X[K8]...S-1L-1X[K10](b) = 79487192aa45709c115559d6e9280f6e,
<a id="p100340"></a>S-1L-1X[K7]...S-1L-1X[K10](b) = ae506924c8ce331bb918fc5bdfb195fa,
<a id="p100341"></a>S-1L-1X[K6]...S-1L-1X[K10](b) = bbffbfc8939eaaffafb8e22769e323aa,
<a id="p100342"></a>S-1L-1X[K5]...S-1L-1X[K10](b) = 3cc2f07cc07a8bec0f3ea0ed2ae33e4a,
<a id="p100343"></a>S-1L-1X[K4]...S-1L-1X[K10](b) = f36f01291d0b96d591e228b72d011c36,
<a id="p100344"></a>S-1L-1X[K3]...S-1L-1X[K10](b) = 1c4b0c1e950182b1ce696af5c0bfc5df,
<a id="p100345"></a>S-1L-1X[K2]...S-1L-1X[K10](b) = 99bb99ff99bb99ffffffffffffffffff.
<a id="p100346"></a>Результатом расшифрования является открытый текст

<a id="p100347"></a>a = X[K1]S-1L-1X[K2]...S-1L-1X[K10](b) =
= 1122334455667700ffeeddccbbaa9988.

<a id="p100348"></a>А.2 Алгоритм блочного шифрования с длиной блока n = 64 бит
<a id="p100349"></a>А.2.1 Преобразование t
<a id="p100350"></a>t(fdb97531) = 2a196f34,
<a id="p100351"></a>t(2a196f34) = ebd9f03a,
<a id="p100352"></a>t(ebd9f03a) = b039bb3d,
<a id="p100353"></a>t(b039bb3d) = 68695433.
<a id="p100354"></a>А.2.2 Преобразование g
<a id="p100355"></a>g[87654321](fedcba98) = fdcbc20c,
<a id="p100356"></a>g[fdcbc20c](87654321) = 7e791a4b,
<a id="p100357"></a>g[7e791a4b](fdcbc20c) = c76549ec,
<a id="p100358"></a>g[c76549ec](7e791a4b) = 9791c849.
<a id="p100359"></a>А.2.3 Алгоритм развертывания ключа
<a id="p100360"></a>В настоящем контрольном примере ключ имеет значение:

<a id="p100361"></a>K = ffeedd<sub>ccbbaa99</sub>887766554433221100f0f1f2f3f4f5f6f7f8f9
fafbfcfdfeff.

<a id="p100362"></a>Итерационные ключи Ki, i = 1, 2, ..., 32 принимают следующие значения:
<a id="p100363"></a>K<sub>1</sub> = ffeeddcc,
K2 = bbaa9988,
K3 = 77665544,
K4 = 33221100,
K5 = f0f1f2f3,
K6 = f4f5f6f7,
K7 = f8f9fafb,
K8 = fcfdfeff,
K9 = ffeeddcc,
K10 = bbaa9988,
K11 = 77665544,
K12 = 33221100,
K13 = f0f1f2f3,
K14 = f4f5f6f7,
K15 = f8f9fafb,
K16 = fcfdfeff,
K17 = ffeeddcc,
K18 = bbaa9988,
K19 = 77665544,
K20 = 33221100,
K21 = f0f1f2f3,
K22 = f4f5f6f7,
K23 = f8f9fafb,
K24 = fcfdfeff,
K25 = fcfdfeff,
K26 = f8f9fafb,
K27 = f4f5f6f7,
K28 = f0f1f2f3,
K29 = 33221100,
K30 = 77665544,
K31 = bbaa9988,
K32 = ffeeddcc.
<a id="p100364"></a>А.2.4 Алгоритм зашифрования
<a id="p100365"></a>В настоящем контрольном примере зашифрование производится при значениях итерационных ключей из [А.2.3](#p100359). Пусть открытый текст, подлежащий зашифрованию, равен

<a id="p100366"></a>a = fedcba9876543210,

<a id="p100367"></a>тогда
<a id="p100368"></a>(a1, a0) = (fedcba98, 76543210),
<a id="p100369"></a>G[K<sub>1</sub>](a<sub>1</sub>, a0) = (76543210, 28da3b14),
<a id="p100370"></a>G[K2]G[K1](a1, a0) = (28da3b14, b14337a5),
<a id="p100371"></a>G[K3]...G[K1](a1, a0) = (b14337a5, 633a7c68),
<a id="p100372"></a>G[K4]...G[K1](a1, a0) = (633a7c68, ea89c02c),
<a id="p100373"></a>G[K5]...G[K1](a1, a0) = (ea89c02c, 11fe726d),
<a id="p100374"></a>G[K6]...G[K1](a1, a0) = (11fe726d, ad0310a4),
<a id="p100375"></a>G[K7]...G[K1](a1, a0) = (ad0310a4, 37d97f25),
<a id="p100376"></a>G[K8]...G[K1](a1, a0) = (37d97f25, 46324615),
<a id="p100377"></a>G[K9]...G[K1](a1, a0) = (46324615, ce995f2a),
<a id="p100378"></a>G[K10]...G[K1](a1, a0) = (ce995f2a, 93c1f449),
<a id="p100379"></a>G[K11]...G[K1](a1, a0) = (93c1f449, 4811c7ad),
<a id="p100380"></a>G[K12]...G[K1](a1, a0) = (4811c7ad, c4b3edca),
<a id="p100381"></a>G[K13]...G[K1](a1, a0) = (c4b3edca, 44ca5ce1),
<a id="p100382"></a>G[K14]...G[K1](a1, a0) = (44ca5ce1, fef51b68),
<a id="p100383"></a>G[K15]...G[K1](a1, a0) = (fef51b68, 2098cd86),
<a id="p100384"></a>G[K16]...G[K1](a1, a0) = (2098cd86, 4f15b0bb),
<a id="p100385"></a>G[K17]...G[K1](a1, a0) = (4f15b0bb, e32805bc),
<a id="p100386"></a>G[K18]...G[K1](a1, a0) = (e32805bc, e7116722),
<a id="p100387"></a>G[K19]...G[K1](a1, a0) = (e7116722, 89cadf21),
<a id="p100388"></a>G[K20]...G[K1](a1, a0) = (89cadf21, bac8444d),
<a id="p100389"></a>G[K21]...G[K1](a1, a0) = (bac8444d, 11263a21),
<a id="p100390"></a>G[K22]...G[K1](a1, a0) = (11263a21, 625434c3),
<a id="p100391"></a>G[K23]...G[K1](a1, a0) = (625434c3, 8025c0a5),
<a id="p100392"></a>G[K24]...G[K1](a1, a0) = (8025c0a5, b0d66514),
<a id="p100393"></a>G[K25]...G[K1](a1, a0) = (b0d66514, 47b1d5f4),
<a id="p100394"></a>G[K26]...G[K1](a1, a0) = (47b1d5f4, c78e6d50),
<a id="p100395"></a>G[K27]...G[K1](a1, a0) = (c78e6d50, 80251e99),
<a id="p100396"></a>G[K28]...G[K1](a1, a0) = (80251e99, 2b96eca6),
<a id="p100397"></a>G[K29]...G[K1](a1, a0) = (2b96eca6, 05ef4401),
<a id="p100398"></a>G[K30]...G[K1](a1, a0) = (05ef4401, 239a4577),
<a id="p100399"></a>G[K31]...G[K1](a1, a0) = (239a4577, c2d8ca3d).
<a id="p100400"></a>Результатом зашифрования является шифртекст

<a id="p100401"></a>b = G*[K32]G[K31]...G[K1](a1, a0) = 4ee901e5c2d8ca3d.

<a id="p100402"></a>А.2.5 Алгоритм расшифрования
<a id="p100403"></a>В настоящем контрольном примере расшифрование производится при значениях итерационных ключей из [А.2.3](#p100359). Пусть шифртекст, подлежащий расшифрованию, равен шифртексту, полученному в предыдущем [пункте](#p100364):

<a id="p100404"></a>b = <sub>4</sub>ee901e5c2d8ca3d,

<a id="p100405"></a>тогда
<a id="p100406"></a>(b1, b0) = (4ee901e5, c2d8ca3d),
<a id="p100407"></a>G[K32](b1, b0) = (c2d8ca3d, 239a4577),
<a id="p100408"></a>G[K31]G[K32](b1, b0) = (239a4577, 05ef4401),
<a id="p100409"></a>G[K30]...G[K32](b1, b0) = (05ef4401,2b96eca6),
<a id="p100410"></a>G[K29]...G[K32](b1, b0) = (2b96eca6, 80251e99),
<a id="p100411"></a>G[K28]...G[K32](b1, b0) = (80251e99, c78e6d50),
<a id="p100412"></a>G[K27]...G[K32](b1, b0) = (c78e6d50, 47b1d5f4),
<a id="p100413"></a>G[K26]...G[K32](b1, b0) = (47b1d5f4, b0d66514),
<a id="p100414"></a>G[K25]...G[K32](b1, b0) = (b0d66514, 8025c0a5),
<a id="p100415"></a>G[K24]...G[K32](b1, b0) = (8025c0a5, 625434c3),
<a id="p100416"></a>G[K23]...G[K32](b1, b0) = (625434c3, 11263a21),
<a id="p100417"></a>G[K22]...G[K32](b1, b0) = (11263a21, bac8444d),
<a id="p100418"></a>G[K21]...G[K32](b1, b0) = (bac8444d, 89cadf21),
<a id="p100419"></a>G[K20]...G[K32](b1, b0) = (89cadf21, e7116722),
<a id="p100420"></a>G[K19]...G[K32](b1, b0) = (e7116722, e32805bc),
<a id="p100421"></a>G[K18]...G[K32](b1, b0) = (e32805bc, 4f15b0bb),
<a id="p100422"></a>G[K17]...G[K32](b1, b0) = (4f15b0bb, 2098cd86),
<a id="p100423"></a>G[K16]...G[K32](b1, b0) = (2098cd86, fef51b68),
<a id="p100424"></a>G[K15]...G[K32](b1, b0) = (fef51b68, 44ca5ce1),
<a id="p100425"></a>G[K14]...G[K32](b1, b0) = (44ca5ce1, c4b3edca),
<a id="p100426"></a>G[K13]...G[K32](b1, b0) = (c4b3edca, 4811c7ad),
<a id="p100427"></a>G[K12]...G[K32](b1, b0) = (4811c7ad, 93c1f449),
<a id="p100428"></a>G[K11]...G[K32](b1, b0) = (93c1f449, ce995f2a),
<a id="p100429"></a>G[K10]...G[K32](b1, b0) = (ce995f2a, 46324615),
<a id="p100430"></a>G[K9]...G[K32](b1, b0) = (46324615, 37d97f25),
<a id="p100431"></a>G[K8]...G[K32](b1, b0) = (37d97f25, ad0310a4),
<a id="p100432"></a>G[K7]...G[K32](b1, b0) = (ad0310a4, 11fe726d),
<a id="p100433"></a>G[K6]...G[K32](b1, b0) = (11fe726d, ea89c02c),
<a id="p100434"></a>G[K5]...G[K32](b1, b0) = (ea89c02c, 633a7c68),
<a id="p100435"></a>G[K4]...G[K32](b1, b0) = (633a7c68, b14337a5),
<a id="p100436"></a>G[K3]...G[K32](b1, b0) = (b14337a5, 28da3b14),
<a id="p100437"></a>G[K2]...G[K32](b1, b0) = (28da3b14, 76543210).
<a id="p100438"></a>Результатом расшифрования является открытый текст

<a id="p100439"></a>a = G*[K1]G[K2]...G[K32](b<sub>1</sub>, b<sub>0</sub>) = fedcba9876543210.





<a id="p100440"></a>Библиография <*>


<a id="p100441"></a>

---

<a id="p100442"></a><*> Оригиналы международных стандартов ИСО/МЭК находятся во ФГУП "Стандартинформ" Федерального агентства по техническому регулированию и метрологии.


| <a id="p100443"></a>[1] | <a id="p100444"></a>ИСО/МЭК 10116:2006 (ISO/IEC 10116:2006) | <a id="p100445"></a>Информационные технологии. Методы обеспечения безопасности. Режимы работы для n-битовых блочных шифров (Information technology - Security techniques - Modes of operation for an n-bit block cipher) |
| --- | --- | --- |
| <a id="p100446"></a>[2] | <a id="p100447"></a>ИСО/МЭК 18033-<sub>1</sub>:2005 (ISO/IEC 18033-1:2005) | <a id="p100448"></a>Информационные технологии. Методы и средства обеспечения безопасности. Алгоритмы шифрования. Часть 1. Общие положения (Information technology - Security techniques - Encryption algorithms - Part 1: General) |
| <a id="p100449"></a>[3] | <a id="p100450"></a>ИСО/МЭК 18033-3:2010 (ISO/IEC 18033-3:2010) | <a id="p100451"></a>Информационные технологии. Методы и средства обеспечения безопасности. Алгоритмы шифрования. Часть 3. Блочные шифры (Information technology - Security techniques - Encryption algorithms - Part 3: Block ciphers) |




<a id="p100452"></a>

---
