Симметричное и асимметричное шифрование: принципы, математика и гибридный подход

Симметрия и ассиметрия Криптография и безопасность

Разработка современных защищенных систем — будь то бэкенд веб-сервиса, банковский клиент или мессенджер — опирается на фундаментальные примитивы криптографии. Зачастую в технической документации разработчики сталкиваются с терминологией: AES-256-GCM, RSA-4096, ECDHE, ГОСТ Р 34.12-2018.

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

Содержание
  1. Что такое симметричное шифрование: принцип работы и внутреннее устройство
  2. Блочные и потоковые шифры: в чем разница (AES vs ChaCha20)
  3. Блочные шифры
  4. Потоковые шифры
  5. Зачем нужен вектор инициализации (IV) и режимы шифрования
  6. Как устроено асимметричное шифрование: фундаментальная математика и пара ключей
  7. Алгоритм RSA и криптография на эллиптических кривых (ECC)
  8. RSA (Rivest-Shamir-Adleman)
  9. Эллиптические кривые
  10. Механизм электронной цифровой подписи (ЭЦП)
  11. Сравнительный анализ: симметричное vs асимметричное шифрование
  12. Гибридное шифрование в реальных протоколах: TLS 1.3, SSH и PGP
  13. Протокол Диффи-Хеллмана и концепция Perfect Forward Secrecy (PFS)
  14. Криптографические стандарты в РФ и мире (ГОСТ vs NIST)
  15. Требования регуляторов к шифрованию персональных данных (152-ФЗ, ФСБ)
  16. Постквантовая угроза: почему классическая криптография под угрозой и что делать
  17. Алгоритм Шора против асимметрии
  18. Алгоритм Гровера против симметрии
  19. Переход на постквантовые стандарты ML-KEM и ML-DSA
  20. Заключение

Что такое симметричное шифрование: принцип работы и внутреннее устройство

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

Схематично процесс выглядит следующим образом:

Схема симметричного шифрования

 

Главное достоинство симметричных алгоритмов — чрезвычайно высокая скорость. Современные процессоры архитектуры x86 и ARM поддерживают аппаратные инструкции (AES-NI), что позволяет зашифровывать и расшифровывать данные на скоростях порядка нескольких гигабайт в секунду на одно ядро ЦПУ при минимальных задержках.

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

Блочные и потоковые шифры: в чем разница (AES vs ChaCha20)

Все симметричные алгоритмы делятся на две ключевые архитектурные группы: блочные и потоковые.

Блочные шифры

Блочный шифр разбивает входной поток данных на фрагменты фиксированной длины — блоки (обычно 64 или 128 бит) — и применяет математическое преобразование к каждому блоку.

  • AES: Мировой стандарт. Опирается на архитектуру SP-сети. Работает с блоками 128 бит и длинами ключей 128, 192 или 256 бит.
  • ГОСТ Р 34.12-2018 («Кузнечик»): Российский стандарт. Размер блока — 128 бит, длина ключа — 256 бит. В основе лежит SP-сеть с 10 раундами преобразований.
  • ГОСТ Р 34.12-2018 («Магма»): Обновленная версия советского ГОСТ 28147-89. Размер блока — 64 бит, ключ — 256 бит. Построена на 32-раундовой сети Фейстеля.

Из практики: При проектировании высоконагруженных сервисов стандартным выбором для симметричной защиты дисков и БД является AES-256 («Кузнечик»). Выбор 128-битного блока актуальнее, так как 64-битные блоки («Магма», DES) подвержены атакам по коллизиям блоков при шифровании больших объемов данных в рамках одного ключа.

Потоковые шифры

Потоковый шифр генерирует непрерывную псевдослучайную последовательность бит — гамму, которая затем складывается по модулю 2 (\oplus, XOR) с исходным текстом.

\text{Ciphertext}_i = \text{Plaintext}_i \oplus \text{Keystream}_i

  • ChaCha20 (RFC 8439): Создан Дэниелом Бернштейном. Работает с 256-битным ключом и 96-битным одноразовым числом. Не требует таблиц поиска в памяти, что полностью защищает его от атак по сторонним каналам. ChaCha20 демонстрирует более высокую скорость, чем AES, на мобильных процессорах без специализированных аппаратных блоков ускорения AES-NI.

Зачем нужен вектор инициализации (IV) и режимы шифрования

Шифровать данные «в лоб» (блок за блоком) строго запрещено. Такой базовый режим называется ECB. В нем одинаковые блоки открытого текста дают одинаковые блоки шифротекста. Наглядный пример — «пингвин Tux»: зашифрованный в ECB-режиме рисунок полностью сохраняет свои контуры.

Разница между режимами

 

Чтобы избежать этого, используются продвинутые режимы работы блочных шифров, требующие вектор инициализации:

  1. CBC (Cipher Block Chaining): Каждый блок перед шифрованием складывается по XOR с предыдущим зашифрованным блоком. Для первого блока используется IV. Уязвим к атакам класса Padding Oracle при неправильной обработке ошибок дополнения.
  2. CTR (Counter Mode): Превращает блочный шифр в потоковый. Шифруется не сам текст, а счетчик, инкрементируемый для каждого блока, после чего результат накладывается по XOR на открытый текст.
  3. GCM (Galois/Counter Mode) — Стандарт AEAD: Режим аутентифицированного шифрования с присоединяемыми данными. GCM не только шифрует данные (режим CTR), но и вычисляет имитовставку (аутентификационный тег) на основе умножения в полях Галуа \mathbb{GF}(2^{128}).

⚠️ Критически важно: Повторное использование пары Ключ + IV в режиме GCM или CTR приводит к полному раскрытию открытого текста. Повтор IV разрушает свойства псевдослучайности гаммы: (\text{P1} \oplus \text{G}) \oplus (\text{P2} \oplus \text{G}) = \text{P1} \oplus \text{P2}, что позволяет атаковать шифротекст методами частотного анализа.

Как устроено асимметричное шифрование: фундаментальная математика и пара ключей

Асимметричная криптография (криптография с открытым ключом) была предложена Уитфилдом Диффи и Мартином Хеллманом в 1976 году. В ее основе лежит идея использования двух разных, но математически связанных ключей:

  • Открытый ключ (Public Key): Используется для шифрования данных или проверки электронной подписи. Может свободно передаваться по незащищенным каналам.
  • Закрытый ключ (Private / Secret Key): Используется для расшифровки данных или создания электронной подписи. Хранится у владельца.

Ассиметричное шифрование

 

Математической основой асимметрии являются односторонние функции с секретом. Это функции, которые легко вычислить в одну сторону y = f(x), но крайне сложно вычислить в обратную сторону x = f^{-1}(y), если только не известен секрет.

Алгоритм RSA и криптография на эллиптических кривых (ECC)

RSA (Rivest-Shamir-Adleman)

Безопасность RSA строится на вычислительной сложности задачи факторизации больших целых чисел (разложения произведения двух больших простых чисел n = p \cdot qна множители).

  1. Выбираются два больших простых числа p и q.
  2. Вычисляется модуль n = p \cdot qи функция Эйлера \varphi(n) = (p-1)(q-1).
  3. Выбирается открытая экспонента e(обычно 65537).
  4. Вычисляется секретная экспонента d, такая что d \cdot e \equiv 1 \pmod{\varphi(n)}.
  • Шифрование: C = M^e \pmod n
  • Расшифровка: M = C^d \pmod n

Чтобы расшифровать текст без знающего d, злоумышленнику необходимо разложить n на простые множители p и q, что при длине модуля n в 2048 или 4096 бит на классических компьютерах требует миллиардов лет вычислений.

Эллиптические кривые

Стойкость ECC базируется на проблеме дискретного логарифмирования в группе точек эллиптической кривой (ECDLP). Уравнение кривой над конечным полем обычно задается в форме Вейерштрасса:

y^2 = x^3 + ax + b \pmod p

Сложение точек на эллиптической кривой — операция, геометрически и алгебраически детерминированная. Умножение точки Gна скаляр k(вычисление P = k \cdot G) выполняются быстро. Однако зная базовую точку G и итоговую точку P, найти скаляр k вычитанием или делением невозможно за приемлемое время.

Элипсы

 

Главное преимущество ECC перед RSA — габариты ключа при аналогичной стойкости:

Стойкость (в битах) Длина ключа RSA (бит) Длина ключа ECC / ГОСТ (бит) Выигрыш в размере
112 2048 224-255 ~8 раз
128 3072 256 ~12 раз
256 15360 512 ~30 раз

В Рунете аналогом международных алгоритмов ECDSA является ГОСТ Р 34.10-2012, который также использует криптографию на эллиптических кривых над простыми полями с длинами ключей 256 и 512 бит.

Механизм электронной цифровой подписи (ЭЦП)

Асимметричное шифрование решает не только задачу конфиденциальности, но и задачу аутентификации и неотказуемости с помощью ЭЦП.

При создании ЭЦП роли ключей меняются местами:

  1. Отправитель берет исходный документ и вычисляет его криптографический хэш.
  2. Полученный хэш шифруется закрытым ключом отправителя. Это и есть цифровая подпись S = D(\text{Private Key}, \text{Hash}).
  3. Получатель расшифровывает подпись открытым ключом отправителя: \text{Hash}' = E(\text{Public Key}, S).
  4. Получатель самостоятельно вычисляет хэш полученного документа \text{Hash}_{fact}. Если \text{Hash}' == \text{Hash}_{fact}, документ аутентичен и не подвергался изменениям.

Сравнительный анализ: симметричное vs асимметричное шифрование

Для наглядного сопоставления фундаментальных различий подходов сведем их характеристики в единую таблицу.

Критерий Симметричное шифрование Асимметричное шифрование
Используемые ключи Один секретный ключ на обе стороны Пара: публичный (открытый) и приватный (закрытый)
Скорость работы Очень высокая (гигабайты в секунду, AES-NI) Низкая (в 1000–10000 раз медленнее симметрии)
Размер ключей 128, 256 бит 2048–4096 бит (RSA), 256–512 бит (ECC/ГОСТ)
Основные алгоритмы AES, ChaCha20, «Кузнечик», «Магма» RSA, ECDSA, Ed25519, ГОСТ Р 34.10-2012
Основная задача Конфиденциальное хранение и передача крупных массивов данных Передача симметричных ключей, аутентификация, ЭЦП
Масштабируемость Плохая для сети: для Nучастников нужно N(N-1)/2ключей Отличная: для N участников нужно всего N пар ключей
Стойкость к квантовому взлому Высокая (AES-256 устойчив к алгоритму Гровера) Нулевая (RSA и ECC полностью ломаются алгоритмом Шора)

Гибридное шифрование в реальных протоколах: TLS 1.3, SSH и PGP

Из сравнения очевиден компромисс: симметричное шифрование работаeт быстро, но страдает от проблемы передачи ключа. Асимметричное решаeт проблему передачи ключа, но непригодно для прокачки больших объемов трафика из-за нагрузок на ЦПУ.

Решением стала гибридная криптосистема.

Принцип работы гибридной системы

Принцип работы гибридной схемы:

  1. Асимметричная фаза: С помощью криптографии с открытым ключом или протокола обмена ключами стороны аутентифицируют друг друга и генерируют случайный одноразовый сессионный ключ (Session Key).
  2. Симметричная фаза: Весь последующий массив данных шифруется быстрым симметричным шифром с использованием этого сессионного ключа.

Именно по такой гибридной схеме устанавливаются соединения в современных корпоративных VPN-сетях (OpenVPN, IPsec). Однако на практике инженеры часто совершают архитектурную ошибку, применяя тотальное сетевое шифрование там, где оно не требуется. Если ваша задача — не защита банковской транзакции, а автоматизация парсинга, работа с антидетект-системами или обход DPI, тяжелая криптография создаст лишь бессмысленный оверхед и привлечет внимание антифрод-фильтров. В нашем техническом разборе разницы между VPN и прокси мы подробно показываем, в каких случаях от шифрования на уровне L3 стоит отказаться в пользу чистой маршрутизации (L7).

Протокол Диффи-Хеллмана и концепция Perfect Forward Secrecy (PFS)

В современных протоколах (TLS 1.3, SSH) запрещено использовать статический RSA для прямой передачи сессионных ключей. Вместо этого применяется протокол ECDHE.

Алгоритм Диффи-Хеллмана позволяет двум сторонам, имеющим свои пары ключей, сформировать общее секретное число по открытому каналу, при этом сам секрет по каналу никогда не передается:

  1. Петя  выбирает приватное число a, вычисляет публичную точку A = a \cdot Gи отправляет Васе.
  2. Вася выбирает приватное число b, вычисляет публичную точку B = b \cdot Gи отправляет Пете.
  3. Петя вычисляет общую точку: S = a \cdot B = a \cdot (b \cdot G).
  4. Вася вычисляет общую точку: S = b \cdot A = b \cdot (a \cdot G).

Благодаря сочетательному закону a \cdot (b \cdot G) = b \cdot (a \cdot G), Петя и Вася получают идентичную точку S, из координаты xкоторой методом KDF извлекается симметричный сессионный ключ.

Буква «E» в ECDHE означает Ephemeral (эфимерный). Для каждого нового соединения создаются новые временные ключи a и b. Это гарантирует свойство Perfect Forward Secrecy (PFS):

Если злоумышленник в будущем запишет весь зашифрованный трафик компании, а через 5 лет украдет долгосрочный закрытый ключ сервера, он не сможет расшифровать ни одну из прошлых сессий, так как эфимерные ключи a и b существовали только в оперативной памяти в момент установления соединения и были сразу уничтожены.

Криптографические стандарты в РФ и мире (ГОСТ vs NIST)

При проектировании архитектуры шифрования необходимо принимать во внимание юрисдикцию и требования законодательства.

Криптостандарты

В мировом сегменте регулятором выступает американский NIST (в сотрудничестве с IETF). В РФ стандартизацию осуществляет Технический комитет по стандартизации «Криптографическая защита информации» (ТК 26), а сертификацию средств криптографической защиты информации (СКЗИ) ведут ФСБ России и ФСТЭК России.

Требования регуляторов к шифрованию персональных данных (152-ФЗ, ФСБ)

Согласно требованиям 152-ФЗ «О персональных данных» и Приказа ФСБ России № 378, при обработке ПДн в информационных системах (ИСПДн) уровней защищенности УЗ-1, УЗ-2 и УЗ-3 обязательным является применение сертифицированных СКЗИ (КриптоПро CSP или ViPNet), реализующих отечественные ГОСТы.

Использование исключительно зарубежных криптопровайдеров (стандартный OpenSSL с AES/RSA) в государственном секторе, банковских системах (в рамках требований ЦБ РФ № 719-П) и при работе с критической информационной инфраструктурой (КИИ, 187-ФЗ) влечет риски регуляторных санкций и непрохождения аттестации.

Постквантовая угроза: почему классическая криптография под угрозой и что делать

Главный технологический вызов для криптографии — прогресс в создании квантовых компьютеров.

Алгоритм Шора против асимметрии

В 1994 году Питер Шор создал квантовый алгоритм, позволяющий находить период функции за полиномиальное время O((\log N)^3). Это означает, что квантовый компьютер с несколькими тысячами стабильных кубитов сможет:

  • Выполнить факторизацию целых чисел в алгоритме RSA за минуты.
  • Вычислить дискретный логарифм в ECC и ГОСТ Р 34.10-2012 за считанные секунды.

Таким образом, вся классическая асимметричная криптография (RSA, ECC, Diffie-Hellman, ГОСТ) окажется полностью скомпрометирована.

Алгоритм Гровера против симметрии

В отличие от асимметрии, симметричное шифрование страдает значительно меньше. Квантовый алгоритм Гровера ускоряет перебор неструктурированных баз данных и ключей квадратично — с O(N)до O(\sqrt{N}).

Это эффективно уменьшает стойкость симметричного ключа вдвое:

  • AES-128 превращается по стойкости в AES-64 (что небезопасно и поддается перебору).
  • AES-256 и «Кузнечик» (256 бит) превращаются в 128 бит стойкости, что остается абсолютным и недостижимым порогом для взлома на ближайшие десятилетия.

Переход на постквантовые стандарты ML-KEM и ML-DSA

Для защиты от квантовой угрозы NIST утвердил стандарты постквантовой криптографии:

  1. FIPS 203 (ML-KEM / CRYSTALS-Kyber): Механизм инкапсуляции ключей (KEM) на основе задачи обучения с ошибками в модульных решетках.
  2. FIPS 204 (ML-DSA / CRYSTALS-Dilithium): Алгоритм цифровой подписи на решетках.

В России ТК 26 ведет аналогичную работу по созданию гибридных постквантовых ГОСТ-стандартов, сочетающих эллиптические кривые (ГОСТ Р 34.10-2012) с алгебраическими решетками, чтобы обеспечить плавную миграцию инфраструктуры PKI.

Заключение

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

Чтобы не ошибиться при проектировании архитектуры защищенного сервиса, ориентируйтесь на следующие прикладные правила:

  • Для шифрования файлов, БД и основного сетевого трафика используйте симметричные шифры (AES-256-GCM или «Кузнечик»). На мобильных устройствах или IoT без аппаратного ускорения AES-NI используйте ChaCha20-Poly1305.

  • Для обмена ключами и работы с ЭЦП переходите с RSA на эллиптические кривые (ECDSA, Ed25519, ГОСТ Р 34.10-2012). Это даст аналогичный уровень стойкости при ключах в 8–12 раз меньшего размера.

  • В сетевом взаимодействии (TLS/SSH) всегда задействуйте гибридные схемы с ECDHE. Одноразовые эфимерные ключи гарантируют, что утечка приватного ключа сервера в будущем не позволит расшифровать архив прошлых сессий.

  • Строго следите за вектором инициализации (IV): никогда не используйте повторно комбинацию Key + IV в режимах CTR и GCM — это разрушает математическую защиту и приводит к утечке открытого текста.

  • Учитывайте законодательство РФ: при работе с персональными данными (152-ФЗ), объектами КИИ (187-ФЗ) и в госзакупках заранее закладывайте поддержку сертифицированных СКЗИ (КриптоПро CSP, ViPNet) и стандартов ГОСТ.

  • Готовьтесь к квантовой угрозе: выбирайте симметричные ключи длиной 256 бит (запас против алгоритма Гровера) и закладывайте в архитектуру криптографическую гибкость (crypto-agility), чтобы в будущем безболезненно заменить алгоритмы подписи на постквантовые (ML-KEM, ML-DSA).

Оцените статью
autoparse.tech
Добавить комментарий