- •Вопрос №2. Des. Свойства, принцип работы (подробно). Режимы использования des. Модификации des. Криптоанализ des. Проблема последнего блока. Сравнить с гост.
- •Принцип работы алгоритма
- •Режимы использования шифра des
- •Криптостойкость алгоритма
- •Увеличение криптостойкости алгоритма (модификации des)
- •Сравнение шифров гост 28147-89 и des
Увеличение криптостойкости алгоритма (модификации des)
С целью увеличения криптостойкости флгоритма DES было разработано несколько его модификаций: double DES (2DES), triple DES (3DES), DESX, G-DES.
Методы 2DES и 3DES основаны на DES, но увеличивают длину ключей (2DES — 112 бит, 3DES — 168 бит) чем и увеличивают криптостойкость.
Схема 3DES имеет вид DES(k3,DES(k2,DES(k1,M))), где k1,k2,k3 ключи для каждого шифра DES. Это вариант известен как ЕЕЕ, так как три DES-операции осуществляют шифрование. Существует 3 типа алгоритма 3DES:
DES-EEE3: Шифруется три раза с 3 разными ключами.
DES-EDE3: 3DES операции шифровка-расшифровка-шифровка с 3 разными ключами.
DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, который первая и третья операции используют одинаковый ключ.
При выполнении алгоритма 3DES ключи могут выбрать так:
k1,k2,k3 независимы.
k1,k2 независимы, а k1 = k3
k1 = k2 = k3.
Метод DESX создан Рональдом Ривестом. Этод метод — усиленный вариант DES, поддерживаемый инструментарием RSA Security. DESX отличается от DES тем, что каждый бит входного открытого текста DESX логически суммируется по модулю 2 с 64 битами дополнительного ключа, а затем шифруется по алгоритму DES. Каждый бит результата также логически суммируется по модулю 2 с другими 64 битами ключа. Главной причиной использования DESX является простой в вычислительном смысле способ значительного повысить стойкость DES к атакам полного перебора ключа.
Метод G-DES разработан для повышения производительности DES на основе увеличения размером шифрованного блока. Заявлялось, что G-DES защищен так же, как и DES. Однако Бихам и Шамир показали, что G-DES с рекомендуемыми параметрами легко взламывается, а при любых изменениях параметров шифр становится ещё менее защищен, чем DES.
Ещё другой вариант DES использует независимые суб-ключи. Различно от алгоритма DES, в котором на основе 56-битового секретного ключа пользователя алгоритм DES получает шестнадцать 48-битных суб-ключей для использования в каждом из 16 раундов, в этом варианте использует 768-битный ключа (разделенного на 16 48-битных подключей) вместо 16 зависимых 48-битных ключей, создаваемых по ключевому графику алгоритма DES. Хотя очевидно, что использование независимых суб-ключей значительно усложнит полный поиск ключа, но стойкость к атаке дифференциальным или линейным криптоанализом не намного превысит стойкость обычного DES. По оценке Бихама для дифференциального криптоанализа DES с независимыми подключами требуется 261 выбранных открытых текстов, в то время как для линейного криптоанализа требуется 260 известных открытых текстов.
Сравнение шифров гост 28147-89 и des
Параметр |
ГОСТ |
DES |
Размер блока шифрования |
64 бита |
64 бита |
Длина ключа |
256 бит |
56 бит |
Число раундов |
32 |
16 |
Узлы замен (S-блоки) |
не фиксированы |
фиксированы |
Длина ключа для одного раунда |
32 бита |
48 бит |
Схема выработки раундового ключа |
простая |
сложная |
Начальная и конечная перестановки битов |
нет |
есть |
Функция шифрования ГОСТа гораздо проще функции шифрования DES, она не содержит операций битовых перестановок, коими изобилует DES и которые крайне неэффективно реализуются на современных универсальных процессорах. В силу сказанного, при вдвое большем количестве раундов (32 против 16) программная реализация ГОСТа на процессорах более чем в 2 раза превосходит по быстродействию реализацию DES. Естественно, сравнивались близкие к оптимуму по быстродействию реализации.
На каждом раунде шифрования используется "раундовый ключ", в DES он 48-битовый и вырабатывается по относительно сложному алгоритму, включающему битовые перестановки и замены по таблице, в ГОСТе он берется как фрагмент ключа шифрования. Длина ключа шифрования в ГОСТе равна 256 битам, длина раундового ключа - 32 битам, итого получаем, что ключ шифрования ГОСТа содержит 256/32=8 раундовых ключей. В ГОСТе 32 раунда, следовательно, каждый раундовый ключ используется 4 раза, порядок использования раундовых ключей установлен в ГОСТе и различен для различных режимов.
Таблица замен в ГОСТе – аналог S-блоков DES – представляет собой таблицу (матрицу) размером 8x16, содержащую число от 0 до 15. В каждой строке каждое из 16-ти чисел должно встретиться ровно 1 раз. В отличие от DES, таблица замен в ГОСТе одна и та же для всех раундов и не зафиксирована в стандарте, а является сменяемым секретным ключевым элементом.
В ГОСТе, в отличие от DES, нет начальной и конечной битовых перестановок шифруемого блока, которые, по мнению ряда специалистов, не влияют существенно на стойкость шифра, хотя влияют (в сторону уменьшения) на эффективность его реализации.