Рефераты. Композиции шифров

        Некоторые полагают, что Lucifer надежнее DES из-за большей длины ключа и малочисленности опубликованных сведений. Но очевидно, что это не так. На алгоритм Lucifer выданы нескольких патентов США. Сроки действия всех этих патентов уже истекли.

3.2. Алгоритм Madryga

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

        Стоит перечислить задачи, которые решал автор при проектировании алгоритма:

ü     Без помощи ключа открытый текст невозможно получить из шифртекста. (Это означает только то, что алгоритм стоек).

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

ü     Опубликование алгоритма не влияет на стойкость шифра. (Безопасность полностью определяется ключом).

ü     Изменение одного бита ключа должно радикально изменять шифртекст одного и того же открытого текста, а изменение одного бита открытого текста должно радикально изменять шифртекст для того же ключа (лавинный эффект).

ü     Алгоритм должен содержать некоммутативную комбинацию подстановок и перестановок.

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

ü     Избыточные группы битов открытого текста должны быть полностью замаскированы в шифртексте.

ü     Длина шифртекста должна совпадать с  длиной открытого текста.

ü     Между любыми возможными ключами и особенностями шифртекста недопустимы простые взаимосвязи.

ü     Все возможные ключи должны обеспечивать стойкость шифра. (Не должно быть слабых ключей).

ü     Длина ключа и текст должны иметь возможность варьирования для реализации различных требований к безопасности.

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


        Алгоритм DES удовлетворял первым девяти требованиям, но последние три появились впервые. Если допустить, что лучший способ взлома алгоритма - лобовое вскрытие, переменная длина ключа, конечно же, заставит замолчать тех, кто считает, что 56 битов - слишком малая величина. Такие люди могут реализовать этот алгоритм с любой длиной ключа. А любой, кто когда-нибудь пытался реализовать DES программными средствами, обрадуется алгоритму, который учитывает особенности программных реализаций.

3.3.1. Описание алгоритма Madryga

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

        Итерация внутреннего цикла оперирует с 3-байтовым окном данных, называемым рабочим кадром (Рис. 1.). Это окно сдвигается на 1 байт за итерацию. (При работе с последними 2 байтами данные полагаются циклически замкнутыми). Первые два байта рабочего кадра циклически сдвигаются на переменное число позиций, а для последнего байта исполняется операция XOR с несколькими битами ключа. По мере перемещения рабочего кадра все байты последовательно циклически сдвигаются и подвергаются операции XOR с частями ключа. Последовательные циклические сдвиги перемешивают результаты предыдущих операций XOR и циклического сдвига, причем на циклический сдвиг влияют результаты XOR. Благодаря этому процесс в целом обратим.


 

 

 

 

 

 

 

 

 

 

 

 

Текст

1

2

3

4

5

6

 

TL-2

TL-1

TL

 











Движущийся

рабочий кадр

WF(1)

WF(2)

 

WF(3)




8 битов

8 битов

 

8 битов





ROT






Перемещение

Объект сдвига



Счетчик сдвига




16 бит

 

3 бита



Преобразование







 

 

Объект

преобразования










 

 

8 битов

XOR



Ключ

1

2

3

KL







XOR




Хэш ключа


1

2

3

KL



 

 

 

 

 

 

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.