Блочные шифры и AES
Блочные шифры шифруют блоки данных фиксированного размера с использованием секретного ключа; усовершенствованный стандарт шифрования (AES) является доминирующим современным блочным шифром и основой большинства используемых симметричных шифрований.
Definition
Блочный шифр — это ключевая, обратимая функция, которая отображает блок битов открытого текста фиксированной длины в блок битов шифротекста той же длины; AES — это стандартизированный блочный шифр, работающий с 128-битными блоками и 128-, 192- или 256-битными ключами.
Scope
Эта тема охватывает структуру и безопасность блочных шифров, включая сети подстановки-перестановки и конструкции Фейстеля, в частности алгоритм AES, а также режимы работы (такие как CBC, CTR и GCM), которые превращают примитив с фиксированным блоком в схему для сообщений произвольной длины. В ней рассматриваются криптоаналитические атаки (дифференциальный и линейный криптоанализ) и понятие блочного шифра как псевдослучайной перестановки. Она исключает потоковые шифры и бесключевые хеш-функции, которые рассматриваются отдельно.
Core questions
- Как строится безопасная перестановка на большом блоке из простых, анализируемых раундовых операций?
- Почему AES структурирован как сеть подстановки-перестановки, а не как сеть Фейстеля?
- Как режимы работы безопасно расширяют блочный шифр до сообщений произвольной длины?
- Что дифференциальный и линейный криптоанализ показывают об устойчивости шифра к атакам?
- Что значит моделировать блочный шифр как псевдослучайную перестановку?
Key concepts
- размер блока и размер ключа
- сеть подстановки-перестановки
- сеть Фейстеля
- S-блок
- раунды и расписание ключей
- режимы работы (ECB, CBC, CTR, GCM)
- дифференциальный и линейный криптоанализ
- псевдослучайная перестановка
Key theories
- Сеть подстановки-перестановки
- AES итеративно выполняет раунды, которые сочетают нелинейную байтовую подстановку (SubBytes), линейное смешивание (ShiftRows, MixColumns) и добавление ключа; чередование подстановки и перестановки реализует цели Шеннона по запутыванию и рассеиванию с доказуемой устойчивостью к дифференциальным и линейным атакам.
- Режимы работы
- Один только блочный шифр шифрует только один блок; режимы, такие как CBC, CTR и аутентифицированный GCM, определяют, как связывать или подсчитывать блоки, чтобы длинные сообщения шифровались безопасно и, в режимах с аутентификацией, с обеспечением целостности.
Mechanisms
AES обрабатывает 128-битный блок, расположенный в виде матрицы байтов 4x4, в течение 10, 12 или 14 раундов (для 128-, 192-, 256-битных ключей). Каждый раунд применяет SubBytes (фиксированный нелинейный S-блок), ShiftRows (перестановку байтов), MixColumns (линейное преобразование над конечным полем) и AddRoundKey (XOR с раундовым ключом из расписания ключей). Эта комбинация обеспечивает сильную диффузию в течение нескольких раундов и устойчивость к известному криптоанализу.
Clinical relevance
AES повсеместно используется в развернутых системах: он обеспечивает безопасность больших объемов данных веб-трафика, защищенного TLS, полнодискового шифрования (BitLocker, FileVault, LUKS), Wi-Fi (WPA2/WPA3), VPN и зашифрованных сообщений. Аппаратные инструкции AES (AES-NI) делают его достаточно быстрым для прозрачного шифрования высокопроизводительных каналов.
Evidence & guidelines
AES указан в NIST FIPS 197 и одобрен для защиты секретной информации до уровня TOP SECRET (с 192- или 256-битными ключами) в соответствии с пакетом коммерческих национальных алгоритмов безопасности NSA. Режимы блочного шифрования стандартизированы в серии NIST SP 800-38. Более старый DES устарел; AES-GCM и AES-CCM являются рекомендуемыми режимами с аутентификацией.
History
После того как DES (1977) стал слишком слабым из-за своего 56-битного ключа, NIST провел открытый международный конкурс (1997-2000) для выбора преемника. Пятнадцать кандидатов были публично криптоанализированы; дизайн Rijndael, разработанный бельгийскими криптографами Йоаном Даеменом и Винсентом Рейменом, был выбран и стандартизирован как AES в FIPS 197 (2001). Дифференциальный криптоанализ (Бихам и Шамир) и линейный криптоанализ (Мацуи), разработанные против DES, сформировали критерии проектирования AES.
Key figures
- Joan Daemen
- Vincent Rijmen
- Horst Feistel
- Eli Biham
- Adi Shamir
- Mitsuru Matsui
Related topics
Seminal works
- daemen2002
- nist2001aes
- katz2020
Frequently asked questions
- Почему следует избегать режима ECB?
- В режиме электронной кодовой книги (ECB) идентичные блоки открытого текста шифруются в идентичные блоки шифротекста, что приводит к утечке структуры данных (что хорошо видно при шифровании изображения). Безопасные режимы, такие как CTR, CBC или GCM, используют вектор инициализации или счетчик, чтобы скрыть повторения.
- Является ли AES-256 значительно более безопасным, чем AES-128?
- Оба считаются безопасными против классических атак; AES-128 уже превосходит любой осуществимый перебор. AES-256 предлагает больший запас прочности и предпочтителен для долгосрочной конфиденциальности и постквантового хеджирования, поскольку алгоритм Гровера только уменьшает эффективную длину ключа вдвое.