DESX

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 2 декабря 2019 года; проверки требуют2 правки.
Перейти к навигацииПерейти к поиску
DESX
СоздательРональд Ривест
Создан1984
Размер ключа184 бит
Размер блока64 бит
Число раундов16
ТипСеть Фейстеля

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

Содержание

История

[править |править код]

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

Описание

[править |править код]

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

DES-X(M)=K2DESK(MK1){\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 выполняется сложение по модулю264{\displaystyle 2^{64}}.

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

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

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

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

[править |править код]

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

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

Ссылки

[править |править код]
Перейти к шаблону «Симметричные криптосистемы»
Потоковые шифры
Сеть Фейстеля
SP-сеть
Другие
Источник —https://ru.wikipedia.org/w/index.php?title=DESX&oldid=145096511
Категории: