MADRYGA

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

1. Открытый текст нельзя получить из шифротекста без помощи ключа. (Это означает только то, что а л-горитм безопасен.)

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

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

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

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

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

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

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


9. Не должно быть простых взаимосвязей между любыми возможными ключами и особенностями ши ф-ротекста.

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

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

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

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