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