Блог/Образование
Образование19 июля 2026· 9 мин чтения

Шифрование простыми словами: TLS, AES и ключи

Что происходит, когда вы открываете сайт по HTTPS? Как данные шифруются и почему их нельзя прочитать? Объясняем без формул и технического жаргона.

Что такое шифрование

Шифрование — это превращение понятных данных в нечитаемую последовательность символов. Прочитать зашифрованные данные может только тот, у кого есть правильный ключ.

Аналогия
Представьте, что вы отправляете письмо в сейфе. Любой курьер может нести сейф, но открыть его может только тот, у кого есть ключ. Шифрование — это такой сейф для данных в интернете.

В интернете шифрование используется повсюду: когда вы открываете сайт банка, отправляете сообщение в мессенджере, оплачиваете покупку — данные шифруются автоматически. Вопрос в том, как именно и насколько надёжно.

Симметричное шифрование (AES, ChaCha20)

Самый простой тип шифрования: один ключ для шифрования и для расшифровки. Как обычный замок — одним и тем же ключом закрываете и открываете. Именно симметричные шифры делают всю «тяжёлую» работу — шифруют сами данные, потому что это быстрее асимметричной математики в тысячи раз.

AES (Advanced Encryption Standard)

AES — стандарт шифрования, утверждённый NIST (FIPS 197) в 2001 году. Используется везде: банки, мессенджеры, операционные системы, защищённые соединения.

  • AES-128 — ключ длиной 128 бит. Надёжен для большинства задач
  • AES-256 — ключ 256 бит. Используется для максимальной защиты
  • Взлом AES-256 перебором займёт больше времени, чем существует Вселенная
  • Скорость: современный процессор шифрует гигабайты в секунду

ChaCha20 — альтернатива без спецпроцессора

AES быстр только там, где у процессора есть аппаратное ускорение (AES-NI). На бюджетных смартфонах и части IoT-устройств такого ускорения нет, и на первый план выходит ChaCha20 — шифр, спроектированный для быстрой работы на обычном программном коде без спецблоков. В паре с хэш-функцией Poly1305 он образует режим ChaCha20-Poly1305, равноценную по надёжности альтернативу AES-256-GCM.

Проблема
Симметричное шифрование быстрое и надёжное, но есть проблема: как передать ключ собеседнику? Если отправить ключ по интернету открыто — его перехватят. Это как отправить ключ от сейфа в обычном конверте.

Асимметричное шифрование (RSA, ECDH)

Решение проблемы передачи ключей — асимметричное шифрование. Здесь используются два ключа: публичный и приватный.

Публичный ключ
  • Доступен всем
  • Используется для шифрования
  • Как адрес почтового ящика — все знают, куда отправлять
Приватный ключ
  • Только у владельца
  • Используется для расшифровки
  • Как ключ от ящика — только вы можете достать письмо

Зашифровать данные публичным ключом может кто угодно. Расшифровать — только владелец приватного ключа. Это позволяет безопасно обмениваться данными, даже если канал связи прослушивается.

Аналогия
Вы вешаете открытый замок на стену — любой может защёлкнуть его на своей коробке и отправить вам. Но открыть замок можете только вы, потому что ключ только у вас.

RSA и ECDH: два поколения асимметричных алгоритмов

На практике «два ключа» реализуют по-разному. RSA — классический алгоритм 1977 года, основан на сложности разложения огромных чисел на простые множители. Он до сих пор используется для подписи сертификатов, но требует длинных ключей (2048–4096 бит) и медленнее современных схем. ECDH / Curve25519 — алгоритм на эллиптических кривых: ключ всего 256 бит даёт защиту, сравнимую с RSA-3072, а вычисляется на порядок быстрее. Именно поэтому в TLS 1.3 обмен ключами по умолчанию идёт через ECDH (X25519), а RSA остаётся в основном для подписи сертификатов.

Хэш-функции: SHA-256 и целостность данных

Хэш-функция — это не шифрование в привычном смысле: она не скрывает данные, а превращает их в короткий «отпечаток пальца» фиксированной длины. Одно и то же сообщение всегда даёт один и тот же хэш, а любое изменение — даже одного символа — полностью меняет результат. Восстановить исходные данные по хэшу невозможно: функция работает только в одну сторону.

echo -n "hello" | sha256sum
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

SHA-256 — самая распространённая хэш-функция сегодня: используется в TLS-сертификатах, в проверке целостности файлов и в блокчейне Bitcoin. В TLS хэш применяется не для шифрования содержимого, а чтобы убедиться, что данные по пути не были подменены — современный режим AEAD (например, AES-GCM или ChaCha20-Poly1305) шифрует и проверяет целостность одновременно, добавляя к каждому блоку короткий «код аутентификации».

Аналогия
Хэш — это как сургучная печать на конверте: она не мешает почтальону нести письмо и не защищает содержимое от чтения, но если печать сломана — вы точно знаете, что письмо вскрывали.

TLS 1.3: как защищается интернет

TLS (Transport Layer Security) — протокол, который объединяет оба типа шифрования. Именно он стоит за буквой «S» в HTTPS. Актуальная версия — TLS 1.3 (RFC 8446): она убрала все устаревшие и небезопасные алгоритмы, а рукопожатие стало короче — на одно сетевое «путешествие» туда-обратно меньше, чем в TLS 1.2.

Как работает TLS-рукопожатие

1
Приветствие (Client Hello)
Ваш браузер говорит серверу: «Привет, я хочу безопасное соединение. Вот алгоритмы, которые я поддерживаю».
2
Ответ сервера (Server Hello)
Сервер отвечает: «Хорошо, давай используем этот алгоритм. Вот мой сертификат и публичный ключ».
3
Обмен ключами
Браузер и сервер генерируют общий секретный ключ (симметричный) с помощью асимметричного шифрования. Даже если кто-то перехватит весь обмен — вычислить этот ключ не сможет.
4
Шифрованный канал
Теперь оба используют общий симметричный ключ (AES) для быстрого шифрования всех данных.

Итого: асимметричное шифрование используется один раз — чтобы безопасно договориться о ключе. Дальше всё работает на быстром симметричном AES.

TLS и AES: как они работают вместе

TLS и AES — две разные вещи, которые часто упоминают рядом. TLS — это протокол (набор правил), AES — это алгоритм шифрования. В современном TLS 1.3 основная «рабочая лошадка» — именно AES.

Разделение ролей
TLS
Протокол: рукопожатие, проверка сертификата, согласование алгоритмов и обмен ключами. Отвечает за как устанавливать защищённое соединение.
AES
Алгоритм: превращает данные в шифротекст и обратно. Отвечает за чем зашифровать трафик после того, как TLS договорился о ключе.

Шифронаборы в TLS 1.3

В TLS 1.3 осталось всего пять «шифронаборов» (cipher suites) — раньше их было сотни, и многие были небезопасными. Три из пяти используют AES:

TLS_AES_256_GCM_SHA384 // AES-256 в режиме GCM
TLS_AES_128_GCM_SHA256 // AES-128 в режиме GCM
TLS_AES_128_CCM_SHA256 // AES-128 в режиме CCM (IoT)
TLS_CHACHA20_POLY1305_SHA256 // альтернатива без AES
TLS_AES_128_CCM_8_SHA256 // усечённый CCM

Формат строки: TLS_[алгоритм]_[длина ключа]_[режим]_[хэш]. Например, TLS_AES_256_GCM_SHA384означает «TLS с AES-256 в режиме GCM и хэшированием SHA-384».

Пошаговый маршрут одного запроса

Что именно делают TLS и AES, когда вы открываете сайт:

  1. Client Hello — браузер посылает список поддерживаемых шифронаборов. В TLS 1.3 первым идёт TLS_AES_256_GCM_SHA384.
  2. Server Hello — сервер выбирает один набор (обычно AES-256-GCM) и отправляет свой сертификат.
  3. Обмен ключами (X25519) — обе стороны вычисляют общий секрет через асимметричную математику. AES тут ещё не используется.
  4. Derive keys — из общего секрета выводится ключ для AES-256. Это очень быстро, миллисекунды.
  5. Шифрованный трафик — всё дальше (HTTP-запросы, страницы, формы) шифруется AES-256-GCM. Именно AES делает всю «тяжёлую» работу.

Почему именно AES-256-GCM

  • AES-256 — верхняя граница безопасности, утверждена NSA для информации уровня TOP SECRET
  • GCM (Galois/Counter Mode) — одновременно шифрует и проверяет целостность (AEAD)
  • Аппаратное ускорение AES-NI в процессорах Intel/AMD/Apple: десятки гигабит/с на ядро
  • На мобильных Apple Silicon и ARMv8 есть встроенные AES-инструкции — батарея не страдает
Коротко
TLS — это «договор о защите»: стороны знакомятся, проверяют паспорта и договариваются, каким ключом закрывать сейф. AES — сам сейф: в него складывают данные и возят по интернету. TLS без AES — пустая оболочка; AES без TLS — ключ, который некому передать.

Forward Secrecy: почему важен разовый ключ

Допустим, злоумышленник годами записывает весь зашифрованный трафик сайта, не имея возможности его прочитать. Если позже он раздобудет долгосрочный приватный ключ сервера — сможет ли он расшифровать всю ранее записанную переписку задним числом? Ответ зависит от того, поддерживает ли протокол forward secrecy (прямую секретность).

Как это работает
Вместо того чтобы использовать долгосрочный ключ сервера напрямую для шифрования данных, TLS 1.3 на каждое соединение генерирует одноразовую ephemeral-пару ключей (обмен по ECDH) и сразу после сессии уничтожает её. Даже если приватный ключ сервера будет скомпрометирован в будущем, расшифровать старые записанные сессии не получится — одноразовых ключей больше не существует.

В устаревшем TLS 1.2 был режим обмена ключами напрямую через RSA, где такой защиты не было: компрометация приватного ключа сервера ставила под угрозу всю ранее записанную историю трафика. TLS 1.3 убрал этот режим целиком — forward secrecy в нём обязательна для любого соединения, а не опциональная настройка.

HTTPS: шифрование в действии

HTTPS = HTTP + TLS. Каждый раз, когда вы видите замочек в адресной строке — работает TLS. Содержимое страниц, формы, cookies — всё шифруется.

Что HTTPS защищает

  • Содержимое страниц и данные форм (пароли, номера карт)
  • Cookies и токены авторизации
  • Заголовки HTTP-запросов
  • Тело ответа сервера

Что HTTPS не защищает

  • DNS-запросы — какие домены вы открываете (идут отдельно)
  • SNI — имя сайта в TLS-рукопожатии (пока не везде зашифровано)
  • IP-адрес сервера — виден провайдеру и промежуточным узлам
  • Факт соединения — время, объём, длительность

Как шифрует защищённое соединение

Защищённое соединение добавляет ещё один уровень шифрования поверх HTTPS. Весь трафик — включая DNS, SNI и IP-адреса серверов — упаковывается в зашифрованный туннель.

Слои шифрования
Данные сайта
Ваши пароли, сообщения, страницы
HTTPS (TLS)
Шифрует содержимое, но DNS и IP видны
Защищённый туннель
Шифрует всё, включая DNS, SNI и IP-адреса

VLESS-Reality идёт ещё дальше: он маскирует сам факт использования защищённого соединения. Для внешнего наблюдателя трафик выглядит как обычный HTTPS к популярному сайту — то есть как обычный интернет-сёрфинг.

Пост-квантовое шифрование: ML-KEM и Kyber

AES-256 квантовый компьютер не пугает — даже теоретический алгоритм Гровера лишь вдвое сокращает эффективную длину ключа, и AES-256 остаётся надёжным. А вот RSA и ECDH построены на математических задачах (факторизация, дискретный логарифм), которые достаточно мощный квантовый компьютер решит быстро с помощью алгоритма Шора. Проблема не только в будущем: трафик, записанный сегодня, злоумышленник может расшифровать позже, когда квантовые компьютеры станут доступны — этот сценарий называют «harvest now, decrypt later».

Что уже происходит
В августе 2024 года NIST утвердил первый стандарт пост-квантового шифрования — ML-KEM (FIPS 203), основанный на алгоритме Kyber, победителе конкурса NIST 2016–2022 годов. С 2024–2025 года Chrome, Firefox и Cloudflare уже включили гибридный обмен ключами — одновременно X25519 (классика) и ML-KEM (пост-квантовый) — так соединение защищено, даже если один из двух алгоритмов однажды окажется взломан.

Это гибридная, а не полная замена: симметричные алгоритмы (AES, ChaCha20) и хэши (SHA-256) уже устойчивы к квантовым атакам и не меняются. Обновляется только этап обмена ключами — самое уязвимое звено асимметричной криптографии. Ожидается, что в 2026 году доля соединений с гибридным пост-квантовым обменом ключами продолжит расти вслед за поддержкой в браузерах и на стороне крупных сервисов.

Мифы о шифровании

«Шифрование замедляет интернет»
Современные процессоры имеют аппаратное ускорение AES. Шифрование HTTPS добавляет менее 1% задержки. Защищённое соединение с VLESS снижает скорость на 3–5% — незаметно для обычного использования.
«Если нечего скрывать — шифрование не нужно»
Шифрование защищает банковские данные, пароли, личную переписку, медицинские записи. Вопрос не в том, есть ли что скрывать, а в том, кому вы хотите давать доступ к этим данным.
«HTTPS достаточно для полной защиты»
HTTPS шифрует содержимое, но провайдер всё равно видит, какие сайты вы посещаете (DNS, SNI, IP). Для полной защиты нужно шифрование всего трафика.
«Шифрование могут взломать»
AES-256 невозможно взломать перебором — на это ушло бы больше времени, чем существует Вселенная. Атаки на шифрование нацелены на реализацию (баги в коде), а не на сам алгоритм.
Часто задаваемые вопросы

TLS — это протокол, который управляет установкой защищённого соединения: рукопожатие, сертификаты, обмен ключами. AES — это алгоритм симметричного шифрования, который шифрует сами данные после того, как TLS договорился о ключе. TLS использует AES, но это не одно и то же.

Это шифронабор (cipher suite) в TLS 1.3. Означает: протокол TLS + алгоритм AES с ключом 256 бит в режиме GCM (Galois/Counter Mode) + хэш-функция SHA-384. Это один из самых надёжных вариантов, используется по умолчанию в современных браузерах и серверах.

Для обычного использования AES-128 достаточно: взлом перебором займёт триллионы лет. AES-256 выбирают там, где нужна максимальная надёжность — банки, военные, госданные. Разница в скорости на современных процессорах с AES-NI почти незаметна.

Перебором ключа — нет: 2^256 вариантов больше числа атомов во Вселенной. Атаки направлены на ошибки реализации (баги в коде), на побочные каналы (тайминг, энергопотребление) или на слабые места в режиме работы. Сам алгоритм AES не взломан.

GCM (Galois/Counter Mode) — современный режим: одновременно шифрует и проверяет целостность, параллелится на многопроцессорных системах, использовается в TLS 1.3. CBC (Cipher Block Chaining) — устаревший режим без проверки целостности, уязвим к ряду атак (Padding Oracle), в TLS 1.3 уже запрещён.

ChaCha20-Poly1305 — альтернативный шифр, разработанный для устройств без аппаратного AES-ускорения. На старых Android-телефонах и некоторых IoT-устройствах ChaCha20 может быть быстрее AES. В TLS 1.3 оба считаются одинаково безопасными; клиент и сервер выбирают лучший для своего железа.

Forward secrecy (прямая секретность) означает, что для каждого соединения генерируется одноразовый ключ, который уничтожается сразу после сессии. Даже если долгосрочный приватный ключ сервера будет украден в будущем, расшифровать ранее записанный трафик не получится. В TLS 1.3 forward secrecy обязательна для всех соединений.

Для симметричных алгоритмов (AES-256, ChaCha20) — почти нет: квантовые атаки сокращают их эффективную стойкость незначительно. Уязвимы асимметричные алгоритмы обмена ключами — RSA и ECDH, которые в теории решаются алгоритмом Шора. Поэтому NIST в 2024 году стандартизировал ML-KEM (на основе Kyber), а браузеры и крупные сервисы уже переходят на гибридную схему X25519 + ML-KEM.

AuraShield

Шифрование на практике

VLESS-Reality + AES-256 — три слоя шифрования между вами и интернетом. Два дня бесплатно — без карты, без регистрации.

Попробовать бесплатно →