В криптографията Advanced Encryption Standard (AES) е алгоритъм за блоков шифър със симетричен ключ, избран от Националния институт за стандарти и технологии (NIST) през 2001 г. Той е избран за криптиране на данни. Използва се широко в целия свят. Усъвършенстваният стандарт за шифроване замени стандарта за шифроване на данни (DES).
Към 2008 г. AES е един от най-популярните алгоритми, използвани в криптографията със симетричен ключ. Той е достъпен за програмисти и широката общественост с различни софтуерни пакети.
Кратка история и стандарти
AES е приет като федерален стандарт на САЩ чрез FIPS 197. Проектът за нов стандарт беше обявен от NIST през 1997 г.; след международно състезание и оценка победител стана алгоритъмът Rijndael, предложен от белгийските криптолози Joan Daemen и Vincent Rijmen. След адаптации този алгоритъм беше стандартизиран като AES и оттогава е широко приложим както в правителствени, така и в търговски системи.
Основни характеристики
- Блоков размер: 128 бита.
- Ключови дължини: 128, 192 и 256 бита (наричани AES-128, AES-192, AES-256).
- Тип: симетричен блоков шифър, работещ с фиксирани по размер блокове и многобройни рундове.
- Брой рундове: 10 за AES-128, 12 за AES-192 и 14 за AES-256.
Вътрешна структура и принципи на работа
AES работи върху матрица от байтове (State), прилагайки серия от трансформации във всеки рунд. Основните операции са:
- SubBytes: нелинейна подмяна на всеки байт чрез S-кубична таблица (S-box).
- ShiftRows: циклично изместване на редовете в матрицата State.
- MixColumns: линейна трансформация, която смесва байтовете в колоните (няма в последния рунд).
- AddRoundKey: XOR с част от разширения ключ (round key).
Ключовото разширяване (Key Schedule) генерира round keys от началния таен ключ – това е важно за сигурността и производителността на реализацията.
Режими на работа
AES е блоков шифър и трябва да се използва в съчетание с режим на работа за криптиране на данни с произволна дължина. Най-често използваните режими са:
- ECB (Electronic Codebook) — прост, но небезопасен при повтарящи се блокове; избягва се.
- CBC (Cipher Block Chaining) — широко използван, изисква уникален и непредсказуем IV.
- CTR (Counter) — превръща блоковия шифър в поток, паралелизуем и гъвкав.
- GCM (Galois/Counter Mode) — предоставя едновременно конфиденциалност и автентичност (AEAD) и е предпочитан в много съвременни протоколи.
- CCM — друг AEAD режим, използван в някои приложения с ограничения на ресурсите.
Сигурност и атаки
AES е считан за сигурен срещу практическа криптоанализа при правилна реализация и управление на ключовете. Някои важни бележки:
- Атаките чрез брутална сила (brute-force) стават практически невъзможни при ключове от 128 бита и повече с настоящите изчислителни ресурси.
- Има академични резултати за намаляване на сложността при някои редуцирани варианти на AES, но не и срещу пълната версия при препоръчителните ключови дължини.
- Странични канали (side-channel attacks) — като анализ на времето, електромагнитни емисии или потребление на енергия — могат да разкрият ключове при незащитени реализации. Защитни мерки включват използване на постоянни времена операции, маскиране и хардуерни защити.
- Изборът на режим и правилното управление на IV/nonce са критични; повторното използване на nonce в AEAD режими (напр. GCM) може да доведе до компрометиране на данните.
Приложения и употреба
- SSL/TLS и други протоколи за сигурна комуникация (например VPN, IPsec).
- Шифроване на файлове и дискове (BitLocker, FileVault, VeraCrypt и др.).
- Криптографски библиотеки и инструменти — OpenSSL, LibreSSL, BoringSSL, libsodium и т.н.
- Системи за съхранение и база данни, мобилни приложения, вграждани устройства и IoT.
Реализация и производителност
Много процесори включват хардуерна поддръжка за AES (например Intel AES-NI), което ускорява криптирането и намалява уязвимостите към някои странични канали при правилна употреба. Софтуерните реализации могат да бъдат оптимизирани чрез таблични методи, унарни операции и използване на SIMD инструкции.
Препоръки
- За нови приложения предпочитайте AEAD режими (напр. AES-GCM или AES-CCM) заедно с правилно управление на nonce/IV и ключовете.
- Използвайте ключова дължина 128 бита като минимум; при дългосрочно съхранение или висока сигурност изберете AES-256.
- Професионално управление на ключовете (KMS, HSM) е задължително в критични среди.
- Следете за актуални препоръки и стандарти и прилагайте защитите срещу странични канали при вградени и хардуерни реализации.
Заключение
AES остава златен стандарт за симетрично шифроване през последните десетилетия благодарение на своята сигурност, ефективност и широка поддръжка. Правилното използване — избор на подходящ режим, управление на ключове и защита срещу странични атаки — е ключът към безопасната му употреба.

