Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Иванов М.А. КМЗИ сети

.pdf
Скачиваний:
404
Добавлен:
28.03.2016
Размер:
3.19 Mб
Скачать

регистра сдвига (синхропосылка);

E Ω s

– старшие

Ω битов

n-разрядной шифрограммы E

AB

s

.

AB i-1

 

 

 

 

 

 

 

 

i-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mi

 

 

 

 

τ

 

ci

 

 

 

τEAB

 

 

sni

s0

 

τ

Регистр

 

сдвига

 

 

 

 

 

 

 

а

ci

 

τ

mi

 

 

 

τEAB

si

n s

Регистр 0 сдвига

τ

б

 

Рис. 2.4. Режим шифрования CFB: а – зашифрование, б – расшифрование

 

 

m1

...

mt - 1

 

mt

 

 

 

...

 

 

 

 

 

EAB

EAB

 

EAB

 

c0 = s0

 

c1p0= s1

... Ct - 1= st - 1

ct

а

c0

= s0

c1 = s1

...

ct - 1= st - 1

 

ct

 

 

 

...

 

 

 

EAB

 

EAB

 

EAB

 

 

mp01

...

mt - 1

mt

б

Рис. 2.5. Режим шифрования CFB при τ = n: а – зашифрование, б – расшифрование

81

Схема шифрования в режиме CFB при Ω n показана на рис. 2.5. Уравнения зашифрования и расшифрования в этом случае принимают вид

ci

mi EAB ci-1 ,

mi

ci EAB ci-1 ,

i1, t .

ВГОСТ 28147-89 аналогичный режим назван режимом гам-

мирования с обратной связью. Свойства данной схемы шифро-

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

Схема шифрования в режиме обратной связи по выходу (Output Feedback (OFB)) показана на рис. 2.6. Схема, приведенная ранее на рис. 1.13, может рассматриваться как простейший частный случай данной схемы. Гамма шифра снимается с выходов генератора псевдослучайных чисел, реализованного на основе n-разрядного регистра сдвига, в цепи обратной связи

которого используется функция зашифрования EAB . Уравнения зашифрования и расшифрования имеют вид

ci

 

mi ϑi ,

 

 

mi

 

ci ϑi ,

,

 

ϑ

i

 

E Ω

s

 

 

 

 

AB

i - 1

 

 

s

 

 

2Ω s

 

ϑ

mod2n ,

i

 

 

i - 1

 

i

 

i

 

 

 

,

 

 

 

 

 

1, t

 

 

 

 

где ϑi – очередной элемент гаммирующей последовательности; n – разрядность регистра сдвига; Ω – разрядность шифруемых блоков данных; s0 – начальное состояние регистра сдвига (син-

хропосылка); EABΩ si - 1 – старшие Ω битов n-разрядной шифрограммы EAB si - 1 . Последовательность ϑ ϑ1ϑ2 ... ϑi ...ϑt не зави-

сит от открытого текста и поэтому всякий раз при фиксированных kAB и s0 будет вырабатываться одна и та же гамма. Данный

факт требует при шифровании на одном ключе двух различных массивов данных использовать различные синхропосылки.

82

 

 

 

 

 

 

 

 

 

 

 

 

 

mi

 

 

 

 

 

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

γi

t

 

 

 

 

 

 

 

si

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

s0

 

 

 

 

 

 

 

 

 

Регистр

 

 

 

 

 

t

 

 

 

 

сдвига

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Генератор

 

 

 

ci

а

 

 

 

 

 

 

ПСЧ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ci

 

 

 

 

 

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

γi

 

 

t

 

 

 

 

 

 

 

nsi

 

 

 

 

 

 

 

 

 

 

 

 

 

s0

 

 

 

 

t

 

 

 

Регистр

 

 

 

 

 

 

 

 

 

сдвига

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Генератор

 

 

 

mi

б

 

 

 

 

 

 

ПСЧ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.6. Режим шифрования OFB: а – зашифрование, б – расшифрование

Схема шифрования в режиме OFB при Ω n показана на рис. 2.7. Уравнения зашифрования и расшифрования в этом слу-

чае принимают вид:

,

ci

mi EAB si - 1

mi

ci EAB si - 1

,

si

EAB si - 1 ,

 

i1, t .

Всхеме режима счетчика (Counter) (рис. 2.8) генератор ПСЧ имеет двухступенчатую структуру. Первая ступень это либо n-разрядный счетчик, изменение состояния которого задается

формулой si si-1 1, либо генератор n-разрядных кодов с мак-

симально возможным периодом выходной последовательности. Каждый n-разрядный двоичный набор с выхода счетчика или генератора кодов первой ступени поступает на вход функции

зашифрования EАB ,

результат действия которой – очередной

элемент гаммы:

ϑ

i

E Ω s

i - 1

.

Так же, как и в режиме OFB, для

 

 

АB

 

 

обратимости процедур шифрования при зашифровании и расшифровании должна использоваться одна и та же синхропосылка s0 . Уравнения зашифрования и расшифрования в режиме

счетчика имеют вид

83

ci

mi ϑi ,

mi

ci ϑi ,

i 1, t, 1 δ Ω δ n.

m1 s0

EAB

p0c1

c1 s0

EAB

mp01

...

...

 

mt

 

 

 

st - 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

ct

а

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

ct

 

 

 

st - 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

mt

б

Рис. 2.7. Режим шифрования OFB при τ = n: а – зашифрование, б – расшифрование

 

 

 

 

 

 

 

 

mi

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

γi

τ

 

 

si

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

s0

 

 

 

 

τ

 

Счетчик

 

 

 

 

 

 

si +1= si +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Генератор

 

 

 

ci

а

 

ПСЧ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ci

 

 

τ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

 

 

 

γi

τ

 

 

si

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

s0

 

 

 

 

τ

 

Счетчик

 

 

 

 

 

 

si +1= si +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Генератор

 

 

 

mi

б

 

ПСЧ

 

 

 

 

 

 

 

 

 

 

Рис. 2.8. Режим шифрования Counter: а – зашифрование, б – расшифрование

84

В ГОСТ 28147-89 аналогичный режим называется режимом

гаммирования.

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

1) при зашифровании и расшифровании используется одна и та же функция EAB ;

2)

любой элемент (бит, байт,

блок и т.п.) информационной

 

последовательности шифруется независимо от других;

 

 

3)

изменение любого бита шифротекста на противополож-

 

ное значение приводит после расшифрования к анало-

 

гичному изменению соответствующего бита открытого

 

текста:

b c 1

b m ϑ

1

b m 1 ϑ

 

 

 

 

 

 

 

b c

 

b m

ϑ

,

 

1

1

i

i

 

i

i i

i

 

где bi c , bi m – соответственно биты закрытого и открыто-

го текста; 4) повторное наложение той же гаммы ϑ на зашифрован-

ную последовательность с, дает на выходе исходную последовательность

m ϑ ϑ m;

5)шифрование нулевой последовательности дает на выходе гамму

0 ϑ ϑ ;

6) если известны две последовательности c 1 и c 2 , зашиф-

рованные с использованием одной и той же гаммы, ее

действие нейтрализуется следующим образом: c 1 c 2 m 1 ϑ m 2 ϑ m 1 m 2 ,

после чего для дешифрования может быть использован частотный анализ;

7)если известны две последовательности c 1 и c 2 , зашифрованные с использованием одних и тех же значений k

85

и s1 , т.е. с использованием одной и той же гаммы, и известна последовательность m 1 , то последовательность

m 2 может быть легко вычислена по формуле m 2 c 1 c 2 m 1 ,

так как справедливо соотношение c 1 c 2 m 1 ϑ c 2 m 2 .

Третье свойство режимов гаммирования дает возможность противнику, не обладающему секретным ключом, воздействуя лишь на биты шифротекста, вносить предсказуемые, а в некоторых случаях даже целенаправленные изменения в получаемый после расшифрования открытый текст. Однако, как справедливо отмечается в [8], это свойство гаммирования нельзя считать недостатком, так как задачей любого шифра является лишь обеспечение секретности, задачи обеспечения целостности и подлинности информации решаются с использованием других механизмов, которые будут рассмотрены в последующих главах. Возможность внесения предсказуемых изменений при использовании режимов гаммирования исчезает при использовании режима CFB (гаммирования с обратной связью).

Режим счетчика следует признать более качественным, чем режим OFB, учитывая, что во втором случае криптостойкая функция EAB , используемая в цепи обратной связи генератора

ПСЧ, вовсе не гарантирует максимально возможный период гаммы. Кроме того, если в режиме счетчика при реализации алгоритма EAB , не используемого в цепи обратной связи генерато-

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

Приведенные пять режимов использования блочных шифров являются наиболее распространенными. Более того, первые четыре в свое время были официально утверждены Национальным бюро стандартов США в качестве режимов использования алгоритма DES.

86

Генератор ПСЧ, функционирующий в соответствие с уравне-

нием

2Ω s

E Ω s

mod2n ,

s

i

i - 1

AB i - 1

 

официально утвержден для использования в режиме Output Feedback и его модификациях. Стойкость генератора при Ω n можно повысить, если в каждом такте полностью менять содержимое регистра генератора ПСЧ, т.е. в качестве сигналов обратной связи использовать n-разрядный код EAB si - 1 . Уравнение

работы модифицированного генератора (рис. 2.9) имеет вид

si

EAB si - 1 .

2.5.Российский стандарт криптографической защиты

Вданном разделе в качестве примера блочного итерационного шифра приведено краткое описание алгоритма криптографического преобразования данных ГОСТ 28147-89 [58], в дальнейшем изложении – просто ГОСТ.

γi

n

t

EAB

si n

s0

Регистр

Генератор

ПСЧ

Рис. 2.9. Модифицированный генератор ПСЧ для режимов шифрования, подобных OFB

Достоинства ГОСТа:

удобство программной реализации на 32-разрядных процессорах; регулярная структура устройства (реализующего алгоритм),

облегчающая его интегральное исполнение;

87

криптостойкость, приемлемая для подавляющего числа приложений; оригинальный качественный генератор ПСЧ (генератор гаммы);

большой запас «прочности» за счет значительного объема ключевой информации.

ГОСТ является классическим итерационным блочным шифром Фейстеля с разрядностью блоков данных, равным 64 битам. Чтобы разобраться в ГОСТе, необходимо понять:

характер используемой при шифровании ключевой информации, структуру раундовой функции шифрования (так называемо-

го основного шага криптопреобразования),

алгоритмы зашифрования Ek (базовые циклы 32-З и 16-З) и расшифрования Dk (базовый цикл 32-Р),

рекомендуемые режимы использования.

Ключевая информация ГОСТа. Ключевая информация представляет собой два массива данных: собственно ключ k и таблицу замен H (рис. 2.10). Ключ это массив из восьми

32-разрядных элементов k km`, m 0, 7. Таким образом,

размер ключа составляет 8υ 32 256 битов или 32 байта. Таблица замен набор из восьми одномерных массивов

H Hm`, m 0, 7 , так называемых узлов замены, каждый из

которых определяет логику работы четырехразрядного блока подстановок (S-блока) и по этой причине содержит шестнадцать 4-разрядных двоичных наборов (от 0 до 15), расположенных в произвольном порядке. Элемент m-го узла замен Sm j = H j, m 4-разрядный код на выходе соответствующего

m-го S-блока при поступлении на его вход двоичного кода

числа j.

Таким образом, объем таблицы замен равен

8υ16υ 4

512 битов или 64 байта. Ключ должен быть масси-

вом статистически независимых битов, принимающих с равной вероятностью значения 0 и 1. Если для генерации ключевой информации используется генератор ПСЧ, то он должен обладать криптостойкостью, не меньшей, чем у самого ГОСТа. Таблица замен H (в отличие от ключа k) долговре-

88

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

 

 

 

 

 

Таблица замен H

 

 

 

 

 

Узел замен

...

 

...

Узел замен

Узел замен

 

 

Адрес

Узел замен

 

 

 

 

 

ячейки

H7

 

Hm

 

H1

H0

0

S7(0)

 

Sm(0)

 

S1(0)

S0(0)

 

 

 

 

 

 

 

 

 

1

S7(1)

 

Sm(1)

 

S1(1)

S0(1)

j

S7(j)

Sm(j)

S1(j)

S0(j)

15

S7(15)

Sm(15)

S1(15)

S0(15)

 

Рис. 2.10. Таблица замен ГОСТ 28147-89

 

Раундовая функция шифрования ГОСТа. Структура основ-

ного шага криптопреобразования показана на рис. 2.11, где d t

входной блок, d t 1 выходной блок, x шаговый ключ. В качестве исходных данных шаг получает 64-разрядный блок данных d = (L, R) и 32-разрядный раундовый ключ x, в качестве которого используется один из элементов ключа km . В ходе выполнения

шага левая (L) и правая (R) половины блока данных рассматриваются как отдельные 32-разрядные элементы данных, в качестве которых они подвергаются следующим преобразованиям:

1)сложению по модулю 232 полублока R и элемента ключа x;

2)разбиению результата s на восемь четырехбитовых блоков, поблочной замене по таблице замен, формированию из получившихся блоков нового значения s;

3)циклическому сдвигу результата s на 11 разрядов влево;

4)поразрядному сложению по модулю два (XOR) результата s и полублока L;

89

5) элемент R cтановится новым значением элемента L, значение результата предыдущей операции становится новым значением элемента R.

Полученные значения элементов L и R выдаются в качестве результата шага.

 

 

d(t)

 

x ki

 

 

 

 

64

 

32

 

 

L

 

 

R

 

 

 

32

 

 

32

 

 

 

 

 

 

f

 

 

XOR

 

 

 

32

 

 

 

32

 

 

 

 

 

 

L

 

 

R

 

 

 

 

 

64

 

 

 

 

 

d(t + 1)

а

 

 

 

 

 

R

x

 

 

 

 

 

32

 

32

 

Сложение

 

SM

 

 

H

 

по модулю 232

 

 

 

 

 

 

 

 

32

H7 ...

H1

H0

 

 

 

 

 

4

 

4

4

 

 

 

S7

 

 

4

4

4

Подстановка

...

S1

S0

 

 

 

4

 

4

4

 

 

Циклический

 

 

32

 

 

 

 

 

<<<11

 

 

 

сдвиг на 11

 

 

 

 

 

разрядов влево

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

f(R, x)

б

 

 

Рис. 2.11. ГОСТ 28147-89:

а – схема основного шага криптопреобразования, б – шаговая функция f

90