![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Нелинейность преобразований в DES средствами только S-блоков, в случае, если они имеют слабину, позволяет осуществлять контроль над шифрованной перепиской. Выбор S-блоков требует соблюдения нескольких условий:
· Каждая строка каждого блока должна быть перестановкой множества {0,1,2,……,15}
· S-блоки не должны являться линейной или афинной функцией своих аргументов.
· Изменение одного бита на входе S-блока должно приводить к изменению по крайней мере двух битов на выходе.
· Для каждого S-блока и любого аргумента х значение и
должны различаться по крайней мере двумя битами.
Из-за небольшого числа возможных ключей (всего 256), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время.
В алгоритме DES существуют слабые и частично-слабые ключи. Слабыми ключами называется ключи k такие что DESk (DESk (x)) = x, x — блок 64 бит. Частично-слабые ключи — пары ключей (k 1, k 2) такие, что DESk 1(DESk 2(x))= x. Известны 4 слабых ключа. Для каждого слабого ключа существует 232 «постоянные точки», то есть таких 64-битовых блоков х, в которых DESk (x) = x. Существуют 6 частично-слабых пар ключей. Для каждого из 12 частично-слабых ключей существуют 232 «анти-постоянные точки», то есть такие блоки х, что .
Основными методами взлома алгоритма являются:
· Метод полного поиска требует одну известную пару шифрованного и расшифрованного текста, незначительный объём памяти, и для его выполнения нужны 255 шагов.
· Дифференциальный криптоанализ — эта атака требует шифрования 247 открытых текстов, выбранных нападающим, и для её выполнения нужны 247 шагов. Теоретически являясь точкой разрыва, эта атака непрактична из-за чрезмерных требований к подбору данных и сложности организации атаки по выбранному открытому тексту.
· Линейный криптоанализ разработан Матсуи. Этот метод позволяет восстановить ключ DES с помощью анализа 243 известных открытых текстов, при этом требуется 243 шагов для выполнения.
Для линейной и дифференциальной атак требуется достаточно большой объём памяти для сохранения выбранных (известных) открытых текстов до начала атак.
Увеличение криптостойкости алгоритма (модификации DES)
С целью увеличения криптостойкости флгоритма DES было разработано несколько его модификаций: double DES (2DES), triple DES (3DES), DESX, G-DES.
Методы 2DES и 3DES основаны на DES, но увеличивают длину ключей (2DES — 112 бит, 3DES — 168 бит) чем и увеличивают криптостойкость.
Схема 3DES имеет вид DES (k 3, DES (k 2, DES (k 1, M))), где k 1, k 2, k 3 ключи для каждого шифра DES. Это вариант известен как ЕЕЕ, так как три DES-операции осуществляют шифрование. Существует 3 типа алгоритма 3DES:
DES-EEE3: Шифруется три раза с 3 разными ключами.
DES-EDE3: 3DES операции шифровка-расшифровка-шифровка с 3 разными ключами.
DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, который первая и третья операции используют одинаковый ключ.
При выполнении алгоритма 3DES ключи могут выбрать так:
k 1, k 2, k 3 независимы.
k 1, k 2 независимы, а k 1 = k 3
k 1 = k 2 = k 3.
Метод DESX создан Рональдом Ривестом. Этод метод — усиленный вариант DES, поддерживаемый инструментарием RSA Security. DESX отличается от DES тем, что каждый бит входного открытого текста DESX логически суммируется по модулю 2 с 64 битами дополнительного ключа, а затем шифруется по алгоритму DES. Каждый бит результата также логически суммируется по модулю 2 с другими 64 битами ключа. Главной причиной использования DESX является простой в вычислительном смысле способ значительного повысить стойкость DES к атакам полного перебора ключа.
Метод G-DES разработан для повышения производительности DES на основе увеличения размером шифрованного блока. Заявлялось, что G-DES защищен так же, как и DES. Однако Бихам и Шамир показали, что G-DES с рекомендуемыми параметрами легко взламывается, а при любых изменениях параметров шифр становится ещё менее защищен, чем DES.
Ещё другой вариант DES использует независимые суб-ключи. Различно от алгоритма DES, в котором на основе 56-битового секретного ключа пользователя алгоритм DES получает шестнадцать 48-битных суб-ключей для использования в каждом из 16 раундов, в этом варианте использует 768-битный ключа (разделенного на 16 48-битных подключей) вместо 16 зависимых 48-битных ключей, создаваемых по ключевому графику алгоритма DES. Хотя очевидно, что использование независимых суб-ключей значительно усложнит полный поиск ключа, но стойкость к атаке дифференциальным или линейным криптоанализом не намного превысит стойкость обычного DES. По оценке Бихама для дифференциального криптоанализа DES с независимыми подключами требуется 261 выбранных открытых текстов, в то время как для линейного криптоанализа требуется 260 известных открытых текстов.
Дата публикования: 2015-01-24; Прочитано: 1883 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!