Что происходит, когда вы открываете сайт по HTTPS? Как данные шифруются и почему их нельзя прочитать? Объясняем без формул и технического жаргона.
Шифрование — это превращение понятных данных в нечитаемую последовательность символов. Прочитать зашифрованные данные может только тот, у кого есть правильный ключ.
В интернете шифрование используется повсюду: когда вы открываете сайт банка, отправляете сообщение в мессенджере, оплачиваете покупку — данные шифруются автоматически. Вопрос в том, как именно и насколько надёжно.
Самый простой тип шифрования: один ключ для шифрования и для расшифровки. Как обычный замок — одним и тем же ключом закрываете и открываете. Именно симметричные шифры делают всю «тяжёлую» работу — шифруют сами данные, потому что это быстрее асимметричной математики в тысячи раз.
AES — стандарт шифрования, утверждённый NIST (FIPS 197) в 2001 году. Используется везде: банки, мессенджеры, операционные системы, защищённые соединения.
AES быстр только там, где у процессора есть аппаратное ускорение (AES-NI). На бюджетных смартфонах и части IoT-устройств такого ускорения нет, и на первый план выходит ChaCha20 — шифр, спроектированный для быстрой работы на обычном программном коде без спецблоков. В паре с хэш-функцией Poly1305 он образует режим ChaCha20-Poly1305, равноценную по надёжности альтернативу AES-256-GCM.
Решение проблемы передачи ключей — асимметричное шифрование. Здесь используются два ключа: публичный и приватный.
Зашифровать данные публичным ключом может кто угодно. Расшифровать — только владелец приватного ключа. Это позволяет безопасно обмениваться данными, даже если канал связи прослушивается.
На практике «два ключа» реализуют по-разному. RSA — классический алгоритм 1977 года, основан на сложности разложения огромных чисел на простые множители. Он до сих пор используется для подписи сертификатов, но требует длинных ключей (2048–4096 бит) и медленнее современных схем. ECDH / Curve25519 — алгоритм на эллиптических кривых: ключ всего 256 бит даёт защиту, сравнимую с RSA-3072, а вычисляется на порядок быстрее. Именно поэтому в TLS 1.3 обмен ключами по умолчанию идёт через ECDH (X25519), а RSA остаётся в основном для подписи сертификатов.
Хэш-функция — это не шифрование в привычном смысле: она не скрывает данные, а превращает их в короткий «отпечаток пальца» фиксированной длины. Одно и то же сообщение всегда даёт один и тот же хэш, а любое изменение — даже одного символа — полностью меняет результат. Восстановить исходные данные по хэшу невозможно: функция работает только в одну сторону.
echo -n "hello" | sha256sum
# 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824SHA-256 — самая распространённая хэш-функция сегодня: используется в TLS-сертификатах, в проверке целостности файлов и в блокчейне Bitcoin. В TLS хэш применяется не для шифрования содержимого, а чтобы убедиться, что данные по пути не были подменены — современный режим AEAD (например, AES-GCM или ChaCha20-Poly1305) шифрует и проверяет целостность одновременно, добавляя к каждому блоку короткий «код аутентификации».
TLS (Transport Layer Security) — протокол, который объединяет оба типа шифрования. Именно он стоит за буквой «S» в HTTPS. Актуальная версия — TLS 1.3 (RFC 8446): она убрала все устаревшие и небезопасные алгоритмы, а рукопожатие стало короче — на одно сетевое «путешествие» туда-обратно меньше, чем в TLS 1.2.
Итого: асимметричное шифрование используется один раз — чтобы безопасно договориться о ключе. Дальше всё работает на быстром симметричном AES.
TLS и AES — две разные вещи, которые часто упоминают рядом. TLS — это протокол (набор правил), AES — это алгоритм шифрования. В современном TLS 1.3 основная «рабочая лошадка» — именно AES.
В TLS 1.3 осталось всего пять «шифронаборов» (cipher suites) — раньше их было сотни, и многие были небезопасными. Три из пяти используют AES:
Формат строки: TLS_[алгоритм]_[длина ключа]_[режим]_[хэш]. Например, TLS_AES_256_GCM_SHA384означает «TLS с AES-256 в режиме GCM и хэшированием SHA-384».
Что именно делают TLS и AES, когда вы открываете сайт:
TLS_AES_256_GCM_SHA384.Допустим, злоумышленник годами записывает весь зашифрованный трафик сайта, не имея возможности его прочитать. Если позже он раздобудет долгосрочный приватный ключ сервера — сможет ли он расшифровать всю ранее записанную переписку задним числом? Ответ зависит от того, поддерживает ли протокол forward secrecy (прямую секретность).
В устаревшем TLS 1.2 был режим обмена ключами напрямую через RSA, где такой защиты не было: компрометация приватного ключа сервера ставила под угрозу всю ранее записанную историю трафика. TLS 1.3 убрал этот режим целиком — forward secrecy в нём обязательна для любого соединения, а не опциональная настройка.
HTTPS = HTTP + TLS. Каждый раз, когда вы видите замочек в адресной строке — работает TLS. Содержимое страниц, формы, cookies — всё шифруется.
Защищённое соединение добавляет ещё один уровень шифрования поверх HTTPS. Весь трафик — включая DNS, SNI и IP-адреса серверов — упаковывается в зашифрованный туннель.
VLESS-Reality идёт ещё дальше: он маскирует сам факт использования защищённого соединения. Для внешнего наблюдателя трафик выглядит как обычный HTTPS к популярному сайту — то есть как обычный интернет-сёрфинг.
AES-256 квантовый компьютер не пугает — даже теоретический алгоритм Гровера лишь вдвое сокращает эффективную длину ключа, и AES-256 остаётся надёжным. А вот RSA и ECDH построены на математических задачах (факторизация, дискретный логарифм), которые достаточно мощный квантовый компьютер решит быстро с помощью алгоритма Шора. Проблема не только в будущем: трафик, записанный сегодня, злоумышленник может расшифровать позже, когда квантовые компьютеры станут доступны — этот сценарий называют «harvest now, decrypt later».
Это гибридная, а не полная замена: симметричные алгоритмы (AES, ChaCha20) и хэши (SHA-256) уже устойчивы к квантовым атакам и не меняются. Обновляется только этап обмена ключами — самое уязвимое звено асимметричной криптографии. Ожидается, что в 2026 году доля соединений с гибридным пост-квантовым обменом ключами продолжит расти вслед за поддержкой в браузерах и на стороне крупных сервисов.
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.
VLESS-Reality + AES-256 — три слоя шифрования между вами и интернетом. Два дня бесплатно — без карты, без регистрации.
Попробовать бесплатно →