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

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

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

Например, обычная перестановка символов позволяет скрыть частоты появления биграмм, триграмм и т.д.

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

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

Пусть F:x ο y, x, y M , и на множестве M определены преобразования g и h. Если F g x h y , F прозрачно для g, а g

для F.

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

61

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

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

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

Рассмотрим структуру раунда блочного шифра, получившую название петли Фейстеля (рис. 1.8). Представим шифруемый блок данных (открытого mi или закрытого ci текста) длиной n

в виде пары полублоков в два раза меньшего размера:

mi ci n, mi ci L, R , L R n2.

Зашифруем старший полублок L (Left) блока mi с помощью младшего R (Right), используя некоторую функцию fi , зависящую от раундового ключа ki , и обратимую бинарную операциюнад n2 -битовыми блоками данных. Для подготовки к следующему аналогичному раунду осуществимим перестановку частей блока mi : L fi R R. Таким образом, раундовая функ-

ция зашифрования (рис. 1.9) будет иметь вид

Fi mi Fi L, R R, L fi R ,

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

преобразование Fi 1 c :

Fi 1 ci Fi 1 L, R R,L fi R ,

где – операция, обратная . Композиционный шифр, использующий раундовые функции такого вида, называется шифром Фейстеля. В подавляющем большинстве шифров рассматриваемой структуры в качестве операций и используется поразрядное сложение по модулю два (XOR).

62

 

 

 

mi

 

 

 

 

 

 

 

ci

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

R

 

 

 

 

 

L

 

R

 

 

 

 

 

 

 

 

 

 

 

ki

 

 

 

 

 

 

 

 

 

ki

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

L

 

R

 

L

 

R

 

 

 

 

а

 

 

 

б

 

 

 

 

 

 

 

 

 

 

 

ci

 

mi

 

 

 

 

 

 

 

 

 

Рис. 1.8. Схема сбалансированной петли Фейстеля: а – зашифрование, б – расшифрование

Первыми широко известными практическими реализациями итеративного блочного шифра были разработанные сотрудниками фирмы IBM (Х. Фейстелем, Д. Копперсмитом и др.) криптоалгоритмы Lucifer и созданный на его основе в 1974 г. в качестве стандарта шифрования данных в государственных и ча-

стных организациях DES (Data Encryption Standard). DES рабо-

тает с блоками данных разрядностью 64 бита с использованием 56-разрядного ключа, из которого по специальному фиксированному алгоритму, использующему перестановки и сдвиги, вырабатываются раундовые ключи. Применяемые преобразования – поразрядное сложение по модулю два, подстановки и перестановки, число раундов равно 16. Перед началом первого раунда выполняется начальная фиксированная перестановка IP,

после 16-го раунда – обратная перестановка IP 1. Следуя рекомендациям Шеннона, в каждом раунде осуществляется один шаг перемешивания (с использованием соответствующего раундового ключа и S-блоков), после которого следует шаг рассеивания, не зависящий от ключа.

Интересно отметить: в первоначальной схеме, предложенной IBM, все шестнадцать 48-разрядных раундовых ключей выбирались независимо, т.е. размер ключа был равен 768 битам. Однако, по требованию Агенства национальной безопасности США

63

(АНБ), во-первых, размер ключа был уменьшен до 64 битов, из которых только 56 – секретные, во-вторых, в алгоритме определены перестановки лишь специального вида, не зависящие от ключа. А это наводило критиков данного алгоритма на мысль, что АНБ могла использовать известные ей слабости алгоритма для его взлома. На протяжении последних десятилетий DES подвергался интенсивному и всестороннему исследованию и по современным понятиям уже не считается надежным.

Существует несколько предложений, направленных на усовершенствование DES. Наиболее известное из них заключается в трехкратном применении алгоритма (Triple DES) по схемам, показанным на рис. 1.9.

1.9. Абсолютно стойкий шифр. Гаммирование

Простейшей и в то же время наиболее надежной из всех схем шифрования является так называемая схема однократного использования (рис. 1.10), изобретение которой чаще всего связывают с именем Г.С. Вернама [10, 27]. Формируется t-разрядная случайная двоичная последовательность – ключ шифра, известный отправителю и получателю сообщения. Отправитель производит побитовое сложение по модулю два ключа и t-разрядной двоичной последовательности, соответствующей пересылаемому сообщению:

ci mi ki , i 1, t,

где mi , ki , ci – очередные i-е биты соответственно исходного со-

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

mi ci ki , i 1, t.

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

64

вительно, противнику известно только зашифрованное сообщение с, при этом все различные ключевые последовательности k возможны и равновероятны, а значит, возможны и любые сооб-

щения m, т. е. криптоалгоритм не дает никакой информации об открытом тексте.

k1

k2

k1

k1

k2

k3

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

Блок открытого текста mi

DES

Ek

DES

Dk

DES

Ek

Блок шифротекста ci

Блок открытого текста mi

DES

Ek

DES

Dk

DES

Ek

Блок шифротекста ci

k1

k2

k1

k3

k2

k1

Расшифрование

Блок шифротекста ci

DES

Dk

DES

Ek

DES

Dk

Блок открытого текста mi

Блок шифротекста ci

DES

Dk

DES

Ek

DES

Dk

Блок открытого текста mi

а

б

Рис. 1.9. Схемы трехкратного использования алгоритма DES: а – с двумя ключами; б – с тремя ключами

65

Ключ

Отправитель

 

... 10011101001

 

Исходная информационная последовательность

XOR

... 11001100001

 

Ненадежный канал связи

 

Ключ

Получатель

 

... 10011101001

 

 

 

Зашифрованная последовательность

 

XOR

... 01010011000

 

 

 

Расшифрованная последовательность

 

 

10000110011 ...

 

 

Рис. 1.10. Схема однократного использования

 

Целью противника может являться раскрытие криптосистемы, нахождение ключа, в крайнем случае, дешифрование како- го-либо закрытого сообщения. Однако его может удовлетворить получение даже некоторой вероятностной информации об исходном тексте сообщения. Например, известный криптоаналитику факт написания текста некоторого сообщения на английском языке предоставляет ему некоторую априорную информацию об этом сообщении даже до анализа шифровки. В данном случае он заранее знает, что слово «HELLO» – более вероятное начало сообщения, чем набор букв «FGHKM». Поэтому одной из целей криптоанализа может стать увеличение информации, относящейся к каждому возможному сообщению таким образом, чтобы правильный текст был более вероятен. Предположим, противник перехватил шифровку «ABCCD» и знает (или предполагает), что использованный шифр – это шифр простой замены. Анализ шифровки позволяет сделать вывод: исходное сообщение состоит из пяти букв, причем на третьей и четвертой позициях стоит одна и та же буква, а остальные отличны от нее и различны между собой. Противник

66

не может считать, что это сообщение «HELLO», поскольку имеются и другие возможные сообщения, например «TEDDY». Однако апостериорные вероятности этих открытых текстов возрастают относительно их априорных вероятностей. В то же время апостериорная вероятность таких открытых текстов, как «PEACE» или «GATES», снижается до нуля вне зависимости от их априорной вероятности. По Шеннону, в совершенно секретных криптосистемах после анализа закрытых текстов апостериорные вероятности возможных открытых текстов остаются такими же, какими были их априорные вероятности [3].

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

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

Абсолютная стойкость рассмотренной схемы оплачивается слишком большой ценой, она чрезвычайно дорога и непрактична. Основной ее недостаток – равенство объема ключевой информации и суммарного объема передаваемых сообщений. Применение схемы оправдано лишь в нечасто используемых каналах связи для шифрования исключительно важных сообщений. Существует большое число модификаций представленной схемы, наиболее известная из которых основана на использовании одноразовых шифровальных блокнотов (рис. 1.11).

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

67

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

тельности с выходов генератора псевдослучайных чисел. По-

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

Различают гаммирование с конечной и бесконечной гаммами. В первом случае источник гаммы – аппаратный или программный генератор ПСЧ. В качестве примера бесконечной гаммы можно привести последовательность цифр в десятичной записи числа Σ 3,1415926 … .

Если множеством используемых для шифрования знаков является алфавит, отличный от бинарного ( Z2 0, 1`), напри-

мер, алфавит Z33 русские буквы и пробел, то его символы и

символы гаммы заменяются цифровыми эквивалентами, которые затем суммируются по модулю N:

ci mi ϑi modN, i 1, t,

где mi , ϑi , ci – очередной i-й знак исходного сообщения, гаммы

и шифротекста соответственно; t – число знаков открытого текста; N – число символов в алфавите. Возможно использование при гаммировании и других логических операций.

68

Буква

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код

0

1

2

3

4

5

6

7

8

9

10

11

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буква

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Код

13

14

15

16

17

18

19

20

21

22

23

24

25

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Буква

Ь

Ы

Ъ

Э

Ю

Я

 

Код

26

27

28

29

30

31

32

Страница

 

 

 

 

 

Отправитель

шифровального

 

 

 

 

блокнота

 

 

 

Ключ

 

 

12 02 19 32 32 03 08 19 32 32 26 05 19 07 07 32 22 09 19 07

 

 

Исходная последовательность

17 05 10 16 05 18 13 00 31 32 08 13 20 14 16 12 00 22 08 31

 

"СЕКРЕТНАЯ ИНФОРМАЦИЯ"

 

 

 

 

 

 

 

БС

 

 

БС – блок сложения по модулю 33

 

 

 

 

Ненадежный канал связи

Страница

Получатель

шифровального

блокнота

Ключ

12 02 19 32 32 03 08 19 32 32 26 05 19 07 07 32 22 09 19 07

Зашифрованная последовательность

29 07 29 15 04 21 21 19 30 31 01 28 06 21 23 01 22 31 27 05

"ЭЗЭПДХУЮЯБЪЖХЧБЦЯЫЕ"

 

БВ

Расшифрованная последовательность

17 05 10 16 05 18 13 00 31 32 08 13 20 14 16 12 00 22 08 31

"СЕКРЕТНАЯ ИНФОРМАЦИЯ"

 

БВ – блок вычитания по модулю 33

Рис. 1.11. Система однократного использования

 

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

69

Ключ

n

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

Гамма

 

Генератор ПСЧ

 

 

Исходная последовательность

n

XOR

 

 

n

Ключ

n

Расшифрование

Гамма

 

Генератор ПСЧ

 

 

Зашифрованная

n

XOR

последовательность

Расшифрованная

 

n

последовательность

 

Рис. 1.12. Шифрование информации методом гаммирования

1.10. Поточные шифры

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

Простейшие устройства синхронного и самосинхронизирующегося шифрования с использованием генераторов ПСЧ, реализованного на основе N-разрядного регистра сдвига с ли-

нейной обратной связью (Linear Feedback Shift Register (LFSR)), называются скремблерами, а сам процесс преобразования – скремблированием (рис. 1.13 и 1.14).

70