Triple 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. Официальное название алгоритма, используемое в стандартах — TDEA или Triple DEA (англ. Triple Data Encryption Algorithm). Однако, термин «3DES» используется более широко поставщиками, пользователями и разработчиками криптосистем.

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

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

Второй вариант является несколько менее стойким, с длиной ключа, равной 2 × 56 = 112 бит. Однако, этот вариант шифрования более надежен, чем обычное двойное шифрование с помощью DES с ключами и : он защищает от атак «встреча посередине».