Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОЗИ.pdf
Скачиваний:
120
Добавлен:
11.05.2015
Размер:
7.53 Mб
Скачать

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

стемам блочного шифрования с обратной связью свойственны некоторые недо-

статки. Основным из них является размножение ошибок, так как один ошибоч-

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

Другой недостаток связан с тем, что разработка и реализация систем шифрова-

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

ного шифрования.

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

На практике для шифрования длинных сообщений применяют поточные

 

 

 

 

 

 

 

 

 

 

 

И

шифры или шифры с обратной связью. Выбор конкретного типа шифра зависит

 

 

 

 

 

 

 

 

 

 

У

 

от назначения системы и предъявляемых к ней требований.

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

7.2. Симметричные криптосистемы

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

7.2.1. Основные понятия и определения

 

 

 

 

 

 

 

 

 

 

а

 

 

 

Большинство средств

 

 

к

 

 

 

 

 

 

информации базируется на использовании

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

защиты

 

 

 

 

 

 

криптографических шифров и процедур зашифровывания–расшифровывания. В

 

 

 

 

о

 

 

 

 

 

 

 

соответствии со стандарт м ГОСТ 28147–89 под шифром понимают совокуп-

 

 

 

и

 

 

 

 

 

 

 

 

ность обратимых пре браз ваний множества открытых данных на множество

 

 

л

 

 

 

 

 

 

 

 

 

зашифрованных данных, задаваемых ключом и алгоритмом криптографическо-

 

б

 

 

 

 

 

 

 

 

 

 

го преобразования.

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

Ключ – это конкретное секретное состояние некоторых параметров алго-

Б

 

 

 

 

 

 

 

 

 

 

 

 

ритма кр птографического

преобразования данных, обеспечивающее выбор

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

140

К шифрам, используемым для криптографической защиты информации, предъ-

является ряд требований:

достаточная криптостойкость (надежность закрытия данных);

простота процедур шифрования и расшифровывания;

незначительная избыточность информации за счет шифрования;

нечувствительность к небольшим ошибкам шифрования и др.

шифры перестановок; Р

шифры замены; И

шифры гаммирования; У

шифры, основанные на аналитических преобразованияхГ шифруемых данных. Б

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

к

этого текста. При достаточной длине бло , в пределах которого осуществляет-

 

 

 

 

 

 

е

 

ся перестановка, и сложном н повторяющемся порядке перестановки можно

 

 

 

 

 

т

 

 

достигнуть приемлемой для простых практических приложений стойкости

шифра.

 

 

 

о

 

 

 

 

 

 

и

 

 

 

 

Шифрование замен й (подстановкой) заключается в том, что символы

 

 

л

 

 

 

 

 

шифруемого текста заменяются символами того же или другого алфавита в со-

ответствии с заранее обусловленной схемой замены.

 

б

 

 

 

 

 

 

Шифрование гаммированием заключается в том, что символы шифруемо-

и

 

 

 

 

 

 

 

го текста складываются с символами некоторой случайной последовательности,

Б

 

 

 

 

 

 

 

 

именуемой гаммой шифра. Стойкость шифрования определяется в основном

длиной (периодом) неповторяющейся части гаммы шифра. Поскольку с помо-

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

томатизированных системах.

141

Шифрование аналитическим преобразованием заключается в том, что шифруемый текст преобразуется по некоторому аналитическому правилу

(формуле). Например, можно использовать правило умножения вектора на мат-

рицу, причем умножаемая матрица является ключом шифрования (поэтому ее

размер и содержание должны храниться в секрете), а

символами умножаемого

вектора последовательно служат символы шифруемого текста.

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процессы зашифровывания и расшифровывания осуществляются в рам-

ках

некоторой

криптосистемы.

Характерной

особенностью симметричной

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

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

ровывании, так и при расшифровывании сообщений.

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

Как открытый текст, так и шифротекст образуются из букв, входящих в

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

конечное множество символов, называемое алфавитом. Примерами алфавитов

являются конечное множество всех

заглавных букв,

конечное множество всех

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

заглавных и строчных букв и цифр и т. п. В общем случае некоторый алфавит

 

 

 

 

 

 

 

 

a0 , a1

 

к

 

 

 

 

 

 

можно представить как

 

,

, am 1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

Объединяя по определенному правилу буквы из алфавита

, можно со-

 

– алфавит

 

содерж ттрm играмм a0a0a0 ,a0a0a1,

,am 1am 1am 1 .

 

здать новые алфавиты:

о

 

 

 

 

 

 

 

 

 

 

 

– алфавит

2 содержит m2

биграмм a a ,a a ,

,a

a

;

 

 

 

 

 

 

 

 

и

 

 

 

 

0 0

0 1

m 1 m 1

 

 

 

 

 

 

 

 

3

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

n ,

 

 

В общем с учае,

объединяя по n букв, получаем алфавит

содержа-

 

mn

 

б

 

 

 

 

 

 

 

 

 

ABCD...XYZ

 

щий

n -грамм. Например, английский алфавит

объемом

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

26

 

укв позволяет сгенерировать 262

676

биграмм

AA, AB,..., ZZ ,

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

263

17576 триграмм AAA, AAB,...ZZY, ZZZ .

 

 

 

 

 

 

При выполнении криптографических преобразований полезно заменить

буквы алфавита целыми числами 0,1, 2,... Это позволяет упростить выполнение необходимых алгебраических манипуляций. Например, можно установить вза-

имно-однозначное соответствие между русским алфавитом {АБВГ…ЮЯ} и

142

множеством целых

чисел

32

0,1, 2,...,31 ,

между английским

алфавитом

 

 

 

 

 

 

 

 

 

 

{ABCD…YZ} и множеством целых чисел

32

0,1, 2,..., 26 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В

дальнейшем

будет

обычно

использоваться

алфавит

 

 

m

0,1, 2,..., m 1

, содержащий m «букв» в виде чисел. Замена букв тради-

 

 

 

 

 

 

 

 

 

 

 

 

ционного алфавита числами позволит более четко сформулировать основные

концепции и приемы криптопреобразований. В то же время в большинстве ил-

люстраций будет использоваться алфавит естественного языка.

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Текст с n

буквами из алфавита

 

 

 

m

можно рассматривать как n -грамму

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X x0 , x1,..., xn 1

, где x

Zm для некоторого целого

n

 

1, 2,3,... . Через Zm,n

бу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

дем обозначать множество n -грамм, образованных из букв множества Zm .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Криптографическое преобразование E представляет собой совокупность

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

преобразований

E E n

:1

n

,

 

E n

: Z

m,n

Z

m,n

.

Преобразование

E n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

определяет,

 

как

каждая

 

n -грамма

от рытого

текста

x

Zm,n заменяется

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n -граммой шифротекста

y , т.

. y

E n

 

x

 

, причем x ,

y

Zm,n , при этом обя-

 

 

Криптограф ческая

система

может трактоваться как семейство крипто-

зательным является требование взаимной однозначности преобразования E n

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на множестве Zm,n .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

графических

л

 

 

 

 

E

EK : K

 

 

k ,

помеченных

 

параметром

K

преобразований

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

называется к ючом. Множество значений ключа образуют ключевое простран-

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ство k .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

7.2.2. Традиционные симметричные криптосистемы

 

 

 

 

 

 

Традиционные (классические) методы шифрования отличаются симмет-

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

143

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

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

1. Шифры перестановок.

Правило перестановок символов – является ключом и задается различны-

ми предметами: цилиндром (скитала, древние греки), размером таблицы,

условным словом или фразой (шифрующие таблицы в эпоху Возрождения), ма-

2. Шифры простой замены.

 

 

 

 

 

 

Р

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В шифрах простой замены каждый символ открытого текста заменяется

символом того же или другого

 

 

 

 

 

У

 

 

алфавита по определенному правилу. Широко

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

известны и исследованы шифры Цезаря. Такие шифры имеют слабость по от-

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

Более

устойчивыми

являются

биграммные шифры (замена

двух букв)

и

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

n-граммные шифры, позволяющие мас ировать частоту появления букв.

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

3. Шифры сложной замены.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

Шифры сложной замены называют многоалфавитными, т. к. для шифро-

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

вания каждого

символа

сходного сообщения применяют свой шифр простой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

замены. Многоа фав тная подстановка последовательно и циклически меняет

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

x0

используемые а фавиты. Например, в r -алфавитной подстановке символ

из

 

 

 

 

 

 

 

 

y0 из алфавита B0 , x1 на

y1 из B1 , xr 1

исходного текста заменяется символом

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на yr 1

 

Br 1

, xr

на

yr из Вr. Многоалфавитная подстановка маскирует есте-

ственную статистику исходного языка,

т. к. конкретный символ из алфавита

А

гическим квадратом в Средние века.

может быть преобразован в несколько символов шифровальных алфавитов В.

К шифрам сложной замены относят шифры Гронсфельда, Вижинера, Вернама.

В 20-х годах были созданы первые шифровальные машины (электромеханиче-

144

ские), реализующие шифры сложной замены. Эти машины использовались до

60-х годов.

4. Шифрование методом гаммирования.

Под гаммированием понимают процесс наложения по определенному за-

кону гаммы шифра на открытые данные. Гамма шифра – это псевдослучайная

зашифровывания заключается в генерации гаммы шифра и наложенииРполу-

последовательность, выработанная по заданному алгоритму для зашифровыва-

ния открытых данных и расшифровывания зашифрованных данных. Процесс

ченной гаммы на исходный открытый текст обратимым образом, например с

использованием операции сложения по модулю 2.

 

 

И

 

 

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следует отметить, что перед зашифровыванием открытые данные разби-

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

вают на блоки Т0 одинаковой длины, обычно по 64 бита. Гамма шифра выраба-

тывается в виде последовательности блоков Гш

налогичной длины.

 

 

Уравнение

зашифровывания можно

 

з писать в виде

Ti

Гi

Ti ,

 

 

 

 

 

а

 

 

 

 

ш

ш

0

 

 

 

 

 

 

 

 

 

 

 

 

i 1, 2,...,M , где

Ti i -й блок шифрот

 

,

Гi

 

i -й блок гаммы шифра, Ti

 

ш

 

 

кста

 

ш

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

i -й блок открытого текс а, M – количество блоков открытого текста.

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

Процесс расшифр вывания сводится к повторной генерации гаммы шиф-

ра и наложению этой гаммытна зашифрованные данные. Уравнение расшифро-

 

 

i

оi

i

 

 

 

 

 

 

 

 

 

 

вывания имеет в д T0

Гш

Tш . Получаемый этим методом шифротекст доста-

 

и

поскольку теперь ключ является переменным. По

точно труден д я раскрытия,

л

 

 

 

 

 

 

 

 

 

 

 

 

 

сути дела, гамма шифра должна изменяться случайным образом для каждого

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифруемого блока. Если период гаммы превышает длину всего шифруемого

текстаизлоумышленнику не известна ни какая часть исходного текста, то та-

койБшифр можно раскрыть только прямым перебором всех вариантов ключа. В

этом случае криптостойкость шифра определяется длиной ключа.

145

7.2.3. Современные симметричные криптосистемы

По мнению К. Шеннона, в практических шифрах необходимо использо-

вать два общих принципа: рассеивание и перемешивание.

Рассеивание представляет собой распространение влияния одного знака открытого текста на много знаков шифротекста, что позволяет скрыть стати-

стические свойства открытого текста.

 

 

 

 

 

Р

 

 

 

 

 

 

Перемешивание предполагает использование таких шифрующих преоб-

 

 

 

 

 

 

 

 

И

разований, которые усложняют восстановление взаимосвязи статистических

 

 

 

 

 

 

 

У

 

свойств открытого и шифрованного текстов. Однако шифр должен не только

 

 

 

 

 

 

Г

 

 

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

 

 

 

 

 

 

Б

 

 

 

вывания при известном пользователю секретном ключе.

 

 

 

Распространенным способом достижения эффектов рассеивания и пере-

 

 

 

 

 

а

 

 

 

мешивания является использование сост вного шифра, т. е. такого шифра, ко-

 

 

 

 

к

 

 

 

 

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

 

 

 

е

 

 

 

 

 

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

сеивание и перемешивание.

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

В составных шифрах в качес ве простых шифров чаще всего используют-

и

 

 

 

 

 

 

 

 

ся простые перестановки и п дстановки. При перестановке просто перемеши-

л

 

 

 

 

 

 

 

 

 

вают символы открытого текста, причем конкретный вид перемешивания опре-

деляется секретным к ючом. При подстановке каждый символ открытого тек-

 

б

ста заменяют другим символом из того же алфавита, а конкретный вид подста-

и

новки также определяется секретным ключом. Следует заметить, что в совре-

Б

 

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

собой двоичные последовательности обычно длиной 64 бита. В принципе, каж-

дый блок может принимать 264 значений. Поэтому подстановки выполняются в

очень большом алфавите, содержащем до 254 1019 символов.

146

При многократном чередовании простых перестановок и подстановок,

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

7.3. Стандарт шифрования данных ГОСТ 28147–89

ГОСТ 28147–89 представляет собой 64-битовый блочный алгоритм с

256-битовым ключом. Он предназначен для аппаратной и программной реали-

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

ничений на степень секретности защищаемой информации.

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

Алгоритм предусматривает четыре режима работы:

И

1) шифрование данных в режиме простой замены;

2) шифрование данных в режиме гаммирования;

У

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

3) шифрование данных в режиме гаммирования с обратной связью;

4) выработка имитовставки.

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Основными режимами шифрования являются режимы с использованием

 

 

 

 

 

 

 

 

а

 

 

 

 

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

 

 

 

 

 

 

 

к

 

 

 

 

 

режиме простой замены.

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.3.1. Режим простой замены

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

1. Шифрован

о

 

 

 

 

 

 

 

 

 

открытых данных в режиме простой замены. Откры-

тые данные, под ежащие шифрованию, разбивают на 64-разрядные блоки T0 .

 

 

л

 

 

 

 

 

 

 

в режиме простой замены

Процедура шифрования 64-разрядного блока T0

 

б

j 1, 2,

,32

. В ключевое запоминающее устройство вво-

включает 32 цикла

и

 

 

 

в

 

виде восьми

32-разрядных подключей

дят 256 бит ключа K

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

(чисел) Ki :

 

 

 

 

 

 

 

 

 

 

 

 

K= K7K6K5K4K3K2K1K0 .

Последовательность бит блока

T0 a1 0 ,a2 0 , ,a31 0 ,a32 0 ,b1 0 ,b2 0 , ,b31 0 ,b32 0

147

разбивают на две последовательности по 32 бита: b 0 и a 0 , где b 0

левые или старшие биты, a 0 – правые или младшие биты.

Работа алгоритма в режиме простой замены изображена на рис. 7.3.

Обозначения на схеме:

N1, N2 – 32-разрядные накопители;

 

 

 

 

CM – 32-разрядный сумматор по модулю 232

+ ;

Р

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CM2 – 32-разрядный сумматор по модулю 2

;

И

R – 32-разрядный регистр циклического сдвига;

 

КЗУ – ключевое запоминающее устройство на 256 бит, состоящее из

восьми 32-разрядных накопителей X0, X1, X2,…, X7;

 

 

 

 

 

 

 

 

 

 

 

Б

 

S – блок подстановки, состоящий из восьми узлов заменыУ(S-блоков заме-

ны) S1, S2, S3,…, S8.

 

 

 

 

 

а

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

Рис. 7.3. Схема реализации режима простой замены

Эти последовательности вводят в накопители N1 и N2 перед началом пер-

вого цикла шифрования. В результате начальное заполнение накопителя N1

148

a 0

 

 

a32 0 , a31 0 ,

 

, a2 0 , a1 0

 

 

 

 

 

 

 

 

 

32,

31,

 

 

 

,

2,

 

1

 

 

номер разряда N1,

начальное заполнение накопителя N2

 

 

 

 

 

 

 

 

b 0

 

 

 

b32 0 , b31 0 ,

 

, b2 0 , b1 0

 

 

 

 

 

 

 

 

 

32,

31,

 

 

 

,

2,

 

1

 

 

номер разряда N2 .

Первый цикл

j 1

процедуры шифрования 64-разрядного блока откры-

тых данных можно описать уравнениями

 

 

 

 

 

 

Р

 

 

 

 

 

 

a 1 f a 0 +K0

b 0 ,

И

 

 

 

 

 

 

b 1

 

a 0 .

 

 

 

 

У

 

Здесь a 1

 

 

 

 

 

 

 

 

 

Г

 

 

– заполнение N1

после 1-го цикла шифрования;

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

b 1

– заполнение N2

после 1-го цикла шифрования;

 

 

 

f

– функция шифрования.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

модулю 232 числа a 0

Аргументом

функции f

 

является

сумма по

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

(начального заполнения накопит ля N1) числаи

K0 подключа, считываемого из

 

 

 

 

 

 

этих

 

 

 

 

 

 

 

 

накопителя X0 КЗУ. Каждое из

 

 

 

чис л равно 32 битам.

 

 

Функция f

включает две операции над полученной 32-разрядной суммой

( a 0 +K0 ).

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

Первая операц оя называется подстановкой (заменой) и выполняется бло-

 

блок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ком подстановки S. Блок подстановки S состоит из восьми узлов замены

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(S блоков замены) S1, S2, S3,…, S8

с памятью 64 бит каждый. Поступающий из

СМ1 на

 

 

подстановки S 32-разрядный вектор разбивают на восемь после-

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

довательно идущих 4-разрядных векторов, каждый из которых преобразуется в

четырехразрядный вектор соответствующим узлом замены. Каждый узел заме-

ны можно представить в виде таблицы-перестановки шестнадцати четырехраз-

рядных двоичных чисел в диапазоне 0000 1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. За-

тем четырехразрядные выходные векторы последовательно объединяют в

149

32-разрядный вектор. Узлы замены (таблицы-перестановки) представляют со-

бой ключевые элементы, которые являются общими для сетей ТКС и редко из-

меняются. Эти узлы замены должны сохраняться в секрете.

 

 

 

 

 

 

Вторая

операция – циклический

 

сдвиг

 

влево

 

 

(на

11

 

разрядов)

32-разрядного вектора, полученного с выхода блока подстановки S. Цикличе-

ский сдвиг выполняется регистром сдвига R. Затем результат работы функции

шифрования

f

 

суммируют поразрядно по модулю

2

в сумматоре СМ2 c

32-разрядным начальным заполнением b 0

 

 

 

 

 

 

 

 

 

 

 

 

 

И

накопителя N2 . Затем полученный

на выходе СМ2

результат (значение a 1 ) записывают в накопительРN1, а ста-

 

 

 

 

(значение a 0 )

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

рое значение N1

переписывают в накопитель N2

 

(значение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

b 1 a 0 ). Первый цикл завершен. Последующие циклыУосуществляются

аналогично,

при этом во втором цикле из КЗУ считывают заполнение X0

подключ K1 , в третьем цикле – подключ

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

K2

 

и т. д., в восьмом цикле – подключ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K7 . В циклах с 9-го по 16-й, а также в ци л х с 17-го по 24-й подключи из КЗУ

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

считываются в том же порядке: K0

,K1,K2 ,…,K6 ,K7 . В последних восьми цик-

лах с 25-го

по 32-й

 

порядок

счи ывания подключей из КЗУ обратный:

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K7 ,K6 ,…,K2 ,K1,K0 . Таким

бразом, при шифровании в 32 циклах осуществля-

ется следующий поряд к выбтрки из КЗУ подключей:

 

 

 

 

 

 

 

 

 

 

В 32-м циклерезультат из сумматора

СМ2

вводится в накопитель N2, а в

 

 

K

0

, K1 , K

2

, K

3

,K

4

, K

5

, K

6

, K

7

, K

0

, K1

, K2

, K3 ,K

4

, K5 , K6

, K

7

,

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K

0

, Kи, K , K

3

,K

4

, K

5

, K

6

, K

7

, K

7

, K

6

, K

5

, K

4

,K

3

, K

2

, K

, K

0

.

Б

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

накоп теле N1 сохраняется прежнее заполнение. Полученные после 32-го цикла

шифрованияизаполнения накопителей N1

и N2 являются блоком шифрованных

данных TШ , соответствующим блоку открытых данных Т0 .

Уравнения шифрования в режиме простой замены имеют вид

150

 

 

 

a

j

f

 

a

j

1

 

 

K j

1 mod8

b

j

1

при j

1

24,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

j

a

 

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

j

f

 

a

j

1

 

 

K 32

 

j mod8

b

j

1

при j

25

31,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

j

a

 

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 32

a 31

 

 

 

 

 

 

 

 

 

 

при j

32.

 

 

 

b

32

 

 

f a 31

 

K0

 

b 31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

a32

 

, a31

 

 

 

, a1

 

 

 

 

 

 

 

 

 

 

 

 

 

где a

j

j

j

,

 

j

 

– заполнение N1 после

j

-го цикла шифро-

вания;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

b

j

b32

j

,b31

j

 

,

,b1

j

 

– заполнение N2

после j

-го цикла шифрова-

ния, j

1

32 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

Блок зашифрованных данных ТШ (64 разряда) выводится из накопителей

N1, N2

в следующем порядке: из разрядов 1

32 накопителя N1, затем из разря-

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

дов 1

32 накопителя N2, т. е. начиная с мл дших разрядов:

 

 

 

 

 

 

 

 

 

 

 

 

 

е

а32 ,b 32 ,b 32 , ,b 32 ,b 32 .

T

 

a 32 ,a 32 , ,a 32 ,a

 

 

Ш

1

 

2

 

 

 

31

 

 

32

 

 

1

 

2

 

 

31

32

 

 

 

 

 

 

открытых

 

 

 

 

 

 

 

 

 

 

 

Остальные блоки

 

 

 

 

 

данных зашифровываются в режиме простой

замены аналогично.

фро

 

 

 

 

2. Расшифровывание в режиме простой замены. Криптосхема, реали-

 

 

 

и

 

зующая алгоритм расш

вывания в режиме простой замены, имеет тот же

 

 

л

 

 

вид, что и при ш фрован

(см. рис. 7.3).

 

б

 

 

 

В КЗУ вводят 256 бит ключа, на котором осуществлялось шифрование.

и

 

 

 

 

Заш фрованные данные, подлежащие расшифровыванию, разбиты на блоки

Б

 

 

 

 

 

ТШ по 64 б та в каждом. Ввод любого блока

TШ a1 32 ,a2

32 ,

,a31 32 ,a32 32 ,b1 32 ,b2 32 , ,b31 32 ,b32 32

в накопители N1 и N2

производят так, чтобы начальное значение накопителя N1

имело вид

 

 

 

 

151

a32

32

,

a31

32

,

,

a2

32

,

a1

32

32,

 

 

31,

 

 

,

2,

 

 

1

номер разряда N1,

а начальное заполнение накопителя N2:

 

 

 

 

 

b32

32

,

b31

32

,

,

b2

32

,

b1

32

32,

 

31,

 

 

,

2,

 

 

1

номер разряда N2 .

Расшифровывание осуществляется по тому же алгоритму, что и шифро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

вание, с тем изменением, что заполнения накопителей

 

X0

, X1

, X2 , , X7

считы-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

ваются из КЗУ в циклах расшифровывания в следующем порядке:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

K0 , K1 , K2 , K3 ,K

4 , K5 , K6 , K7 , K7 , K6 , K5 , K

4 ,K

3

, K

2

, K1

, K0

,

 

 

 

K7 , K6 , K5 , K4 ,K3 , K2 , K1 , K0 , K7 , K6

, K5 , K

4

,K

3

, K

2 , K1, K0 .

 

 

 

 

 

 

 

 

 

 

 

j 1

 

 

 

Г

 

 

 

 

 

Уравнения расшифровывания имеют вид

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 32 j

f a 32 j 1 K

 

b 32 j 1

 

 

 

 

 

при j

1

8,

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

b

32

j

a

32

 

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

32

j

f

a

32

j 1

K

32

j mod8

 

 

b 32

 

 

 

j

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

при j

9

31,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

32

j

a

32

 

j

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a 0

a 1

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

при j

32.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b 0

f a 1

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K0

 

b 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученные после 32-х циклов работы заполнения накопителей N1 и N2

образуют блок открытых данных:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

a 0 ,a 0 , ,a 0 ,a 0 ,b 0 ,b 0 , ,b 0 ,b 0 ,

 

0

1 и2

 

 

31

 

32

1

 

 

2

 

 

 

 

 

31

 

32

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

соответствующийллоку зашифрованных данных Т

 

 

 

. При

этом

состояние

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

накоп телябN1:

 

 

 

 

 

 

 

 

 

 

 

 

Ш

 

 

 

 

 

 

 

 

 

 

 

a32 0 , a31 0 ,

 

, a2 0 , a1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

32,

 

 

31,

 

 

,

2,

 

1

 

 

 

номер разряда N1,

состояние накопителя N2:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b32 0 , b31 0 ,

 

, b2 0 , b1 0

 

 

 

 

 

 

 

 

 

 

 

 

 

32,

 

 

31,

 

 

,

2,

 

1

 

 

 

 

номер разряда N2 .

152

Аналогично расшифровываются остальные блоки зашифрованных дан-

ных.

Если алгоритм зашифровывания в режиме простой замены 64-битного блока Т0 обозначить через A , то

 

 

 

 

A Т0 a 0 ,b 0 = a 32 ,b 32 =TШ .

 

Следует иметь в виду, что режим простой замены допустимо использо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

вать для шифрования данных только в ограниченных случаях при выработке

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

ключа и шифровании его с обеспечением имитозащиты для передачи по кана-

лам связи или для хранения в памяти ЭВМ.

 

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

7.3.2. Режим гаммирования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

1.

Зашифровывание

 

открытых данных в режиме гаммирования.

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

Криптосхема, реализующая алгоритм шифров ния в режиме гаммирования, по-

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

казана на рис. 7.4. Открытые данные р збив ют на 64-разрядные блоки

0

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т 1

 

, Т 2

,

 

, Т i , , Т m ,

 

 

 

 

 

 

 

 

 

т

0

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

где T i

i 64-разрядный блок о крытых данных, i

1

 

m , m определяется

 

 

 

 

чередно

 

 

 

 

 

 

 

 

 

 

 

 

объемом шифруемых данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эти блоки по

 

 

 

зашифровываются в режиме гаммирования путем

 

 

л

 

 

 

 

 

 

 

 

 

 

 

с гаммой шифра ГШ ,

поразрядного с ожен я по модулю 2 в сумматоре CM5

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которая выра атывается блоками по 64 бита, т. е.

 

 

 

 

 

и

 

 

 

 

ГШ

ГШ1 , ГШ2

,

, ГШi ,

, ГШm

,

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Г i i -й 64-разрядный блок, i

 

1

 

m .

 

 

 

 

 

 

Ш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Число двоичных разрядов в блоке

T m

может быть меньше 64, при этом

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

не использованная для зашифровывания часть гаммы шифра из блока ГШm от-

брасывается.

Уравнение шифрования данных в режиме гаммирования имеет вид

153

 

 

 

 

T i

T i

Г i

,

 

 

 

 

Ш

0

Ш

 

где Г i

A Y

C , Z

C

, i 1 m ; T i

i -й блок 64-разрядного блока за-

Ш

i 1

2 i 1

1

Ш

 

 

шифрованного текста; A – функция шифрования в режиме простой замены;

С1, С2 – 32-разрядные двоичные константы; Yi, Zi – 32-разрядные двоичные по-

следовательности.

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

и

Рис. 7.4. Схема реализации режима гаммирования

 

 

Вел ч ны Yi, Zi определяются итерационно по мере формирования гаммы

Б

 

 

 

 

 

 

 

 

 

 

 

ГШ

следующ м образом:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Y0 , Z0 A S ,

 

 

 

где S – синхропосылка (64-разрядная двоичная последовательность),

 

 

 

 

Yi , Zi

Yi 1 C2 , Zi 1 C1 ,i 1...m.

 

 

154

Рассмотрим реализацию процедуры шифрования в режиме гаммирования.

В накопители N6 и N5 заранее записаны 32-разрядные двоичные константы

С1 и С2, имеющие следующие значения (в шестнадцатеричной форме):

 

 

 

 

 

C1

01010104 16 ,C2 01010101 16 .

 

 

 

 

 

В КЗУ вводится 256 бит ключа; в накопители N1

и N2 – 64-разрядная дво-

ичная последовательность (синхропосылка)

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

S = S1 , S2 ,

, S64 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Синхропосылка S является исходным заполнением накопителей N1 и N2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

для последовательной выработки

m блоков гаммы шифра.

 

 

 

 

 

Исходное заполнение накопителя N1:

 

 

Г

 

 

 

 

 

 

 

 

 

S32 , S31 ,

 

,

S2 ,

S1

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32,

31,

 

,

 

2,

1

 

номер разряда N1,

 

состояние накопителя N2:

 

 

 

 

а

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

S64 , S63

,

 

 

, S34

, S33

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64,

63,

 

 

,

34,

33

номер разряда N .

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

Исходное заполнение N1

и N2

(синхропосылка

S шифруется в режиме

простой замены. Резуль ат шифрования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

A S

 

Y0 , Z0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

и N4 так, что заполнение N1 пе-

переписывается в 32-разрядные накопители N3

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реписывается в N3, а заполнение N2 – в N4.

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

суммируют по модулю

232

1

 

 

3

Заполнение накопителя N4

 

 

 

в сумматоре

CM4 с 32-разрядной константой С1 из накопителя N6. Результат записывается в

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

232

 

 

 

 

 

N4. Заполнение накопителя N3

суммируется по модулю

 

в сумматоре CM с

32-разрядной константой С3

из накопителя N5. Результат записывается в N3. За-

полнение N3 переписывают в N1, а заполнение N4 – в N2, при этом заполнения

N3, N4 сохраняются. Заполнение накопителей шифруется в режиме простой замены.

155

Полученное в результате шифрования заполнение накопителей N1 и N2

образует первый 64-разрядный блок гаммы шифра:

 

 

 

 

 

 

 

 

 

 

 

 

Г 1

 

 

(1)

,

(1) ,..., (1) ,

(1)

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ш

 

 

1

 

2

 

63

64

 

 

 

 

 

 

 

 

 

который суммируют поразрядно по модулю 2 в сумматоре СМ5

с первым

64-разрядным блоком открытых данных:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т 1

 

t 1 , t 1 ,

 

, t 1 , t

1 .

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

1

 

2

 

63

64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ГШ1

 

 

 

 

В результате суммирования по модулю 2 значений

 

и

Т01

получают

первый 64-разрядный блок зашифрованных данных:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

 

1

 

1

1

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТШ

ГШ

Т0

 

 

1

,

2

,…,

63

,

 

64

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

где

i

1

ti

1

i

1

,

i

1

64.

 

 

 

 

 

 

 

Б

 

У

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

за-

 

 

Для получения следующего 64-разрядного блока гаммы шифра ГШ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

 

 

 

 

 

 

 

 

 

 

 

 

 

полнение N4 суммируется по модулю

к

в сумматоре CM4

с константой

 

2

 

1

С1 из N6. Результат записывается в N4. Заполнение N3

суммируется по модулю

32

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

в сумматоре

CM3

 

 

 

из N5. Результат записывается в N3. Но-

с константой С2

вое заполнение N3

переписывают

ев N1, а новое заполнение N4 – в N2, при этом

заполнения N3

 

 

N2

 

о

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и

с храняют. Заполнения N1, N2

шифруют в режиме простой

замены.

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученное в результате шифрования заполнение накопителей N1 и N2

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

образует второй 64-разрядный блок гаммы шифра ГШ2 , который суммируется

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поразрядно по модулю 2 в сумматоре CM5

со вторым блоком открытых

Б

 

2 :

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

Т

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ТШ2

 

ГШ2

 

Т02 .

 

 

 

 

 

 

 

 

 

 

 

 

Аналогично вырабатываются блоки гаммы шифра ГШ3 , ГШ4

, , ГШm

и

шифруются блоки открытых данных Т03 , Т03 ,

, Т0m .

 

 

 

 

 

 

 

 

 

156

В канал связи или память ЭВМ передаются синхропосылка S и блоки

зашифрованных данных:

ТШ1 , ТШ2 , , ТШm .

2. Расшифровывание в режиме гаммирования. При расшифровывании

криптосхема имеет тот же вид, что и при шифровании.

 

 

 

 

Уравнение расшифровывания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T i

 

T i

Г i

T i

 

A Y C , Z C

, i 1 m .

 

 

 

0

 

Ш

Ш

Ш

 

 

i

1

2

i 1

 

1

 

И

Следует отметить, что расшифровывание данных возможноРтолько при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

наличии синхропосылки, которая не является секретным элементом шифра и

 

 

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

может храниться в памяти ЭВМ или передаваться по каналам связи вместе с

зашифрованными данными.

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

Рассмотрим реализацию процедуры расшифровывания. В КЗУ вводят

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

256 бит ключа, с помощью которого осуществляется

шифрование данных

Т01 , Т02 , , Т0m . В накопители N1 и N2

вводится синхропосылка и осуществля-

 

 

 

 

 

 

т

 

 

 

 

 

1

 

2

 

m

. Блоки зашиф-

ется процесс выработки m блоков гаммы шифра ГШ , ГШ ,

 

, ГШ

 

 

 

 

1

2

 

еm

 

 

 

 

 

 

 

 

 

 

 

 

о

 

суммируются поразрядно по модулю 2 в

рованных данных ТШ

, ТШ

, , ТШ

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

сумматоре

СМ5 с бл ками гаммы шифра ГШ1 , ГШ2 ,

, ГШm . В результате полу-

 

 

л

 

 

 

1

 

2

m

 

 

 

 

m

 

чаются блоки открытых данных Т0

 

, Т0 ,

, Т0

,

при этом Т0

может содер-

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жать меньше 64 разрядов.

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

7.3.3. Режим гаммирования с обратной связью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

иКриптосхема, реализующая алгоритм шифрования в режиме гаммирова-

ния с обратной связью, имеет вид, показанный на рис. 7.5.

157

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

У

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

Рис. 7.5. Схема реализации режима гаммирования с обратной связью

 

 

 

и

 

 

 

 

 

 

 

 

 

1. Шифрован е ткрытых данных в режиме гаммирования с обрат-

 

 

л

 

 

 

 

 

 

 

 

 

ной

связью. Открытые данные, разбитые на

64-разрядные блоки

 

б

 

 

 

 

 

 

 

 

 

 

Т01 , Т02 , , Т0m

, шифруются в режиме гаммирования с обратной связью путем

 

блоками

 

 

 

 

 

 

 

 

 

 

 

поразрядного сложения по модулю 2 с гаммой шифра ГШ

, которая вырабатыва-

ется

по 64 бита: ГШ1 , ГШ2 , , ГШm .

 

 

 

 

 

БЧисло двоичных разрядов в блоке Т m

может быть меньше 64, при этом

 

 

 

 

 

 

 

 

0

 

 

 

 

не использованная для шифрования часть гаммы шифра из блока ГШm отбрасы-

вается.

158

Уравнения шифрования в режиме гаммирования с обратной связью име-

ют вид:

 

 

 

 

 

 

 

T 1

A S T 1

 

Г

1

 

T 1

,

 

 

 

 

 

 

 

 

 

 

Ш

 

 

 

0

 

 

 

Ш

 

0

 

 

 

 

 

 

 

T i

 

A T i 1

T i

Г i

 

T i

, i 2 m .

 

 

 

 

 

 

Ш

 

 

Ш

 

 

0

 

Ш

 

 

0

 

 

 

 

Здесь T i i-й 64-разрядный блок шифрованного текста; A

– функция

 

 

Ш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шифрования в режиме простой замены; m определяется объемом открытых

данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аргументом функции A

на первом шаге итеративного алгоритма яв-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

У

 

ляется

64-разрядная

синхропосылка

 

 

S, а

на

 

всех

последующих шагах –

предыдущий блок зашифрованных данных

T i

1 .

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ш

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процедура шифрования данных в режиме гаммирования с обратной свя-

 

 

 

 

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

зью реализуется следующим образом. В КЗУ вводятся 256 бит ключа, в накопи-

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

тели N1

и N2

вводится синхропосыл а

S = S1 , S2 ,

 

, S64

из 64 бит. Исходное за-

 

 

 

 

 

 

 

 

е

 

 

1

 

 

 

 

 

 

полнение накопителей

N1

и

N2

шифру тся в режиме простой замены. По-

 

 

 

 

 

 

 

сумматоре

 

 

 

 

 

 

 

 

 

 

 

 

лученное в результате шифрования заполнение накопителей N1

и N2 образует

первый 64-разрядный

 

 

гаммы шифра

 

ГШ

А S

, который суммируется

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поразрядно по модулю 2 в

 

 

 

CM5

с первым 64-разрядным блоком от-

 

 

л

блок

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крытых данных:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

1

 

1

 

1

 

 

1

 

1

 

 

 

 

и

 

 

 

 

 

 

Т0

t1

, t2 ,

 

, t63

, t64 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В результате получают первый 64-разрядный блок шифрованных данных

Б

 

 

 

 

 

 

 

 

ТШ1

 

ГШ1

 

Т01 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где Т 1

1

, 1

,…,

1

,

 

1 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ш

1

2

 

63

 

64

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блок шифрованных данных

T i

одновременно является также исходным

 

 

 

 

 

 

 

 

 

Ш

 

 

 

 

 

 

 

 

 

 

 

 

состоянием

накопителей

 

N1

и

N2

для

выработки

второго

блока гаммы

159

шифра ГШ2 , и поэтому по обратной связи TШ1 записывается в указанные нако-

пители N1 и N2.

Заполнение накопителя N1:

1

1

 

1

 

 

1

 

 

 

 

 

 

32 ,

31 ,

,

2

,

 

1

 

 

 

 

 

 

32,

31,

,

2,

 

1

номер разряда N1.

 

Заполнение накопителя N2:

 

 

 

 

 

 

 

 

 

Р

1

1

 

1

 

 

1

 

 

 

 

 

64 ,

63 ,

,

34

,

 

33

 

 

 

 

 

32,

31,

,

2,

 

1

номер разряда N1.

 

 

 

 

 

 

 

 

 

 

 

 

Заполнение накопителей N1

и N2

шифруется в режиме простой замены.

 

 

 

 

 

 

 

 

 

 

И

Полученное в результате шифрования заполнение накопителей N1

и N2 образует

 

 

 

 

 

 

2

 

 

У

 

 

второй 64-разрядный блок гаммы шифра ГШ

 

 

 

 

, который суммируется поразряд-

 

 

 

 

 

 

 

Г

 

 

 

но по модулю 2 в сумматоре СМ со вторым блоком открытых данных Т02 :

 

 

 

Т 2

 

Г 2

Б

 

 

 

 

 

 

 

 

Т 2 .

 

 

 

 

 

 

 

 

Ш

 

Ш

0

 

 

 

 

 

 

 

 

 

 

 

а

ГШ и шифрование соот-

Выработка последующих блоков гаммы шифра

 

 

 

 

к

 

 

 

 

 

 

ветствующих блоков открытых данных

Т0i

i 3 m

производятся аналогич-

 

 

 

е

 

 

 

 

 

 

 

но. Если длина последнего m -го блока открытых данных Т0m меньше 64 разря-

дов, то из Г m

используетсятлько соответствующее число разрядов гаммы

Ш

 

 

о

 

 

 

 

 

 

 

шифра, остальные разряды отбрасываются.

 

 

 

 

и

S

и блоки

В канал связи и и память ЭВМ передаются синхропосылка

 

л

 

 

 

зашифрованных данных ТШ1 , ТШ2 , , ТШm .

 

 

б

 

 

 

 

2.иРасшифровывание в режиме гаммирования с обратной связью.

При расшифровывании криптосхема имеет тот же вид, что и при шифровании.

Б

 

 

 

 

Уравнения расшифровывания:

 

 

 

T 1

A S T 1

Г 1

T 1

,

0

Ш

Ш

Ш

 

160

T i

Г i

T i

=A T i 1

T i

, i 2 m .

0

Ш

Ш

Ш

Ш

 

Реализация процедуры расшифровывания шифрованных данных в режи-

ме гаммирования с обратной связью происходит следующим образом. В КЗУ вводят 256 бит того же ключа, на котором осуществлялось шифрование откры-

тых блоков Т01 , Т02 , , Т0m . В накопители N1 и N2 вводится синхропосылка S .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р

Исходное заполнение накопителей N1

и N2 (синхропосылка S ) шифруется в ре-

жиме простой замены. Полученное в результате шифрования заполнение N1 и

N2 образует первый блок гаммы шифра

 

 

 

 

 

И

 

 

 

 

 

 

 

 

 

ГШ1

 

А S ,

 

У

 

 

 

 

 

 

 

 

 

 

 

Г

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CM5

 

который суммируется поразрядно по модулю 2 в сумматоре

с блоком

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

шифрованных данных ТШ1 . В результате получается первый блок открытых

данных

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Т02

 

 

ГШ2

ТШ2 .

 

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

является исходным заполнением накопи-

 

Блок шифрованных данных ТШ

 

 

 

 

 

 

т

 

 

 

 

 

 

2

ГШ2

: ГШ2

А ТШ1 .

телей N1

и N2 для вырабо ки в орого блока гаммы шифра

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

Полученное заполнение нак пи елей N1

и N2

шифруется в режиме простой за-

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

мены. Образованный в результате шифрования блок ГШ суммируется пораз-

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

 

рядно по моду ю 2 в сумматоре CM5

со вторым блоком шифрованных данных

ТШ2

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. В резу ьтате по учают второй блок открытых данных. Аналогично в N1 и

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N2

последовательно записывают блоки шифрованных данных ТШ2 , ТШ3 , , ТШm ,

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

Г 3

, Г 4 , , Г m . Блоки гаммы шифра суммируются поразрядно по модулю 2 в

Ш

Ш

 

Ш

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сумматоре CM5 с блоками шифрованных данных ТШ3 , ТШ4 ,

, ТШm .

 

 

В результате получают блоки открытых данных Т03 , Т04 ,

, Т0m , при этом

последний блок открытых данных Т0m

может содержать меньше 64 разрядов.

161

7.3.4. Режим выработки имитовставки

Имитовставка – это блок из P бит, который вырабатывают по опреде-

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

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

Имитозащита – это защита системы шифрованной связи от навязывания

ложных данных.

 

 

 

 

 

 

 

 

 

 

В стандарте ГОСТ 28147–89 определяется

процесс

выработки ими-

 

 

 

 

 

 

 

 

 

 

 

 

 

И

товставки, который единообразен для любого из режимов шифрования данных.

Имитовставка Ир вырабатывается из блоков открытых данных либо Рперед шиф-

 

 

 

 

 

 

 

 

 

 

 

 

У

рованием всего сообщения, либо параллельно с шифрованием по блокам. Пер-

 

 

 

 

 

 

 

 

 

 

 

Г

 

вые блоки открытых данных, которые участвуют в выработке имитовставки,

 

 

 

 

 

 

 

 

 

 

Б

 

 

могут содержать служебную информацию (например адресную часть, время,

синхропосылку) и не шифруются.

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к

 

 

 

 

Значение параметра Р (число двоичных р зрядов в имитовставке) опреде-

 

 

 

 

 

 

 

е

 

 

 

 

 

ляется криптографическими требованиями с учетом того, что вероятность навя-

зывания ложных помех равна 1/2Р.

 

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

Для выработки ими овс авки о крытые данные представляют в виде по-

 

 

 

 

 

о

 

 

 

 

 

 

 

следовательности 64-разрядных блоков T i , i

1

m. Первый блок открытых

 

 

 

 

и

 

 

 

0

 

 

 

 

данных T0

1

 

 

 

 

 

A

 

 

 

 

подвергают пре бразованию

, соответствующему первым 16

 

 

 

 

л

 

 

 

 

 

 

 

 

 

циклам алгоритма ш фрования в режиме простой замены. В качестве ключа

 

б

 

 

 

 

 

 

 

 

 

 

для выра отки имитовставки используют ключ длиной 256 бит, по которому

и

 

 

 

 

 

 

 

 

 

 

 

шифруют данные.

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

Полученное после 16 циклов 64-разрядное число A Т01

суммируют по

модулю 2 со вторым блоком открытых данных Т02 . Результат суммирования

A Т01 Т02 снова подвергают преобразованию A .

162

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]