DESX
DESX — это симметричный блочный шифр, модификация алгоритма DES (Data Encryption Standard), разработанная компанией RSA Laboratories (ныне подразделение корпорации EMC, входит в Dell Technologies) в 1990-х годах. Основная цель создания DESX заключалась в повышении стойкости классического DES к атаке полным перебором ключа (brute-force) без изменения внутренней структуры шифра. DESX использует 64-битный блок и 120-битный ключ, что делает его более устойчивым к линейному и дифференциальному криптоанализу, а также к атаке «встреча посередине» (meet-in-the-middle).
История
Алгоритм DES был принят в качестве стандарта шифрования в США в 1977 году и использовался в банковской сфере, правительственных учреждениях и коммерческих приложениях. Однако к началу 1990-х годов его 56-битный ключ стал уязвимым для атак полным перебором: в 1998 году проект Electronic Frontier Foundation (EFF) с помощью специализированного устройства «Deep Crack» взломал DES за 56 часов. Для продления срока службы алгоритма без радикальной замены инфраструктуры RSA Laboratories предложила простую модификацию — DESX.
В 1999 году алгоритм был опубликован в техническом отчёте RSA Laboratories. DESX не стал официальным стандартом (например, ANSI или NIST), но нашёл применение в ряде коммерческих продуктов, включая ранние версии шифрования в Microsoft Windows (например, в системе шифрования файлов EFS). Позднее, с появлением более надёжных алгоритмов (AES, Triple DES), DESX утратил актуальность.
Устройство и принцип работы
DESX основан на стандартном DES, но с дополнительными операциями наложения ключа до и после основного преобразования. Формально шифрование DESX описывается как:
\[ C = K_3 \oplus DES_{K_1}(P \oplus K_2) \]
где:
- \(P\) — 64-битный открытый текст;
- \(C\) — 64-битный шифротекст;
- \(K_1\) — 56-битный ключ DES (внутренний);
- \(K_2\) и \(K_3\) — 64-битные ключи (внешние «отбеливающие» ключи);
- \(\oplus\) — операция побитового исключающего ИЛИ (XOR);
- \(DES_{K_1}\) — шифрование по алгоритму DES с ключом \(K_1\).
Общий ключ DESX имеет длину 56 + 64 + 64 = 184 бита, однако эффективная длина ключа с учётом атаки «встреча посередине» оценивается в 119 бит (с округлением до 120 бит). Это значительно выше, чем у DES (56 бит), и сопоставимо с Triple DES (112 или 168 бит).
Отличия от DES
- Дополнительное отбеливание: перед шифрованием DES открытый текст XORится с ключом \(K_2\), а после шифрования результат XORится с ключом \(K_3\). Это усложняет атаки полным перебором и линейный криптоанализ.
- Сохранение внутренней структуры: все раунды DES (16 раундов, S-блоки, перестановки) остаются без изменений, что упрощает аппаратную реализацию на существующих чипах DES.
- Увеличение ключа: ключ DESX в 3,3 раза длиннее ключа DES, что делает прямой перебор практически невозможным.
Криптоанализ и стойкость
DESX был разработан для защиты от атак, которые угрожали классическому DES:
- Атака полным перебором: для DESX требуется перебор \(2^{120}\) вариантов ключа, что на порядки превышает возможности современных вычислительных систем (по состоянию на 2025 год). Однако теоретически возможна атака «встреча посередине» с трудоёмкостью \(2^{119}\) операций, что всё равно остаётся недостижимым для практических целей.
- Линейный криптоанализ: отбеливание ключами \(K_2\) и \(K_3\) не влияет на внутреннюю структуру DES, поэтому DESX сохраняет ту же уязвимость к линейному криптоанализу, что и DES (требуется около \(2^{47}\) известных открытых текстов). Однако на практике такой объём данных редко доступен атакующему.
- Дифференциальный криптоанализ: аналогично, DESX не улучшает защиту от дифференциальных атак по сравнению с DES (требуется \(2^{47}\) выбранных открытых текстов).
В 1998 году криптографы Джо Килман и Филипп Рогэвей доказали, что DESX устойчив к атакам «встреча посередине» с эффективной длиной ключа 119 бит. В 2000 году была предложена атака с использованием связанных ключей (related-key attack), но она требовала нереалистичных условий (например, доступа к шифрованию на связанных ключах).
Применение
DESX использовался в следующих областях:
- Программное обеспечение: в ранних версиях Microsoft Windows (Windows 2000, Windows XP) для шифрования файлов в системе EFS (Encrypting File System) применялся DESX как один из алгоритмов по умолчанию.
- Банковские системы: некоторые финансовые учреждения использовали DESX как временную меру для защиты данных при переходе с DES на Triple DES или AES.
- Аппаратные модули безопасности (HSM): в некоторых HSM поддерживался DESX для обратной совместимости с устаревшими протоколами.
С 2000-х годов DESX практически вытеснен более современными алгоритмами: AES (Rijndael), Triple DES (TDEA) и ГОСТ 28147-89 («Магма»). В 2023 году Национальный институт стандартов и технологий США (NIST) официально объявил DES устаревшим, что автоматически распространяется и на его модификации, включая DESX.
Критика
Основные недостатки DESX:
- Слабая защита от линейного криптоанализа: внутренняя структура DES не была изменена, поэтому DESX уязвим к тем же атакам, что и DES, при условии большого объёма известных открытых текстов.
- Неэффективность против атак по сторонним каналам: отбеливание ключами не защищает от атак, основанных на анализе времени выполнения, энергопотребления или электромагнитного излучения.
- Устаревшая архитектура: 64-битный блок шифра делает DESX уязвимым для атак на основе коллизий (например, атака «день рождения»), особенно при шифровании больших объёмов данных (более \(2^{32}\) блоков).
- Отсутствие стандартизации: DESX не был принят ни одним международным или национальным органом стандартизации, что ограничивало его использование в критических приложениях.
Интересные факты
- Название «DESX» расшифровывается как «DES eXtended» или «DES with XOR».
- Алгоритм был запатентован RSA Laboratories (патент США № 5,675,649), но патент истёк в 2015 году.
- В 1999 году компания RSA Laboratories предложила вариант DESX с 64-битным ключом \(K_2\) и 64-битным ключом \(K_3\), но в некоторых реализациях \(K_2\) и \(K_3\) были равны, что снижало стойкость до 119 бит.
- DESX упоминается в книге «Applied Cryptography» Брюса Шнайера как пример простого улучшения DES.
Источники
- Kilian J., Rogaway P. How to Protect DES Against Exhaustive Key Search (1996).
- RSA Laboratories. Technical Report TR-001: The DESX Algorithm (1999).
- Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography (1996).
- Schneier B. Applied Cryptography: Protocols, Algorithms, and Source Code in C (1996).
- NIST Special Publication 800-67: Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher (2017).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →