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

0 ... 90 91 92 93 94 95 96 ... 169

Т = (H,L), Н = L = Г Т/2 = N/2

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

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

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

сложения - четное. Можно разделить модифицируемые части блока

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

н =;н.1, К2,..,, ню

=(Ll, L2, . . . ,LK)

Г =( Г1,Г2, . . . , ГК)

J =(Л, J2, . . ., JK)

где для всех k 1, 2, ...

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

281


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

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

блока.

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

особенности шифрующих систем может очень сильно снизить стойкость шифра.

Чтобы этого избежать между раундами описанного выше типа

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

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

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

Понятно, что использование операции умножения может сильно снизить эффективность реализации алгоритма,на

тельно несложныхмикроконтроллерах и однокри-

стальных ЭВМ. Вот почему данный тип шифров является скорее экзотикой, чем распространенным явлением; имеется всего один широко

282


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

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

свойств перемешивания и рассеивания.

2.В качестве «строительныхшифров используются

битовые перестановки, замены в битовых группах, арифметические и

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

друга.

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

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

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

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

необходимо выполнять прямую модификацию шифруемого блока

данных с использованием операции, разрушающей этот инвариант для указанной пары раундов.

5.Наиболее простой и популярный способ создать инвариант -

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

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

283



0 ... 90 91 92 93 94 95 96 ... 169