ГОСТ 28147-89. Офиц.издание (960676)
Текст из файла
ГОСТ 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 бита, т.е.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.