Можно ли перепроектировать AES256?
Представьте, что у меня есть это:
$cdata = AES_256($data, $pass);
AES_256 реализует алгоритм
Ответы
Ответ 1
Простой ответ: НЕТ.
Это было протестировано и упомянуто в ссылке Wiki.
Атака связанного ключа может разбить до 9 раундов 256-бит AES. Атака выбранного-открытого текста может сломаться 8 раунды 192- и 256-бит AES и 7 раундов 128-битной AES, хотя рабочая нагрузка непрактична при 2 128 - 2 119.
Или по-другому: у вас больше шансов поразить освещение... в тот же день вы выиграете лотерею, а не сломаете ее!
Ответ 2
Это называется атакой известного-открытого текста. Хороший шифр, такой как AES, должен быть защищен от него, как объясняли другие.
Ответ 3
Если $pass
на самом деле является паролем, а не 256-битным ключом, вам может быть повезло.
В то время как это далеко не тривиально, атака грубой силы против обычного пароля намного быстрее, чем принудительное использование 256-битного ключа.
Итак, измените один из многих инструментов принудительного форсирования паролей, и у вас есть атака, которая (в зависимости от силы пароля) может занять несколько недель до нескольких лет, но это быстро по сравнению с 3x10 ^ 51 лет...
Ответ 4
Вы можете использовать его, но это займет много времени. Как в десятилетия, так и даже дольше. Это точка алгоритмов шифрования, таких как AES.
Ответ 5
Другая цитата из Wikipedia:
AES позволяет использовать 256-битные ключи. Прерывание симметричного 256-битного ключа грубая сила требует 2 ^ 128 раз больше вычислительная мощность, чем 128-битная ключ. Устройство, которое может проверять миллиард миллиардов (10 ^ 18) AES ключей за второй потребуется около 3 х 10 ^ 51 год, чтобы вывести 256-битный ключевое пространство.
Принудительное форсирование, когда вы знаете, что исходный текст может быть быстрее, но все же, 3 x 10 ^ 51 год - это долгое время. Плюс там проблема, возможно, не наличие устройства, которое может проверять миллиард миллиардов (10 ^ 18) ключей/секунду.
Короче: все возможно, но это невозможно в мире, в котором мы сейчас живем.
Ответ 6
AES, как и все хорошие криптоалгоритмы, не полагается на безопасность через безвестность.
Другими словами, в коде нет "секретов", поэтому вам не нужен код, который вам не поможет.
Известный открытый текст - это отдельная проблема, о которой я мало что знаю, поэтому я оставлю это до других ответчиков.
Ответ 7
Конечно, нет - единственный подход - грубая сила.
Вы действительно думаете, что NIST настолько глуп, что выбирает шифр, который так легко взломан для нового стандарта?
Ответ 8
с мощью суперкомпьютеров время для краха AES-шифрования с резким сокращением.... Я слышал...
Ответ 9
2x2 ^ 256 возможных комбинаций много для грубой силы. Но грубой силой является единственный путь. Это займет примерно три десятилетия. AES - лучшая возможность шифрования прямо сейчас, я бы сказал. Но это займет столько времени, используя процессор. Поскольку графические процессоры (Graphic Processing Units) строго строятся на основе математики, люди делают программы, которые используют графический процессор для использования алгоритмов, основанных на математике, намного быстрее, чем процессор. Иными словами, AES может не продлиться три десятилетия. Если бы были возможны только коды вечности. Хорошо похоже, что динамическое шифрование может быть единственным способом, которым люди могут действительно скрывать свою информацию в ближайшем будущем.