Методы и средства защиты информации


             

Общие сведения о блочных шифрах - часть 3


Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0..4'294'967'295. Кроме того, блок, разрядность которого обычно является "степенью двойки", можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255).

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

Биективные математические функции

Сложение X'=X+V
Исключающее ИЛИ X'=X XOR V
  Умножение по модулю 2N+1 X'=(X*V) mod (2N+1)
Умножение по модулю 2N X'=(X*V) mod (2N)

Битовые сдвиги

Арифметический сдвиг влево X'=X SHL V
Арифметический сдвиг вправо X'=X SHR V
Циклический сдвиг влево X'=X ROL V
Циклический сдвиг вправо X'=X ROR V

Табличные подстановки

S-box (англ. substitute) X'=Table[X,V]

В качестве параметра V для любого из этих преобразований может использоваться:

  • фиксированное число (например, X'=X+125)
  • число, получаемое из ключа (например, X'=X+F(Key))
  • число, получаемое из независимой части блока (например, X2'=X2+F(X1))

    Последний вариант используется в схеме, названной по имени ее создателя сетью Фейштеля (нем. Feistel).

    Последовательность выполняемых над блоком операций, комбинации перечисленных выше вариантов V и сами функции F и составляют "ноу-хау" каждого конкретного блочного криптоалгоритма. Размер блоков и длина ключа современных (1999 год) алгоритмов были нами рассмотрены ранее. Один-два раза в год исследовательские центры мира публикуют очередной блочный шифр, который под яростной атакой криптоаналитиков либо приобретает за несколько лет статус стойкого криптоалгоритма, либо (что происходит неизмеримо чаще) бесславно уходит в историю криптографии.

    Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа.


    Содержание  Назад  Вперед