Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (Все подряд) / Криптография_1.doc
Скачиваний:
84
Добавлен:
20.06.2014
Размер:
156.67 Кб
Скачать
        1. Шифр Файстеля

          1. Принцип аппроксимации блочных шифров

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

          1. Диффузия и конфузия

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

Помимо обращения к идеальным системам, Шеннон предложил два метода, задачей которых является затруднение криптоанализа: диффузию и конфузию. Суть диффузии заключается в рассеянии статистических особенностей открытого текста по широкому диапазону статистических характеристик шифрованного текста. Это достигается тем, что значение каждого элемента открытого текста влияет на значения многих элементов шифрованного текста или, что оказывает­ся эквивалентным сказанному, любой из элементов шифрованного текста зави­сит от множества элементов открытого текста. Примером применения метода диффузии является шифрование сообщения М = т1m2m3 с помощью опера­ции усреднения

,

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

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

          1. Структура шифра Файстеля

Практическая реализация схемы Файстеля зависит от выбора значений сле­дующих параметров и конструктивных особенностей.

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

Размер ключа. Чем длиннее ключ, тем выше надежность шифра, но боль­шая длина ключа тоже может быть причиной слишком медленного выполнения операций шифрования и дешифрования. На сегодня ключи дли­ной 64 бита и меньше считаются недостаточно надежными — обычно ис­пользуются 128-битовые ключи.

Число раундов обработки. Суть идеи шифра Файстеля в том, что за один раунд обработки данных обеспечивается недостаточно высокая надеж­ность, но уровень надежности шифра повышается с каждым новым раун­дом обработки. Как правило, число раундов выбирают равным 16.

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

Функция раунда. Здесь, опять же, усложнение, как правило, введет к по­вышению стойкости шифра с точки зрения криптоанализа.

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

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

Простота анализа. Хотя нашей задачей является создание такого алго­ритма, который для криптоанализа был бы настолько сложным, насколько это возможно, все же весьма выгодно, чтобы сам такой алгоритм оставался простым для понимания. Иными словами, если алгоритм прост и понятен, его легче анализировать с точки зрения уязвимости для криптоанализа и, следовательно, легче совершенствовать с целью достижения более высоко­го уровня надежности. Алгоритм DES, например, нельзя отнести к .алго­ритмам, слишком простым для анализа.

Соседние файлы в папке Лекции (Все подряд)