Ларьян-э-Мюнан
- 1 year ago
- 0
- 0
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).