Государственный стандарт союза сср системы обработки информации. Защита криптографическая алгоритм криптографического преобразования
Вид материала | Документы |
- Государственный стандарт союза сср соединения сварные методы контроля качества гост, 157.81kb.
- Государственный стандарт союза сср контроль неразрушающий соединения сварные методы, 802.9kb.
- Государственный стандарт союза сср фундаменты железобетонные сборные под колонны каркаса, 193.58kb.
- Государственный стандарт союза сср арматура и детали трубопроводов давления условные, 1023.2kb.
- Государственный стандарт союза сср сварка, пайка и термическая резка металлов гост, 487.3kb.
- Государственный стандарт союза сср управление качеством продукции основные понятия, 477.51kb.
- Государственный стандарт союза сср сварка под флюсом. Соединения сварные основные типы,, 1065.41kb.
- Государственный стандарт союза сср площадки и лестницы для строительно-монтажных работ, 84.73kb.
- Государственный стандарт союза сср краны мостовые и козловые электрические общие технические, 381.8kb.
- Государственный стандарт союза сср проволока стальная низкоуглеродистая общего назначения, 382.33kb.
ГОСТ 28147-89
Группа П85
ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР
СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ. ЗАЩИТА КРИПТОГРАФИЧЕСКАЯ
Алгоритм криптографического преобразования
ОКП 40 4000
Дата введения 1990-07-01
ИНФОРМАЦИОННЫЕ ДАННЫЕ
1. УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Государственного комитета СССР по стандартам от 02.06.89 N 1409
2. ВВЕДЕН ВПЕРВЫЕ
3. ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ ДОКУМЕНТЫ
Обозначение НТД, на который дана ссылка | Номер пункта |
ГОСТ 15971-90 | Приложение 1 |
ГОСТ 17657-79 | Приложение 1 |
ГОСТ 19781-90 | Приложение 1 |
4. ПЕРЕИЗДАНИЕ, апрель 1996 г.
Настоящий стандарт устанавливает единый алгоритм криптографического преобразования для систем обработки информации в сетях электронных вычислительных машин (ЭВМ), отдельных вычислительных комплексах и ЭВМ, который определяет правила шифрования данных и выработки имитовставки.
Алгоритм криптографического преобразования предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и по своим возможностям не накладывает ограничений на степень секретности защищаемой информации.
Стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, хранимых и передаваемых в сетях ЭВМ, в отдельных вычислительных комплексах или в ЭВМ.
Термины, применяемые в настоящем стандарте, и их определения приведены в приложении 1.
1. СТРУКТУРНАЯ СХЕМА АЛГОРИТМА КРИПТОГРАФИЧЕСКОГО ПРЕОБРАЗОВАНИЯ
1.1. Структурная схема алгоритма криптографического преобразования (криптосхема) содержит (см. черт.1):
![](images/359887-nomer-5985d796.gif)
Черт.1
ключевое запоминающее устройство (КЗУ) на 256 бит, состоящее из восьми 32-разрядных накопителей (
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-m3fad9196.png)
![](images/359887-nomer-5c975bde.png)
четыре 32-разрядных накопителя (
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-m24bb9fa1.png)
![](images/359887-nomer-172416d8.png)
два 32-разрядных накопителя (
![](images/359887-nomer-mb69db34.png)
![](images/359887-nomer-4b854141.png)
![](images/359887-nomer-m7d218b21.png)
![](images/359887-nomer-7b63deb3.png)
два 32-разрядных сумматора по модулю 2
![](images/359887-nomer-28b9bb73.png)
![](images/359887-nomer-46b1e966.png)
![](images/359887-nomer-m79ea4357.png)
32-разрядный сумматор поразрядного суммирования по модулю 2 (
![](images/359887-nomer-m77c3c3b9.png)
32-разрядный сумматор по модулю (2
![](images/359887-nomer-28b9bb73.png)
![](images/359887-nomer-32fd1116.png)
сумматор по модулю 2(
![](images/359887-nomer-m66a0c062.png)
![](images/359887-nomer-m66a0c062.png)
блок подстановки (
![](images/359887-nomer-m7b7cca60.png)
регистр циклического сдвига на одиннадцать шагов в сторону старшего разряда (
![](images/359887-nomer-95e8e8.png)
1.2. Блок подстановки
![](images/359887-nomer-m7b7cca60.png)
![](images/359887-nomer-11dc80b6.png)
![](images/359887-nomer-m318ab26.png)
![](images/359887-nomer-349e6fec.png)
![](images/359887-nomer-m701e695.png)
![](images/359887-nomer-m1bd1d8be.png)
![](images/359887-nomer-m5ba0b10e.png)
![](images/359887-nomer-e0a74ad.png)
![](images/359887-nomer-4e7c97dd.png)
1.3. При сложении и циклическом сдвиге двоичных векторов старшими разрядами считаются разряды накопителей с большими номерами.
1.4. При записи ключа (
![](images/359887-nomer-19ff1e18.png)
![](images/359887-nomer-57979c1f.png)
![](images/359887-nomer-m7fa35d6e.png)
![](images/359887-nomer-m318d5e39.png)
![](images/359887-nomer-m71ec229b.png)
![](images/359887-nomer-m7711b8.png)
![](images/359887-nomer-19ff1e18.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-57979c1f.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-3f7f9db5.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-m7effbec8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-m4b539ba3.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-m68a1845a.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-3a7274a1.png)
![](images/359887-nomer-36145ff8.png)
![](images/359887-nomer-fa6436a.png)
![](images/359887-nomer-5c975bde.png)
1.5. При перезаписи информации содержимое
![](images/359887-nomer-m5007ad69.png)
![](images/359887-nomer-m5007ad69.png)
1.6. Значения постоянных заполнений
![](images/359887-nomer-7b63deb3.png)
![](images/359887-nomer-m3379838e.png)
![](images/359887-nomer-2abfd058.png)
![](images/359887-nomer-mb69db34.png)
1.7. Ключи, определяющие заполнения КЗУ и таблиц блока подстановки
![](images/359887-nomer-m7b7cca60.png)
Заполнение таблиц блока подстановки
![](images/359887-nomer-m7b7cca60.png)
Организация различных видов связи достигается построением соответствующей ключевой системы. При этом может быть использована возможность выработки ключей (заполнений КЗУ) в режиме простой замены и зашифрования их в режиме простой замены с обеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.
1.8. В криптосхеме предусмотрены четыре вида работы:
зашифрование (расшифрование) данных в режиме простой замены;
зашифрование (расшифрование) данных в режиме гаммирования;
зашифрование (расшифрование) данных в режиме гаммирования с обратной связью;
режим выработки имитовставки.
Схемы программной реализации алгоритма криптографического преобразования приведены в приложении 3.
2. РЕЖИМ ПРОСТОЙ ЗАМЕНЫ
2.1. Зашифрование открытых данных в режиме простой замены
2.1.1. Криптосхема, реализующая алгоритм зашифрования в режиме простой замены, должна иметь вид, указанный на черт.2.
![](images/359887-nomer-6f64353a.gif)
Черт.2
Открытые данные, подлежащие зашифрованию, разбивают на блоки по 64 бита в каждом. Ввод любого блока
![](images/359887-nomer-m451a6adb.png)
![](images/359887-nomer-3f96bf70.png)
![](images/359887-nomer-3b142b80.png)
![](images/359887-nomer-m1927b76.png)
![](images/359887-nomer-m6c312624.png)
![](images/359887-nomer-43da4315.png)
![](images/359887-nomer-33f28942.png)
![](images/359887-nomer-3b85b270.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-3f96bf70.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-3b142b80.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m6c312624.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-43da4315.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-33f28942.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-37476203.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-77f0b525.png)
![](images/359887-nomer-3e6e411e.png)
![](images/359887-nomer-763dab82.png)
![](images/359887-nomer-3f96bf70.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-37476203.png)
![](images/359887-nomer-75dfec83.png)
![](images/359887-nomer-43da4315.png)
![](images/359887-nomer-133d5b69.png)
2.1.2. В КЗУ вводятся 256 бит ключа. Содержимое восьми 32-разрядных накопителей
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-m4cb44835.png)
![](images/359887-nomer-m46f409ae.png)
![](images/359887-nomer-7b20881d.png)
2.1.3. Алгоритм зашифрования 64-разрядного блока открытых данных в режиме простой замены состоит из 32 циклов.
В первом цикле начальное заполнение накопителя
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-28b9bb73.png)
![](images/359887-nomer-46b1e966.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-7fe866a7.png)
Результат суммирования преобразуется в блоке подстановки
![](images/359887-nomer-m7b7cca60.png)
![](images/359887-nomer-95e8e8.png)
![](images/359887-nomer-m77c3c3b9.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-m77c3c3b9.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
Последующие циклы осуществляются аналогично, при этом во 2-м цикле из КЗУ считывается заполнение
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-36145ff8.png)
![](images/359887-nomer-73a24bb7.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-5c975bde.png)
В последних восьми циклах с 25-го по 32-й порядок считывания заполнений КЗУ обратный:
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-6ca9691b.png)
Таким образом, при зашифровании в 32 циклах осуществляется следующий порядок выбора заполнений накопителей:
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-6ca9691b.png)
В 32 цикле результат из сумматора
![](images/359887-nomer-m77c3c3b9.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-7fe866a7.png)
Полученные после 32-го цикла зашифрования заполнения накопителей
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
2.1.4. Уравнения зашифрования в режиме простой замены имеют вид:
![](images/359887-nomer-1a987358.png)
при
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m7711b8.png)
![](images/359887-nomer-m676b277.png)
при
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m7711b8.png)
![](images/359887-nomer-m7e3603fa.png)
![](images/359887-nomer-m70d15a79.png)
при
![](images/359887-nomer-m26eed95d.png)
где
![](images/359887-nomer-552ce16e.png)
![](images/359887-nomer-77f0b525.png)
![](images/359887-nomer-3e6e411e.png)
![](images/359887-nomer-3f96bf70.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m5c008b25.png)
![](images/359887-nomer-3b85b270.png)
![](images/359887-nomer-m2a574cce.png)
![](images/359887-nomer-43da4315.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-50c45f37.png)
![](images/359887-nomer-5dd93aaf.png)
![](images/359887-nomer-m700c1d03.png)
![](images/359887-nomer-m50d11e38.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-74b1b479.png)
![](images/359887-nomer-7867d5ae.png)
![](images/359887-nomer-5831dc8b.png)
![](images/359887-nomer-m4328dfba.png)
![](images/359887-nomer-133d5b69.png)
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m7711b8.png)
Знак
![](images/359887-nomer-4d9d8ece.png)
Знак
![](images/359887-nomer-17770131.png)
![](images/359887-nomer-28b9bb73.png)
![](images/359887-nomer-28b9bb73.png)
![](images/359887-nomer-95e8e8.png)
![](images/359887-nomer-m60c30142.png)
![](images/359887-nomer-b2a07e1.png)
2.1.5. 64-разрядный блок зашифрованных данных
![](images/359887-nomer-7a97f39b.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-m595a5ada.png)
Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.
2.2. Расшифрование зашифрованных данных в режиме простой замены
2.2.1. Криптосхема, реализующая алгоритм расшифрования в режиме простой замены, имеет тот же вид (см. черт.2), что и при зашифровании. В КЗУ вводятся 256 бит того же ключа, на котором осуществлялось зашифрование. Зашифрованные данные, подлежащие расшифрованию, разбиты на блоки по 64 бита в каждом. Ввод любого блока
![](images/359887-nomer-m595a5ada.png)
в накопители
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-3f96bf70.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-50a920fd.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-77f0b525.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-43da4315.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-3b85b270.png)
![](images/359887-nomer-m32af6543.png)
2.2.2. Расшифрование осуществляется по тому же алгоритму, что и зашифрование открытых данных, с тем изменением, что заполнения накопителей
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-6ca9691b.png)
![](images/359887-nomer-5c975bde.png)
![](images/359887-nomer-46a0a8e8.png)
![](images/359887-nomer-7f410be7.png)
![](images/359887-nomer-7e4a3cc2.png)
![](images/359887-nomer-m500ebcb7.png)
![](images/359887-nomer-718a3af8.png)
![](images/359887-nomer-40fbe39c.png)
![](images/359887-nomer-6ca9691b.png)
2.2.3. Уравнения расшифрования имеют вид:
![](images/359887-nomer-46937272.png)
при
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m7711b8.png)
![](images/359887-nomer-m1cdba102.png)
при
![](images/359887-nomer-m26eed95d.png)
![](images/359887-nomer-m7711b8.png)
![](images/359887-nomer-7df4ca1e.png)
![](images/359887-nomer-5c0c10ae.png)
при
![](images/359887-nomer-m26eed95d.png)
2.2.4. Полученные после 32 циклов работы заполнения накопителей
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-m40e4615c.png)
![](images/359887-nomer-m1f71e809.png)
![](images/359887-nomer-m480f607f.png)
![](images/359887-nomer-m9fd5b97.png)
![](images/359887-nomer-m22ed187d.png)
![](images/359887-nomer-mea49fb3.png)
![](images/359887-nomer-m5a7a8667.png)
![](images/359887-nomer-m451a6adb.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-78d27483.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m4af13ff6.png)
![](images/359887-nomer-7fe866a7.png)
![](images/359887-nomer-m9fd5b97.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-m22ed187d.png)
![](images/359887-nomer-m32af6543.png)
![](images/359887-nomer-mea49fb3.png)
![](images/359887-nomer-133d5b69.png)
Аналогично расшифровываются остальные блоки зашифрованных данных.
2.3. Алгоритм зашифрования в режиме простой замены 64-битового блока
![](images/359887-nomer-m451a6adb.png)
![](images/359887-nomer-m9d60079.png)
![](images/359887-nomer-m70086c89.png)
![](images/359887-nomer-m67c0b78b.png)
![](images/359887-nomer-53ee11e5.png)
2.4. Режим простой замены допускается использовать для зашифрования (расшифрования) данных только в случаях, приведенных в п.1.7.