Описание Madryga

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

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


Текст



TL-2


TL-1


TL


 


Движущийся

рабочий

кадр

Циклический сдвиг


WF(1) WF(2)

8 битов 8 битов

ROT

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


WF(3)

8 битов


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


3бита


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


Объект преобразования


 


Ключ



8 битов

XOR KL


XOR


Хэш-значение ключа



KL