Современные алгоритмы шифрования: AES, ChaCha20 и что дальше
Обзор алгоритмов, которые лежат в основе современной сетевой криптографии: AES-GCM, ChaCha20-Poly1305, постквантовые кандидаты.
Современные алгоритмы шифрования: AES, ChaCha20 и что дальше
Когда вы открываете любой сайт по HTTPS, в фоне работает целая машина криптографических алгоритмов, которые шифруют ваш трафик. Большинство пользователей никогда не задумывается, какие именно алгоритмы там используются — «работает же». Но для разработчиков, системных администраторов и просто любопытных понимание того, что происходит «под капотом», помогает принимать правильные технические решения. Разбираемся, какие алгоритмы актуальны в 2026 году и куда всё движется.
Два класса симметричных шифров
В современной криптографии симметричные шифры (те, что шифруют массовые данные) делятся на два класса:
- Блочные шифры обрабатывают данные блоками фиксированного размера. Примеры: AES, Twofish, Camellia.
- Потоковые шифры обрабатывают данные побитно или побайтно. Примеры: ChaCha20, Salsa20.
Оба класса могут быть безопасными, если используются правильно. Современные протоколы предпочитают шифры в AEAD-режимах — Authenticated Encryption with Associated Data. AEAD сочетает шифрование с аутентификацией, то есть защищает не только от подсматривания, но и от подмены.
AES: стандарт индустрии
AES (Advanced Encryption Standard) — блочный шифр, принятый NIST в 2001 году после открытого конкурса. С тех пор он стал стандартом де-факто: используется практически везде, от банковских систем до Wi-Fi.
Основные режимы:
- AES-CBC — устаревший, небезопасен без дополнительного MAC.
- AES-CTR — превращает блочный шифр в потоковый. Быстрее CBC.
- AES-GCM — CTR + GHASH для аутентификации. Современный AEAD-стандарт.
- AES-CCM — альтернативный AEAD-режим, используется в беспроводных сетях.
AES-GCM — наиболее широко используемый вариант в TLS 1.3, WireGuard, IPsec. Его преимущество: аппаратная поддержка в современных процессорах (Intel AES-NI с 2010 года, ARMv8 Cryptography Extensions). На современном железе AES-GCM показывает скорости в десятки гигабит в секунду.
Размер ключа
AES бывает с ключами 128, 192 и 256 бит. Разница:
- AES-128 — считается безопасным против всех известных атак. Используется по умолчанию в большинстве протоколов.
- AES-256 — запас прочности «на всякий случай», в том числе против гипотетических квантовых атак. Медленнее AES-128 примерно на 40%.
Для обычных задач AES-128 более чем достаточно. AES-256 используется там, где требования к «долгой» безопасности критичны (государственные секреты, долгосрочное хранение).
ChaCha20-Poly1305: альтернатива для мобильных
ChaCha20 — потоковый шифр, разработанный Даниэлем Бернштейном. В связке с MAC-функцией Poly1305 образует AEAD-конструкцию ChaCha20-Poly1305.
Основные преимущества перед AES-GCM:
- Производительность на устройствах без AES-NI. На старых телефонах, IoT-устройствах, дешёвых роутерах AES в software-режиме медленный. ChaCha20 написан так, чтобы быть быстрым даже в software.
- Константное время выполнения. ChaCha20 не зависит от данных в table lookup, поэтому он устойчив к timing-атакам «из коробки».
- Простая реализация. Меньше шансов на ошибку в коде.
Стандартизован в RFC 8439 (2018). Поддерживается в TLS 1.3, WireGuard (где это основной шифр), OpenSSH, и большинстве современных протоколов.
Когда что выбирать
- На сервере с Intel/AMD после 2010 года — AES-GCM быстрее за счёт AES-NI.
- На мобильных устройствах ARM — на современных процессорах поддержка AES-NI-эквивалента (Cryptography Extensions), AES-GCM быстрее.
- На старых устройствах без аппаратной поддержки — ChaCha20 значительно быстрее.
- По соображениям безопасности — оба варианта безопасны. Выбирайте тот, который даёт лучшую производительность на вашем железе.
Современные TLS-клиенты умеют договариваться о шифре с сервером. Клиент присылает список поддерживаемых шифров в порядке предпочтения, сервер выбирает. На практике: если вы с телефона — у вас скорее всего ChaCha20, с ноутбука — AES-GCM.
Асимметричная криптография
Для обмена ключами и подписей используется другой класс алгоритмов — асимметричная криптография:
- RSA — исторический стандарт. В 2026 году постепенно вытесняется эллиптическими кривыми.
- ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) — стандарт для обмена ключами в TLS 1.3.
- Ed25519 — современный алгоритм подписи Бернштейна. Используется в SSH, TLS, WireGuard.
- X25519 — эллиптическая кривая для обмена ключами. Пара к Ed25519.
Современные протоколы (TLS 1.3, WireGuard, SSH последних версий) предпочитают эллиптические кривые. Причины:
- Быстрее, чем RSA при сопоставимом уровне безопасности.
- Меньше ключи (32 байта вместо 256–512 у RSA).
- Проще правильно реализовать — меньше возможностей ошибиться.
Постквантовая криптография: что будет дальше
Квантовые компьютеры, если они появятся в больших масштабах, смогут ломать RSA и эллиптическую криптографию за разумное время через алгоритм Шора. Это будущее, но к нему готовятся уже сейчас.
NIST в 2024 году стандартизовал первые постквантовые алгоритмы:
- ML-KEM (Kyber) — для обмена ключами.
- ML-DSA (Dilithium) — для подписей.
- SLH-DSA (SPHINCS+) — для подписей, устойчивый к структурным атакам.
В 2025 году начался переходный период: крупные сервисы начали добавлять гибридные ключи — обмен одновременно через классический ECDHE и через постквантовый Kyber. Это даёт защиту даже если один из алгоритмов сломается.
Cloudflare, Google и ряд других крупных провайдеров уже используют гибридный обмен ключами в production. В следующие 5 лет это постепенно станет стандартом для всех TLS-соединений.
Что должен знать обычный пользователь
- Современное шифрование работает и надёжно. Если ваш браузер показывает замок и версию TLS 1.3 — ваши данные в безопасности на уровне алгоритмов.
- Проблемы обычно не в алгоритмах, а в реализации и людях. Фишинг, утечки баз, слабые пароли — гораздо большая угроза, чем «сломают ли AES».
- Обновляйте софт. Новые уязвимости появляются в реализациях, а не в алгоритмах. Старые версии OpenSSL и BoringSSL регулярно находят ошибки.
- Следите за движением в сторону постквантовых алгоритмов. В ближайшие годы это будет важно для всех.
Что в подписке LinesUPS
- TLS 1.3 на всех соединениях.
- AES-GCM и ChaCha20-Poly1305 — оба шифра доступны, клиент выбирает оптимальный.
- X25519 и Ed25519 для обмена ключами и подписей.
- Обновления серверного стека — при появлении постквантовых шифров в стабильных библиотеках мы их добавим.
Итог
Современная криптография — это зрелая и надёжная область. Для обычного пользователя главное — использовать актуальный софт и не ломать криптографию неосторожными настройками. Для разработчиков и администраторов — понимать, что выбор шифра влияет на производительность, но на безопасность (в большинстве случаев) не влияет, если выбирать из современного списка.
Попробуйте LinesUPS бесплатно 1 день — современная криптография, без компромиссов.