Triple DES

Triple DES- Cимметричный блочный шифр, созданный Уитфилдом Диффи, Мартином Хеллманом и Уолтом Тачманном в 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(k3;DES(k2;DES(k1;M)))
где k1, k2, k3 — ключи для каждого DES-шага,
М — входные данные, которые нужно шифровать
Это вариант известен как в ЕЕЕ, так как три DES операции являюся шифрованием.

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

Шифрования:

Дешифрования:

При выполнении алгоритма 3DES ключи могут быть выбраны так:
k1, k2, k3 независимы.
k1, k2 независимы, а k1 = k3
k1 = k2 = k3
Принципы работы

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

Обновлено: 11.03.2015