Открыть сервис

Симметричные шифры

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

История развития

Ручные и механические шифры

Первые известные симметричные шифры появились в глубокой древности. Одним из простейших является шифр Цезаря, использовавшийся в Древнем Риме для переписки. Он представлял собой подстановочный шифр, где каждая буква алфавита заменялась на другую, сдвинутую на фиксированное число позиций. Ключом служила величина сдвига. В Средние века получили распространение более сложные полиалфавитные шифры, такие как шифр Виженера, где ключ представлял собой слово или фразу.

С изобретением механических устройств в XIX—XX веках симметричное шифрование вышло на новый уровень. Наиболее известным примером является немецкая шифровальная машина «Энигма», использовавшаяся во время Второй мировой войны. Она реализовывала сложный роторный шифр, который, однако, был взломан британскими криптоаналитиками, что существенно повлияло на ход войны.

Эра компьютерного шифрования

С появлением электронных вычислительных машин в середине XX века началось активное развитие алгоритмов симметричного шифрования. В 1977 году Национальным институтом стандартов и технологий США (NIST) был принят стандарт DES (Data Encryption Standard). DES использовал 56-битный ключ и 64-битный блок данных. Он стал основой для многих систем безопасности, однако к концу 1990-х годов его ключ стал уязвим для атак полным перебором.

В 2001 году NIST утвердил новый стандарт — AES (Advanced Encryption Standard), разработанный бельгийскими криптографами Винсентом Рэйменом и Йоаном Дайменом. AES использует ключи длиной 128, 192 или 256 бит и блоки данных по 128 бит. На сегодняшний день AES является наиболее широко применяемым симметричным шифром в мире, в том числе в правительственных и военных системах США.

Классификация симметричных шифров

Симметричные шифры делятся на два основных типа в зависимости от способа обработки данных: поточные и блочные.

Поточные шифры

Поточные шифры шифруют данные побитно (или побайтно), генерируя бесконечную псевдослучайную последовательность (гамму) на основе ключа и объединяя её с открытым текстом с помощью операции XOR. Ключевым требованием является уникальность гаммы для каждого сеанса шифрования (одноразовость ключа).

  • Примеры: RC4, A5/1 (использовался в стандарте GSM), Salsa20, ChaCha20.
  • Преимущества: Высокая скорость работы, низкая задержка, подходят для потоковой передачи данных (аудио, видео).
  • Недостатки: Сложность обеспечения синхронизации, уязвимость к повторному использованию гаммы.

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

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

  • Примеры: AES (Rijndael), DES, 3DES, Blowfish, Twofish.
  • Преимущества: Высокая криптостойкость, широкий выбор режимов работы.
  • Недостатки: Более сложная реализация, необходимость дополнения данных до целого числа блоков (padding).

Режимы работы блочных шифров

Для блочных шифров разработано несколько стандартных режимов:

  • ECB (Electronic Codebook): Каждый блок шифруется независимо. Уязвим к анализу повторяющихся блоков, не рекомендуется для использования.
  • CBC (Cipher Block Chaining): Каждый блок перед шифрованием объединяется с предыдущим зашифрованным блоком. Требует вектор инициализации (IV).
  • CFB (Cipher Feedback): Превращает блочный шифр в поточный, шифруя предыдущий блок гаммы.
  • OFB (Output Feedback): Генерирует гамму из шифрования предыдущего блока гаммы.
  • CTR (Counter): Шифрует последовательность счётчиков, что позволяет распараллеливать шифрование и расшифрование.

Устройство и принципы работы

Общая схема

Процесс симметричного шифрования включает три основных элемента:

  1. Открытый текст — исходное сообщение.
  2. Ключ шифрования — секретная последовательность битов.
  3. Алгоритм шифрования — математическая функция, которая преобразует открытый текст в шифротекст.

Расшифрование выполняется обратной функцией с использованием того же ключа. Математически это можно записать как:

  • Шифрование: \( C = E_K(P) \)
  • Расшифрование: \( P = D_K(C) \)

где \( P \) — открытый текст, \( C \) — шифротекст, \( K \) — ключ, \( E \) и \( D \) — функции шифрования и расшифрования.

Криптографические примитивы

Большинство современных симметричных шифров (особенно блочных) строятся на основе двух фундаментальных принципов, сформулированных Клодом Шенноном:

  • Перемешивание (confusion): Запутывание связи между ключом и шифротекстом. Достигается с помощью нелинейных операций, таких как замена (S-блоки).
  • Рассеивание (diffusion): Распространение влияния каждого бита открытого текста и ключа на множество битов шифротекста. Достигается с помощью перестановок (P-блоки) и линейных преобразований.

Типичная структура блочного шифра — сеть Фейстеля (например, в DES) или подстановочно-перестановочная сеть (SP-сеть, например, в AES). В сети Фейстеля блок данных делится на две половины, которые обрабатываются в нескольких раундах с использованием функции раунда и подключей. SP-сеть выполняет последовательность замен и перестановок над всем блоком.

Применение симметричных шифров

Симметричные шифры являются основой современной информационной безопасности и применяются в самых разных областях:

  • Шифрование данных на носителях: Алгоритмы AES и Twofish используются для шифрования жёстких дисков (BitLocker, FileVault), USB-накопителей и облачных хранилищ.
  • Защита каналов связи: Протоколы TLS/SSL, VPN (IPsec, OpenVPN) и SSH используют симметричные шифры для шифрования передаваемого трафика.
  • Беспроводные сети: WPA2 и WPA3 (стандарты безопасности Wi-Fi) базируются на AES.
  • Криптовалюты: Некоторые алгоритмы хеширования и шифрования в блокчейне (например, SHA-256 не является симметричным шифром, но симметричные шифры используются в кошельках).
  • Государственная и военная связь: Специализированные алгоритмы, такие как «Кузнечик» (ГОСТ Р 34.12-2015), используются в системах правительственной связи Российской Федерации.

Криптостойкость и атаки

Основные виды атак

  • Атака полным перебором (brute force): Перебор всех возможных ключей. Эффективность зависит от длины ключа. Для 128-битного ключа (AES) полный перебор невозможен на современных компьютерах.
  • Линейный криптоанализ: Поиск линейных аппроксимаций между открытым текстом, шифротекстом и ключом.
  • Дифференциальный криптоанализ: Анализ влияния различий в открытых текстах на различия в шифротекстах.
  • Атаки по сторонним каналам: Измерение времени выполнения, потребляемой мощности или электромагнитного излучения для восстановления ключа.
  • Атаки на основе выбранного открытого текста: Криптоаналитик может временно шифровать произвольные сообщения.

Факторы, влияющие на стойкость

  • Длина ключа: Чем длиннее ключ, тем больше времени требуется для полного перебора. Современным стандартом считается 128-256 бит.
  • Качество алгоритма: Отсутствие математических уязвимостей, хорошее перемешивание и рассеивание.
  • Режим работы: Неправильный выбор режима (например, ECB) может сделать шифр уязвимым даже при сильном алгоритме.

Сравнение с асимметричными шифрами

ХарактеристикаСимметричные шифрыАсимметричные шифры
Количество ключейОдин секретныйПара: открытый и закрытый
СкоростьВысокаяНизкая (в 100–1000 раз медленнее)
Длина ключа128–256 бит2048–4096 бит
Управление ключамиСложное (нужно безопасно передать ключ)Проще (открытый ключ можно публиковать)
ПрименениеШифрование больших объёмов данныхЦифровые подписи, обмен ключами

На практике симметричные и асимметричные шифры часто комбинируются: асимметричный алгоритм (например, RSA) используется для безопасной передачи симметричного ключа, после чего данные шифруются симметричным алгоритмом (например, AES). Этот подход называется гибридным шифрованием.

Стандарты и алгоритмы в России

В Российской Федерации действуют национальные стандарты симметричного шифрования, установленные ГОСТ:

  • ГОСТ 28147-89 — старый стандарт, использует 256-битный ключ и 64-битный блок. К 2020-м годам считается устаревшим из-за малого размера блока.
  • ГОСТ Р 34.12-2015 — новый стандарт, включающий два алгоритма:
  • «Магма» — 64-битный блочный шифр с 256-битным ключом (замена ГОСТ 28147-89).
  • «Кузнечик» — 128-битный блочный шифр с 256-битным ключом, предназначенный для использования в системах высшей степени защиты.

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

Критика и ограничения

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

Другое ограничение — отсутствие неотказуемости (non-repudiation). Поскольку обе стороны имеют одинаковый ключ, нельзя доказать, кто именно создал данное сообщение. Для доказательства авторства используются цифровые подписи на основе асимметричных алгоритмов.

Источники

  • Шеннон, К. «Теория связи в секретных системах» (1949).
  • Менезес, А., ван Орсхот, П., Ванстоун, С. «Handbook of Applied Cryptography» (1996).
  • Федеральный закон РФ «Об информации, информационных технологиях и о защите информации» (№ 149-ФЗ).
  • ГОСТ Р 34.12-2015 «Информационная технология. Криптографическая защита информации. Блочные шифры».
  • NIST. «Advanced Encryption Standard (AES)» (FIPS PUB 197, 2001).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →