Почему AES более безопасен, чем DES? - PullRequest
26 голосов
/ 14 октября 2010

Я начинаю изучать криптоалгоритмы и понимаю, как работают вышеупомянутые алгоритмы.Это длина ключа AES больше?Какие этапы шифрования AES делают его менее уязвимым, чем DES?

1 Ответ

49 голосов
/ 15 октября 2010

DES был разработан с эффективной длиной ключа 56 битов, которая уязвима для исчерпывающего поиска . Он также имеет некоторые недостатки в отношении дифференциального и линейного криптоанализа: они позволяют восстановить ключ, используя, соответственно, 2 47 выбранных открытых текстов или 2 43 известных открытых текстов. известный открытый текст - это зашифрованный блок (8-байтовый блок для DES), для которого злоумышленник знает соответствующий расшифрованный блок. выбранный открытый текст - это вид известного открытого текста, в котором злоумышленник сам выбирает дешифрованный блок. В условиях практической атаки такое огромное количество известных или выбранных открытых текстов не может быть реально получено, поэтому дифференциальный и линейный криптоанализ на самом деле не влияет на фактическую безопасность DES; самое слабое место - это короткий ключ. Тем не менее, существование этих атак, которые с академической точки зрения имеют меньшую сложность, чем исчерпывающий поиск ключа (который использует в среднем 2 55 вызовов), воспринимается как отсутствие безопасности.

В качестве дополнительного примечания, дифференциальный анализ был известен разработчикам DES, и DES был против этого (следовательно, «хороший результат» 2 47 ). С сегодняшними стандартами мы бы посчитали это «недостаточно хорошим», потому что теперь академическая традиция требует сложности атаки выше полного поиска. Тем не менее, дизайнеры DES были действительно хороши. Они не знали о линейном криптоанализе, который был открыт Мацуи в 1992 году, и линейный криптоанализ более эффективен на DES, чем дифференциальный криптоанализ, и все же чертовски трудно применять на практике (2 43 известных блоков открытого текста, это 64 терабайта ...).

Таким образом, структурными недостатками DES являются его размер ключа и короткий размер блока: с n -битными блоками некоторые режимы шифрования начинают испытывать проблемы, когда 2 n / 2 блоки шифруются одним и тем же ключом. Для 64-битных блоков DES это происходит после шифрования данных объемом 32 гигабайта, большого, но не огромного числа (вчера я купил жесткий диск, который в тридцать раз больше этого).

Вариант в DES называется 3DES: это, более или менее, три экземпляра DES подряд. Это решает проблему размера ключа: ключ 3DES состоит из 168 бит (номинально 192 бита, из которых 24 бита должны служить проверкой четности, но на практике полностью игнорируются), а исчерпывающий поиск по 168-битному ключу полностью вне досягаемости человеческих технологий. С (опять же) академической точки зрения, существует атака со стоимостью 2 112 на 3DES, которая также неосуществима. Дифференциальный и линейный криптоанализ побеждает 3DES (их сложность возрастает с увеличением количества раундов, а 3DES представляет 48 раундов против 16 для простого DES).

И все же 3DES по-прежнему страдает от проблем с размером блока в DES. Кроме того, он довольно медленный (DES предназначался для аппаратной реализации, а не для программного обеспечения, а 3DES даже в три раза медленнее, чем DES).

Таким образом, AES был определен с учетом следующих требований:

  • 128-битные блоки (решает проблемы с CBC)
  • принимает ключи размером 128, 192 и 256 бит (128 бит достаточно, чтобы противостоять исчерпывающему поиску ключей; два других размера в основном являются способом соблюдения жестких военных правил США)
  • не имеет академической слабости хуже, чем полный поиск ключа
  • должно быть так же быстро, как 3DES (AES оказался намного быстрее, чем 3DES в программном обеспечении, обычно в 5-10 раз быстрее)

Сопротивление AES дифференциальному и линейному криптоанализу проистекает из лучшего "лавинного эффекта" (в некоторой точке переворот немного распространяется до полного внутреннего состояния) и специально созданных, больших "S-блоков" (a S-box - это небольшая справочная таблица, используемая в алгоритме, и простой способ добавить нелинейность: в DES S-блоки имеют 6-битные входы и 4-битные выходы, в AES - S-блокиимеют 8-битные входы и 8-битные выходы).Дизайн AES был основан на 25-летнем опыте и исследованиях DES.Кроме того, AES был выбран в результате открытого конкурса с 15 кандидатами из такого же количества исследовательских групп по всему миру, и общий объем мозговых ресурсов, выделенных на этот процесс, был огромен.Оригинальные дизайнеры DES были гениальны, но можно сказать, что совокупные усилия криптографов для AES были намного больше.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...