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

Байт K складывается операцией «ИСКЛЮЧАЮЩЕЕ-ИЛИ» с байтом открытого текста для получения байта шифротекста либо с байтом шифротекста для получения байта исходного текста. Шифрование происходит весьма быстро – примерно в 10 раз быстрее DES-алгоритма. Типичная реализация выполняет 19 машинных команд на каждый байт текста. Алгоритм RC4 может принимать примерно 256! ∙ 2562 = 21700 возможных состояний. S-бокс медленно изменяется в процессе работы: параметр i обеспечивает изменение каждого элемента, а j отвечает за то, чтобы эти элементы изменялись случайным образом. Шифр обла-

дает иммунитетом к методам линейного и дифференциального криптоанализа и

до сих пор в нем не обнаружены короткие циклы.

Р

 

Алгоритм RC4, в отличие от алгоритмов на основе сдвиговых регистров

 

И

LSFR, больше ориентирован на программную реализацию, поскольку работает не

с битами, а с целыми байтами исходного текста. Благодаря своей скорости и за-

 

 

У

щищенности, он нашел широкое применение в криптографических системах. На-

пример, он является частью протокола безопасного обмена информацией SSL.

Задания

Г

Б

 

1. Реализуйте систему потокового шифрования файлов с помощью генера-

тора ключевой последовательности на основе линейного сдвигового регистра с

обратной связью LFSR1.

а

 

2. Модифицируйте программу из зад ния 1 путем реализации схемы Геффе с тремя регистрами LFSR1, LFSR2 и LFSR3 (р змерность регистров приведена в

табл. 2).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3. Реализуйте алгоритм потоковогокшифрования RC4.

 

 

 

 

 

 

 

 

 

 

 

е

 

 

 

 

Таблица 2

 

 

 

 

 

 

Вариан ы заданий

 

 

 

 

 

 

Степень

 

 

 

 

т

Номер варианта

 

 

 

 

многочлена

 

1

 

2

 

3

 

4

 

5

 

6

7

 

8

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

LFSR1

 

 

23

 

24

25

 

26

 

27

 

28

29

 

30

LFSR2

 

 

31

 

32

 

33

 

34

 

35

 

36

37

 

38

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

LFSR3

 

 

39

 

40

 

23

 

24

 

25

 

26

27

 

28

 

 

 

л

 

 

 

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13

 

 

 

 

3. РОТОРНЫЕ КРИПТОСИСТЕМЫ

Наиболее известная роторная криптосистема называлась «Энигма» и ис-

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

немецкой армии в годы второй мировой войны. Конструкция «Энигмы» была

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

ского алфавита. Каждый ротор имел 26 входных контактов на одной стороне и

столько же выходных контактов – на другой. Внутри каждого ротора прохо-

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

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

ротора. Когда оператор нажимал на какую-либо букву на клавиатуре машины,

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

вующий этой букве. Ток проходил через первый ротор и поступалРна выход-

ной контакт, соответствующий какой-либо другой букве. Затем ток проходил

последовательно через второй и третий роторы и подавалсяИна неподвижный

рефлектор (от лат. reflecto – обращаю назад, отражаю). В конструкции рефлек-

 

 

 

 

 

 

 

У

тора 26 контактов разбивались на пары, контакты внутри каждой пары были

соединены между собой. Таким образом, рефлекторГзаменял каждую букву на

парную ей. Ток, прошедший через рефлектор, подавался назад, на систему ро-

торов. Он вновь проходил через три

 

, ноБв обратном порядке. В конце

концов на световом табло «Энигмы» з гор л сь одна из 26 лампочек, соответ-

ствовавшая зашифрованной букве (рис. 5). Самым важным свойством «Эниг-

 

 

 

 

 

 

ротора

мы» являлось вращение роторов. П рвый ротор после каждого преобразова-

 

 

 

 

 

к

 

ния буквы поворачивался на одну позицию. Второй ротор поворачивался на

одну позицию после того, как

 

ротор совершал полный оборот, т.е. по-

 

 

 

 

 

первый

 

сле 26-ти преобразованных букв. Наконец, третий ротор поворачивался на од-

ну позицию после т го, как в

рой ротор совершал полный оборот, т.е. после

676-ти зашифрованных буквт.

 

 

 

 

 

 

о

 

 

 

 

Реф ектор Левый ротор Средний ротор Правый ротор

 

 

 

и

 

 

 

 

 

л

 

 

 

A

 

 

 

 

 

 

 

б

 

 

 

 

 

и

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

 

G

 

 

Рис. 5. Устройство шифровальной машины «Энигма»

14

Благодаря рефлектору, «Энигма» на каждом шаге осуществляла перестановку букв внутри пар, и если, к примеру, буква «N» заменялась на «S», то при том же положении роторов буква «S» менялась на «N» (ток тек по тем же проводам, но в другую сторону). Поэтому для расшифровки сообщения достаточно было вновь пропустить его через машину, восстановив предварительно изначальное положение роторов. Таким образом, начальное положение роторов играло роль ключа шифрования. Каждый оператор имел специальную книгу, задававшую положение роторов для каждого дня. В этом заключалась очевидная слабость данной системы шифрования: достаточно было завладеть книгой и машиной, чтобы раскрыть все секреты. Что и произошло осенью 1942Ргода, когда войсками союзников была захвачена немецкая подводная лодка U-571.

ет полиалфавитную подстановку с длинным периодом . Пусть роторная машина состоит из банка t роторов (дисков) R1, R2, …, Rt. Каждый ротор Ri задает функ-

В общем случае криптосистема на основе роторной машиныИосуществля-

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

цию подстановки fi символов открытого текста символамиГ зашифрованного

 

 

 

 

 

а

 

дится в позиции ji, то выполняемая им эффективная подстановка символа mi

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

 

 

 

к

Б

 

 

 

 

 

 

(7)

Fi(a) = ((fi(mi ji) mod N )+ ji) mod N.

Машина, состоящая из t роторов, осуществляет эффективную подстанов-

ку символов шифротекста по закону

 

 

 

 

 

E (m

)=еF(F (…(F (m )…)).

(8)

 

ki

i

t t–1

1

i

 

Ключ шифрования ki с с

 

из исходных функций подстановки f1, …, ft

иt

 

 

 

 

 

 

и текущих позиц й р т р витj , …, j. Как только шифруется очередной символ,

л

1

 

t

 

 

 

 

один или более роторовозменяют свою позицию, изменяя этим и сам ключ.

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

Рассмотрим пример генератора на основе одного сдвигового регистра с

линейной обратной связью LFSR длиной 80 бит (примитивный многочлен

P(x) = x80 + x79 + x43 + x42 + 1) (рис. 6). Три байта RCB (Rotor Control Byte) с по-

зициями (I, J, K) выбираются из регистра LFSR случайно и определяют перемещение каждого из трех роторов на текущем шаге шифрования. Причем значения (I, J, K) также являются частью ключа.

15

 

Исходный

1

 

 

2

 

3

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

 

 

Ротор

 

 

Ротор

 

Ротор

 

 

 

текст

 

 

 

текст

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LFSR

 

 

 

 

 

RCB 2

 

 

RCB 1

RCB 3

 

 

 

0

 

7

 

J

 

 

 

I

 

K

72

79

 

Рис. 6. Управление положением трех роторов с помощью одного

 

 

 

линейного сдвигового регистра с обратной связью

Р

Функция подстановки для каждого ротора задается с помощьюИ

соответ-

ствующей таблицы. Для шифрования сообщения байтами она должна задавать

 

 

 

 

 

 

 

 

 

 

 

У

 

 

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

При отсутствии рефлектора таблицы подстановки

Гна сторонах отправителя и

получателя должны задавать взаимообратные правила – отправитель ищет

символ шифротекста по его индексу в первойБт блице, а получатель по при-

шедшему символу находит соответствующий ему индекс с помощью второй

таблицы.

 

 

 

 

 

 

 

 

а

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для увеличения периода ключа в аждом роторе может быть организова-

 

 

 

 

 

 

 

 

к

 

 

 

 

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

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

следующего символа (рис. 7).

е

 

 

 

 

 

 

 

 

 

 

 

т

 

 

 

 

 

 

 

 

 

 

 

о

 

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

л

 

 

 

 

 

 

 

 

 

 

б

 

 

 

 

 

 

 

 

 

 

и

 

 

 

 

 

 

 

 

 

 

 

 

Б

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 7. Реализация ротора с обратной связью по шифротексту

 

16