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

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

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

История

Древние и классические методы

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

Развитие в XX веке

В начале XX века, с появлением радиосвязи и телеграфа, возникла потребность в надёжной защите сообщений. В 1918 году немецкий инженер Артур Шербиус создал роторную шифровальную машину «Энигма», которая использовала механические роторы для реализации симметричного шифрования. Во время Второй мировой войны «Энигма» применялась нацистской Германией для шифрования военных приказов, но была взломана британскими криптоаналитиками во главе с Аланом Тьюрингом.

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

Современный этап

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

Классификация

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

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

Поточные шифры обрабатывают данные непрерывно, побитно или побайтно, генерируя псевдослучайную последовательность ключевого потока, которая складывается с открытым текстом (обычно по модулю 2). Примеры: RC4 (Rivest Cipher 4), Salsa20, ChaCha. Поточные шифры эффективны для потоковой передачи данных (например, в аудио- и видеосвязи), но требуют строгого контроля за синхронизацией ключа.

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

Блочные шифры работают с фиксированными блоками данных (обычно 64 или 128 бит). Каждый блок шифруется независимо или с использованием цепочек блоков. Основные блочные шифры: AES, DES, 3DES (Triple DES), ГОСТ 28147-89 (российский стандарт, также известный как «Магма»), Blowfish, Twofish. Для обеспечения безопасности при шифровании блоков применяются режимы работы (см. ниже).

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

Основные компоненты

Симметричный шифр состоит из следующих элементов:

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

Сеть Фейстеля

Многие блочные шифры (например, DES, ГОСТ 28147-89) построены на основе сети Фейстеля — структуры, в которой блок данных делится на две половины, и в каждом раунде одна половина преобразуется с помощью функции, зависящей от ключа, а затем складывается с другой половиной. Это позволяет использовать одну и ту же схему как для шифрования, так и для расшифрования.

Подстановочно-перестановочная сеть (SP-сеть)

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

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

Для шифрования данных произвольной длины блочные шифры используют режимы работы, которые определяют, как обрабатываются последовательные блоки. Основные режимы:

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

Применение

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

  • Защита данных на дисках — шифрование жёстких дисков и SSD (например, BitLocker, FileVault, dm-crypt) использует AES.
  • Шифрование сетевого трафика — протоколы TLS/SSL, IPsec, SSH применяют симметричные шифры для защиты данных после установления соединения (обычно AES или ChaCha20).
  • Беспроводная связь — Wi-Fi (стандарты WPA2/WPA3) использует AES-CCMP для шифрования.
  • Электронная почта — протоколы PGP и S/MIME могут использовать симметричное шифрование для защиты содержимого сообщений.
  • Криптовалюты — в некоторых блокчейн-системах (например, в Monero) применяются симметричные шифры для скрытия транзакций.

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

Стойкость к перебору

Безопасность симметричного шифра зависит от длины ключа. Для современных алгоритмов (AES-256) полный перебор 2^256 ключей считается практически невозможным даже при использовании квантовых компьютеров. Однако для DES (56 бит) перебор возможен с помощью специализированного оборудования.

Криптоанализ

Основные типы атак на симметричные шифры:

  • Линейный криптоанализ — основан на нахождении линейных аппроксимаций между открытым текстом, шифротекстом и ключом.
  • Дифференциальный криптоанализ — анализирует влияние разностей в открытых текстах на разности в шифротекстах.
  • Атака по сторонним каналам — использует информацию о времени выполнения, энергопотреблении или электромагнитном излучении устройства.
  • Атака «встреча посередине» — применяется к шифрам с множественной шифровкой (например, 3DES).

Квантовая угроза

Квантовые компьютеры, использующие алгоритм Гровера, могут ускорить перебор ключа симметричных шифров: для ключа длиной n бит время поиска сокращается с O(2^n) до O(2^(n/2)). Таким образом, AES-256 остаётся стойким к квантовым атакам (эффективная стойкость 128 бит), в то время как AES-128 становится уязвимым.

Интересные факты

  • Алгоритм AES был выбран после открытого конкурса NIST, в котором участвовали 15 кандидатов из разных стран.
  • Российский стандарт ГОСТ 28147-89 («Магма») был разработан в 1989 году и использует 256-битный ключ и сеть Фейстеля с 32 раундами. В 2015 году был принят новый стандарт ГОСТ Р 34.12-2015 («Кузнечик»), основанный на SP-сети.
  • Шифр RC4, разработанный Роном Ривестом в 1987 году, долгое время использовался в протоколах WEP и TLS, но был признан небезопасным из-за множества уязвимостей (атаки на основе слабых ключей).
  • В 2023 году NIST объявил о начале работы над стандартами постквантовой криптографии, которые могут заменить симметричные шифры в будущем.

Источники

  • Шнайер Б. «Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си». — 2-е изд. — М.: Триумф, 2002.
  • Стинсон Д. «Криптография. Теория и практика». — М.: ДМК Пресс, 2019.
  • National Institute of Standards and Technology. «Advanced Encryption Standard (AES)». FIPS PUB 197, 2001.
  • Федеральный закон «О техническом регулировании» (ГОСТ 28147-89, ГОСТ Р 34.12-2015).

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

На главную BFOmetr →