ГОСТ 28147-89
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАЩИТА КРИПТОГРАФИЧЕСКАЯ
Алгоритм криптографического преобразования
ОКП 40 4000
Дата введения 1990-07-01
ИНФОРМАЦИОННЫЕ ДАННЫЕ
1. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 02.06.89 N 1409
2. ВВЕДЕН ВПЕРВЫЕ
3. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка | Номер пункта |
Приложение 1 | |
Приложение 1 | |
Приложение 1 |
4. ПЕРЕИЗДАНИЕ, апрель 1996 г.
Настоящий стандарт устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки.
Алгоритм криптографического преобразования предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и по своим возможностям не накладывает ограничений на степень секретности защищаемой информации.
Стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах или в ЭВМ.
Термины, применяемые в настоящем стандарте, и их определения приведены в приложении 1.
1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см. черт.1):
Черт.1
ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (, , , , , , , );
четыре 32-разрядных накопителя (, , , );
два 32-разрядных накопителя (, ) с записанными в них постоянными заполнениями , ;
два 32-разрядных сумматора по модулю 2 (, );
32-разрядный сумматор поразрядного суммирования по модулю 2 ();
32-разрядный сумматор по модулю (2-1) ();
сумматор по модулю 2(), ограничение на разрядность сумматора не накладывается;
блок подстановки ();
регистр циклического сдвига на одиннадцать шагов в сторону с
таршего разряда ().
1.2. Блок подстановки состоит из восьми узлов замены , , , , , , , с памятью на 64 бита каждый. Поступающий на блок подстановки 32-разрядный вектор разбивается на восемь последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим собой таблицу из шестнадцати строк, содержащих по четыре бита заполнения в строке. Входной вектор определяет адрес строки в таблице, заполнение данной строки является выходным вектором. Затем 4-разрядные выходные векторы последовательно объединяются в 32-разрядный вект
ор.
1.3. При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами.
1.4. При записи ключа (, ..., ), {0,1}, =1256, в КЗУ значение вводится в 1-й разряд накопителя , значение вводится во 2-й разряд накопителя , ... , значение вводится в 32-й разряд накопителя ; значение вводится в 1-й разряд накопителя , значение вводится во 2-й разряд накопителя , ... , значение вводится в 32-й разряд накопителя ; значение вводится в 1-й разряд накопителя и т.д., значение вводится в 32-й разр
яд накопителя .
1.5. При перезаписи информации содержимое -го разряда одного накопителя (сумматора) переписывается в -й разряд другого накопителя (сумматора).
1.6. Значения постоянных заполнений , (констант) накопителей , приведены в приложении 2.
1.7. Ключи, определяющие заполнения КЗУ и таблиц блока подстановки , являются секретными элементами и поставляются в установленном порядке.
Заполнение таблиц блока подстановки является долговременным ключевым элементом, общим для сети ЭВМ.
Организация различных видов связи достигается построением соответствующей ключевой системы. При этом может быть использована возможность выработки ключей (заполнений КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.
1.8. В криптосхеме предусмотрены четыре вида работы:
зашифрование (расшифрование) данных в режиме простой замены;
зашифрование (расшифрование) данных в режиме гаммирования;
зашифрование (расшифрование) данных в режиме гаммирования с обратной связью;
режим выработки имитовставки.
Схемы программной реализации алгоритма криптографического преобразования приведены в приложении 3.
2.1. Зашифрование открытых данных в режиме простой замены
2.1.1. Криптосхема, реализующая алгоритм зашифрования в режиме простой замены, должна иметь вид, указанный на черт.2.
Черт.2
Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока = ((0), (0). …, (0), (0), (0), (0) …, (0)) двоичной информации в накопители и производится так, что значение (0) вводится в 1-й разряд , значение (0) вводится во 2-й разряд и т.д., значение (0) вводится в 32-й разряд ; значение (0) вводится в 1-й разряд , значение (0) вводится во 2-й разряд и т.д., значение (0) вводится в 32-й разряд . В результате получают состояние ( (0), (0), …, (0), (0)) накопителя и состояние ( (0), (0),