Блоковые шифры

СОВРЕМЕННЫЕ ШИФРЫ СЕКРЕТНЫМ КЛЮЧОМ

Блоковый шифр можно определить как зависящее от ключа К обратимое преобразование слова X из п двоичных символов. Преобразованное с помощью шифра слово (или блок) будем обозначать через Y. Для всех рассматриваемых в этом разделе шифров длина слова Y равна длине слова X.

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

Y=EK(X),

X=(Y) для всех X.

Здесь обозначает дешифрующее преобразование и называется обратным шифром.

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

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

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

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

Ниже мы приведем примеры некоторых практичеки используемых блоковых шифров. Наша задача будет состоять не только в том, чтобы дать достаточно подробное описание алгоритмов (их описание может быть найдено в литературе), но и в объяснении основных принципов построения блоковых шифров. Кроме того, наше описание может облегчить понимание материала, изложенного в официальных документах (ГОСТах и.т.п.). Далее, на протяжении всей главы, мы будем изучать технику использования блоковых шифров для решения различных задач криптографии.

До недавнего времени ни одна книга по криптографии не обходилась без описания шифра DES (Data Encryption Standard). Этот шифр был принят в качестве стандарта США в 1977 году. Его основные параметры: размер блока 64 бита, длина ключа 56 бит, 16 раундов. Этот шифр интенсивно использовался более двух десятков лет и еще сегодня встречается во многих работающих системах. Несмотря на многочисленные атаки против DES, он так и не был взломан. Однако высокий уровень развития вычислительных средств позволяет сегодня вскрывать DES путем перебора ключей. Например, еще в 1993 году было опубликовано техническое описание системы стоимостью в один миллион долларов, позволяющей взламывать любой ключ DES за 7 часов.