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

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

IDEA

64-битный, 8-цикловой итеративный блочный шифр с 128-битным ключом, разработанный X. Lai и! Masseye 1990 году. Используется концепция «смешения операций различных алгебраических структур».

SAFER

64-битный, 6-цикловой или больше итеративный блочный шифр с 64 или 128-битовым ключом, разработанный J. Massey в 1994 году. Использует цикл, скомбинированный из множества функциональных уровней, с тремя слоями РНТ — линейных операций для обеспечения эффекталавинности. Анализ серьезных ослаблений в первоначальном ключевом расписании, включающий Kmidsen [Knud95], а также анализ Knudsen и Berson [КпВеЭб] успешной разностной атаки на 5-цикловой версии. Они отметили также, что РНТ-преобразования — это основной источник ослаблений, которые допускают атаку.

SPEED

Переменные входные данные (64, 128 или 256), и ключ (48-256) и цикловой (>32) блочный шифр, использующий несбалансированную сеть, разработанный Zheng в 1997 [Zhen]. Использует ключевые биты нелинейной булевой операции, а данные зависимы от циклического сдвига в каждом цикле, с большим числом циклов, нуждающихся

в простой цикловой функции, и ограниченного рассеяния на цикл.

TEA

Простой 64-битный, 32-цикловой блочный шифр Фейстеля со Ш-битным ключом, разработанный Wheeler и Needham [WhNe94] в

1994 году.

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

правым сдвигом для обеспечения нелинейности.

Все это повторяется достаточно большое число циклов для

обеспечения достаточной сложности.

308


Отметим следующие моменты:

Случайность против расчета в S-блоках

Schneier[Schn96], цитируя L. OConnor, отметил, что для больших S-блоков использование случайных — хороший выбор.

Но обычно существуют части «плохих» блоков, что и наблюдается. Я чувствую себя более комфортно с мыслью о разработке S-блоков с гарантированными характеристиками.

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

Использование несовместных операторов смешения

Начато в IDEA, с тех пор оно используется в большом

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

Сложность одного цикла против количества циклов

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

Я более расположен к подходу, использующему сложность функций.

Предложения по LOKI97

LOKI97 — 16-цикловои шифр Фейстеля на 128-битовых данных, использующий сложную нелинейную функцию f(A,B) с 256-битовым

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

использованием 128, 192 и 256-битовых ключей.

Вычисления данных

LOKI97 зашифровывает 128-битовый открытый текст и создает 128-битовый шифртекст. Вычисление данных осуществляется разделением 128-битового значения входных данных на два 64-битных слова:

309


L0 = L R0 = R

Затем они пропускаются через 16 циклов (i - 1,16) сбалансированной петли Фейстеля:

= LL„. xor f (Ri-i+SKji, SKji.J Li ™ Ri.1 + SK3i 2+SK3i

Результирующее 128-битовое значение выхода (шифротекст) составляется следующим образом:

[RislL16]

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

Функция f(A,B) должна быть создана так, чтобы гарантировать максимальный лавинный эффект между всеми входными битами

функции.

Текущее предложение для этой функции f(A,B) приводится

ниже.

Обратим внимание на использование «симметричных»

преобразований (сложения) на R так же, как и более общее

преобразование L xor-ом с выходом функции.

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

Таким образом, полное преобразование данных выглядит так:

310



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