DESX

DESX
Создатель Рональд Ривест
Создан 1984
Размер ключа 184 бит
Размер блока 64 бит
Число раундов 16
Тип Сеть Фейстеля

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

История

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

Описание

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

DES-X( M ) = K 2 DES K ( M K 1 ) {\displaystyle {\mbox{DES-X(}}M)=K_{2}\oplus {\mbox{DES}}_{K}(M\oplus K_{1})}

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

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

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

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

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

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

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

DESX также увеличивает стойкость DES к дифференциальному и линейному криптоанализу, хотя улучшение не столь значительное, чем в случае атаки на основе полного перебора ключей. Для успешной атаки на алгоритм DESX дифференциальный криптоанализ потребует 2 61 {\displaystyle 2^{61}} известных открытых текстов ( 2 47 {\displaystyle 2^{47}} для DES), а линейный криптоанализ — 2 60 {\displaystyle 2^{60}} текстов( 2 43 {\displaystyle 2^{43}} для DES).

Ссылки

  • Joe Kilian and Phillip Rogaway, How to protect DES against exhaustive key search (PDF), Advances in Cryptology — Crypto '96, Springer-Verlag (1996), pp. 252—267.
  • Phillip Rogaway, The security of DESX (PostScript)
  • A. Biryukov and D. Wagner, Advanced Slide Attacks, Eurocrypt 2000, Springer-Verlag (2000), pp.589-606
Перейти к шаблону «Симметричные криптосистемы»
Потоковые шифры
Сеть Фейстеля
SP-сеть
Другие