Рейтинг:0

Как работает AES-256, если AES — это всего лишь 128-битный блочный шифр?

флаг ly

В настоящее время я изучаю шифрование AES, и я совершенно не понимаю, как мы можем использовать 256-битный ключ в AES?

Поскольку в моем понимании AES, независимо от размера ключа, все равно работает и шифрует 128-битный блок сообщения только в течение всего цикла/раундов, пока не достигнет конца.

ну, для AES-128 мы используем 128-битный ключ, который составляет всего 16 байтов, и который может быть представлен матрицей 4x4, а большинство операций и шагов AES работает с матрицей 4x4, верно?

Тогда как нам использовать 256-битный ключ? Это 32-байтовый символ, и это даже не идеальный квадрат, верно?

Приведет ли этот 256-битный ключ к тому же размеру, что и версия AES со 128-битным ключом при расширении путем расширения ключа? и просто использовать по 16 байт каждый при шифровании, чтобы соответствовать массиву состояний 4x4?

kelalaka avatar
флаг in
Связанный [Важность безопасности расписания ключей в блочном шифре] (https://crypto.stackexchange.com/q/45133/18298)
Рейтинг:3
флаг in

Даже для AES128 мы не используем ключ напрямую. Каждый раунд получает свой ключ в процессе, называемом ключевое расширение. Эти круглые ключи используются для преобразования матрицы. Исходный ключ никогда не применяется напрямую.

AES256 добавляет больше раундов. Каждый раунд остается прежним, только немного меняется ключевой вывод для них. Это позволяет использовать менее зависимые раундовые ключи, что, как мы надеемся, повысит надежность шифра. Однако есть какой-то недостаток в алгоритме расширения ключа, который делает 192- и 256-битные варианты более уязвимыми для атак с использованием связанных ключей.

fgrieu avatar
флаг ng
Да. Процесс преобразования 256-битного ключа AES-256 в пятнадцать 128-битных раундовых (суб)ключей — это [расширение ключа AES] (https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.197). .pdf#page=23), также известный как [расписание ключей AES](https://en.wikipedia.org/wiki/AES_key_schedule).
kabibe sadagat avatar
флаг ly
@fgrieu спасибо, теперь я думаю, что понял идею
Myria avatar
флаг in
Небольшая придирка: ключ первого раунда AES-128 на самом деле является исходным ключом, поэтому он «применяется напрямую». Но круглые ключи после этого вычисляются с расширением ключа. (Для AES-192 ключ первого раунда — это первые 128 бит ключа, а первые 64 бита ключа второго раунда — это остаток. Точно так же первые два ключа раунда — это половины исходного ключа в AES-256.)
Рейтинг:1
флаг us

Если вам интересно, почему 256-битный ключ обеспечивает большую безопасность, вы должны понимать, что 128-битный блочный шифр — это, по сути, способ сопоставления $2^{128}$ вводить значения в $2^{128}$ выходные значения. Это означает, что набор всех возможных 128-битных блочных шифров имеет размер $2^{128}!$, что примерно $10^{10^{40}}$.

128-битный ключ позволяет выбрать один из $2^{128}$ возможные сопоставления. Хотя это огромное число, это исчезающе малая часть множества всех шифров. То же самое можно сказать и о любом практическом размере ключа, но с 256-битным ключом вы можете выбирать из далеко больший набор возможных отображений ввода-вывода, что значительно усложняет взлом шифрования.

kelalaka avatar
флаг in
Размер ключа не означает, что его сложнее взломать! Конструкция затрудняет взлом. Это необходимо, но недостаточно!
Nikita Kipriyanov avatar
флаг in
Это соображение полностью справедливо только для истинно случайных перестановок, тогда как AES является псевдослучайной перестановкой.

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

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