Light-industry-up.ru

Экосистема промышленности

3-DES

14-10-2023

Triple DES
Создатель:

IBM

Опубликован:

1978 г.

Размер ключа:

112 (2TDES) или 168 bits (3TDES)

Размер блока:

64 бит

Число раундов:

48 DES-эквивалентных раундов

Тип:

Сеть Фейстеля

Triple DES (3DES) — симметричный блочный шифр, созданный Уитфилдом Диффи, Мартином Хеллманом и Уолтом Тачманном в 1978 году на основе алгоритма DES, с целью устранения главного недостатка последнего — малой длины ключа (56 бит), который может быть взломан методом полного перебора ключа. Скорость работы 3DES в 3 раза ниже, чем у DES, но криптостойкость намного выше — время, требуемое для криптоанализа 3DES, может быть в миллиард раз больше, чем время, нужное для вскрытия DES. 3DES используется чаще, чем DES, который легко ломается при помощи сегодняшних технологий (в 1998 году организация Electronic Frontier Foundation, используя специальный компьютер DES Cracker, вскрыла DES за 3 дня). 3DES является простым способом устранения недостатков DES. Алгоритм 3DES построен на основе DES, поэтому для его реализации возможно использовать программы, созданные для DES.

Содержание

Алгоритм

Схема алгоритма 3DES имеет такой вид, как на рисунке. Простой вариант 3DES можно представить так:

где , ,  — ключи для каждого DES-шага,  — входные данные, которые нужно шифровать. Это вариант известен как в ЕЕЕ, так как три DES операции являются шифрованием. Существует 3 типа алгоритма 3DES:

  • DES-EEE3: Шифруется три раза с тремя разными ключами (операции шифрование-шифрование-шифрование).
  • DES-EDE3: 3DES операции шифровка-расшифровка-шифровка с тремя разными ключами.
  • DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, что на первом и третьем шаге используется одинаковый ключ.

Самый популярная разновидность 3DES — это DES-EDE3, для него алгоритм выглядит так:

Шифровка:
Расшифровка:

При выполнении алгоритма 3DES ключи могут быть выбраны так:

  • , , независимы.
  • , независимы, а

3DES выполняет 3 раза алгоритм DES, длина ключа DES равна 64 бита, а длина 3DES в 3 раза больше, то есть равна 192 битов. Для DES 64-разрядный ключ делился на 8 байтов, в каждом байте используется только 7 битов, поэтому на самом деле длина ключа равна 56 битов, а не 64, поэтому длина ключа 3DES на самом деле равна 168, а не 192 бита.

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

3DES с различными ключами имеет длину ключа равную 168 бит, но из-за атак «человек в середине» (англ. man-in-the-middle) эффективная криптостойкость составляет только 112 бит. В варианте DES-EDE, в котором , эффективный ключ имеет длину 80 бит. Для успешной атаки на 3DES потребуется около бит известного открытого текста, шагов, циклов DES-шифрования и бит памяти.

Применение 3DES

3DES с тремя ключами реализован во многих приложениях, ориентированных на работу с Интернет, в том числе в PGP и S/mime. Тройной DES является довольно популярной альтернативой DES и используется при управлении ключами в стандартах ANSI X9.17 и ISO 8732 и в PEM (Privacy Enhanced Mail). Известных криптографических атак, применимых на практике, на 3DES не существует.

Тем не менее, 3DES (который ещё обозначают как TDES) понемногу выходит из употребления, заменяемый новым алгоритмом AES Rijndael. Rijndael, реализованный программно, работает в шесть раз быстрее. Поэтому 3DES больше подходит для аппаратных реализаций.

Наибольшее применение в прикладных системах нашел вариант 3DES/Triple DES, использующий 2 ключа длиной 56 бит каждый (8-й бит -- четности): исходный открытый текст шифруется первым ключом, полученный результат расшифровывается вторым, полученный результат (т.е.полная бессмыслица) повторно шифруется первым ключом. Таким образом, длина ключа в алгоритме 3DES составляет 112 (2*56) бит.

Ссылки

  • 3DES с использованием CryptoAPI и .NET
  • DES/3DES with Atmel FPSLIC
  • Triple DES

См. также

3-DES.

© 2014–2023 light-industry-up.ru, Россия, Краснодар, ул. Листопадная 53, +7 (861) 501-67-06