Mastodon Mastodon Mastodon Mastodon

Стандарт шифрования AES [AES]

Обновлено: · CyberSecureFox Editorial Team

AES (Advanced Encryption Standard) — симметричный блочный шифр, стандартизированный NIST в FIPS 197 и применяемый во всём мире для шифрования данных: от веб-трафика и Wi-Fi до дисков и мессенджеров.

Как работает AES

AES — алгоритм симметричного шифрования: один и тот же ключ шифрует и расшифровывает данные. Он обрабатывает данные блоками по 128 бит и поддерживает три длины ключа:

  • AES-128 — 10 раундов преобразования;
  • AES-192 — 12 раундов;
  • AES-256 — 14 раундов.

В каждом раунде выполняются замена байтов, сдвиг строк, перемешивание столбцов и сложение с раундовым ключом, полученным из основного. Поскольку AES — блочный шифр, его применяют в режимах работы; сегодня чаще всего используется GCM, который также аутентифицирует данные, а более старому режиму CBC нужна дополнительная защита целостности.

Алгоритм, первоначально называвшийся Rijndael, разработали бельгийские криптографы Йоан Дамен и Винсент Рэймен. NIST выбрал его в 2000 году по итогам открытого международного конкурса, начатого в 1997 году, и опубликовал стандарт в 2001 году на замену устаревшему DES.

Почему AES важен

За более чем двадцать лет публичного криптоанализа практической атаки на полный алгоритм не найдено. AES защищает соединения TLS и HTTPS, Wi-Fi с WPA2 и WPA3, VPN-туннели, полнодисковое шифрование BitLocker и FileVault, а также защищённые мессенджеры. В современных процессорах есть специальные инструкции (AES-NI на x86), поэтому он работает очень быстро. Правительство США допускает AES с 192- или 256-битными ключами для информации уровня TOP SECRET.

Реальные провалы связаны с ошибками реализации: повторными nonce в GCM, атаками по времени доступа к кешу, жёстко прописанными или слабо выведенными ключами. На AES полагаются и программы-вымогатели, блокируя файлы жертв, — что лишь подтверждает его стойкость.

Рекомендации

  • Использовать AES-GCM из проверенной библиотеки, а не собственную реализацию.
  • Выбирать AES-256 для долгосрочной конфиденциальности.
  • Выводить ключи из паролей медленными KDF, такими как Argon2 или PBKDF2, и не хранить ключи в исходном коде.
Синонимы:
advanced encryption standard, алгоритм aes, шифрование aes, rijndael