ГОСТ Р 34.13-2015. Национальный стандарт Российской Федерации. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров
Приложение А
(справочное)
КОНТРОЛЬНЫЕ ПРИМЕРЫ
Данное приложение носит справочный характер и не является частью настоящего стандарта.
В данном приложении содержатся примеры для зашифрования и расшифрования сообщений, а также выработки имитовставки, с использованием режимов работы шифра, определенных в данном стандарте. Параметр s выбран равным n с целью упрощения проводимых вычислений, а параметр m выбирался из соображений демонстрации особенностей каждого режима шифрования. Двоичные строки из V*, длина которых кратна 4, записываются в шестнадцатеричном виде, а символ конкатенации ("||") опускается. То есть, строка будет представлена в виде ar-1ar-2...a0, где
, i = 0, 1, ..., r - 1.
В А.1 приведены примеры для блочного шифра с длиной блока n = 128 бит ("Кузнечик"). В А.2 приведены примеры для блочного шифра с длиной блока n = 64 бит ("Магма").
А.1 Блочный шифр с длиной блока n = 128 бит
Примеры используют следующие параметры:
Ключ
K = 8899aabbccddeeff0011223344556677fedcba98765432100123456789abcdef.
Открытый текст - четыре 128-битных блока:
P1 = 1122334455667700ffeeddccbbaa9988,
P2 = 00112233445566778899aabbcceeff0a,
P3 = 112233445566778899aabbcceeff0a00,
P4 = 2233445566778899aabbcceeff0a0011.
А.1.1 Режим простой замены
Таблица А.1
Зашифрование в режиме простой замены
Открытый текст | Шифртекст |
1122334455667700ffeeddccbbaa9988 | 7f679d90bebc24305a468d42b9d4edcd |
00112233445566778899aabbcceeff0a | b429912c6e0032f9285452d76718d08b |
112233445566778899aabbcceeff0a00 | f0ca33549d247ceef3f5a5313bd4b157 |
2233445566778899aabbcceeff0a0011 | d0b09ccde830b9eb3a02c4c5aa8ada98 |
А.1.2 Режим гаммирования
А.1.2.1 Зашифрование
s = n = 128,
IV = 1234567890abcef0.
Таблица А.2
Зашифрование в режиме гаммирования
i | 1 | 2 |
Pi | 1122334455667700ffeeddccbbaa9988 | 00112233445566778899aabbcceeff0a |
Входной блок | 1234567890abcef00000000000000000 | 1234567890abcef00000000000000001 |
Выходной блок | e0b7ebfa9468a6db2a95826efb173830 | 85ffc500b2f4582a7ba54e08f0ab21ee |
Ci | f195d8bec10ed1dbd57b5fa240bda1b8 | 85eee733f6a13e5df33ce4b33c45dee4 |
Окончание таблицы А.2
i | 3 | 4 |
Pi | 112233445566778899aabbcceeff0a00 | 2233445566778899aabbcceeff0a0011 |
Входной блок | 1234567890abcef00000000000000002 | 1234567890abcef00000000000000003 |
Выходной блок | b4c8dbcfb353195b4c42cc3ddb9ba9a5 | e9a2bee4947b322f7b7d1db6dfb7ba62 |
Ci | a5eae88be6356ed3d5e877f13564a3a5 | cb91fab1f20cbab6d1c6d15820bdba73 |
А.1.2.2 Расшифрование
С использованием приведенных значений K, IV, и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.1.3 Режим гаммирования с обратной связью по выходу
А.1.3.1 Зашифрование
s = n = 128, m = 2n = 256,
IV = 1234567890abcef0a1b2c3d4e5f0011223344556677889901213141516171819.
Таблица А.3
Зашифрование в режиме гаммирования с обратной связью
по выходу
i | 1 | 2 |
Pi | 1122334455667700ffeeddccbbaa9988 | 00112233445566778899aabbcceeff0a |
Входной блок | 1234567890abcef0a1b2c3d4e5f00112 | 23344556677889901213141516171819 |
Выходной блок | 90a2391de4e25c2400f1a49232d0241d | ed4a659440d99cc3072c8b8d517dd9b5 |
Ci | 81800a59b1842b24ff1f795e897abd95 | ed5b47a7048cfab48fb521369d9326bf |
Окончание таблицы А.3
i | 3 | 4 |
Pi | 112233445566778899aabbcceeff0a00 | 2233445566778899aabbcceeff0a0011 |
Входной блок | 90a2391de4e25c2400f1a49232d0241d | ed4a659440d99cc3072c8b8d517dd9b5 |
Выходной блок | 778064e869c6cf3951a55c30fed78013 | 020dff9500640ef90a92eead099a3141 |
Ci | 66a257ac3ca0b8b1c80fe7fc10288a13 | 203ebbc066138660a0292243f6903150 |
А.1.3.2 Расшифрование
С использованием приведенных значений K, IV, и C и с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.1.4 Режим простой замены с зацеплением
А.1.4.1 Зашифрование
m = 2n = 256,
IV = 1234567890abcef0a1b2c3d4e5f0011223344556677889901213141516171819.
Таблица А.4
Зашифрование в режиме простой замены с зацеплением
i | 1 | 2 |
Pi | 1122334455667700ffeeddccbbaa9988 | 00112233445566778899aabbcceeff0a |
Входной блок | 0316653cc5cdb9f05e5c1e185e5a989a | 23256765232defe79a8abeaedaf9e713 |
Выходной блок | 689972d4a085fa4d90e52e3d6d7dcc27 | 2826e661b478eca6af1e8e448d5ea5ac |
Ci | 689972d4a085fa4d90e52e3d6d7dcc27 | 2826e661b478eca6af1e8e448d5ea5ac |
Окончание таблицы А.4
i | 3 | 4 |
Pi | 112233445566778899aabbcceeff0a00 | 2233445566778899aabbcceeff0a0011 |
Входной блок | 79bb4190f5e38dc5094f95f18382c627 | 0a15a234d20f643f05a542aa7254a5bd |
Выходной блок | fe7babf1e91999e85640e8b0f49d90d0 | 167688065a895c631a2d9a1560b63970 |
Ci | fe7babf1e91999e85640e8b0f49d90d0 | 167688065a895c631a2d9a1560b63970 |
А.1.4.2 Расшифрование
С использованием приведенных значений K, IV и C и с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.1.5 Режим гаммирования с обратной связью по шифртексту
А.1.5.1 Зашифрование
s = n = 128, m = 2n = 256,
IV = 1234567890abcef0a1b2c3d4e5f0011223344556677889901213141516171819.
Таблица А.5
Зашифрование в режиме гаммирования с обратной связью
по шифртексту
i | 1 | 2 |
Pi | 1122334455667700ffeeddccbbaa9988 | 00112233445566778899aabbcceeff0a |
Входной блок | 1234567890abcef0a1b2c3d4e5f00112 | 23344556677889901213141516171819 |
Выходной блок | 90a2391de4e25c2400f1a49232d0241 d | ed4a659440d99cc3072c8b8d517dd9b5 |
Ci | 81800a59b1842b24ff1f795e897abd95 | ed5b47a7048cfab48fb521369d9326bf |
Окончание таблицы А.5
i | 3 | 4 |
Pi | 112233445566778899aabbcceeff0a00 | 2233445566778899aabbcceeff0a0011 |
Входной блок | 81800a59b1842b24ff1f795e897abd95 | ed5b47a7048cfab48fb521369d9326bf |
Выходной блок | 68d09baf09a0fab01d879d82795d32b5 | 6dcdfa9828e5a57f6de01533bbf1f4c0 |
Ci | 79f2a8eb5cc68d38842d264e97a238b5 | 4ffebecd4e922de6c75bd9dd44fbf4d1 |
А.1.5.2 Расшифрование
С использованием приведенных значений K, IV и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.1.6 Режим выработки имитовставки
А.1.6.1 Выработка вспомогательных ключей
R = 94bec15e269cf1e506f02b994c0a8ea0,
MSB1(R) = 1,
MSB1(K1) = 0,
K2 = K1 << 1 = 297d82bc4d39e3ca0de0573298151dc7 << 1 = 52fb05789a73c7941bc0ae65302a3b8e,
|P4| = n, K* = K1.
А.1.6.2 Вычисление имитовставки
s = 64.
Таблица А.6
Вычисление имитовставки
i | 1 | 2 |
Pi | 1122334455667700ffeeddccbbaa9988 | 00112233445566778899aabbcceeff0a |
Входной блок | 1122334455667700ffeeddccbbaa9988 | 7f76bfa3fae94247d2df27f9753a12c7 |
Выходной блок | 7f679d90bebc24305a468d42b9d4edcd | 1ac9d976f83636f55ae9ef305e7c90d2 |
Окончание таблицы А.6
i | 3 | 4 |
Pi | 112233445566778899aabbcceeff0a00 | 2233445566778899aabbcceeff0a0011 |
Входной блок | 0bebea32ad50417dc34354fcb0839ad2 | 1e2a9c1d8cc03bfa0cb340971252fe24 |
Выходной блок | 15645af4a78e50a9abe8db4b754de3f2 | 336f4d296059fbe34ddeb35b37749c67 |
А.2 Блочный шифр с длиной блока n = 64 бит
Примеры используют следующие параметры.
Ключ
K = ffeeddccbbaa99887766554433221100f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff.
Открытый текст - четыре 64-битных блока:
P1 = 92def06b3c130a59,
P2 = db54c704f8189d20,
P3 = 4a98fb2e67a8024c,
P4 = 8912409b17b57e41.
А.2.1 Режим простой замены
Таблица А.7
Зашифрование в режиме простой замены
Открытый текст | Шифртекст |
92def06b3c130a59 | 2b073f0494f372a0 |
db54c704f8189d20 | de70e715d3556e48 |
4a98fb2e67a8024c | 11d8d9e9eacfbc1e |
8912409b17b57e41 | 7c68260996c67efb |
А.2.2 Режим гаммирования
А.2.2.1 Зашифрование
s = n = 64,
IV = 12345678.
Таблица А.8
Зашифрование в режиме гаммирования
i | 1 | 2 |
Pi | 92def06b3c130a59 | db54c704f8189d20 |
Входной блок | 1234567800000000 | 1234567800000001 |
Выходной блок | dc46e167aba4b365 | e571ca972ef0c049 |
Ci | 4e98110c97b7b93c | 3e250d93d6e85d69 |
Окончание таблицы А.8
i | 3 | 4 |
Pi | 4a98fb2e67a8024c | 8912409b17b57e41 |
Входной блок | 1234567800000002 | 1234567800000003 |
Выходной блок | 59f57da6601ad9a3 | df9cf61bbce7df6c |
Ci | 136d868807b2dbef | 568eb680ab52a12d |
А.2.2.2 Расшифрование
С использованием приведенных значений K, IV и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.2.3 Режим гаммирования с обратной связью по выходу
А.2.3.1 Зашифрование
s = n = 64, m = 2n = 128,
IV = 1234567890abcdef234567890abcdef1.
Таблица А.9
Зашифрование в режиме гаммирования с обратной связью
i | 1 | 2 |
Pi | 92def06b3c130a59 | db54c704f8189d20 |
Входной блок | 1234567890abcdef | 234567890abcdef1 |
Выходной блок | 49e910895a8336da | d612a348e78295bc |
Ci | db37e0e266903c83 | 0d46644c1f9a089c |
Окончание таблицы А.9
i | 3 | 4 |
Pi | 4a98fb2e67a8024c | 8912409b17b57e41 |
Входной блок | 49e910895a8336da | d612a348e78295bc |
Выходной блок | ea60cb4c24a63032 | 4136af23aafaa544 |
Ci | a0f83062430e327e | c824efb8bd4fdb05 |
А.2.3.2 Расшифрование
С использованием приведенных значений K, IV и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.2.4 Режим простой замены с зацеплением
А.2.4.1 Зашифрование
m = 3n = 192,
IV = 1234567890abcdef234567890abcdef134567890abcdef12.
Таблица А.10
Зашифрование в режиме простой замены с зацеплением
i | 1 | 2 |
Pi | 92def06b3c130a59 | db54c704f8189d20 |
Входной блок | 80eaa613acb8c7b6 | f811a08df2a443d1 |
Выходной блок | 96d1b05eea683919 | aff76129abb937b9 |
Ci | 96d1b05eea683919 | aff76129abb937b9 |
Окончание таблицы А.10
i | 3 | 4 |
Pi | 4a98fb2e67a8024c | 8912409b17b57e41 |
Входной блок | 7ece83becc65ed5e | 1fc3f0c5fddd4758 |
Выходной блок | 5058b4a1c4bc0019 | 20b78b1a7cd7e667 |
Ci | 5058b4a1c4bc0019 | 20b78b1a7cd7e667 |
А.2.4.2 Расшифрование
С использованием приведенных значений K, IV и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.2.5 Режим гаммирования с обратной связью по шифртексту
А.2.5.1 Зашифрование
s = n = 64, m = 2n = 128,
IV = 1234567890abcdef234567890abcdef1.
Таблица А.11
Зашифрование в режиме гаммирования с обратной связью
по шифртексту
i | 1 | 2 |
Pi | 92def06b3c130a59 | db54c704f8189d20 |
Входной блок | 1234567890abcdef | 234567890abcdef1 |
Выходной блок | 49e910895a8336da | d612a348e78295bc |
Ci | db37e0e266903c83 | 0d46644c1f9a089c |
Окончание таблицы А.11
i | 3 | 4 |
Pi | 4a98fb2e67a8024c | 8912409b17b57e41 |
Входной блок | db37e0e266903c83 | 0d46644c1f9a089c |
Выходной блок | 6e25292d34bdd1c7 | 35d2728f36b22b44 |
Ci | 24bdd2035315d38b | bcc0321421075505 |
А.2.5.2 Расшифрование
С использованием приведенных значений K, IV и C с помощью операции расшифрования воспроизводятся исходные значения P1, P2, P3, P4.
А.2.6 Режим выработки имитовставки
А.2.6.1 Выработка вспомогательных ключей
R = 2fa2cd99a1290a12,
MSB1(R) = 0, K1 = R << 1 = 5f459b3342521424,
MSB1(K1) = 0, следовательно K2 = K1 << 1 = be8b366684a42848,
|P4| = n, K* = K1.
А.2.6.2 Вычисление имитовставки
s = 32.
Таблица А.12
Вычисление имитовставки
i | 1 | 2 |
Pi | 92def06b3c130a59 | db54c704f8189d20 |
Входной блок | 92def06b3c130a59 | f053f8006cebef80 |
Выходной блок | 2b073f0494f372a0 | c89ed814fd5e18e9 |
Окончание таблицы А.12
i | 3 | 4 |
Pi | 4a98fb2e67a8024c | 8912409b17b57e41 |
Входной блок | 8206233a9af61aa5 | 216e6a2561cff165 |
Выходной блок | f739b18d34289b00 | 154e72102030c5bb |
MAC = 154e7210.
