ГОСТ 28147-89. Офиц.издание (ГОСТ 28147-89)
Описание файла
Файл "ГОСТ 28147-89. Офиц.издание" внутри архива находится в папке "ГОСТ 28147-89". PDF-файл из архива "ГОСТ 28147-89", который расположен в категории "". Всё это находится в предмете "защита информации" из 8 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "защита информации" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
ГОСТ 28147 — 89 СОД ЕРЖАН И Е 1 4 8 11 14 1. Структурная схема алгоритма криптографического преобразования ......... 2. Режим простой замены . 3. Режим гаммироаания. 4. Режим гаммирования с обратной связью. 5. Режим выработки имитоаставки . Приложение 1. Термины, применяемые в настояшем стандарте, и их определения. 16 Приложение 2. Значения констант С1, С2.. !8 Приложение 3. Схемы программной реализапин алгоритма криптографического преобразования......................................
!9 Приложение 4. Правила суммирования по молулю 2 и по модулю (2 з — 1),.... 25 удк 001.515.ь:ооо.з54 Группа П05 ГОСУЛАРСТВЕННЫЙ СТАНЛАРТ СОЮЗА ССР СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАШИТА КРИПТОГРАФИЧЕСКАЯ Аагорити крннпирпончеекопг преобразовании ГОСТ 28142 — 89 ОКП 40 4000 Лата введении 01.07.90 1. СТРУКТУРНАЯ СХЕМА АЛГОРИТМА КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ 1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см.черт.1); ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (Хо, Х1, Хз, Хз Х4, Х5, ХФ Хт); четыре 32-разрядных накопителя (А'1, угу, Уз, У4); Ипганне о$ицналъиое * Перепечатка аоеареинна ко Издательство стандартов, 1989 © ИПК Издательство стандартов, 1996 Настоящий стандарт устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки.
Алгоритм криптографического преобразования предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и по своим возможностям не накладывает ограничений на степень секретности защищаемой информации. Стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах или в ЭВМ. Термины, применяемые в настоящем станларте, и их определения приведены в приложении 1.
два 32-разрядных накопителя ()Уз, )Уы) с записанными в них постоянными заполнениями С2, Сг', два 32-разрядных сумматора по модулю 2~1 (СМ1, СМз); 32-разрядный сумматор поразрядного суммирования по модулю 2 (СМ,); 32-разрядный сумматор по модулю (2~~ — 1) (СМ4); сумматор гю модулю 2(СМ5), ограничение на разрядность сумматора СМ9 не накладывается; блок подстановки (К); регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда ()1). 1.2.
Блок подстановки К состоит из восьми узлов замены Кг, Кз, Кз, К4, Кя Кь, Кт, Ка с памятью на 64 бита каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрялных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестналцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором.
Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вектор. 1.3. При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами. 1.4. при записи ключа ( и~г, и'2 ..., и~ззь), и' е(0,1), г) = 1-:256, в КЗУ значение И'1 вводится в 1-й разряд накопителя Хв, значение И'2 вводится во 2-й разряд накопителя Ха, ..., значение И'зз вводится в 32-й разряд накопителя Хв, значение Изз вводится в 1-й разряд накопителя Хг, значение И34 вводится во 2-й разряд накопителя Хг, ..., значение И44 вводится в 32-й разряд накопителя Х1, значение И'45 вводится в 1-й разряд накопителя Х2 и тд., значение Ь'294 вводится в 32-й разряд накопителя Хт.
1.5. При перезаписи информации содержимое р-го разряда одного накопителя (сумматора) переписывается в р-й разряд другого накопителя (сумматора). 1.6. Значения постоянных заполнений С1, С2 ( констант) накопителей гУ4, гУ5 приведены в приложении 2. 1.7. Ключи, определяющие заполнения КЗУ и таблиц блока подстановки К, являются секретными элементами и поставляются в установленном порядке. ГОСТ 23147 — $9 С. 3 Черт 1 Заполнение таблиц блока подстановки К является долговременным ключевым элементом, обшим для сети ЭВМ. Организация различных видов связи достигается построением соответствуюшей ключевой системы. При этом может быть использована возможность выработки ключей (заполнений КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имитозащиты лля передачи по каналам связи или хранения в памяти ЭВМ.
1.8. В криптосхеме предусмотрены четыре вида работы: зашифрование (расшифрование) данных в режиме простой замены„' зашифрование (расшифрование) данных в режиме гаммирования; С. 4 ГОСТ 28247 — 89 зашифрование (расшифрование) данных в режиме гаммирования с обратной связью; режим выработки имитовставки. Схемы программной реализации алгоритма криптографического преобразования привелены в приложении 3. 2.
РЕЖИМ ПРОСТОЙ ЗАМЕНЫ 2.1. Зашифрование открытых данных в режиме простой замены 2.1.1. Криптосхема, реализующая алгоритм зашифрования в режиме простой замены, лолжна иметь вид, указанный на черт.2. Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока ТО = (а3(0), аз(0), ..., а33(0), а32(0), Ь1(0), Ь2(0), ..., Ь32(0)) двоичной информации в накопители А63 и А22 производится так, что значение а~(0) вводится в 1-й разряд )ун значение а2(0) вводится во 2-й разряд (У~ и т.д, значение а32(0) вводится в 32-й разряд Ф3, значение Ь3(0) вводится в 1-й разряд )У2, значение Ь2(0) вводится во 2-й разряд Ф2 и т.д., значение Ь32(0) вводится в 32-й разряд Ф2.
В резульгате получают состояние (а32(0), аз~(0), ..., а2(0), а3(0)) накопителя 2У3 и состояние (Ь32(0), Ьз(0), ..., Ь1(0)) накопителя Л/2. 2.1.2. В КЗУ вводятся 256 бит ключа. Содержимое восьми 32-разрядных накопителей Хв, Хн ..., Хт имеет вид: '«О (И 32 )~3! " 11 2 И 1) А ((464 И63 " И 34 ИЗЗ) Х2 = (И'236, Й'23н "., В'226 %223) 2.1.3. Алгоритм зашифрования 64-разрядного блока открытых данных в режиме простой замены состоит из 32 циклов. В первом цикле начальное заполнение накопителя )У~ суммируется по модулю 232 в сумматоре СМ~ с заполнением накопителя ХО при этом заполнение накопителя АГ3 сохраняется. Результат суммирования преобразуется в блоке подстановки К и полученный вектор поступает на вход регистра Я, где циклически сдвигается на одиннадцать шагов в сторону старших разрядов.
Результат сдвига суммируется поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным заполнением накопителя АГ2. Полученный в СМ2 результат записывается в 1«21, при этом старое заполнение )У~ переписывается в Ф2. Первый цикл заканчивается. Последующие циклы осуществлнются аналогично, при этом во 2-м цикле из КЗУ считывается заполнение Хн в 3-м цикле из КЗУ ГОСТ 28147 — 89 С. 5 считывается заполнение Х2 и т.д., в 8-м цикле из КЗУ считывается заполнение Хр В циклах с 9-го по 1б-й, а также в циклах с 17-го по 24-й заполнения из КЗУ считываются в том же порядке: Хо,Хп Х,,Х,,Х„ХиХь,Х,.
В последних восьми циклах с 25-го по 32-й порядок считывания заполнений КЗУ обратный: ХпХь,ХмХь,ХиХнХ, Д,. Таким образом, при зашифровании в 32 циклах осушествляется следуюший порядок выбора заполнений накопителеи: Хо,Хп ХцХпХь,ХиХь,Хп Хо,Хп ХпХз,Хь,ХнХь,Хп Хо Х~ Хг Хз Хь Хь Хь Хт Хт Хь Хь Х4 Хз Хна Хо. Черт, 2 С. 6 ГОСТ 28147 † 32 цикле результат из сумматора СМ2 вводится в накопитель )У?, а в накопителе ФЗ сохраняется старое заполнение. Полученные после 32-го цикла зашифрования заполнения накопителей |У1 и 192 являются блоком зашифрованных данных, соответствующим блоку открытых данных. 2.1.4.
Уравнения зашифрования в режиме простой замены имшот вид: аб) =- (а0 — 1) шх17 1> <„, |В>) кд О+ ь0 — 1) ь0)= 0-1) при 7' = 1-24; < а (7) = (а (7' — |) ЗВ> х(32,> ) кл е ь П вЂ” | ) Ь(7) = а (7 — 1) при / = 25+ 3|; а (32) =а (31) Ь (32) = (а (31) ?В> Ха) КЯ Ф Ь (31) при 7'= 32, где а(0) = (а32(0), а>|(0),, а|(0)) — начальное заполнение Ь71 перед первым циклом зашифрования; Ь(0) = (Ь32(0), ЬЗ|(0), ..., Ь!(О)) — начальное заполнение М? перед первым циклом зашифрования; аоу = (а32(7) а31(2?, ..., а|(7)) — заполнение ?у1 после 7-го цикла зашифрования; ЬЮ = (Ьз?0), Ь31(7), ..., ЬЗ(7)) — заполнение ЗУ? после 7?го цикла зашифрования,7' = 1-.32.
Знак 6 означает поразрядное суммирование 32-разрядных векторов по модулю 2. Знак Б означает суммирование 32-разрядных векторов по модулю 232. Правила суммирования по модулю 232 приведены в приложении 4; Я вЂ” операция циклического сдвига на одиннадцать шагов в сторону старших разрядов, т.е.
Я(Г32,ГЗ|,ГЗО,Г29,Г?В,Г27,Г26,Г25,Г?4,Г23, Г22,Г21,120, ...,Г2,Г1)= =(Г?1,Г?0, ..., Г?,ГЗ,ГЗ?,ГЗ>,ГЗО>Г?9,Г?В,Г?7,Г?В,Г?5,Г?4,Г?З,Г?2). 2.1.5. 64-разрядный блок зашифрованных данных 3' выводится из накопителей ФЗ, Ь72 в следующем порядке: из 1-го, 2-го, ..., 32-го разрядов накопителя ФЗ, затем из 1-го, 2-го, ..., 32-го разрядов накопителя /Ч?, т.е. ГОСТ 28!47 — 89 С. г Т,„= (а,(32),аг(32), ..., а,г(32), Ь!(32) Ьг(32)* " Ьзг(32)).
Остальные блоки открытых данных в режиме простой замены зашнфровываются аналогично. 2.2. Расшифрование зашифрованных данных в режиме простой замены 2.2.!. Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см.черг.2), что и при зашифровании. В КЗУ вводятся 25б бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом.
Ввод любого блока Т,„= (а,(32),а,(32), ..., п,г(32), Ь,(32), Ь,(32), ..., Ьн(32)) в накопители УУ1 и ууг производятся так, чтгз значение а|(32) вводится в 1-й разряд УУ1, значение аг(32) вводится во 2-й разряд УУ| н т.д., значение азг(32) вводится в 32-й разряд уУ1, значение Ь|(32) вводится в 1-й разряд ууг и т.л., значение Ьзг(32) вволнтся в 32-й разряд узуг. 2.2.2. Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей Хо, Х|, ..., Хг считываются из КЗУ в циклах расшифрования в следующем порядке: Хо Х| Хг Хз Х4 Хз Хо Хг Хг Хо Хз Х4 Хз Хг„Х| Хо Хз Хо Хз Х4 Хз Хг Х| Хо' Хз ХмХз,Х4 Хз Хг Х!Д|. 2.2.3. Уравнения расшифрования имеют вид: а (32 — у) = (а (32 — у'+ 1) Б Ху | ) КУ! Е Ь (32 — у + 1) Ь(32 — У) юа(32 -у'+ 1) приу = 1+ 8; Е а(32 — У) (а(32 — У+ 1) й) Х( | |оу) КУ! ЕЬ(32-У+ П Ь(32 — у) =а(32 — у+ 1) при у= 9 + 31; а(0) г а(1) ь(о) = (а (|) !в хо) кл |в ь(!) при у = 32.
2.2.4. Полученные после 32 циклов работы заполнения накопителей у(У1 и УУ2 составляют блок открытых данных. То = (а|(0), аг(0), ", азг(0), Ь!(О), Ьг(0), ..., Ьзг(0)), соответствующий блоку зашифрованных данных, при этом значение п|(0) блока То соответствует содержимому 1-го разряда Уз|1, значение аг(0) соот- С. 8 ГОСТ 28147-89 ветствует содержимому 2-го разряда А>< и т.д., значение аз2(0) соответствует содержимому 32-го разряда Ф<, значение Ь< (О) соответствует содержимому 1-го разряда Ф2, значение Ь2(0) соответствует содержимому 2-го разряда А<2 и т.д., значение Ь)2(0) соответствует содержимому 32-го разряда Ф2. Аналогично расшифровываются остальные блоки зашифрованных данных.
2.3. Алгоритм зашифрования в режиме простой замены 64-битового блока То обозначается через А, т.е. А(Те) = А(а(0), Ь(0)) =(а(32), Ь(32)) = Т„, . 2.4. Режим простой замены допускается использовать для зашифрования (расшифрования) данных только в случаях, приведенных в п.1.7. 3. РЕЖИМ ГАММИРОВАНИЯ 3.!. Зашифрованне открытых данных в режиме гаммирования 3.1.1, Криптосхема, реализующая алгоритм зашифрования в режиме гаммирования, имеет вид, указанный на черт.3. Открытые данные, разбитые на 64-разрядные блоки 7~'>, 7Д> ..., 7<м-<>, Ц"<, зашифровываются в режиме гаммирования путем поразрядного суммирования по модулю 2 в сумматоре СМз с гаммой шифра Г,„, которая вырабатывается блоками по 64 бита, т.е.