Я не думаю, что AES256 достаточно силен.
Такое утверждение вы должны доказать.Чтобы взломать 128-битный ключ, потребовались бы эоны и итерация 256-битного ключа по тепловой смерти нашей солнечной системы.Пока AES не сломлен, и вы можете доверять людям намного умнее, чем мы.Хотя это предполагает, что ключ обладает высокой энтропией (достаточно случайный).
Если вы знаете ожидаемый диапазон символов (цифр и букв) до шифрования, его легко расшифровать с помощью атаки методом перебора.
Это не имеет ничего общего с шифрованием.Вы угадываете значения, и если пространство сообщений ограничено (короткое входное сообщение), вы можете угадать его с немалой вероятностью.Никакого обхода.
Другое дело, если вы говорите об угадывании открытого текста или материала ключа.Даже если обычный текст состоит из 1 символа, правильно зашифрованное значение не покажет, что, если ваше предположение верно или нет.
Когда вы генерируете свой ключ действительно случайным образом, никто не сможет его угадать.256 бит длиной 32 байта.Весь вопрос в том, что база ключей короткая и не случайная (например, генерация ключей из паролей).Тогда мы можем только «исправить» слабый ввод солью и некоторой функцией генерации ключа (pbkfd2, ..), которая все еще остается только обходным путем.
В конце концов мне пришла идея зашифровать зашифрованный текст несколько раз.Мое требование к случайно сгенерированному ключу состоит в том, чтобы содержать все 256 символов ASCII.
Как уже отмечалось, улучшений безопасности по сравнению с многократным шифрованием нет, а введение дополнительных требований к ключу может даже снизить случайность ключа,
У вас будет 256 байт = ключ 2048 бит (= 8 x 256 ключей) с 256!возможности (что намного меньше, чем действительно случайный ключ из 2 ^ 2048 возможностей).Если сам AES работает, достаточно 256 бит.Если AES будет сломан, даже 8 раундов (из не очень радомных ключей) вам не помогут.
Я попытался с частично правильным ключом и смог увидеть некоторые части простого текста.
Тогда вы делаете шифрование очень неправильно.Даже если ваш ключ отключен на 1 бит, вы не сможете расшифровать любую часть зашифрованного текста.