Гост криптографическая защита информации. Термины и определения

1 Структурная схема алгоритма криптографического преобразования 1

2 Режим простой замены 4

3 Режим гаммирования 8

4 Режим гаммирования с обратной связью 11

5 Режим выработки имитовставки 14

Приложение 1 Термины, применяемые в настоящем стандарте, и их определения 16

Приложение 2 Значения констант С1, С2 18

Приложение 3 Схемы программной реализации алгоритма криптографического

преобразования. 19

Приложение 4 Правила суммирования по модулю 2 32 и по модулю (2 32 -I) 25

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

СОЮЗА ССР

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАШИТА КРИПТОГРАФИЧЕСКАЯ

Алгоритм криптографического преобразования

Дата введения 01.07.90

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

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

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

Термины, применяемые в настоящем стандарте, и их определения приведены в приложении 1.

I. СТРУКТУРНАЯ СХЕМА АЛГОРИТМА КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ

1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см.черт. 1):

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

ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (Х 0 , X t . Х 2 , A3 Л4, Х$, Х 6 , Ху); четыре 32-разрядных накопителя (/V (, N 2 , Nj, /V 4);

Перепечатка воспрещена

© Издательство стандартов, 1989 © ИПК Издательство стандартов, 1996

два 32-разрядных накопителя Л/$,) с записанными в них постоянными заполнениями С 2 , С\\

два 32-разрядных сумматора по модулю 2 32 (СМ|, СЛ/3);

32-разрядный сумматор поразрядного суммирования по модулю 2 (СЛ/ 2);

32-разрядный сумматор по модулю (2 32 - 1) (СЛ/ 4);

сумматор по модулю 2(СЛ/ 5), ограничение на разрядность сумматора СЛ/$ не накладывается;

блок подстановки (А);

регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда (R).

1.2. Блок подстановки А" состоит из восьми узлов замены A’j,

А 2 , А“з, К 4 , А5, А7, А 8 с памятью на 64 бита каждый. Посту

пающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор.

1.3. При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами.

1.4. При записи ключа (И", W 2 ..., W q e{0,1), д= N256, в

КЗУ значение W\ вводится в i-й разряд накопителя Xq, значение W 2 вводится во 2-й разряд накопителя Л#, ... , значение W^ 2 вводится в 32-й разряд накопителя Xq; значение W33 вводится в 1-й разряд накопителя Х\ у значение вводится во 2-й разряд накопителя Х\ у... , значение W M вводится в 32-й разряд накопителя Х\\ значение W 6 5 вводится в 1-й разряд накопителя Х 2 и т.д., значение 1У 2 5Ь вводится в 32-й разряд накопителя Ху.

1.5. При перезаписи информации содержимое р-го разряда одного накопителя (сумматора) переписывается в р-й разряд другого накопителя (сумматора).

1.6. Значения постоянных заполнений Cj, С 2 (констант) накопителей /V 6 , /V5 приведены в приложении 2.

1.7. Ключи, определяющие заполнения КЗУ и таблиц блока подстановки К, являются секретными элементами и поставляются в установленном порядке.

Заполнение таблиц блока подстановки К является долговременным ключевым элементом, общим для сети ЭВМ.

Организация различных видов связи достигается построением соответствующей ключевой системы. При этом может быть использована возможность выработки ключей (заполнений КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.

1.8. В криптосхеме предусмотрены четыре вида работы: зашифрование (расшифрование) данных в режиме простой замены; зашифрование (расшифрование) данных в режиме гаммирования;

зашифрование (расшифрование) данных в режиме гаммирования с обратной связью;

режим выработки имитовставки.

Схемы программной реализации алгоритма криптографического преобразования приведены в приложении 3.

2. РЕЖИМ ПРОСТОЙ ЗАМЕНЫ

2.1. Зашифрование открытых данных в режиме простой замены

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

Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока Т {) = (Д|(0), ^(О), ..., д 3 1(0), я 32 (0), £|(0), Ь 2 (0) у... , Z> 32 (0)) двоичной информации в накопители N\ и N 2 производится так, что значение Д|(0) вводится в 1-й разряд N|, значение а 2 (0) вводится во 2-й разряд /Vj и т.д, значение я 32 (0) вводится в 32-й разряд iVj; значение />|(0) вводится в

1- й разряд Л/ 2 , значение Ь 2 (0) вводится во 2-й разряд N 2 и т.д., значение /> 32 (0) вводится в 32-й разряд N 2 . В результате получают состояние (я 32 (0), я 3 |(0), ... , а 2 (0) у <7|(0)) накопителя yVj и состояние (/> 32 (0), Ь 2 1(0), ... , />|(0)) накопителя N 2 .

2.1.2. В КЗУ вводятся 256 бит ключа. Содержимое восьми 32-раз-рядных накопителей Aq, X\ t ... , Xj имеет вид:

^0 = (^32^3.....

*1 =(^64^63, . ^34^33)

*7 = (^56> ^255. ... , И/ 226 , ^ 225)

2.1.3. Алгоритм зашифрования 64-разрядного блока открытых данных в режиме простой замены состоит из 32 циклов.

В первом цикле начальное заполнение накопителя суммируется по модулю 2 32 в сумматоре СМ\ с заполнением накопителя Xq при этом заполнение накопителя Nj сохраняется.

Результат суммирования преобразуется в блоке подстановки К и полученный вектор поступает на вход регистра /?, где циклически сдвигается на одиннадцать шагов в сторону старших разрядов. Результат сдвига суммируется поразрядно по модулю 2 в сумматоре СМ 2 с 32-разрядным заполнением накопителя yV 2 . Полученный в СМ 2 результат записывается в N\ % при этом старое заполнение N| переписывается в N 2 . Первый цикл заканчивается.

Последующие циклы осуществляются аналогично, при этом во

2- м цикле из КЗУ считывается заполнение Х\, в 3-м цикле из КЗУ

считывается заполнение Х 2 и т.д., в 8-м цикле из КЗУ считывается заполнение Xj. В циклах с 9-го по 16-й, а также в циклах с 17-го по 24-й заполнения из КЗУ считываются в том же порядке:

В последних восьми циклах с 25-го по 32-й порядок считывания заполнений КЗУ обратный:

ад,ад,ад,ад.

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

ад, ^2,^},^4>^5,^6»^7, ад, ^2,^3»^4,^5,-^6,^7, ад, ад,ад,ад, ад,ад,ад,ад.

В 32 цикле результат из сумматора СЛ/ 2 вводится в накопитель УУ 2 , а в накопителе N\ сохраняется старое заполнение.

Полученные после 32-го никла зашифрования заполнения накопителей N| и N2 являются блоком зашифрованных данных, соответствующим блоку открытых данных.

2.1 4 Уравнения зашифрования в режиме простой замены имеют вид:

J*Cr> »(

I Ь(/) = а(/~ I)

при у = I -24;

Г«

\bO) - а О - О при / 8* 25 -г 31; а(32) = а (31)

А (32) = (д (31) ffl X 0)KRG> Ь (31)

где д(0) = (а 32 (0), «з|(0), ... , Д|(0)) - начальное заполнение N\ перед первым циклом зашифрования;

6(0) = (632(0), 63j(0), ... , 6j(0)) - начальное заполнение /У 2 перед первым циклом зашифрования;

a(j) = (032(7), 0з|(/) э... , 0|(/)) - заполнение УУ, после у-го цикла зашифрования;

b(j) = (6з 2 (/), 63j(/"), ... , 6|(/)) - заполнение /V 2 после у-го цикла зашифрования, у = 032.

Знак ф означает поразрядное суммирование 32-разрядных векторов по модулю 2.

Знак Ш означает суммирование 32-разрядных векторов по модулю 2 32 . Правила суммирования по модулю 2 32 приведены в приложении 4;

/?- операция циклического сдвига на одиннадцать шагов в сторону старших разрядов, т.е.

^(г 32»О|> г 30> г 29> г 28> г 27> г 26» г 25> г 24> г 23’ Г 22» Г 2Ь Г 20> » г 2* г |)~

= (г 21» г 20> - » г 2* г 1 * Г 32>Г31 *ГзО» г 29* г 28* , 27э"26э/"25> , 24>Г23» , 22)*

2.1.5. 64-разрядный блок зашифрованных данных Т ш выводится из накопителей Л^, УУ 2 в следующем порядке: из 1-го, 2-го, ... , 32-го разрядов накопителя Л7|, затем из 1-го, 2-го, ... , 32-го разрядов накопителя W 2 , т.е.

т ш - (а,<32),0 2 (32),0 32 (32), 6,(32), 6 2 <32),6 32 <32».

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

2.2. Расшифрование зашифрованных данных в режиме простой замены

2.2.1. Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см.чсрт.2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом Ввод любого блока

Т ш - (0,(32),о 2 (32), ..., 0 32 (32), 6,(32), 6 2 (32), ..., 6 32 (32))

в накопители Л’, и N 2 производятся так, что значение дj(32) вводится в 1-й разряд /V, значение о 2 (32) вводится во 2-й разряд /V, и т.д., значение a 32 (32) вводится в 32-й разряд /V,; значение 6,(32) вводится в 1-й разряд N 2 и т.д., значение 6 32 (32) вводится в 32-й разряд N 2 .

2.2.2. Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей Xq, Х\ у... , Xj считываются из КЗУ в циклах расшифрования в следующем порядке:

ад, ад 3 ,ад,ад, ад,ад,ад,ад 0 ,

ад 6 ,ад 4 ,ад 2 ,ад, ад,ад,ад 2 ,ад.

2.2.3. Уравнения расшифрования имеют вид:

Г д (32 -/) = (д (32 - / + 1) ШЛГ,.,) *ЛФ6(32-/ + 1) b (32 - /) = д (32 - / + 1) при,/=1+8;

I о(32- /) = (а(32-/М)ШДГ (32 _ /)(тод8))КЛФЬ(32./М) |6(32-/) = д (32 - / + 1)

при /= 9 + 31;

Ь(0) = (а (1) ШДГо) ОФй(1)

2.2.4. Полученные после 32 циклов работы заполнения накопителей W, и N 2 составляют блок открытых данных.

То = (fli(O), а 2 (0), ... , Аз 2 (0)» 6,(0), 6 2 (0), ... , 6 32 (0)), соответствующий блоку зашифрованных данных, при этом значение о,(0) блока 7о соответствует содержимому 1-го разряда yV, значение 02(0) соот-

С. 8 ГОСТ 28147-89

ветствует содержимому 2-го разряда N\ и т.д., значение Дз2(0) соответствует содержимому 32-го разряда N\; значение 6j(0) соответствует содержимому 1-го разряда значение ^(0) соответствует содержимому 2-го разряда N2 и т.д., значение £зг(0) соответствует содержимому 32-го разряда N2-

Аналогично расшифровываются остальные блоки зашифрованных данных.

2.3. Алгоритм зашифрования в режиме простой замены 64-битового блока Г 0 обозначается через А у т.е.

А (Т 0) = А (а (0), Ь (0)) = (а (32), Ь (32)) = Т ш.

2.4. Режим простой замены допускается использовать для зашифрования (расшифрования) данных только в случаях, приведенных в п.1.7.

3. РЕЖИМ ГАММИРОВАНИЯ

3.1. Зашифрование открытых данных в режиме гаммирования

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

Открытые данные, разбитые на 64-раэрядиые блоки Т\}\ 7}, 2) ..., 7}) м “ , 1 7[) М) , зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СЛ/5 с гаммой шифра Г ш, которая вырабатывается блоками по 64 бита, т е.

Г _/Л1) Я2) Лм-1) ЛМ)\

"ill V 1 ш э * ш * » " Ш » " * * * " 111 /»

где М - определяется объемом шифруемых данных.

Tjj) - У-й 64-разрядный блок, /« число двоичных разрядов в блоке 7J) M) может быть меньше 64, при этом неиспользованная для зашифрования часть гаммы шифра из блока Г\^ ] отбрасывастся.

3.1.2. В КЗУ вводятся 256 бит ключа. В накопители iVj, N 2 вводится 64-разрядная двоичная последовательность (синхропосылка) S = (5*1, S 2 , ... , 5^4), являющаяся исходным заполнением этих накопителей для последующей выработки Мблоков гаммы шифра. Синхропосылка вводится в jV| и Л^так, что значение 5[ вводится в 1-й разряд УУ}, значение S 2 вводится во 2-й разряд N\ и т.д., значение ^вводится в 32-й разряд 7V|; значение S33 вводится в 1-й разряд N 2 , значение 4S34 вводится во 2-й разряд N 2 и т.д., значение вводится в 32-й разряд N 2 .

3.1.3. Исходное заполнение накопителей /Vj и N 2 (синхропосылка.5) зашифровывается в режиме простой замены в соответствии с

Алгоритм ГОСТ 28147-89 и шифр «Магма» (ГОСТ Р 34.12-2015)

Общая схема алгоритма. Алгоритм, описанный ГОСТ 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования», является отечественным стандартом симметричного шифрования (до 1 января 2016 г.) и обязателен для реализации в сертифицированных средствах криптографической защиты информации, применяемых в государственных информационных системах и, в некоторых случаях, в коммерческих системах. Сертификация средств криптографической защиты информации требуется для защиты сведений, составляющих государственную тайну РФ, и сведений, конфиденциальность которых требуется обеспечить согласно действующему законодательству. Также в Российской Федерации применение алгоритма ГОСТ 28147-89 рекомендовано для защиты банковских информационных систем.

Алгоритм ГОСТ 28147-89 (рис. 2.21) базируется на схеме Фейстеля и шифрует информацию блоками по 64 бит, которые разбиваются на два подблока по 32 бита (I, и R). Подблок R, обрабатывается функцией раундового преобразования, после чего его значение складывается со значением подблока Lj, затем подблоки меняются местами. Алгоритм имеет 16 или 32 раунда в зависимости от режима шифрования (вычисление имитовставки или другие режимы шифрования).

Рис. 2.21.

В каждом раунде алгоритма выполняются следующие преобразования.

1. Наложение ключа. Содержание подблока R i складывается по модулю 2 32 с ключом раунда К. Kj - это 32-битовая часть исходного ключа, используемая в качестве раундового. Алгоритм ГОСТ 28147-89 нс использует процедуру расширения ключа, исходный 256-битный ключ шифрования представляется в виде конкатенации (сцепления) восьми 32-битовых подключей (рис. 2.22): К 0 , К { , К т К, К А, К 5 , К 6 , К 7 .

В процессе шифрования используется один из этих подключей К

С 1-го по 24-й раунд - в прямой последовательности:

С 25-го но 32-й раунд - в обратной последовательности:

Рис. 2.22. Строение ключа шифрования алгоритма ГОСТ 28147-89

2. Табличная замена. После наложения ключа подблок R i разбивается на восемь частей но 4 бита, значение каждой из которых по отдельности заменяется в соответствии со своей таблицей замены (S-блоком). Всего используется восемь S-блоков - S 0 , S, S 2 , S 3 , S 4 , S 5 , S 6 , S 7 . Каждый S-блок алгоритма ГОСТ 28147-89 представляет собой вектор (одномерный массив) с ^элементами, пронумерованными от 0 до 15. Значениями S-блока являются 4-битовые числа, т.е. целые числа от 0 до 15.

Из таблицы S-блока берется элемент, порядковый номер которого совпадает со значением, пришедшим на вход подстановки.

Пример 2.6.

Пусть имеется S-блок следующего вида:

Пусть на вход этого S-блока подано значение 0100 2 = 4. Выходом S-блока будет 4-й элемент таблицы замен, т.е. 15 = 1111 2 (нумерация элементов начинается с нуля).

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

К сожалению, алгоритм ГОСТ 28147-89 имеет «слабые» таблицы замен, при использовании которых алгоритм может быть достаточно легко раскрыт криптоаналитическими методами. К числу «слабых» относится, например, тривиальная таблица замен, в которой вход равен выходу (табл. 2.16).

Таблица 2.16

Пример слабого S-блока

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

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

  • устанавливается нулевой ключ и выполняется поиск «нулевого вектора», т.е. значения z = F(0), где F - функция раундового преобразования алгоритма. Это требует порядка 2 32 тестовых операций шифрования;
  • с помощью нулевого вектора вычисляются значения таблиц замен, что занимает не более 2 11 операций.

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

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

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

В современных алгоритмах S-блоки обычно представляют собой вектор (одномерный массив), содержащий 2" т- битовых элементов. Вход блока определяет номер элемента, значение которого служит выходом S-блока.

Для проектирования S-блоков был выдвинут целый ряд критериев. Таблица замен должна удовлетворять:

  • строгому лавинному критерию;
  • критерию независимости битов;
  • требованию нелинейности от входных значений.

Для выполнения последнего требования было предложено задавать линейную комбинацию i битов (i = 1, ..., т) значений таблицы замен бентфункциями (англ, bent - отклоняющийся, в данном случае - от линейных функций). Бент-функции образуют специальный класс булевых функций, характеризующихся высшим классом нелинейности и соответствием строгому лавинному критерию.

В некоторых работах для S-блоков предлагается проверка выполнения гарантированного лавинного эффекта порядка у - при изменении одного входного бита меняется, по крайней мере, у выходных бит S-блока. Свойство гарантированного лавинного эффекта порядка у от 2 до 5 обеспечивает достаточно хорошие диффузионные характеристики S-блоков для любого алгоритма шифрования.

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

  • случайный выбор (для S-блоков небольшого размера может привести к созданию слабых таблиц замен);
  • случайный выбор с последующей проверкой на соответствие различным критериям и отбраковкой слабых S-блоков;
  • ручной выбор (для S-блоков больших размеров слишком трудоемок);
  • математический подход, например генерация с использованием бент- функций (этот подход применен в алгоритме CAST).

Можно предложить следующий порядок проектирования отдельных S- блоков алгоритма ГОСТ 28147-89:

  • каждый S-блок может быть описан четверкой логических функций, каждая из функций должна иметь четыре логических аргумента;
  • необходимо, чтобы эти функции были достаточно сложными. Это требование сложности невозможно выразить формально, однако в качестве необходимого условия можно потребовать, чтобы соответствующие логические функции, записанные в минимальной форме (т.е. с минимально возможной длиной выражения) с использованием основных логических операций, не были короче некоторого необходимого значения;
  • отдельные функции, даже используемые в разных таблицах замен, должны различаться между собой в достаточной степени.

В 2011 г. предложена новая атака «рефлексивная встреча посередине», незначительно снижающая стойкость ГОСТ 28147-89 (с 2256 до 2225) . Лучший результата криптоанализа алгоритма по состоянию на 2012 г. позволяет снизить его стойкость до 2 192 , требуя относительно большого размера шифротекста и объема предварительно сформированных данных . Несмотря на предложенные атаки, на современном уровне развития вычислительной техники ГОСТ 28147-89 сохраняет практическую стойкость.

Шифр «Магма» (ГОСТ Р 34.12-2015). Стандарт ГОСТ 28147-89 действовал в России более 25 лет. За это время он показал достаточную стойкость и хорошую эффективность программных и аппаратных реализаций, в том числе и на низкоресурсных устройствах. Хотя и были предложены криптоаналитические атаки, снижающие оценки его стойкости (лучшая - до 2 192), они далеки от возможности практической реализации. Поэтому было принято решение о включении алгоритма ГОСТ 28147-89 во вновь разрабатываемый стандарт симметричного шифрования.

В шопе 2015 г. приняты два новых национальных криптографических стандарта: ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры» и ГОСТ Р 34.13-2015 «Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров», которые вступают в действие с 1 января 2016 г.

Стандарт ГОСТ Р 34.12-2015 содержит описание двух блочных шифров с длиной блока 128 и 64 бит. Шифр ГОСТ 28147-89 с зафиксированными блоками нелинейной подстановки включен в новый ГОСТ Р 34.12-2015 в качестве 64-битового шифра под названием «Магма» («Magma»).

Ниже приведены закрепленные в стандарте блоки замен:

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

По мнению технического комитета по стандартизации «Криптографическая защита информации» (ТК 26), фиксация блоков нелинейной подстановки сделает алгоритм ГОСТ 28147-89 более унифицированным и поможет исключить использование «слабых» блоков нелинейной подстановки. Кроме того, фиксация в стандарте всех долговременных параметров шифра отвечает принятой международной практике. Новый стандарт ГОСТ Р 34.12-2015 терминологически и концептуально связан с международными стандартами ИСО/МЭК 10116 «Информационные технологии. Методы обеспечения безопасности. Режимы работы для «-битовых блочных шифров» (ISO/IEC 10116:2006 Information technology - Security techniques - Modes of operation for an n-bit block cipher) и серии ИСО/МЭК 18033 «Информационные технологии. Методы и средства обеспечения безопасности. Алгоритмы шифрования»: ИСО/МЭК 18033-1:2005 «Часть 1. Общие положения» (ISO/IEC 18033-1:2005 Information technology - Security techniques - Encryption algorithms - Part 1: General) и ИСО/МЭК 18033-3:2010 «Часть 3. Блочные шифры» (ISO/IEC 18033-3:2010 (Information technology - Security techniques - Encryption algorithms - Part 3: Block ciphers)).

В стандарт ГОСТ P 34.12-2015 включен также новый блочный шифр («Кузнечик») с размером блока 128 бит. Ожидается, что этот шифр будет устойчив ко всем известным на сегодняшний день атакам на блочные шифры.

Режимы работы блочных шифров (простой замены, гаммирования, гам- мирования с обратной связью по выходу, гаммирования с обратной связью по шифротексту, простой замены с зацеплением и выработки имитовстав- ки) выведены в отдельный стандарт ГОСТ Р 34.13-2015, что соответствует принятой международной практике. Эти режимы применимы как к шифру «Магма», так и к новому шифру «Кузнечик».

  • Осуществляется побитовый циклический сдвиг влево на 11 битов. Расшифрование осуществляется по этой же схеме, но с другим расписаниемиспользования ключей: с 1-го по 8-й раунд расшифровки - в прямом порядке: с 9-го по 32-й раунд расшифровки - в обратном порядке: По сравнению с шифром DES у ГОСТ 28147-89 есть следующие достоинства: существенно более длинный ключ (256 бит против 56 у шифра DES),атака на который путем полного перебора ключевого множества на данныймомент представляется невыполнимой; простое расписание использования ключа, что упрощает реализациюалгоритма и повышает скорость вычислений. Проектирование S-блоков ГОСТ 28147-89. Очевидно, что схема алгоритма ГОСТ 28147-89 весьма проста. Это означает, что наибольшая нагрузка по шифрованию ложится именно на таблицы замен. Значения таб-
  • Панасепко С. П. Алгоритмы шифрования: специальный справочник. СПб.: БХВ-Петер-бург, 2009.
  • Kara О. Reflection Attacks on Product Ciphers. URL: http://eprint.iacr.org/2007/043.pdf
  • Российский стандарт шифрования: стойкость снижена. URL: http://cryptofaq.ru/index.php/2010-12-23-18-20-21/2010-12-23-18-22-09/90-2011-02-01-07-47-27
  • Ачексеев Е. К., Смышляев С. В. ГОСТ 28147-89: «Не спеши его хоронить».

Утв. Приказом федерального агентства по техническому регулированию и метрологии от 19 июня 2015 г. N 750-ст

Национальный стандарт РФ ГОСТ Р 34.13-2015

"ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ. РЕЖИМЫ РАБОТЫ БЛОЧНЫХ ШИФРОВ"

Information technology. Cryptographic data security. Block ciphers operation modes

Взамен ГОСТ Р ИСО/МЭК 10116-93

Предисловие

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

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

3 Утвержден и введен в действие приказом Федерального агентства по техническому регулированию и метрологии от 19 июня 2015 г. N 750-ст

4 Взамен ГОСТ Р ИСО/МЭК 10116-93

Введение

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

Стандарт разработан взамен ГОСТ Р ИСО/МЭК 10116-93 "Информационная технология. Режимы работы для алгоритма n-разрядного блочного шифрования". Необходимость разработки настоящего стандарта вызвана потребностью в определении режимов работы блочных шифров, соответствующих современным требованиям к криптографической стойкости.

Настоящий стандарт терминологически и концептуально увязан с международными стандартами ИСО/МЭК 9797-1 , ИСО/МЭК 10116 , ИСО/МЭК 10118-1 , ИСО/МЭК 18033 , ИСО/МЭК 14888-1 .

Примечание - Основная часть стандарта дополнена приложением А.

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

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

Настоящим стандартом следует руководствоваться, если информация конфиденциального характера подлежит защите в соответствии с законодательством Российской Федерации.

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

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

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

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

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

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

[ИСО/МЭК 10116, статья 3.11]

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

[ИСО/МЭК 18033-1, статья 2.13]

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

Понравилось? Лайкни нас на Facebook