В. Е. Мадрига (W. E. Madryga) предложил этот блочный алгоритм в 1984 году. Его можно эффективно реализовать программным путем: в алгоритме нет раздражающих перестановок, и все операции выполняются над байтами.
Стоит перечислить задачи, которые решал автор при проектировании алгоритма:
Без помощи ключа открытый текст невозможно получить из шифртекста. (Это означает только то, что алгоритм стоек).
Число операций, необходимых для восстановления ключа по образцу шифртекста и открытого текста, должно быть статистически равно произведению числа операций при шифровании на число возможных ключей. (Это означает, что никакое вскрытие с открытым текстом не может быть эффективнее лобового вскрытия).
Опубликование алгоритма не влияет на стойкость шифра. (Безопасность полностью определяется ключом).
Изменение одного бита ключа должно радикально изменять шифртекст одного и того же открытого текста, а изменение одного бита открытого текста должно радикально изменять шифртекст для того же ключа (лавинный эффект).
Алгоритм должен содержать некоммутативную комбинацию подстановок и перестановок.
Подстановки и перестановки, используемые в алгоритме, должны определяться как входными данными, так и ключом.
Избыточные группы битов открытого текста должны быть полностью замаскированы в шифртексте.
Длина шифртекста должна совпадать с длиной открытого текста.
Между любыми возможными ключами и особенностями шифртекста недопустимы простые взаимосвязи.
Все возможные ключи должны обеспечивать стойкость шифра. (Не должно быть слабых ключей).
Длина ключа и текст должны иметь возможность варьирования для реализации различных требований к безопасности.
Алгоритм должен допускать эффективную программную реализацию на мэйнфреймах, мини - и микрокомпыотерах и с помощью дискретной логики. (По существу, число функций, используемых в алгоритме, ограничено операциями XOR и битовым сдвигом).
Алгоритм DES удовлетворял первым девяти требованиям, но последние три появились впервые. Если допустить, что лучший способ взлома алгоритма - лобовое вскрытие, переменная длина ключа, конечно же, заставит замолчать тех, кто считает, что 56 битов - слишком малая величина. Такие люди могут реализовать этот алгоритм с любой длиной ключа. А любой, кто когда-нибудь пытался реализовать DES программными средствами, обрадуется алгоритму, который учитывает особенности программных реализаций.
Метки:
Madryga,
алгоритм,
Алгоритм Madryga,
Алгоритм Madryga,
Блочные шифры
Похожие статьи