ГОСТ Р 34.12-2015
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ
Блочные шифры
Information technology. Cryptographic data security. Block ciphers
ОКС 35.040
Дата введения 2016-01-01
1 РАЗРАБОТАН Центром защиты информации и специальной связи ФСБ России с участием Открытого акционерного общества "Информационные технологии и коммуникационные системы" (ОАО "ИнфоТеКС")
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 26 "Криптографическая защита информации"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 19 июня 2015 г. № 749-ст
4 ВВЕДЕН ВПЕРВЫЕ
5 ПЕРЕИЗДАНИЕ. Октябрь 2018 г.
Правила применения настоящего стандарта установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ "О стандартизации в Российской Федерации". Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационного указателя "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)
Настоящий стандарт содержит описание алгоритмов блочного шифрования, которые применяются в криптографических методах защиты информации.
Необходимость разработки стандарта вызвана потребностью в создании блочных шифров с различными длинами блока, соответствующих современным требованиям к криптографической стойкости и эксплуатационным качествам.
Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 10116* [1] и серии ИСО/МЭК 18033* [2], [3].
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей. - Примечание изготовителя базы данных.
Примечание - Основная часть стандарта дополнена приложением А.
Настоящий стандарт определяет алгоритмы базовых блочных шифров, которые применяются в криптографических методах обработки и защиты информации, в том числе для обеспечения конфиденциальности, аутентичности и целостности информации при ее передаче, обработке и хранении в автоматизированных системах.
Определенные в настоящем стандарте алгоритмы криптографического преобразования предназначены для аппаратной или программной реализации, удовлетворяют современным криптографическим требованиям и по своим возможностям не накладывают ограничений на степень секретности защищаемой информации.
Стандарт рекомендуется использовать при создании, эксплуатации и модернизации систем обработки информации различного назначения.
2.1 Термины и определения
В настоящем стандарте применены следующие термины с соответствующими определениями.
2.1.1
алгоритм зашифрования (encryption algorithm): Алгоритм, реализующий зашифрование, т.е. преобразующий открытый текст в шифртекст. [ИСО/МЭК 18033-1, статья 2.19] |
2.1.2
алгоритм расшифрования (decryption algorithm): Алгоритм, реализующий расшифрование, т.е. преобразующий шифртекст в открытый текст. [ИСО/МЭК 18033-1, статья 2.14] |
2.1.3
базовый блочный шифр (basic block cipher): Блочный шифр, реализующий при каждом фиксированном значении ключа одно обратимое отображение множества блоков открытого текста фиксированной длины в блоки шифртекста такой же длины. |
2.1.4
блок (block): Строка бит определенной длины. [ИСО/МЭК 18033-1, статья 2.6] |
2.1.5
блочный шифр (block cipher): Шифр из класса симметричных криптографических методов, в котором алгоритм зашифрования применяется к блокам открытого текста для получения блоков шифртекста. [ИСО/МЭК 18033-1, статья 2.7] |
Примечание - В настоящем стандарте установлено, что термины "блочный шифр" и "алгоритм блочного шифрования" являются синонимами.
2.1.6
зашифрование (encryption): Обратимое преобразование данных с помощью шифра, которое формирует шифртекст из открытого текста. [ИСО/МЭК 18033-1, статья 2.18] |
2.1.7
итерационный ключ (round key): Последовательность символов, вычисляемая в процессе развертывания ключа шифра и определяющая преобразование на одной итерации блочного шифра. |
2.1.8
ключ (key): Изменяемый параметр в виде последовательности символов, определяющий криптографическое преобразование. [ИСО/МЭК 18033-1, статья 2.21] |
Примечание - В настоящем стандарте рассматриваются ключи только в виде последовательности двоичных символов (битов).
2.1.9
открытый текст (plaintext): Незашифрованная информация. [ИСО/МЭК 10116, статья 3.11] |
2.1.10
развертывание ключа (key schedule): Вычисление итерационных ключей из ключа шифра. |
2.1.11
расшифрование (decryption): Операция, обратная к зашифрованию. [ИСО/МЭК 18033-1, статья 2.13] |
Примечание - В настоящем стандарте в целях сохранения терминологической преемственности по отношению к опубликованным научно-техническим изданиям применяется термин "шифрование", объединяющий операции, определенные терминами "зашифрование" и "расшифрование". Конкретное значение термина "шифрование" определяется в зависимости от контекста упоминания.
2.1.12
симметричный криптографический метод (symmetric cryptographic technique): Криптографический метод, использующий один и тот же ключ для преобразования, осуществляемого отправителем, и преобразования, осуществляемого получателем. [ИСО/МЭК 18033-1, статья 2.32] |
2.1.13
шифр (cipher): Криптографический метод, используемый для обеспечения конфиденциальности данных, включающий алгоритм зашифрования и алгоритм расшифрования. [ИСО/МЭК 18033-1, статья 2.20] |
2.1.14
шифртекст (ciphertext): Данные, полученные в результате зашифрования открытого текста с целью скрытия его содержания. [ИСО/МЭК 10116, статья 3.3] |
2.2 Обозначения
В настоящем стандарте использованы следующие обозначения:
V* | - множество всех двоичных строк конечной длины, включая пустую строку; |
- множество всех двоичных строк длины s, где s - целое неотрицательное число; нумерация подстрок и компонент строки осуществляется справа налево начиная с нуля; | |
U | - прямое (декартово) произведение множества U и множества W; |
|A| | - число компонент (длина) строки A |
A||B | - конкатенация строк A, B |
- циклический сдвиг строки | |
- операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины; | |
- кольцо вычетов по модулю 2 | |
- операция сложения в кольце | |
- конечное поле GF(2)[x]/p(x), где | |
- биективное отображение, сопоставляющее элементу кольца | |
| - отображение, обратное к отображению |
- биективное отображение, сопоставляющее двоичной строке из | |
- отображение, обратное к отображению | |
- композиция отображений, при которой отображение | |
- композиция отображений |