Короче говоря, AES-256 превосходит AES-128. Используйте AES-256, который является золотым стандартом;
Криптоанализ
Атаки на AES-256 практически не делают его небезопасным, даже спустя 20 лет лучшая атака имеет сложность $2^{254.3}$ для АЭС-256 и $2^{126.0}$ для АЭС-128
Связанные с ключом атаки, как хорошо известно (как также упоминал Маартен), не связаны с шифрованием, это важно, если вы инициируете функцию сжатия конструкции Меркла-Дамгарда с помощью AES. Эти атаки могут создавать внутренние конфликты, которыми можно воспользоваться. Собственно, нам это и не нужно, так как у него слишком маленький размер блока.
Если вы посмотрите на приведенную выше атаку, AES-128 менее безопасен по сравнению с потерей 2 битов в 128 по сравнению с потерей 2 битов в 256.
128-битное шифрование во многих отношениях менее безопасно;
Многоцелевая атака в котором злоумышленник получает пары открытый текст-зашифрованный текст с разными ключами. В этом случае они могут найти часть ключей быстрее перебора. Для $t$ target ожидаемая стоимость поиска ключа $2^{128}/т$. Если злоумышленники получат миллиард целей, то они смогут найти первый ключ намного ниже 128-битной безопасности. Стоимость будет ниже $2^{100}$ и время будет ниже $2^{70}$. Эта атака применима не только к AES, но и ко всем блочным шифрам.
Эта атака была выполнена с помощью параллельная версия из Радужные таблицы Окслинаили читайте в нашем канонический вопрос/ответ.
Квантовая атака: Алгоритм поиска Гровера, который может иметь квадратичную скорость, сделает небезопасным любой 128-битный блочный шифр, $\приблизительно 2^{64}$-время. Этот грубый расчет опускает важные детали;
Атака Гровера для AES-128 требует примерно $2^{64}$ последовательные оценки AES. Непонятно, как этого добиться, даже если предположить одну секунду на оценку, время будет огромным — 5,846×10^11 средних григорианских лет.Это очень большое число и с подобным аргументом мы можем говорить о том, что AES-192 и AES-256 уж точно недостижимы.
Также обратите внимание, что алгоритм Гровера также можно распараллелить. $к$ параллельный алгоритм Гровера может обеспечить только $\sqrt{к}$ улучшение. Не большой выигрыш!.
Забудьте об AES-128, используйте 256-битное шифрование как золотой стандарт. Нет страха перед
- криптоанализ,
- Многоцелевая атака или
- Квантовые атаки.
Используйте AES-256-GCM (возможно и с SIV) или ChaCha20-Poly1305 (лучше использовать xChaCha20-Poly1305 для лучшей защиты одноразовых номеров 192-битных одноразовых номеров)
Чем больше круглых, тем безопаснее
Даже простой раунд Крошечный алгоритм шифрования является безопасным после 32 раундов. Эта работа просто показала нам, что мы можем получить даже простые раунды после многих раундов; Twofish: 128-битный блочный шифр Шнайер и др., 1998;
Однако при наличии достаточного количества раундов даже плохие функции раундов можно сделать безопасными.
На 3-й конференции AES была сессия, которую (вероятно) пожелала Роуз Андерсон. 32-раундовый Рейндал. Чем больше раундов, тем безопаснее, и это общеизвестно.