Interested Article - DESX

DESX — симметричный алгоритм шифрования, разработанный на основе блочного шифра DES (Data Encryption Standard). Данный алгоритм использует метод с целью усиления устойчивости к атакам на основе полного перебора .

История

Исходный алгоритм DES был утвержден в качестве стандарта в 1977 и имел длину ключа 56 бит ( возможных ключей). Алгоритм подвергался критике из-за того что вычислительные мощности для полного перебора ключей были доступны крупным организациям и правительствам, в частности Агентству Национальный Безопасности США . Для увеличения длины ключа алгоритма DES без его существенной переработки криптоаналитиком Рональдом Ривестом из компании был предложен алгоритм DESX в 1984 г. Повышенная стойкость алгоритма была формально продемонстрирована и в 1996 г.

Описание

Суть алгоритма состоит в том, что перед выполнением однократного DES и после него на данные операцией XOR накладываются различные 64-битные фрагменты ключа:

Таким образом, длина ключа увеличивается до 56 + 2 × 64 = 184 бит.

DESX полностью совместим с алгоритмом DES в случае, если К 1 = К 2 = 0. Авторы алгоритма дают ряд несложных рекомендаций, позволяющих использовать переменный размер ключа шифрования, предварительно применив к нему хеширование алгоритмом SHA-1 . Кроме того, авторы алгоритма допускают использование 120-битного ключа шифрования, при этом К 1 устанавливается равным К 2 . Существует вариант DESX, также разработанный компанией RSA, со 120-битным ключом, состоящим из К и К 1 , а значение К 2 является функцией всех 16 байтов ключа шифрования. Известен еще один вариант алгоритма DESX, в котором вместо обеих операций XOR выполняется сложение по модулю .

Скорость алгоритма DESX приблизительно равна скорости DES.

DESX достаточно стоек, имеет аппаратную реализацию и широко используется.

Реализация DESX включена в криптографические библиотеки BSAFE компании RSA Security с конца 80х годов.

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

Хотя длина ключа алгоритма DESX — 184 бита, эффективная длина ключа составляет 56 + 64 — 1 — log 2 (M) = 119 — log 2 (M) = ~119 бит, где М — число известных пар открытый текст/шифротекст. Более того длина ключа падает до 88 бит при известных открытых текстах и при использовании атаки на основе адаптивно подобранного открытого текста . Поэтому некоторые реализации используют ключ К 2 как одностороннюю функцию от К 1 и К.

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

Ссылки

  • Joe Kilian and Phillip Rogaway, (PDF), Advances in Cryptology — Crypto '96, Springer-Verlag (1996), pp. 252—267.
  • Phillip Rogaway, (PostScript)
  • A. Biryukov and D. Wagner, Advanced Slide Attacks, Eurocrypt 2000, Springer-Verlag (2000), pp.589-606
Источник —

Same as DESX