Информационная безопасность

индекс
289,97

AES-128 vs AES-256

В июле и августе этого года были опубликованы интересные результаты атак на алгоритм шифрования AES-256.

Не вдаваясь в подробности, один из выводов исследования выглядят следующим образом. Алгоритмы AES-192 и AES-256 имеют уязвимость в фазе «Key Expansion» (Key Schedule), что в некоторых случаях делает AES-256 более уязвимым, чем AES-128. Этот факт противоречит идее, что шифр с более длинным ключом должен быть надежнее.

Хотя поводов для паники пока нет, в своем блоге эксперт по безопасности Брюс Шнайер оставил комментарий следующего содержания:

And for new applications I suggest that people don't use AES-256. AES-128 provides more than enough security margin for the forseeable future. But if you're already using AES-256, there's no reason to change.

Ознакомится с материалами можно по ссылкам:

July 1, 2009. New Attack on AES
FAQ on the attacks
July 30, 2009. Another New AES Attack
Key Recovery Attacks of Practical Complexity on AES Variants With Up To 10 Rounds
+22
30 августа 2009, 12:40
1

комментарии (17)

+3
falldown #
делает их менее уязвимыми, чем AES-128

По логике вещей — либо «менее надежными», либо «более уязвимыми».
0
TolTol #
Упс, точно! Спасибо за замечание.
0
Radius #
Какой смысл выделенного I suggest that people don't use AES-256?
Целиком, заметка говорит что AES 128 достаточно, а выделенное словно из другого мессаджа.
+2
TolTol #
Тут смысл такой. Если окажется, что надежность AES-256 во всех случаях не выше AES-128, то использование AES-256 нецелесообразно, т.к. он тратит больше ресурсов на шифрование/расшифровку.
+3
qik #
Хехе, а нашуму ГОСТу все нипочем.
–2
alexxxst #
Вы про неуловимого Джо? :)
0
qik #
+2
kingu #
mikhailmasl.livejournal.com/4852.html — книга Криптография и свобода.
Не про этот ли ГОСТ?
0
AnatolyB #
Цитата из книги по ссылке выше:

Что бы ни пыталась производить советская военная промышленность, перешедшая на мирные рельсы, все равно в итоге получались танки («Москвич-412»). Криптография, переведенная на нужды простого народа, произвела советский стандарт шифрования — алгоритм ГОСТ 28147-89, скопированный с американского DES и немного переделанный. Но даже сами американцы (Брюс Шнайер в своей книге «Прикладная криптография») признавали, что DES – не самое лучшее произведение криптографического искусства.

«Никогда до этого оцененный NSA (National Security Agency) алгоритм не был опубликован… NSA считало, что DES будет реализовываться только аппаратно. В стандарте требовалась именно аппаратная реализация… Не для печати NSA охарактеризовало DES как одну из самых больших своих ошибок…»
+2
ivlad #
Вы смеетесь, да? Предлагаю посмеяться вместе.

У ГОСТ 28147-89 есть изрядное количество недостатков:

— во-первых, малый размер блока (64 бита) приводит к реальной возможности birthday attack — особенно, когда эта конструкция применяется на гигабитных скоростях. Для реализации атаки с вероятностью 50% нужно ~ 2^32 блоков по 64 бита, которые на скорости 1Gb/s передаются в течении 5 минут. Пусть даже в реальной жизни это будет не 5 минут, а 30 — все равно несерьезно. Рекеинг на практике делают раз в сутки, параноики — раз в 8 часов.
— во-вторых, конструкция с неспецифицированными S-боксами создает больше вопросов, чем ответов. Мало того, что нет априорной ясности о качестве конкретных S-боксов, так еще и их содержимое может быть раскрыто adaptive plaintext атакой за по-моему 2^16 попыток.
— кроме того, есть несколько «просто» атак на сам алгоритм, краткий список можно, например, посмотреть тут: events.iaik.tugraz.at/weworc09/9aa510c7c7aab1/abstracts/20.pdf

В общем, большой ошибкой было бы считать, что тридцатилетний алгоритм может на равных конкурировать с современными системами. Никто не говорит, что ГОСТ сам по себе плох, пожалуй, как калька с DES'а он вполне себе хорош, но возраст дает знать.
0
hellohaos #
Рано или поздно — поломают любой алгоритм:)
+2
hellohaos #
А чего минусируєм?
В истории так всегда было. Любой алгоритм взламывали.
Что касается AES так ознакомьтесь с работами Nicolas T. Courtois.
Я не думаю что AES будет вечно безопасен.
+1
fossdev #
Открытые атаки относятся к классу related-key attacks, т.е. атаки на связанные ключи. Это имеет применение в том случае, если AES будет использоваться в качестве хэша по схеме Дамгарда-Меркла, что собственно делать с AES не рекомендуется. Эти атаки не касаются безопасности шифрования данных, и тем более не означают, что для шифрования лучше использовать AES-128, а не AES-256.
AES-128 обладает слишком малым запасом стойкости, т.к. лучшая из известных атак позволяет вскрыть 7 раундов из 10, а для современного шифра это очень плохой показатель.
Моё ИМХО — применяйте Twofish, большинство его реализаций на x86 существенно быстрее AES, и к тому же он обладает большим запасом стойкости, вскрывается 8 раундов из 16. Единственный его недостаток — требуется 8кб памяти для хранения развернутого ключа, что может быть существенно для применения в микроконтроллерах и других очень слабых устройствах.
Ну а ГОСТ — это действительно неуловимый Джо. Этот шифр далеко отстает от современных требований, к тому же не полностью стандартизован, т.к. отсутствует стандарт на S-блоки, от которых сильно зависит криптостойкость.
0
nZeus #
никто не запрещает в аес использовать 12 или 14 раундов. Более того, хоть сколько угодно раундов )
а 7 раундов взлома — это только в теории. На практике еще не реализовано.
0
fossdev #
12 и 14 раундов — это уже AES-192 и 256, а не 128, сколько угодно раундов — это уже не AES. AES хорош только тем, что это стандарт, а значит используя его ты снимаешь с себя ответственность за его стойкость. Если же заниматься самодеятельностью, то вряд ли вам будут доверять. Интуитивно кажется, что чем больше раундов тем лучше стойкость, но вполне может оказаться, что это не так, из-за слабости ключевого расписания, о чем собственно и написана эта статья. Вы можете поручиться, что N'е количество раундов AES взаимно не ослабят друг друга, из-за каких-либо неизученных закономерностей в связи раундовых ключей? Я нет, и потому я не стал бы заниматься самодеятельностью.
Всё что нам следует делать — это выбирать из всех стандартов самый лучший. На текущий момент наиболее изучены три шифра, AES, Twofish и Serpent. Самый стойкий и самый медленный из них Serpent, самый быстрый — Twofish, AES-256 медленный и слабый. Потому я и выбираю Twofish.
0
TolTol #
Вот, что пишет по этому поводу пишет Шнайер:

At this point, I suggest AES-128 at 16 rounds, AES-192 at 20 rounds, and AES-256 at 28 rounds. Or maybe even more; we don't want to be revising the standard again and again.
0
nZeus #
Нуууу, что значит «уже не аес»? Rijndael он и в Aфрике rijndael :) A AES — это всего лишь модификация rijndael'a с предопределенными длинами блоков. И Rijndael-128, и Rijndael-512, это один и тот же алгоритм.

Скрытые слабости, теоретически, возможны, но связаны они с использованием нетрадиционной для шифров архитектуры, а не с числом раундов.

А вообще, если думать о выборе алгоритма — я бы заострил свой взгляд на Анубисе.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.