Товары в корзине: 0 шт Оформить заказ
Стр. 1 

23 страницы

Описывает четыре режима работы для алгоритма n-разрядного блочного шифрования.

 Скачать PDF

Заменен на ГОСТ Р 34.13-2015

Оглавление

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

2 Определения

3 Обозначения

4 Режим электронного кодового справочника -ЕСВ (ELECTRONIC CODEBOOK)

5 Режим последовательного блочного шифрования - СВС (CIPHER BLOCK CHAINING)

6 Режим шифрования с обратной связью - CFB (CIPHER FEEDBACK)

7 Режим с обратной связью по выходу - OFB (OUTPUT FEEDBACK)

Приложение А (информационное) Свойства режимов работы

Приложение В (информационное) Информация о патентах

Приложение С (информационное) Примеры для режимов работы

 

23 страницы

Дата введения01.07.1994
Добавлен в базу01.09.2013
Завершение срока действия01.01.2016
Актуализация01.01.2021

Этот ГОСТ находится в:

Организации:

28.12.1993УтвержденГосстандарт России272
РазработанТК 22 Информационные технологии
ИзданИздательство стандартов1994 г.

Information technology. Modes of operation for an n-bit block cipher algorithm

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23

ГОСТ Р ИСО/МЭК 10116-93

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ

РЕЖИМЫ РАБОТЫ ДЛЯ АЛГОРИТМА п- РАЗРЯДНОГО БЛОЧНОГО ШИФРОВАНИЯ

БЗ 3—93/250


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

ГОССТАНДАРТ РОССИИ Москва

ПРЕДИСЛОВИЕ

1    РАЗРАБОТАН И ВНЕСЕН Техническим комитетом ТК 22 «Информационная технология»

2    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 28.12.93 № 272

Настоящий стандарт подготовлен на основе применения аутентичного текста международного стандарта ИСО/МЭК 10116—91 «Информационная технология. Режимы работы для алгоритма разрядного блочного шифрования»

3    ВВЕДЕН ВПЕРВЫЕ

© Издательство стандартов, 1994

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

Госстандарта России

И

ГОСТ Р ИСО/МЭК 10116—93

7.3. Переменные, используемые для дешифрования, являются такими же, как и используемые для шифрования. Входной блок X представляет собой ряд его начальных значений Xi = SV.

Операция дешифрования    каждой    переменной    шифротекста

включает в себя четыре этапа:

a)    использование алгоритма шифрования

Yt-eKiXt);    (23)

b)    выбор самых левых / разрядов

Et = Y^j-    (24)

c)    формирование переменной открытого текста

Pi = Ci&Ei;    (25)

d)    операцию обратной связи

Xi+I-yf.    (26)

Эти этапы повторяются для    i= 1, 2,..    .,    q,    заканчиваясь    урав

нением (26) на последнем цикле. Процедура представлена в правой части рисунка 3. Значения Xt и Yit используемые как для дешифрования, так и для шифрования, одинаковы; отличается только уравнение (25).

9

ПРИЛОЖЕНИЕ А (информационное )

СВОЙСТВА РЕЖИМОВ РАБОТЫ
А.1 Свойства режима работы электронного кодового справочника (ЕСВ)

А ,Ы Условия применения

Передаваемые блоки информации — это такой перенос информации между ЭВМ и людьми, который может иметь повторения или обычно используемые последовательности В режиме ЕСВ идентичный открытый текст синтезирует (при том же ключе) идентичные блоки шифротекста

А 1 2 Характеристики режима ЕСВ:

a)    шифрование и дешифрование блоков могут осуществляться независимо

от других блоков,

b)    переупорядочение блоков шифротекста приведет к соответствующему переупорядочению блоков открытого текста;

c)    тождественный блок открытого текста всегда породит тождественный блок шифротекста (при одном и том же ключе), делая его уязвимым к «словарной атаке»

Режим ЕСВ обычно не рекомендуется для сообщений длиннее чем один блок Применение режима ЕСВ может в дальнейшем быть установлено в международных стандартах для таких специальных целей, когда повторение характеристик допустимо или блоки дост\пны индивидуально

А13 Требования к набивке

Только блоки по п разрядов могут быть зашифрованы и дешифрованы Блоки другой тлины должны быть дополнены до ^-разрядного предела

А14 Распространение ошибки

В режиме ЕСВ один или более ошибочных битов внутри отдельного блока шифротекста будут воздействовать только на дешифрование блока, в котором ошибка (ки) произошла (ли). При предположении, что шифр обладает свойством, при котором замена одного бита открытого текста вызывает в среднем 50 %-е изменение шифротекста, каждый бит восстановленной версии открытого текста этого блока будет иметь (реднюю ошибку порядка 50%

А 1 5 Если границы блока утрачиваются между шифрованием и дешифрованием (например, обусловлены ошибкой бита), синхронизация между операциями шифрования и дешифрования будет утеряна до тех пор, пока не будут восстановлены правильные границы блока Результат всех операций дешифрования будет неверным пока границы блока утрачены

А 2 Свойства режима работы последовательного блочного шифрования (СВС)

А21 Условия применения

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

16
ГОСТ Р ИСО/МЭК 10П6—93

знания ее компонентов (например, ее адреса в запоминающем устройстве с произвольной выборкой).

А 2.2 Свойства

Свойства режима СВС;

a)    последующая операция делает блоки шифрогекста зависимыми от текущего и всех предыдущих блоков открытого текста, и поэтому блоки не могут быть переставлены,

b)    использование различных значений SV исключает шифрование тождественного открытою текста в тождественный шифротекст.

А23 Требование к набивке

Только блоки по п разрядов могут быть зашифрованы и дешифрованы. Блоки другой длины должны быть дополнены до w-разрядного предела. Если это не допустимо, последняя переменная может обрабатываться специальным путем Два примера специальной обработки приведены ниже.

Первой возможностью обработать неполную последнюю переменную (т. е переменную Pq при j<.n разрядов, где q должно быть больше 1) является шифрование в режиме OFB, как описано ниже:

a)    шифрование

Cq^Pq@(eK(Cq-l)^j);    (27)

b)    дешифрование

Pt = Ct<&(eK(Cq-t)~j).    (28)

Тем не менее эта последняя переменная уязвима к «выбранной атаке открытого текста», если SE не является секретной или если она используется более одного раза с тождественным ключом (см А 4)

Вторая возможность известна как «шифротекст—упрятывание». Допустим, что последние две переменные открытого текста представляют собой Pq-\ и Pq, где Pq-1 есть n-разрядный блок, Рд является переменной из /<гс разрядов я q должно быть больше 1

a)    Шифрование

Пусть Cq-1 является блоком шифротекста, получаемым из Pq-\ с использованием метода, описанного в 52 В таком случае

C, = etf(S,(Cff-,|P,)    (29)

Последние две переменные шифротекста в таком случае представляют собой Cq-1 ~} и Cq

b)    Дешифрование

Сд должна быть дешифрована первой, в результате чего она дает переменною Ря и самые правые п—j разрядов Cg_j

S,(Cq-,\Pq) = dK(Cq)    (ЗС)

Законченный блок Cq-\ теперь доступен, и Pq~\ может быть получен с использованием метода, описанного в 53

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

А2.4 Распространение ошибки

В режиме СВС один и более ошибочных разрядов внутри отдельного блока шифротекста будут влиять на дешифрование двух блоков (блока, в котором ошибка совершена, и последующего блока) Если ошибки есть в i-ом блоке шифротекста, каждый разряд ьго дешифрованного блока открытого г текста будет иметь в среднем порядка 50 % ошибок при предположении, что шифр обладает таким свойством, при котором изменение одного разряда открытого текста приводит в среднем к 50 %-иаму изменению в шифротексте Дешифрованный (t-f-1) блок открытого текста будет иметь только те разряды в ошибке, которые прямо зависят от разрядов шифротекста в ошибке. Если ошибки содержит переменная из менее чем п разрядов, распространение ошибки зависит от выбранного

11

метода специальной обработки В первом примере дешифрованный короткий блок будет иметь те разряды в ошябке, которые прямо связаны с разрядами шифротекста в ошибке Если ошибки есть в блоке, предшествующем блоку из менее чем п разрядов, дешифрованный короткий блок будет иметь среднее значение разрядов ошибки порядка 50 % В шифротексте, имеющем случайные ошибки, короткий блок или последний блок шифротекста приводит к ошибочным разрядам порядка 50 %

А25 Границы блока

Если границы блока утрачиваются между шифрованием и дешифрованием (например, обусловлены ошибкой разряда), синхронизация между операциями шифрования и дешифрования будет утеряна До тех пор, пока не будут восстановлены правильные границы блока Результат всех операций дешифрования будет неверным, пока границы блока утрачены

А.З Свойства режима работы шифрования с обратной связью (CFB)

А 3,1 Условия применения

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

АЗ2 Свойства

Свойства режима CFB

a)    последующая операция делает переменные шифротекста зависимыми от текущей и всех предыдущих переменных открытого текста, и поэтому /-разряд-ные переменные связаны вместе и не могут быть переставлены,

b)    использование различных значений SV делает невозможным шифрование тождественного открытого текста в тождественный шифротекст;

c)    оба процесса шифрования и дешифрования в режиме CFB используют формулу шифрования алгоритма;

d)    мощность режима CFB зависит от размера k (максимальна, если /=Л);

е) выбор малого значения / будет требовать больше циклов на единицу открытого текста из-за алгоритма шифрования и, таким образо'м, вызовет большие непроизводительные издержки процесса

А 3 3 Требования к набивке

Только блоки по / разрядов могут быть зашифрованы и дешифрованы Бдо ки другой длины должны быть дополнены до /-разрядного предела Тем не ме нее в большинстве применений / следует выбирать равным размеру символа и набивка не потребуется

А. 3 4 Распространение ошибки

В режиме CFB ошибки в любом /-разрядном элементе шифротекста будут влиять на дешифрование следующего шифротекста до тех пор, пока биты в ошибке будут сдвигаться без сохранения выдвигаемых разрядов входного блока режима CFB Первый подверженный влиянию /-разрядный элемент открытого текста будет искажен именно в тех местах, где в шифротексте имеется ошибка При предположении, что шифр обладает свойством, при котором изменение одного бита открытого текста вызывает в среднем 50% -е изменение в шифро-тексте, в последующем дешифрованном открытом тексте каждый разряд будет

ГОСТ Р ИСО/МЭК 10116—93

иметь среднюю ошибку порядка 50 % до тех пор, пока все ошибки будут сдвигаться без сохранения выдвигаемых разрядов входного блока

А3>5 Границы блока

Если /-разрядные границы утеряны между шифрованием и дешифрованием (например, обусловлены ошибкой разряда), криптографическая синхронизация будет восстановлена до п разрядов после того, как восстановятся /-разрядные границы. Если блок из / разрядов утерян, синхронизация будет восстановлена автоматически после обработки п разрядов.

А.4 Свойства режима работы с обратной связью по выходу (OFB)

А.4Л Условия применения

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

А.4 2 Свойства

Свойства режима OFB:

a)    отсутствие связанности делает режим OFB более уязвимым к специальным атакам;

b)    использование различных значений SV, порождая различные потоки ключей, препятствует шифрованию тождественного открытого текста в тождественный шифротекст,

c)    обе процедуры шифрования и дешифрования в режиме OFB используют формулу шифрования алгоритма;

d)    режим OFB не зависит от открытого текста при генерации потока ключей, используемых для сложения по модулю 2 к открытому тексту;

e)    выбор малого значения / будет требовать больше циклов на единицу открытого текста из-за алгоритма шифрования и, таким образом, вызовет большие непроизводительные издержки процесса.

А.4.3 Требования к набивке

Только блоки по / разрядов могут быть зашифрованы и дешифрованы Блоки другой длины должны быть дополнены до /-разрядного предела. Тем не менее, в большинстве применений / следует выбирать равным размеру символа и набивка не потребуется

А44 Распространение ошибки

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

А.4 5 Границы блока

Режим OFB не является самосинхронизцрующимся Если две операции шифрования и дешифрования выходят из синхронизации, система нуждается в -приведении в исходное состояние (реинициализации). Такая потеря синхронизации может быть (если />1) из-за потери правильных границ блоков по / разрядов (например, обусловлена ошибкой разряда)

Каждое восстановление исходного состояния должно использовать значение SVy отличное от значений SV, использованных до этого с тождественным ключом Основанием для этого является то, что для тождественных параметров всякий раз должен порождаться идентичный поток разрядов Указанные условия делают режим OFB уязвимым к «известной атаке открытого текста»

13

ПРИЛОЖЕНИЕ В (информационное )

ИНФОРМАЦИЯ О ПАТЕНТАХ

В процессе подготовки международного стандарта ИСО/МЭК 10116 была собрана информация о патентах, от которых может зависеть применение данного стандарта Было выявлено, что такие патенты принадлежат корпорациям IBM и UNISYS

Однако Международная организация по стандартизации — ISO (International Organization for Standardisation) не может дать авторитетной или исчерпывающей информации об очевидности, обоснованности или области распространения патентов или подобных прав

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

Дополнительная информация имеется в распоряжении фирм:

Director of Commercial Relations

International Business Machines Corporation (IBM)

2000 Purchase Street PURCHASE, N. Y. 10577

Director, Industry Relations

UNISYS

PO Box 500

Blue Bell, PA 19424

U. S. A.

14

ГОСТ Р ИСО/МЭК 10116—93

ПРИЛОЖЕНИЕ С ( информационное)

ПРИМЕРЫ ДЛЯ РЕЖИМОВ РАБОТЫ

С.1 Общие сведения

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

a)    алгоритм шифрования — алгоритм шифрования данных (DEA — Data Encryption Algoritm) Значение п — 64,

b)    криптографический ключ — 01234567890ABCDEF,

c)    запускающая переменная — lt234567eOOABCDEF,

d)    открытый текст — 7-битный код ASCII (американский стандартный код для обмена информацией) для слов «Now is the time for all» (в шестнадцатеричном представлении 4E6F772i069'73(2074 68652074696D6520 666F722Q616C6C20) Для режима CFB открытый текст — 7-битный код ASCII для слова «Now» (в шестнадцатеричном представлении 4E6F77)

15

ф


С 2 Режим ЕСВ

Примеры шифрования и дешифрования в режиме ЕСВ даны в таблицах С 1 и С 2 соответственно

Таблица С1 — Режим ЕСВ» шифрование

1

Открытый текст Рг

Входной блок алгоритма

Выходной блок алгоритма

Шифротекст Ct

1

4E6F772069732074

4E6F77206973I2074

3F A40E8A984D4815

3FA40E8A984D48il5

2

6865207469606520

68662074696D6520

6A271787AB8883F9

6А271787AB8883F9

3

666F72206 16С6С20

6 616 F72)206i 16С6С20

893D51EC4B5&3B53

$93DS1 ЕС48563В53


гост р исо/мак 1 ап6—аз


Таблица С2 — Режим ЕСВ, дешифрование

i

Шифротекст Рг

Входной блок алгоритма

Выходной блок алгоритма

Открытый текст Сг

1

3FA4OE8A9&404815

3FA40E8A984D4815

4E6F772069(7i32974

4E6F772369732074

2

6A271787AB8883F9

6A271787AB8I8I83F9

68652074696D6520

68652074696D6520

3

833D51EC48563B53

893D51 ЕС 4В563В53

696F7220616С6С20

666F7220616C6C20


С.З Режим СВС

Примеры шифрования и дешифрования в режиме СВС даны в таблицах С 3 и С 4 соответственно

ТаблидаСЗ — Режим СВС, шифрование

i

Открытый текст Р%

Входной блок алгоритма

Выходной блок алгоритма

Шифротекст Сг

1

4E6F772069732074

5С5В.2158F9D8ED9B

E5C7CDDE872BF27C

E5C7CDDE872BF27C

2

68"52074696D6520

8DA2EDAAEE46975C

43E934008C389COF

43E3e40O8C3'89COF

3

666F7220616C6C20

25864620 Е D 54 F02 F

683788499A7C05F6

6?l3788 499 А7 G0l5 F6

Таблица С4 — Режим СВС, дешифрование

i

Шифротекст Рг

Входной блок алгоритма

Выходной блок алгоритма

Открытый текст Сг

1

E5C7CDDE872BF27C

E5C7CDDE872BF27C

5С5В2158F9)D8ED9B

4E6F772069732074

2

43t 934008C389COF

4 3 Б93 4 0О8С389С 0 F

8DA2EDAAEE 46975С

68652074696D6520

3

68378i8499A7C06F6

683788499A7C06F6

25864620ED54F02F

666IF7 220&16С6С20

£6—91101 Mew/ОЭИ Ф 1DOJ

С 4 Режим CFB

ТОСТ Р ИСО/МЭК 10116—93

Примеры шифрования и дешифрования в режиме CFB даны в таблицахС 5 и С 6 соответственно Для этих примеров выбраны параметры /=£ = 8; k разрядов обратной связи показаны наклонным (курсивным) шрифтом

Таблица С 5 — Режим CFB, шифрование

Открытый текст Рг

Входной блок алгоритма

Выходной блок алгоритма

Шифротекст Сг

1

1234567880ABCDEF

BD561569AE874E25

F3

2

34567820ABCDEFF3

70I39546F9AOF6330

IF

3

77

5678MABCDEFF3/F

AD1B78BOBB371BE7

DA

Таблица С6 — Режим CFB, дешифрование

i

Шифротекст Px

Входной блок алгоритма

Выходной блок алгоритма

Открытый текст Сг

1

F3

12345S78I90ABCDEF

BD661S69AE374E25

2

IF

34567I89CiABCDEFF3

7039546F9AOF633O

3

DA

5678EOABCDEFF3/F

AD1B78B0BB371BE7

77

ГОСТ Р ИСО/МЭК 10116—93

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ ■■■■■■■■■инамннмянншшншшннк

Информационная технология
РЕЖИМЫ РАБОТЫ ДЛЯ АЛГОРИТМА n-РАЗРЯДНОГО БЛОЧНОГО
ШИФРОВАНИЯ

Information technology. Modes of operation for an n-bit block cipher algorithm

Дата введения 1994—07—01
1 ОБЛАСТЬ ПРИМЕНЕНИЯ

Настоящий стандарт описывает четыре режима работы для алгоритма «-разрядного блочного шифрования.

Примечание ] — Приложение А содержит пояснения характеристик каждого режима

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

Для некоторых режимов набивка может требовать гарантий, чтобы все переменные открытого текста были необходимой длины.

Примечание 2 - Для режима работы шифрования с обратной связью — CFB (Cipher Feedback) (ом раздел 6) определяются два параметра:    /    и    к.

Для режима работы с обратной связью по выходу — OFB (Output Feedback) (см раздел 7) задается один параметр j. При использовании одного из этих режимов работы значение(я) параметров должно быть выбрано и применено всеми сторонами лрн передаче сообщений.

Издание официальное
С 5 Режим OFB

Примеры шифрования и дешифрования в режиме ОГВ даны в таблицахС 7 и С в соответственно Для этих примеров выбран параметр / = 6)4 Таблица С7 — Режим OFBt шифрование

1

Открытый текст Рг

Входной блок алгоритма

Выходной блок алгоритма

Шифротекст Ci

1

4E6F772Q69732074

12i34567©90ABCDEF

В D6615©9 А Е87 4 Е 25

FTO96i249C7F46E51

2

©8662074696D&320

BD66jl 569АЕ874Е25

5D9I76A50I4786681F

35F24A242EEB3D3F

3

6C6F7220&H6C6C20

6D976A5047i86581F

б BOI229C 34 43694 ЕЗ

3D6D5BE3265AF8C3

Таблица С© — Режим OFB, дешифрование

i

Шифротекст Рг

Входной блок алгоритма

Выходной блок алгоритма

Открытый текст С ,

1

r3096249C7F46E5l

1234567890ABCDEF

BD661&69AE874E25

4E6F772069732O74

2

35F24A242EEB3D3F

BD661569AE874E25

5D97M504786581F

©855207 4696D6520

3

3D6D5BE3056AF18C3

5D976A504786581Г

5В02129С3443в94ЕЗ

666F7 220616С6С 20

ГОСТ Р ИСО/МЭК 10116—93

2    ОПРЕДЕЛЕНИЯ

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

2.1    Открытый текст — незашифрованная информация

2.2    Шифротекст — зашифрованная информация

2 3 Алгоритм /i-разрядного блочного шифрования — алгоритм блочного шифрования, в котором блоки открытого текста и блоки шифротекста имеют длину п разрядов.

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

2.5    Начальное значение — IV (Initializing Value)—значение, используемое в определении начальной точки процесса шифрования.

2.6    Запускающая переменная — SV (Starting Variable) — переменная, полученная от начального значения и используемая в определении запускающей точки режимов работы.

Примечание 3 — Метод получения запускающей переменной от началь> ного значения не определен в настоящем стандарте Он требует описания щш любом использовании режимов работы

2.7    Криптографическая синхронизация — согласование процесса шифрования и дешифрования.

3    ОБОЗНАЧЕНИЯ

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

С=еК(Р),

где Р — блок открытого текста;

С — блок шифротекста;

К — ключ.

Выражение еК является операцией шифрования, использующей ключ К.

Соответствующая функция дешифрования записывается как

P=dK(C).

Переменная, обозначенная заглавной буквой, как например вышеуказанными буквами Р и С, представляет собой одномерный массив разрядов.

Например,

А = (аи а2,----ат) и В= (Ьи Ьъ . ., Ьт)

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

2

ГОСТ Р ИСО/МЭК 10116—93

Операция сложения по модулю 2, известная также как функция «исключающее ИЛИ», представляется символомф . Операция, относящаяся к массивам, например к Л и Б, определяется как

Л (0 Б= (#1®    £12®    Ь%    ..., £Zm® Ьт).

Операция выбора совокупности / .старших слева разрядов массива Л, чтобы генерировать /-разрядный массив, записывается как

A~j= (аи а2, - . ■ , ay).

Эта операция определена только для /<т, где т — число разрядов в массиве Л.

«Функция сдвига» Sk определяется следующим образом.

Для заданных /n-разрядной переменной X и ^-разрядной переменной Е, где    действие    функции    сдвига    Sk    (A'lF)    таково,

что образует /n-разрядную переменную

Sk {X | F) = (Xk+\, Xk+2 ,... хт, fu /2,    при k<m.

В результате происходят сдвиг разрядов массива X влево на k позиций с отбрасыванием х\,.. ,txk и размещение массива/7 на самых правых k позициях массива X. Если k = m9 происходит полное замещение массива X на F.

Используется особый случай этой функции, в котором берется /n-разрядная переменная I(т) из последующих «1» битов и сдвигается переменной F из k разрядов, где k<m.

В результате:

Sk(I(m) \F) = (1, 1 ,..1, fu /2, —,/*) при k<m\

Sk(I{m) \F) = (fu    при    k    —    m,

где m—k наиболее старших разрядов представляют собой «1».

4 РЕЖИМ ЭЛЕКТРОННОГО КОДОВОГО СПРАВОЧНИКА — ЕСВ

(ELECTRONIC CODEBOOK)

4.1    Переменные, используемые для режима шифрования ЕСВ:

a)    последовательность из q блоков открытого текста Р\,    .    *    *    >

Pq, каждый по п разрядов;

b)    ключ К\

c)    получающаяся в результате последовательность q блоков шифротекста С1, С2,..., Сц> каждый по п разрядов.

4.2    Режим ЕСВ при шифровании описывается следующим образом:

Ci = eK(Pi) для i= 1, 2,. .., q.    (1)

4.3    Режим ЕСВ при дешифровании описывается следующим образом:

Pt = dK(Ci) для i= 1,2, . . . , q.    (2)

3

5 РЕЖИМ ПОСЛЕДОВАТЕЛЬНОГО БЛОЧНОГО ШИФРОВАНИЯ - СВС

(CIPHER BLOCK CHAINING)

5.1    Переменные, используемые для режима СВС при шифровании:

a)    последовательность q блоков открытого текста Ри - •., Pq, каждый по п разрядов;

b)    ключ К\

c)    запускающая переменная SV из п разрядов;

d)    последовательность q блоков шифротекста Сь Съ . .., Cq, каждый по п разрядов.

5.2    Режим СВС при шифровании описывается следующим образом:

шифрование первого блока открытого текста

C^eK(Px®SV),    (3)

далее

Ci=eK(PiQ Ci-i) для £=2, З,...,?.    (4)

Данная процедура показана в верхней части рисунка 1. Запускающая переменная-5V используется для генерации первых выходных данных шифротекста. Затем шифротекст суммируется по модулю 2 к последующему открытому тексту перед шифрованием.

5.3    Режим СВС при дешифровании описывается следующим образом:

дешифрование первого зашифрованного блока

Pi=rf/C(C()0SK    (5)

далее

Р£=^(СО0 С,., для t = 2, 3,..., q.    (6)

Эта процедура показана в нижней части рисунка 1.

6 РЕЖИМ ШИФРОВАНИЯ С ОБРАТНОЙ СВЯЗЬЮ —CFB

(CIPHER FEEDBACK)

6.1 Работу режима CFB определяют два параметра:

—    размер переменной обратной связи k, где 1 <£</г;

—    размер переменной открытого текста /, где \

Переменные, используемые при работе в режиме CFB, следующие:

a)    входные переменные:

1)    последовательность q переменных открытого текста Pi, Р2,. .. , Pq, каждая по / разрядов;

2)    ключ К;

3)    запускающая переменная 5V, имеющая п разрядов;

b)    промежуточные результаты:

4

Шифрование *


s v


Дешифрование ч

SV


Pi


Рг


ГОСТ р ИСО/МЭК 10116—93



f*


Г

£


Алгоритм

шифрования


Алгоритм

дешифрования


Cq-i

РЯ


Pi    ?г


Рисунок 1 — Режим работы последовательного блочного шифрования (СВС)

1)    последовательность q входных блоков алгоритма Хи Х2у ..., Xq, каждый по п разрядов;

2)    последовательность q выходных блоков алгоритма Уи Y2y. .., Yq, каждый по п разрядов;

3)    последовательность q переменных Еь E2,...yEqt каждая по п разрядов;

4)    последовательность q—1 переменных обратной связи Fu F2, ■ • •, Fq-u каждая по k разрядов;

с) выходные переменные, т. е. последовательность q переменных шифротекста С\, С2, ..., Сц> каждая по / разрядов.

6.2 Входной блок X представляет собой ряд его начальных значений

Xx = SV.    (7)

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

a)    использование алгоритма шифрования

К, = еВД);    (8)

b)    выбор старших слева / разрядов

Е,= Y,~j;    (9)

c)    формирование переменной шифротекста

С, = Р,@Ег,    (Ю)

d)    формирование переменной обратной связи

Fx = Sl(/(A) |С0;    (П)

e)    функцию сдвига


5


(12)

Эти этапы повторяются для £=1, 2,..., q, заканчиваясь урав-нением (12) на последнем цикле. Процедура представлена на левой стороне рисунка 2. Старшие слева / битов выходного блока Y алгоритма шифрования используются для шифрования /-разрядной переменной открытого текста сложением по модулю 2. Оставшиеся разряды блока Y отбрасываются. Переменные открытого текста и шифротекста имеют разряды, пронумерованные от 1 до /.

Переменная шифротекста дополняется размещением k—/ битов «1» в позиции ее старших слева разрядов так, чтобы она стала 6-разрядной переменной обратной связи F. Затем разряды входного блока X сдвигаются влево на k позиций и F вставляется в самые правые k позиций, чтобы образовать новое значение X. В этой операции сдвига самые левые k разрядов блока X отбрасываются.

6.3. Переменные, используемые для дешифрования, являются такими же, как и те, которые используются для шифрования. Входной блок X представляет собой начальные значения =

Операция    дешифрования каждой переменной    шифротекста

включает в себя пять этапов:

a)    использование алгоритма шифрования

У^еК(Хг);    (13)

b)    выбор самых левых / разрядов

Et = Yt~j;    (И)

c)    формирование переменной открытого текста

Л=с,0£1:    (15)

d)    формирование переменной обратной связи

F, = S;(/(A!)|C);    (15;

e)    функцию сдвига

X^-SbiXilFi).    (17)

Эти этапы повторяются для £=1, 2,...,    q,    заканчиваясь    урав

нением (17) в последнем цикле. Процедура представлена в правой части рисунка 2. Самые левые / разрядов выходного блока Y алгоритма шифрования используются для дешифрования /-разрядной переменной шифротекста сложением по модулю 2. Оставшиеся разряды блока Y отбрасываются. Переменные открытого текста и шифротекста имеют разряды, пронумерованные от 1 до /.

Переменная шифротекста дополняется размещением k—/ битов «1» в позициях самых левых разрядов так, чтобы она стала k~разрядной переменной обратной связи F. Затем разряды входного блока X сдвигаются влево на k позиций и F вставляется в самые правые k позиций, чтобы образовать новое значение X. В этой операции сдвига сямыр левые k разрядов блока X отбрасываются.

6

ГОСТ Р ИСО/МЭК 10Ц6—93

Шифрование    Дешифрование

_Л_ .■■■    Л

Рисунок 2 — Режим работы шифрования с обратной связью (СРВ)

6.4 Рекомендуется, чтобы режим CFB использовался с равными значениями ? и k. При этой рекомендации (/ = £) уравнений (11) и (16) мшут быть записаны в виде

Ft = C    (подставлено    /    =    &).

7 РЕЖИМ С ОБРАТНОЙ СВЯЗЬЮ ПО ВЫХОДУ — OFB (OUTPUT FEEDBACK)

7Л Режим работы OFB определяет один параметр, т. е. размер переменной открытого текста /, где 1

Переменные, используемые при работе в режиме OFB:

a)    входные переменные:

1)    последовательность q переменных открытого текста Ри Р« . Pq, по / разрядов каждая;

2)    ключ К;

3)    запускающая переменная SV из п разрядов;

b)    промежуточные результаты:

1)    последовательность q входных блоков алгоритма Хи X2f . ., Xq, по п разрядов каждый;

2)    последовательность q выходных блоков алгоритма Yи Y2, ... , Уя, по п разрядов каждый;

3)    последовательность q переменных

Еj, Е2,. .., Eq, по j разрядов каждая;

7

ГОСТ Р ИСО/МЭК 10116—93

с) выходные переменные, т. е. последовательность q переменных шифротекста Си Съ ..., Ся, по / разрядов каждая.

7.2. Входной блок X представляет собой ряд его начальных значений

Xt = SV.    (18)

Операция шифрования каждой переменной открытого текста включает в себя четыре этапа:

a)    использование алгоритма шифрования

Yi-eKiXt);    (19)

b)    выбор самых левых / разрядов

Ei=Y>~n    (20)

c)    формирование переменных шифротекста

(21)

d)    операцию обратной связи

Xt+r-Y,    (22)

Эти этапы повторяются для i= 1, 2, qy заканчиваясь уравнением (21) на последнем цикле. Процедура показана в левой части рисунка 3. Результат каждого применения алгоритма шифрования, которым является блок Ylt используется для обратной связи и становится следующим значением Xiy а именно л*+\. Самые левые / разрядов в Yt используются для шифрования входной переменной.

Шифрование    Дешифрование

1    j

Рисунок 3 — Режим работы шифрования с обратной связью по выходу (OFB) 8