Сообщение может быть перехвачено раньше. Не является ли это уязвимостью, позволяющей обнаружить ключ?
Нет, для правильного выбора ключа (см. 1 ниже). AES-256 разработан, чтобы противостоять таким Атака по известному открытому тексту. Это стандартная гипотеза, и действительно $2^{256}$ настолько велик, что можно не беспокоиться о том, что ключ можно найти, обыскав его (для сравнения, пустая трата ресурсов, известная как майнинг биткойнов до сих пор выполнил работу, эквивалентную менее чем $2^{100}$ шифрование AES). Мы в безопасности, даже если выдвигаем гипотезу Криптографически значимые квантовые компьютеры когда-нибудь стать вещью.
Единственная необходимая защита от обнаружения ключа в AES-256 — это
- Выбор ключа примерно равномерно случайным образом. Пароль не подойдет, растяжка ключей не вырежет.
- Не раскрывая его; видеть обязательный XKCD.
- Предотвратите его извлечение с любого устройства, в которое он вставлен.Это сложная часть: как вы уверены, что ваш компьютер не заражен каким-то трояном? И тогда есть атаки по сторонним каналам и атаки по вине.
Скажем, полезная нагрузка имеет длину 40 бит. Поскольку AES работает с блоком длиной 16 байт, имеет ли смысл добавить 11 байт случайного уникального одноразового номера, или все это предположение не стоит затраченных усилий?
есть Другая хороший повод для того, чтобы вставить в зашифрованное сообщение некоторую случайность: необходимо сопротивляться Атака с выбранным открытым текстом, и, в частности, не позволяет злоумышленникам проверять идентичность двух открытых текстов, просто сравнивая их зашифрованные тексты.
Кроме того, обратите внимание, что типичные приложения, требующие конфиденциальности открытого текста, также требуют его целостности, т.е. аутентифицированное шифрованиеи прямое шифрование AES с общим режимы работы блочного шифра только для шифрования не даст этого даже со случайным IV/nonce. Кроме того, для некоторых приложений требуется защита от воспроизвести, и прямое аутентифицированное шифрование этого не даст.
Выбор криптографического алгоритма — дело непростое. Извините, но это не должно предприниматься тем, кто задает настоящий вопрос.