Рейтинг:0

Защита (добавление одноразового номера?) от обнаружения ключа в AES 256

флаг in

У меня возникла ситуация, когда мне нужно отправить сообщение, зашифрованное с помощью AES-256. Однако содержание и, следовательно, длина сообщения могут быть перехвачены раньше (не спрашивайте;)) и вопрос, который мне задали, был «не является ли уязвимость позволяющей обнаружить ключ?». Мой первый подход состоял в том, чтобы оценить грубую силу, необходимую для взлома ключа, и я получил число от 2 ^ 40 до 2 ^ 60 лет.

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

Скажем, полезная нагрузка имеет длину 40 бит. Поскольку AES работает с блоком длиной 16 байт, имеет ли смысл добавить 11 байт случайного уникального одноразового номера, или все это предположение не стоит затраченных усилий?

kelalaka avatar
флаг in
Для взлома AES-256 ваша единственная проблема не во времени, вам нужна огромная мощность. [Сколько это будет стоить в США?долларов за перебор 256-битного ключа в год?](https://crypto.stackexchange.com/q/1145/18298). Каково происхождение этого вопроса
флаг in
Сценарий в основном описан выше. Мы не можем исключить возможность перехвата исходного незашифрованного 40-битного сообщения. Это сообщение, зашифрованное позже, будет использовано, и пользователь опасается, что оно может быть перехвачено, что может стать потенциальным вектором атаки для взлома ключа. Я пытался вовремя объяснить усилие такого метода грубой силы, но кажется, что финансовая перспектива может быть более убедительной, спасибо за этот совет. В любом случае, чтобы успокоить моего пользователя, я хотел добавить некоторую случайную полезную нагрузку, отсюда и мой вопрос о одноразовом номере.
Рейтинг:0
флаг ng

Сообщение может быть перехвачено раньше. Не является ли это уязвимостью, позволяющей обнаружить ключ?

Нет, для правильного выбора ключа (см. 1 ниже). AES-256 разработан, чтобы противостоять таким Атака по известному открытому тексту. Это стандартная гипотеза, и действительно $2^{256}$ настолько велик, что можно не беспокоиться о том, что ключ можно найти, обыскав его (для сравнения, пустая трата ресурсов, известная как майнинг биткойнов до сих пор выполнил работу, эквивалентную менее чем $2^{100}$ шифрование AES). Мы в безопасности, даже если выдвигаем гипотезу Криптографически значимые квантовые компьютеры когда-нибудь стать вещью.

Единственная необходимая защита от обнаружения ключа в AES-256 — это

  1. Выбор ключа примерно равномерно случайным образом. Пароль не подойдет, растяжка ключей не вырежет.
  2. Не раскрывая его; видеть обязательный XKCD.
  3. Предотвратите его извлечение с любого устройства, в которое он вставлен.Это сложная часть: как вы уверены, что ваш компьютер не заражен каким-то трояном? И тогда есть атаки по сторонним каналам и атаки по вине.

Скажем, полезная нагрузка имеет длину 40 бит. Поскольку AES работает с блоком длиной 16 байт, имеет ли смысл добавить 11 байт случайного уникального одноразового номера, или все это предположение не стоит затраченных усилий?

есть Другая хороший повод для того, чтобы вставить в зашифрованное сообщение некоторую случайность: необходимо сопротивляться Атака с выбранным открытым текстом, и, в частности, не позволяет злоумышленникам проверять идентичность двух открытых текстов, просто сравнивая их зашифрованные тексты.

Кроме того, обратите внимание, что типичные приложения, требующие конфиденциальности открытого текста, также требуют его целостности, т.е. аутентифицированное шифрованиеи прямое шифрование AES с общим режимы работы блочного шифра только для шифрования не даст этого даже со случайным IV/nonce. Кроме того, для некоторых приложений требуется защита от воспроизвести, и прямое аутентифицированное шифрование этого не даст.

Выбор криптографического алгоритма — дело непростое. Извините, но это не должно предприниматься тем, кто задает настоящий вопрос.

флаг in
Спасибо за ответ! Тот, кто задает данный вопрос, осознает свое невежество и, к счастью, не единственный, кто несет ответственность за данную проблему (это было бы крайне неудобно и непрофессионально). Защита целостности была принята во внимание, но спасибо, что упомянули и об этом.

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

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