ГОСТ 34.12-2018
Информационная технология. Криптографическая защита информации. Блочные шифры
Цена на этот документ пока неизвестна. Нажмите кнопку «Купить» и сделайте заказ, и мы пришлем вам цену.
Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО «ЦНТИ Нормоконтроль»
Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.
Способы доставки
- Срочная курьерская доставка (1-3 дня)
- Курьерская доставка (7 дней)
- Самовывоз из московского офиса
- Почта РФ
Определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах. Определенные в стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации. Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.
- Заменяет ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритмы криптографического преобразования» в части раздела 1"Структурная схема алгоритма криптографического преобразования"; ИУС 2-2019
Оглавление
1 Область применения
2 Термины, определения и обозначения
2.1 Термины и определения
3 Общие положения
4 Алгоритм блочного шифрования с длиной блока n = 128 бит
4.1 Значения параметров
4.3 Алгоритм развертывания ключа
4.4 Базовый алгоритм шифрования
5 Алгоритм блочного шифрования с длиной блока n = 64 бит
5.1 Значения параметров
5.3 Алгоритм развертывания ключа
5.4 Базовый алгоритм шифрования
Приложение А (справочное) Контрольные примеры
Дата введения | 01.06.2019 |
---|---|
Добавлен в базу | 01.02.2020 |
Актуализация | 01.01.2021 |
Этот ГОСТ находится в:
- Раздел Экология
- Раздел 35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ
- Раздел 35.040 Наборы знаков и кодирование информации
- Раздел 35.040.01 Кодирование информации
- Раздел Электроэнергия
- Раздел 35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ
- Раздел 35.040 Наборы знаков и кодирование информации
- Раздел 35.040.01 Кодирование информации
Организации:
29.11.2018 Утвержден Межгосударственный Совет по стандартизации, метрологии и сертификации 54 04.12.2018 Утвержден Федеральное агентство по техническому регулированию и метрологии 1061-ст Разработан ОАО ИнфоТеКС Издан Стандартинформ 2018 г. Information technology. Cryptographic data security. Block ciphers
Чтобы бесплатно скачать этот документ в формате PDF, поддержите наш сайт и нажмите кнопку:
МЕЖГОСУДАРСТВЕННЫЙ СОВЕТ ПО СТАНДАРТИЗАЦИИ, МЕТРОЛОГИИ И СЕРТИФИКАЦИИ
INTERSTATE COUNCIL FOR STANDARDIZATION, METROLOGY AND CERTIFICATION
Информационная технология КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Блочные шифры
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 1.0-2015 «Межгосударственная система стандартизации. Основные положения» и ГОСТ 1.2-2015 «Межгосударственная система стандартизации. Стандарты межгосударственные. правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия. обновления и отмены»
Сведения о стандарте
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС»)
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»
3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. № 54)
За принятие проголосовали:
Краткое наименование страны no МК (ИСО 3166)004—97
Код страны по МК (ИСО 3166)004—97
Сокращенное наименование национального органа по стандартизации
Минэкономики Республики Армения
4 Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. № 1061-ст межгосударственный стандарт ГОСТ 34.12-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.
5 Настоящий стандарт подготовлен на основе применения ГОСТ Р 34.12-2015
6 ВЗАМЕН ГОСТ 28147-89 в части раздела 1 «Структурная схема алгоритма криптографического преобразования»
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе «Национальные стандарты», а текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
©Стандартинформ. оформление. 2018
В Российской Федерации настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии
5.4 Базовый алгоритм шифрования
5.4.1 Алгоритм зашифрования
Алгоритм зашифрования в зависимости от значений итерационных ключей К,е У32, / = 1.2,. реализует подстановку к^, заданную на множестве в соответствии с равенством
5.4.2 Алгоритм расшифрования
Алгоритм расшифрования в зависимости от значений итерационных ключей К(е У32. / = 12.. реализует подстановку Кз?. заданную на множестве в соответствии с равенством
Приложение А (справочное)
А.1 Общие положения
Настоящее приложение носит справочный характер и не является частью нормативных положений настоящего стандарта
В настоящем приложении двоичные строки из V*. длина которых кратна 4. записываются в шестнадцатеричном виде, а символ конкатенации («||”) опускается, т е строка а е V4r будет представлена в виде
где а,е <0Л. 9, а. Ь. с. d.e, f>. / = ОД. г-l. Соответствие между двоичными строками длины 4 и шестнадцатеричными строками длины 1 задается естественным образом (см таблицу А 1) Преобразование, ставящее в соответствие двоичной строке длины 4г шестнадцатеричную строку длины г, и соответствующее обратное преобразование для простоты записи опускаются
Таблица А1 — Соответствие между двоичными и шестнадцатеричными строками
А.2 Алгоритм блочного шифрования с длиной блока п- 128 бит А.2.1 Преобразование S
S(ffeeddccbbaa99S81122334455667700) = b66cd8887d38e8d77765aeea0c9a7efc. S(b66cd8887d38e8d77765aeea0c9a7efc) = 559d8dd7bd06cbfe7e7b262523280d39. S(559d8dd7bd06cbfe7e7b262523280d39) = 0c3322fed53le4630d80ef5c5a8lc50b, S(0c3322fed531e4630d80ef5c5a81c50b) = 23ae65633f842d29c5df529c13f5acda.
A.2.2 Преобразование R
tf(00000000000000000000000000000100) = 94000000000000000000000000000001. ft(94000000000000000000000000000001) = 35940000000000000000000000000000. Ж05940000000000000000000000000000) = 64059400000000000000000000000000. R(64a59400000000000000000000000000) = 0d64a594000000000000000000000000. A.2.3 Преобразование L
L(64a59400000000000000000000000000) = d456584dd0e3e84cc3166e4b7fa2890d, L(d456584dd0e3e84cc3166e4b7fa2890d) = 79d26221b87b584cd42fbc4ffea5de9a. Z.(79d26221b87b584cd42fbc4ffea5de9a) = 0e93691a0cfc60408b7b68f66b513c13. Z.(0e93691a0cfc60408b7b68f66b513c13) = e6a8094fee0aa204fd97bcb0b44b8580.
A.2.4 Алгоритм развертывания ключа
В настоящем контрольном примере ключ имеет значение
Х(С,КК,)« e63bdcc9a095944 75d369f2399d 1 f276.
SXICjKK,) = 0998ca37a7947aabb78f4a5ae81 b748a,
F[C,](K1a K2) = (C3d5fa01ebe36f7a9374427ad7ca8949. 8899aabbccddeeff0011223344556677).
FIC^JF^KK,. K2) = (37777748e56453377d5e262d90903f87. C3d5fa01ebe36f7a9374427ad7ca8949).
F[C3). FiqKK,. K2) = (f9eae5(29b2815e31f11ac5d9c29fb01.37777748e56453377d5e262d90903f87). C4 = 7bcd1b0b73e32ba5b79cb140f2551504.
F[C4). F(C1](K1, K2) = (e980089683d00d4be37dd3434699b98f. f9eae5f29b2815e31f11ac5d9c29fb01). C5 = 156f6d791fab511deabb0c502fd18105.
F[CS). FiCflKy K2) = (b7bd70acea4460714f4ebe13835cf004. e980089683d00d4be37dd3434699b98f). C6 = a74af7efab73df 160dd208608b9efe06.
F[C6]. FjqKK,. K2) = (1a46ea1cf6ccd236467287df93fdf974. b7bd70acea4460714f4ebe13835cf004). Cj = C9e8819dc73ba5ae50f5b570561a6a07.
F[C,). F[C,)(K1.K2) = (3d4553d8e9cfec6815ebadc40a9ffd04.1a46ea1cf6ccd236467287df93fdf974),
Итерационные ключи К,, / = 1.2. 10. принимают следующие значения
К5 = 57646468c44a5e28d3e59246f429f 1 ас.
А.2.5 Алгоритм зашифрования
В настоящем контрольном примере зашифрование проводится при значениях итерационных ключей из А.2.4. Пусть открытый текст, подлежащий зашифрованию, равен
SX[K,](a) = e87de8b6e87de8b6b6b6b6b6b6b6b6b6, LSX[KJ2]LSX[KJ(a) = 285e497a0862d596b36f4258a1c69072.
LSX[K3). LSX[KJ(a) = 0187a3a429b567841ad50d29207cc34e.
LSX[K4]. LSX[K,Ka) = ec9bdba057d4f4d77c5d70619dcad206.
LSX[Kb). LSX[Ki](a) = 1357fd11de9257290c2a1473eb6bcde1.
LSX[K7). LSX[K^a) = 07e223d56002c013d3f5e6f714b86d2d.
LSX[K6). LSX[KJ[a) = Cd8ef6cd97e0e092a8e4cca61b38bf65.
LSX[Kg). LSX(K,)(e) = 0d8e40e4a800d06b2f 1 b37ea379ead8e.
Результатом зашифрования является шифртекст
b=XIK10JLSX[Kel. LSX[K1Ke) = 7f679d90bebc24305a468d42b9d4edcd A.2.6 Алгоритм расшифрования
В настоящем контрольном примере расшифрование проводится при значениях итерационных ключей из А.2 4 Пусть шифртекст, подлежащий расшифрованию, равен шифртексту, полученному в А 2.5:
X[K10)(b)= 0d8e40e4a800d06b2f1 b37ea379ead8e.
S- 1 L- , X[K10Kb)= 76ca149eef27d1b10d17e3d5d68e5a72,
S» 1 L» , XlK^lS» , L» 1 X[K10](b) = 5d9b06d41b9d1d2d04df7755363e94a9, S-‘L-‘X[K6). S-‘L-‘X[Kw](b) = 79487192aa45709c115559d6e9280f6e,
S-‘L-‘X\K71. S-V’Xl^Q Kb) = ae506924c8ce331bb918fc5bdfb195fa. S-‘L-‘X[Ke). S-‘L-‘X[Kw]5). S- , Z.- 1 X[K10](b) = 3cc2f07cc07a8bec0f3ea0ed2ae33e4a, S’ 1 L -1 X[K4]. S» 1 L“ 1 X[K10Kb) = f36f01291 d0b96d591 e228b72d011 c36. S“ 1 L» 1 X[K3). S» , Z.» 1 X[K10l(b) = 1c4b0c1e950182Mce696af5c0bfc5df, S» 1 L -, X[K2). S -1 Z. -1 X[K10](b) = 9 9 b b 99ff99 b b99ff ff f fffff ffffffff.
Результатом расшифрования является открытый текст
а= X(K1)S- 1 /.- , X(K2]. S- , L- 1 X(K10l(b) = 1122334455667700ffeeddccbbaa9988. А.З Алгоритм блочного шифрования с длиной блока п * 64 бит А.3.1 Преобразование t f(fdb97531) = 2a196f34,
7(2a196f34) = ebd9f03a, f(ebd9f03a) = b039bb3d.
A.3.2 Преобразование g g[87654321 J(fedcba98) = fdcbc20c, g(fdcbc20c](87654321) = 7e791a4b. g[7e791 a4b)(fdcbc20c) = c76549ec. g(c76549ec]<7e791a4b) = 9791 c849.
A.3.3 Алгоритм развертывания ключа
В настоящем контрольном примере ключ имеет значение:
Итерационные ключи К(. /’ = 12. .. 32, принимают следующие значения:
K, = ffeeddcc. K2 = bbaa9988. K3 = 77665544, K4 =33221100, K5 = fOf 1f2f3. Ke = (4f5f6f7, K7 = f8f9fafb, K8 = fcfdfeff.
K9 = ffeeddcc. K10 = bbaa9988, K„ =77665544. K12 =33221100, K13 = fOf 1 f2f3. K14 = f4f5f6f7, K15 = f8f9fafb, K16 = fcfdfeff.
Kv = ffeeddcc. K18 = bbaa9988, K|g = 77665544, Kjo =33221100. K21=fOf1f2f3. K22 = f4f5f6f7. K23 = f8f9fafb. K24 = fcfdfeff.
K26 = fcfdfeff. K26 = f8f9fafb. K27 = f4f5f6f7. K28 = f0f1f2f3,
= 33221100, Kjо = 77665544, K31= bbaa9988, K32= ffeeddcc.
А.3.4 Алгоритм зашифрования
В настоящем контрольном примере зашифрование проводится при значениях итерационных ключей из А. 3.3.
(а,. ^>) = (fedcba98. 76543210).
G[K>)(ay г^)= (76543210. 28da3b14). GlKjJGl/CjKa,. Oq) = (28da3b14. Ь14337а5). G(K3]. G(K1)(a1. a,,) = (M4337a5.633a7c68). G(K4). GlK^a,. a0) = (633a7c68, ea89c02c). G[K$). G(K1Ka1. «о) = (ea89c02c. 11fe726d). G[K6) . Gl^Ka,. /*>) = (11fe726d. ad0310a4). G[K7) . GI^Ka,. До) = (ad0310a4. 37d97f25). GlKgJ . GfK^a,. До) = (37d97f25. 46324615). G[Ke). G(K1)(a1. До) = (46324615. ce995f2a). G(K10].. Gt^Ka,. a0) = (ce995f2a. 93c1f449). GlK^l. -Gt^Kfij. ^,) = (93c1f449.4811c7ad). G[Ku). G[KJ(a,. До) =(4811c7ad. c4b3edca), GlK^). G[KAY.ay До) = (c4b3edca. 44ca5ce1). G(Ki4). GlKiKa,. До) = (44ca5ce1. fef51b68). G[K>S). G[Ky)(av До) = (fef51b68, 2098cd86). GIK^J.-Gt^Ka,. До) = (2098cd86. 4f15b0bb). G[K„\. G
18]. G(K1Ka1, До) = (e32805bc. e7116722). G^gl . Gl^Ka,. a0) *(e7116722. 89cadf21). GlK^l-.G^Ka,. /*>) = (89cadf21. bac8444d). GI^J- .G^Ka,. a0) = (bac8444d. 11263a21). GIK22). G[K1Ka1. До) = (11263a21. 625434c3). G(K23). GI^Ka,. До) = (625434c3.8025c0a5). G(K24l ..G[K1l(a1. До) = (8025c0a5. bOd66514). G(K251. GfKfKa,. До) = (bOd66514.47b1d5f4). GPfe]-..G[K,Xa,. Oq) = (47b1d5f4. c78e6d50). 6(K27J. G(K1Kal> Bq) = (c78e6d50. 80251e99). GlK^J . GI^Ka,. До) = (80251e99. 2b96eca6).
G*[K29). G[KiKa,. ^,) = (2Ь96еса6. 05ef4401).
6tK3i]. G(/C|Ka|. Sq) = (239a4577. c2d8ca3d).
Результатом зашифрования является шифртекст
A.3.5 Алгоритм расшифрования
В настоящем контрольном примере расшифрование проводится при значениях итерационных ключей из А 3 3 Пусть шифртекст, подлежащий расшифрованию, равен шифртексту. полученному в предыдущем пункте
(6,. Ьц) = (4ее901е5. c2d8ca3d).
GfK^]. GIK^Kft,. Ьц) = (2b96eca6.80251e99).
G(K28). GIK^Kft,. Ьц) = (80251 e99. c78e6d50),
G(K25]. GIK^Kft,. fc*,) = (b0d66514. 8025c0a5),
GlKttJ .GlKjjKft,. bo) = (625434c3.11263a21).
GIK^). G(K32l(b|. fy) = (11263a21. bac8444d).
GlK^J.-GlK^Kb,. b0) = (e32805bc. 4(15b0bb).
GlK^J .-GlK^Kb,. bo) = (4(15b0bb, 2098cd86).
GlK^l-.-GlK^Kb,. (\)) = (fefSI b68. 44ca5ce1).
G(K12]. G[K32Kft,. V = (4811c7ad. 93c1f449). в[Ки] .в[К32Щ. bo) = (93CK449. ce995(2a).
G(Ke). GtK^Kb,. bo) = (37d97f25. ad0310a4).
Gl^J. -GlK^Kb,. Ь*,) = (633a7c68, Ы433785).
Результатом расшифрования является открытый текст
Примечание — Оригиналы международных стандартов ИСО/МЭК находятся в национальных (государственных) органах по стандартизации* государств, принявших настоящий стандарт
[1] ИСО/МЭК 10116 2017 (ISO/1EC 10116 2017)
(2) ИСО/МЭК 18033-1:2015 (ISO/1EC 18033-1 2015)
(3) ИСО/МЭК 18033-3:2010 (ISO/IEC 18033-3 2010)
Информационная технология Методы и средства обеспечения безопасности Режимы работы при использовании алгоритмов кодирования для режима л-разрядного блочного шифрования (Information technology — Security techniques — Modes of operation for an л-blt block cipher)
Информационные технологии Методы и средства обеспечения безопасности. Алгоритмы шифрования Часть 1. Общие положения (Information technology — Security techniques — Encryption algorithms — Part 1 General)
Информационные технологии Методы и средства обеспечения безопасности. Алгоритмы шифрования Часть 3. Блочные шифры (Information technology — Security techniques — Encryption algorithms — Part 3: Block ciphers)
* В Российской Федерации оригиналы международных стандартов ИСО/МЭК находятся в Федеральном информационном фонде стандартов
Ключевые слова: информационная технология, криптографическая защита информации, симметричный криптографический метод, зашифрование, расшифрование, блочный шифр, ключ
Редактор Л В Коретникова Технический редактор В Н Прусакова Корректор Е Р Ароян Компьютерная верстка Ю В Поповой
Сдано в набор 05.12 2018 Подписано в печать 09 01 2019. Формат 60 « 84’/8 Гарнитура Ариал.
Услпечл. 1.86 Уч-мадл. 1.49
Подготовлено на основе электронной версии, предоставленной разработчиком стандарта
ИД кЮрислруденция». 115419. Москва, ул Орджоникидзе. 11. www junsizdat ru y-book@mail ru
Создано в единичном исполнении ФГУП «СТАНДАРТИНФОРМ» для комплектования Федерального информационного фонда стандартов. 117418 Москва. Нахимовский пр-т, д 31. к 2 wwwgostinfo ru mfo@gostinfo ru
Содержание
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
5.1 Значения параметров. 5
5.2 Преобразования. 5
5.3 Алгоритм развертывания ключа. 5
5.4 Базовый алгоритм шифрования. 6
Приложение А (справочное) Контрольные примеры. 7
Введение
Настоящий стандарт содержит описание алгоритмов блочного шифрования, которые применяются в криптографических методах защиты информации.
Необходимость разработки стандарта вызвана потребностью в создании блочных шифров с различными длинами блока, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам.
Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 10116 [1] и стандартами серии ИСО/МЭК 18033 [2]. (3J.
Примечание — Основная часть стандарта дополнена приложением А «Контрольные примеры»
Пункт 5 1.1. Строка
— <6.8. 2. 3.9.10. 5.12.1.14. 4. 7.1.13.0. 15):
■Ц = <5. 8. 2. 3.9.10. 5.12.1. 14,4. 7.11.13.0.15);
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Блочные шифры
Information technology Cryptographic data security Block ciphers
Дата введения — 2019—06—01
1 Область применения
Настоящий стандарт определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.
Определенные в настоящем стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации.
Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2 Термины, определения и обозначения
2.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
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): Обратимое преобразование данных с помощью шифра, которое формирует шифртекст из открытого текста.
Примечание — Адаптировано из ИСО/МЭК 18033-1 [2]
2.1.7 итерационный ключ (round key): Последовательность символов, вычисляемая в процессе развертывания ключа шифра и определяющая преобразование на одной итерации блочного шифра.
2.1.8 ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование.
1 Адаптировано из ИСО/МЭК 18033-1 [2]
2 В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битов)
2.1.9 открытый текст (plaintext): Незашифрованная информация.
Примечание — Адаптировано из ИСО/МЭК 10116 (1)
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 (1)
В настоящем стандарте применены следующие обозначения:
V* — множество всех двоичных строк конечной длины, включая пустую строку;
Vs — множество всех двоичных строк длины s. где s — целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля;
U*W — прямое (декартово) произведение множества U и множества W,;
[А| — число компонент (длина) строки Ае \Л (если А — пустая строка, то [А| = 0);
А\\В — конкатенация строк A. Be V. т. е. строка из V\a\+\b\’ в которой подстрока с большими номерами компонент из У|Л| совпадает со строкой А, а подстрока с меньшими номерами компонент из Vв совпадает со строкой 8;
А^г^—циклический сдвиг строки Ае V32 на 11 компонент в сторону компонент, имеющих большие номера;
® — операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;
Z 2« — К0ЛЬ Ч° вычетов по модулю 2 s ;
Ш — операция сложения в кольце Z^;
F — конечное поле GF(2)(xl/p(x), где p(x)=x a + x 7 + x 6 +x + 1eGF(2)(x); элементы поля F представляются целыми числами, причем элементу z0 + z, 9 +. + z7 0 7 € У соответствует число z0+2 z1+. +2 7 z7, где z^e<0.1>, /=0.1. 7, и 0 обозначает класс вычетов по модулю
р(х), содержащий х;
Vecs:Z2, -»VS — биективное отображение, сопоставляющее элементу кольца Z^ его двоичное представление, т. е. для любого элемента zeZ^. представленного в виде
Д: V8 ->У — биективное отображение, сопоставляющее двоичной строке из Ve элемент поля
F следующим образом: строке z7|. |z1|z0. zye<0.1>. /=0Л. 7 соответствует элемент z0+ z, 0 + . + z7 -0 7 е F*.
V: ?->V8 — отображение, обратное к отображению Д. т. е. V=A -1 ;
ФТ — композиция отображений, при которой отображение ‘Р действует первым;
Ф* — композиция отображений «l* 5-1 и Ф. причем «I» 1 = Ф.
3 Общие положения
В настоящем стандарте приведено описание двух базовых блочных шифров с длинами блоков л = 128 бит и п = 64 бит и длинами ключей к = 256 бит.
1 На описанный в настоящем стандарте шифр с длиной блока п = 128 бит можно ссылаться как на блочный шифр «Кузнечик» («Kuznechik»)
2 На описанный в настоящем стандарте шифр с длиной блока п = 64 бит можно ссылаться как на блочный шифр «Магма» («Magma»).
4 Алгоритм блочного шифрования с длиной блока л = 128 бит
4.1 Значения параметров
4.1.1 Нелинейное биективное преобразование
В качестве нелинейного биективного преобразования выступает подстановка n=Vec8rt’lnt8:Vg->Vg. где ji’iZ^-^Z^. Значения подстановки л’ записаны ниже в виде массива /с’= (я'(0),/с'(1). я'(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, 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).
4.1.2 Линейное преобразование
Линейное преобразование задается отображением /: У8 16 ->\/8. которое определяется следующим образом:
для любых а(е VQ, / =0.1. 15. где операции сложения и умножения осуществляются в поле У, а константы являются элементами поля в указанном ранее смысле.
При реализации алгоритмов зашифрования и расшифрования используются следующие преобразования:
преобразование, обратное к преобразованию S, которое может быть вычислено, например, следующим образом:
где а = а15|. |а0еУ128. a,eV8. / = 0Д. 15. я -1 — подстановка, обратная к подстановке л;
преобразование, обратное к преобразованию R, которое может быть вычислено, например, следующим образом:
R -1 (a) = ^ l a o) = e i4 |®i31— Н а о| / ^ а 14-^13. a o >a is)- ^
1 (a) = (R- 1 ) 16 (a). (8)
4.3 Алгоритм развертывания ключа
Алгоритм развертывания ключа использует итерационные константы С-е V128, / = 1, 2. 32. которые определены следующим образом:
Итерационные ключи K i e ^128- 10. вырабатываются на основе ключа
К = ^2551 1^о € »гбб 1 Ц. I = ОД. 255. и определяются равенствами:
(*2I+V K 2U2) = FlC 8(-1H KK 2>-1. K2i). / = t Z 3. 4.
4.4 Базовый алгоритм шифрования
4.4.1 Алгоритм зашифрования
Алгоритм зашифрования в зависимости от значений итерационных ключей К, е V128, / = 1.2. 10.
реализует подстановку Ек< k^q, заданную на множестве У128 в соответствии с равенством
4.4.2 Алгоритм расшифрования
Алгоритм расшифрования в зависимости от значений итерационных ключей К(е Ц20, / = 12 10.
реализует подстановку DK^ K)q. заданную на множестве V128 в соответствии с равенством
5 Алгоритм блочного шифрования с длиной блока п = 64 бит
5.1 Значения параметров
5.1.1 Нелинейное биективное преобразование
В качестве нелинейного биективного преобразования выступают подстановки тг, = Vec4Jt’lnt4: V4-> VA, где Z^. / = 0,1. 7. Значения подстановок к’ записаны ниже в
виде массивов п) = (*'(0). я'(1). л'(15)). / = 0.1. 7:
*0 = (12. 4. 6. 2. 10. 5. 11. 9. 14. 8. 13. 7. 0. 3. 15. 1);
= (6. 8. 2. 3. 9. 10. 5. 12. I 14. 4. 7. I 13. 0. 15); я2 = (11. 3. 5. 8. 2, 15. 10. 13. 14. \ 7. 4. 12. 9. 6. 0); к3 =(12. 8. 2. 1. 13. 4. 15. 6. 7. 0. 10. 5. 3. 14. 9. 11); я; = (7. 15. 5. 10. 8. I 6. 13. 0. 9. 3. 14. 11. 4. 2 12); *5 =(5. 13. 15. 6. 9. 2. 12. 10. 11. 7. 8. X 4. 3. 14. 0); Kg = (8. 14. 2. 5. 6. 9. I 12. 15. 4. 11 0. 13. 10. 3. 7); *7=0. 7. 14. 13. 0. 5. 8. 3. 4. 15. 10. 6. 9. 12. 11. 2).
Переход на ГОСТ 34.12/13
На основании проведенного анализа и в связи с вводом в действие межгосударственных стандартов ГОСТ 34.12-2018 и ГОСТ 34.13-2018 ФСБ России устанавливает следующий порядок использования алгоритма блочного шифрования ГОСТ 28147-89.
1. Средства криптографической защиты информации, предназначенные для защиты информации, не содержащей сведений, составляющих государственную тайну, реализующие, в том числе алгоритм ГОСТ 28147-89, не должны разрабатываться после 1 июня 2019 года, за исключением случаев, когда алгоритм ГОСТ 28147-89 в таких средствах предназначен для обеспечения совместимости с действующими средствами, реализующими этот алгоритм.
2. Использование алгоритма ГОСТ 28147-89 после 1 июня 2019 года для обеспечения совместимости с действующими криптографическими средствами должно быть обоснованно заказчиком и согласованно с Центром защиты информации и специальной связи ФСБ России.
3. В средствах криптографической защиты информации, предназначенных для защиты информации, не содержащей сведений, составляющих государственную тайну, техническое задание на разработку которых утверждено после 1 июня 2019 года, в случае необходимости использования блочного шифра для обеспечения конфиденциальности или целостности информации должна быть предусмотрена реализация алгоритма шифрования информации в соответствии с ГОСТ 34.12-2018 и ГОСТ 34.13-2018 хотя бы по одному из определяемых стандартами вариантов.Для начала нужно внести ясность в отличие ГОСТ Р 34.12-2015 и ГОСТ 34.12-2018.
ГОСТ Р 34.12-2015 – российский стандарт, ГОСТ 34.12-2018 – межгосударственный. В межгосударственный внесена поправка, которая позволяет поставить между ним и российским знак равенства. Аналогично и для других ГОСТ:
Гост 28147 89 заменен на какой гост
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Information technology. Cryptographic data security. Block ciphers
Дата введения 2019-06-01
Предисловие
Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в ГОСТ 1.0-2015 "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"
Сведения о стандарте
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 ПРИНЯТ Межгосударственным советом по метрологии, стандартизации и сертификации (протокол от 29 ноября 2018 г. N 54)
За принятие проголосовали:
Краткое наименование страны по МК (ИСО 3166) 004-97
Сокращенное наименование национального органа по стандартизации
Минэкономики Республики Армения
4 Приказом Федерального агентства по техническому регулированию и метрологии от 4 декабря 2018 г. N 1061-ст межгосударственный стандарт ГОСТ 34.12-2018 введен в действие в качестве национального стандарта Российской Федерации с 1 июня 2019 г.
5 Настоящий стандарт подготовлен на основе применения ГОСТ Р 34.12-2015
6 ВЗАМЕН ГОСТ 28147-89 в части раздела 1 "Структурная схема алгоритма криптографического преобразования"
Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок — в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
ВНЕСЕНЫ: поправка, опубликованная в ИУС N 4, 2019 год; поправка, опубликованная в ИУС N 1, 2021 год
Поправки внесены изготовителем базы данных
Введение
Настоящий стандарт содержит описание алгоритмов блочного шифрования, которые применяются в криптографических методах защиты информации.
Необходимость разработки стандарта вызвана потребностью в создании блочных шифров с различными длинами блока, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам.
Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 10116* [1] и стандартами серии ИСО/МЭК 18033 [2], [3].
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. — Примечание изготовителя базы данных.
Примечание — Основная часть стандарта дополнена приложением А "Контрольные примеры".
1 Область применения
Настоящий стандарт определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.
Определенные в настоящем стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации.
Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2 Термины, определения и обозначения
2.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями:
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): Обратимое преобразование данных с помощью шифра, которое формирует шифртекст из открытого текста.
Примечание — Адаптировано из ИСО/МЭК 18033-1 [2].
2.1.7 итерационный ключ (round key): Последовательность символов, вычисляемая в процессе развертывания ключа шифра и определяющая преобразование на одной итерации блочного шифра.
2.1.8 ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование.
1 Адаптировано из ИСО/МЭК 18033-1 [2].
2 В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битов).
2.1.9 открытый текст (plaintext): Незашифрованная информация.
Примечание — Адаптировано из ИСО/МЭК 10116 [1].
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 [1].
2.2 Обозначения
В настоящем стандарте применены следующие обозначения:
V* — множество всех двоичных строк конечной длины, включая пустую строку;
— множество всех двоичных строк длины s, где s — целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево, начиная с нуля;
U W — прямое (декартово) произведение множества U и множества W;
|А| — число компонент (длина) строки
(если А — пустая строка, то |А|=0);
А||В — конкатенация строк А,
, т.е. строка из
в которой подстрока с большими номерами компонент из
совпадает со строкой А, а подстрока с меньшими номерами компонент из
совпадает со строкой В;
— циклический сдвиг строки
на 11 компонент в сторону компонент, имеющих
номера;
— операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;
Гост 28147 89 заменен на какой гост
На основании проведенного анализа и в связи с вводом в действие межгосударственных стандартов ГОСТ 34.12-2018 и ГОСТ 34.13.2018 ФСБ России устанавливает следующий порядок использования алгоритма блочного шифрования ГОСТ 28147-89.
1. Средства криптографической защиты информации, предназначенные для защиты информации, не содержащей сведений, составляющих государственную тайну, реализующие, в том числе алгоритм ГОСТ 28147-89, не должны разрабатываться после 1 июня 2019 года, за исключением случаев, когда алгоритм ГОСТ 28147-89 в таких средствах предназначен для обеспечения совместимости с действующими средствами, реализующими этот алгоритм.
2. Использование алгоритма ГОСТ 28147-89 после 1 июня 2019 года для обеспечения совместимости с действующими криптографическими средствами должно быть обоснованно заказчиком и согласованно с Центром защиты информации и специальной связи ФСБ России.
3. В средствах криптографической защиты информации, предназначенных для защиты информации, не содержащей сведений, составляющих государственную тайну, техническое задание на разработку которых утверждено после 1 июня 2019 года, в случае необходимости использования блочного шифра для обеспечения конфиденциальности или целостности информации должна быть предусмотрена реализация алгоритма шифрования информации в соответствии с ГОСТ 34.12-2018 и ГОСТ 34.13-2018 хотя бы по одному из определяемых стандартами вариантов.Для начала нужно внести ясность в отличие ГОСТ Р 34.12-2015 и ГОСТ 34.12-2018.
ГОСТ Р 34.12-2015 – российский стандарт, ГОСТ 34.12-2018 – межгосударственный. В межгосударственный внесена поправка, которая позволяет поставить между ним и российским знак равенства. Аналогично и для других ГОСТ:
- Раздел 35.040 Наборы знаков и кодирование информации
- Раздел 35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ
- Раздел 35.040 Наборы знаков и кодирование информации
- Раздел 35 ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ. МАШИНЫ КОНТОРСКИЕ