Криптостойкость является количественной
характеристикой алгоритмов шифрования
– для вскрытия конкретного алгоритма
шифрования при определенных условиях
(в том числе, определенным криптоаналитическим
методом) требуется определенное число
ресурсов. Ресурсами в данном случае являются
следующие величины:
- Количество информации,
необходимое для осуществления атаки
– скажем, сколько необходимо пар известных
или выбранных текстов.
- Время, необходимое
для осуществления атаки. Обычно измеряется
в количестве тестовых операций шифрования
атакуемым алгоритмом, выполнение которых
при соблюдении остальных необходимых
условий позволит, например, вычислить
ключ шифрования.
- Память, необходимая
для хранения используемой при атаке информации.
Является также немаловажной характеристикой,
поскольку многие атаки могут предъявлять
весьма существенные требования к памяти.
Совокупность этих трех величин характеризует
конкретную атаку на конкретный алгоритм
шифрования. А лучшая (требующая минимальный
набор ресурсов) из возможных атак на алгоритм
характеризует его криптостойкость.
Увеличение
криптостойкости DES
- Чтобы увеличивать
криптостойкость DES появляются несколько
вариантов: double DES (2DES), triple DES (3DES), DESX, G-DES.
- Методы 2DES и 3DES
основаны на DES, но увеличивают длину ключей
(2DES — 112 бит, 3DES — 168 бит) и поэтому
увеличивается криптостойкость.
- Метод DESX создан
Рональдом Ривестом и формально продемонстрирована
Killian и Rogaway. Этод метод — усиленный
вариант DES, поддерживаемый инструментарием
RSA Security. DESX отличается от DES тем, что каждый
бит входного открытого текста DESX логически
суммируется по модулю 2 с 64 битами дополнительного
ключа, а затем шифруется по алгоритму
DES. Каждый бит результата также логически
суммируется по модулю 2 с другими 64
битами ключа. Главной причиной использования
DESX является простой в вычислительном
смысле способ значительного повысить
стойкость DES к атакам полного перебора
ключа.
- Метод G-DES разработан
Schaumuller-Bichl для повышения производительности
DES на основе увеличения размером шфрованного
блока. Заявлялось, что G-DES защищен так
же как и DES. Однако, Biham и Shamir показали,
что G-DES с рекомендуемыми параметрами
легко взламывается, а при любых изменениях
параметров шифр становится ещё менее
защищен чем DES.
- Ещё другой вариант
DES использует независимые суб-ключи. Различно
от алгоритма DES, в котором на основе 56-битного
секретного ключа пользователя алгоритм
DES получает шестнадцать 48-битных суб-ключей
для использования в каждом из 16 раундов,
в этом варианте использует 768-битного
ключа (разделенного на 16 48-битных подключей)
вместо 16 зависимых 48-битных ключей, создаваемых
по ключевому графику алгоритма DES. Хотя
очевидно, что использование независимых
суб-ключей значительно усложнит полный
поиск ключа, но стойкость к атаке дифференциальным
или линейным криптоанализом не намного
превысит стойкость обычного DES.
Типы криптостойких
систем шифрования
Абсолютно
стойкие системы
Доказательство существования абсолютно
стойких алгоритмов шифрования было выполнено
Клодом Шенноном и опубликовано в работе
«Теория связи в секретных системах».
Там же определены требования к такого
рода системам:
- ключ генерируется
для каждого сообщения (каждый ключ используется
один раз)
- ключ статистически
надёжен (то есть вероятности появления
каждого из возможных символов равны,
символы в ключевой последовательности
независимы и случайны)
- длина ключа равна
или больше длины сообщения
- исходный (открытый)
текст обладает некоторой избыточностью
(является критерием оценки правильности
расшифрования)
Стойкость этих систем не зависит от того,
какими вычислительными возможностями
обладает криптоаналитик. Практическое
применение систем, удовлетворяющих требованиям
абсолютной стойкости, ограничено соображениями
стоимости и удобства пользования.
Некоторыми аналитиками утверждается,
что Шифр Вернама является одновременно
абсолютно криптографически стойким и
к тому же единственным шифром, который
удовлетворяет этому условию.
Достаточно стойкие
системы
В основном применяются практически стойкие
или вычислительно стойкие системы. Стойкость
этих систем зависит от того, какими вычислительными
возможностями обладает криптоаналитик.
Практическая стойкость таких систем
базируется на теории сложности и оценивается
исключительно на какой-то определенный
момент времени и последовательно c двух
позиций:
- вычислительная
сложность полного перебора
- известные на данный
момент слабости (уязвимости) и их влияние
на вычислительную сложность.
В каждом конкретном случае могут существовать
дополнительные критерии оценки стойкости.