8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 98 99 100 101 102 103 104 ... 169

все еще остаются устойчивыми. Недавно Sakurai и Furuya[SaFu97] описали последующее увеличивающееся развитие...

В настоящее время LOKI91 считается шифром , действительно обеспечивающим защиту, устойчивым как к линейному, так и к разностному анализу, а его основные недостатки — это линейное ключевое расписание, из-за которого шифр чувствителен к некоторым атакам, связанным с ключом; и размер ключа, который, исходя из этих атак, необходимо брать 260.

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

Доработка LOKI

Основные причины дальнейшей доработки LOKI это

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

происходящее развитие в области аппаратного обеспечения (продемонстрированное недавно восстановление грубой «животной» силой 56-битного ключа DES[RSAD97]), которое наглядно демонстрирует малые размеры ключевого пространства.

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

Факторы безопасности

Knudsen [Knud93] определил следующие необходимые условия безопасности для шифра Фейстеля:

отсутствие простых отношений;

*все ключи одинаково хороши;

*устойчивость к разностному анализу;

*устойчивость к линейному анализу.

305


Основываясь на этих условиях, вышеприведенный рассмотрениях LOKI91 и комментариях по разработке блочных шифров в Schneier[Schn96], некоторые выводы, которые, как я думаю,

необходимо рассмотреть с точки зрения перспектив безопасности,

включают следующее:

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

большого числа бит ключа:

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

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

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

лавинности;

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

обмена битами).

Факторы реализации

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

себя:

*S-блоки с 12 битами входа — наиболее широко подходящая часть для предварительно вычисляемого табличного задания;

♦S-блоки должны быть определены функционально так, чтобы предварительно вычисляемые таблицы могли быть созданы во время выполнения/инициализации. Это необходимо, чтобы минимизировать код при максимальной скорости;

306


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

Уроки других шифров

При доработке я искал разнообразные моменты, чтобы учесть их, у шифров, которые были реализованы после первоначальной версии LOKI. Описание этих шифров взято из Schneier[Schn96] (если нет дополнительных отметок).

1

BLOWFISH

64-битный, 16-цнкловой блочный шифр Фейстеля с переменной длиной ключа разработан В. Schneier в 1994 году. Использует четыре больших 8*32-битовых случайных S-блоков, генерируемых из поставляемого ключа, выходы которых смешиваются с использованием обычного сложения и сложения по модулю 2. Результат — быстрый шифр, при условии неизменности ключа. Ключевое расписание длинное и сложное. Vaudenay [Vaud96] описал атаки на уменьшенной по циклам версии и отметил некоторые недостатки, обусловленные использованием рассеянных S-блоков.

CAST

64-битный, 8-цикловой блочный шифр Фейстеля с 64-битным ключом разработанным С. Adams и S. Tavares в 1993 году. Использует шесть 8*32-битовых S-блоков (из них некоторые используют данные, а некоторые — ключ), выходы которых смешиваются с помощью хог. Эти S-блоки разработаны и предназначены для прикладных систем. Vaudenay [Vaud96] также прокомментировал CAST и его использование рассеянных S-блоков, даже если они разработаны не случайным образом.

/СЕ

64-битный, 16-цикловой блочный шифр Фейстеля с 64-битным ключом (хотя возможны варианты) разработан в 1997 году. Использует ключевые перестановки наряду с неизменными, высоко нелинейными S-блоками.

307



0 ... 98 99 100 101 102 103 104 ... 169