Рейтинг:0

Установка выхода AES Sbox на 0

флаг cn

Что произойдет, если настроить AES Sboxes так, чтобы они всегда выдавали 0? Можно ли получить ключ, сделав это? Или что было бы, если бы не было Sbox?

Рейтинг:4
флаг ru

Настройка $S$-box всегда выводить ноль означало бы, что шифрование AES всегда будет выводить последний ключ раунда, независимо от ввода. Чтобы увидеть это, не то, что в последнем раунде все байты заменяются (т.е. устанавливаются в ноль в этом случае), затем сдвигаются на ShiftRows, а затем добавляется ключ финального раунда.

Для AES-256 и AES-192 в 128-битном ключе финального раунда недостаточно информации для однозначного определения всех битов криптопеременной, но предоставляется значительный объем информации.Для AES-128 можно отменить расписание ключей и восстановить криптопеременную.

Если бы не было $S$-ящики, другие функции линейны в своей работе, и вся функция означала бы, что выход был аффинная функция входа. Такая функция чрезвычайно криптографически слаба.

флаг cn
Спасибо за твой ответ. Почему AES 256 не уязвим для такой слабости установки вывода SBOX в 0, в то время как AES 128?
Daniel S avatar
флаг ru
Размер блока AES означает, что высвобождается ровно 128 бит информации, эффективно уменьшая неизвестные биты ключа на 128 бит. В случае AES-128 неизвестные биты уменьшаются практически до 0, а в случае AES-256 возможное количество ключей уменьшается до $2^{128}$ вместо $2^{256}$.
poncho avatar
флаг my
@hooujki: конечно, нас обычно не интересует точное значение ключа; вместо этого нас интересует, что этот ключ скажет нам, то есть информация о том, какое преобразование выполняет шифр. Оказывается, для AES с блоком all-0 для любого размера ключа один вывод зашифрованного текста расскажет нам все о преобразовании (и, следовательно, тот факт, что мы не можем больше ничего узнать о ключе, обычно не важен).
флаг cn
@DanielS, не могли бы вы объяснить это проще? Я понимаю концепцию AES128, так как он выводит 128-битное значение в конце, мы получим ключ последнего раунда, а затем перевычислим другие части ключа? AES256 по-прежнему выдает 128 бит, но имеет длинный ключ 256, поэтому мы получаем только 128 бит правильного ключа, и нам придется перебирать другие 128 бит, но это (в настоящее время) невозможно?
флаг cn
@poncho, можем ли мы восстановить все ключи, зная только ключ последнего раунда? как знание ключа последнего раунда делает схему небезопасной? что вы имеете в виду под преобразованием?
poncho avatar
флаг my
@hooujki: Под «преобразованием» смысл блочного шифра состоит в том, чтобы преобразовать блок открытого текста в блок зашифрованного текста (и, как правило, обратимо; с блоком «все 0» это не так, но пока давайте проигнорируем это); цель безопасности для блочного шифра состоит в том, чтобы злоумышленник не смог предсказать это сопоставление для блоков открытого текста / зашифрованного текста, которые ему не были предоставлены. Схема небезопасна, потому что она превращает все возможные открытые тексты в один зашифрованный текст; следовательно, если вы видите один зашифрованный текст, вы можете предсказать, как он будет обрабатывать любой открытый текст.
флаг cn
@poncho позволяет сказать, что у меня есть возможность манипулировать операцией SBOX, установить для нее значение 0 или позволить ей работать в обычном режиме. Я мог бы сначала настроить вывод 0 для получения ключа последнего раунда, но как насчет других ключей раунда? Как мне получить их, имея только последний ключ?
poncho avatar
флаг my
@hooujki: ну, очевидным подходом было бы сделать SBOX линейным; затем пара открытого текста/зашифрованного текста даст вам набор линейных (в $GF(2)$) уравнений для битов ключа (либо исходного ключа, либо подключа, в зависимости от того, применяются ли ваши изменения SBOX к планированию ключей или нет ). Попробовав достаточное количество различных наборов линейных уравнений (2, если ваши изменения применимы к расписанию ключей, 15, если нет), вы сможете получить достаточное количество линейных уравнений для повторного получения ключа.
флаг cn
@poncho спасибо, я видел внутреннюю структуру AES 192 и 256, и последний ключ кажется только 128-битным по сравнению с другими круглыми ключами, которые являются 256-битными? Поэтому воссоздание forelast ключа затруднено, так как мы пропускаем другую половину ключа?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.