DES

DES
DES, Data Encryption Standard
Создатель:

IBM

Создан:

1977 г.

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

1977 г.

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

56 бит

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

64 бит

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

16

Тип:

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

DES (Data Encryption Standard) — симметричный алгоритм шифрования, разработанный фирмой IBM и утвержденный правительством США в 1977 году как официальный стандарт (FIPS 46-3). DES имеет блоки по 64 бита и 16 цикловую структуру сети Фейстеля, для шифрования использует ключ с длиной 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований. Для DES рекомендовано несколько режимов:

Прямым развитием DES в настоящее время является Triple DES.

Содержание

История

В 1972 году, после проведения исследования потребностей правительства США в компьютерной безопасности, американское НБС (Национальное Бюро Стандартов) — теперь переименовано НИСТ (Национальный Институт Стандартов и Технологий) — определило необходимость в общеправительственном стандарте шифрования некритичной информации. 15 мая 1973 года, после консультации с АНБ (Агентством национальной безопасности), НБС объявило конкурс на шифр, который удовлетворит строгим критериям проекта, но ни один конкурсант не обеспечивал выполнение всех требований. Второй конкурс был начат 27 августа 1974. На сей раз, шифр Lucifer, представленный IBM и развитый в течение периода 19731974 сочли приемлемым, он был основан на более раннем алгоритме Хорста Фейстеля.

17 марта 1975 года предложенный алгоритм DES был издан в Федеральном Регистре. В следующем году было проведено 2 открытых симпозиума по обсуждению этого стандарта, где подверглись жёсткой критике изменения, внесённые АНБ в алгоритм: уменьшение первоначальной длины ключа и S-блоки (блоки подстановки), критерии проектирования которых не раскрывались. АНБ подозревалось в сознательном ослаблении алгоритма с целью, чтобы АНБ могло легко просматривать зашифрованные сообщения. После чего сенатом США была проведена проверка действий АНБ, результатом которой стало заявление, опубликованное в 1978, в котором говорилось о том, что в процессе разработки DES АНБ убедило IBM, что уменьшенной длины ключа более чем достаточно для всех коммерческих приложений, использующих DES, косвенно помогало в разработке S-перестановок, а также, что окончательный алгоритм DES был лучшим, по их мнению, алгоритмом шифрования и был лишён статистической или математической слабости. Также было обнаружено, что АНБ никогда не вмешивалось в разработку этого алгоритма.

Часть подозрений в скрытой слабости S-перестановок была снята в 1990, когда были опубликованы результаты независимых исследований Эли Бихама (Eli Biham) и Ади Шамира (Adi Shamir) по дифференциальному криптоанализу — основному методу взлома блочных алгоритмов шифрования с симметричным ключом. S-блоки алгоритма DES оказались намного более устойчивыми к атакам, чем, если бы их выбрали случайно. Это означает, что такая техника анализа была известна АНБ ещё в 70-х годах XX века.

Но еще в 1998 году используя суперкомпьютер стоимостью 250 тыс. долл., сотрудники RSA Laboratory «взломали» утвержденный правительством США алгоритм шифрования данных (DES) менее чем за три дня. (Предыдущий рекорд по скорости взлома был установлен с помощью огромной сети, состоящей из десятков тысяч компьютеров, и составил 39 дней). На специально организованной по этому случаю пресс-конференции ученые с беспокойством говорили о том, что злоумышленники вряд ли упустят случай воспользоваться подобной уязвимостью. Эксперимент проходил в рамках исследования DES Challenge II, проводимого RSA Laboratory под руководством общественной организации Electronic Frontier Foundation (EFF), которая занимается проблемами информационной безопасности и личной тайны в Internet. Суперкомпьютер, построенный в RSA Laboratory для расшифровки данных, закодированных методом DES по 56-разрядному ключу, получил название EFF DES Cracker. Как утверждали правительственные чиновники и некоторые специалисты, для взлома кода DES требуется суперкомпьютер стоимостью в несколько миллионов долларов. «Правительству пора признать ненадежность DES и поддержать создание более мощного стандарта шифрования», — сказал президент EFF Барри Штайнхардт. Экспортные ограничения, накладываемые правительством США, касаются технологий шифрования по ключам длиной более 40 бит. Однако, как показали результаты эксперимента RSA Laboratory, существует возможность взлома и более мощного кода. Проблема усугубляется тем, что стоимость постройки подобного суперкомпьютера неуклонно снижается. «Через четыре-пять лет такие компьютеры будут стоять в любой школе», — говорит Джон Гилмор, руководитель проекта DES Challenge и один из основателей EFF.

DES является блочным шифром. Чтобы понять, как работает DES, необходимо рассмотреть принцип работы блочного шифра, сеть Фейстеля.

Блочный шифр

Рис.1 Прямое преобразование сетью Фейстеля
Рис.2 Обратное преобразование сетью Фейстеля

Входными данными для блочного шифра служат блок размером n бит и k-битный ключ. На выходе, после применения шифрующего преобразования, получается n-битный зашифрованный блок, причём незначительные различия входных данных как правило приводят к существенному изменению результата. Блочные шифры реализуются путём многократного применения к блокам исходного текста некоторых базовых преобразований.

Базовые преобразования:

  • Сложное преобразование на одной локальной части блока.
  • Простое преобразование между частями блока.

Так как преобразование производится поблочно, как отдельный шаг требуется разделение исходных данных на блоки необходимого размера. При этом вне зависимости от формата исходных данных, будь то текстовые документы, изображения или другие файлы, они должны быть интерпретированы в бинарный вид и только после этого разбиты на блоки. Все вышеперечисленное может осуществляться как программными, так и аппаратными средствами.

Преобразования Сетью Фейстеля

Это преобразование над векторами (блоками) представляющими собой левую и правую половины регистра сдвига. В алгоритме DES используются прямое преобразование сетью Фейстеля в шифровании (см. Рис.1) и обратное преобразование сетью Фейстеля в расшифровании (см. Рис.2).

Схема шифрования алгоритма DES

Рис.3 Схема шифрования алгоритма DES
Рис.4 Подробная схема шифрования алгоритма DES

Схема шифрования алгоритма DES указана на Рис.3

Исходный текст — блок 64 бит.

Процесс шифрования состоит из начальной перестановки, 16 циклов шифрования и конечной перестановки.

Начальная перестановка

Исходный текст T (блок 64 бит) преобразуется c помощью начальной перестановки IP которая определяется таблицей 1:

Таблица 1. Начальная перестановка IP
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7

По таблице первые 3 бита результирующего блока IP(T) после начальной перестановки IP являются битами 58, 50, 42 входного блока Т, а его 3 последние бита являются битами 23, 15, 7 входного блока.

Циклы шифрования

Полученный после начальной перестановки 64-битовый блок IP(T) участвует в 16-циклах преобразования Фейстеля.

— 16 циклов преобразования Фейстеля:

Разбить IP(T) на две части L_0, R_0, где L_0, R_0 — соответственно 32 старших битов и 32 младших битов блока T_0 IP(T)= L_0R_0

Пусть T_{i-1} = L_{i-1}R_{i-1} результат (i-1) итерации, тогда результат i-ой итерации T_i = L_iR_i определяется:

L_i = R_{i-1}
R_i = L_{i-1}\oplus f(R_{i-1},k_i)

Левая половина L_i равна правой половине предыдущего вектора L_{i-1}R_{i-1}. А правая половина R_i — это битовое сложение L_{i-1} и f(R_{i-1},k_i) по модулю 2.

В 16-циклах преобразования Фейстеля функция f играет роль шифрования. Рассмотрим подробно функцию f.

Основная функция шифрования (функция Фейстеля)

Аргументами функции f являются 32-битовый вектор R_{i-1} и 48-битовый ключ ki, который является результатом преобразования 56-битового исходного ключа шифра k.

Для вычисления функции f используются функция расширения Е, преобразование S, состоящее из 8 преобразований S-блоков S_1,S_2,S_3\ldots\ S_8, и перестановка P.

Функция Е расширяет 32-битовый вектор R_{i-1} до 48-битового вектора E(R_{i-1}) путём дублирования некоторых битов из R_{i-1}; при этом порядок битов вектора E(R_{i-1}) указан в таблице 2.

Таблица 2. Функция расширения E
32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
12 13 14 15 16 17
16 17 18 19 20 21
20 21 22 23 24 25
24 25 26 27 28 29
28 29 30 31 32 1

Первые три бита вектора E(R_{i-1}) являются битами 32, 1, 2 вектора R_{i-1}. По таблице 2 видно, что биты 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21, 24, 25, 28, 29, 32 дублируются. Последние 3 бита вектора E(R_{i-1}) — это биты 31, 32, 1 вектора R_{i-1}. Полученный после перестановки блок E(R_{i-1}) складывается по модулю 2 с ключами k_i и затем представляется в виде восьми последовательных блоков B_1,B_2,...B_8.
E(R_{i-1})= B_1B_2...B_8
Каждый B_j является 6-битовым блоком. Далее каждый из блоков B_j трансформируется в 4-битовый блок B'_j с помощью преобразований S_j. Преобразования S_j определяются таблицей 3.

Рис.5 Схема работы функции f
Таблица 3. Преобразования S_i, i=1…8
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 S_1
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
0 15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
1 3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5 S_2
2 0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
3 13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
0 10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
1 13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1 S_3
2 13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
3 1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
0 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
1 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9 S_4
2 10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
0 2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
1 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6 S_5
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
3 11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
0 12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
1 10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8 S_6
2 9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
0 4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
1 13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6 S_7
2 1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
3 6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
0 13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2 S_8
2 7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
3 2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11

Предположим, что B_3 = 101111, и мы хотим найти B'_3. Первый и последний разряды B_3 являются двоичной записью числа а, 0<=a<=3, средние 4 разряда представляют число b, 0<=b<=15. Строки таблицы S3 нумеруются от 0 до 3, столбцы таблицы S3 нумеруются от 0 до 15. Пара чисел (а, b) определяет число, находящееся в пересечении строки а и столбца b. Двоичное представление этого числа дает B'_3 . В нашем случае a = 11_2 = 3, b = 0111_2 = 7, а число, определяемое парой (3,7), равно 7. Его двоичное представление B'_3=0111.

Значение функции f(R_{i-1},k_i) (32 бит) получается перестановкой Р, применяемой к 32-битовому блоку B'_1B'_2...B'_8. Перестановка Р задана таблицей 4.

Таблица 4. Перестановка P
16 7 20 21 29 12 28 17
1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9
19 13 30 6 22 11 4 25

f(R_{i-1},k_i) = P(B'_1B'_2...B'_8)
Согласно таблице 4, первые четыре бита результирующего вектора после действия функции f — это биты 16, 7, 20, 21 вектора B'_1B'_2...B'_8

Генерирование ключей k_i

Ключи k_i получаются из начального ключа k (64 бит = 8 байтов или 8 символов в ASCII) таким образом. Восемь битов, находящихся в позициях 8, 16, 24, 32, 40, 48, 56, 64 добавляются в ключ k таким образом чтобы каждый байт содержал нечетное число единиц. Это используется для обнаружения ошибок при обмене и хранении ключей. Затем делают перестановку для расширенного ключа (кроме добавляемых битов 8, 16, 24, 32, 40, 48, 56, 64). Такая перестановка определена в таблице 5.

Рис.6 Схема расшифрования алгоритма DES
Таблица 5.
57 49 41 33 25 17 9 1 58 50 42 34 26 18 C_0
10 2 59 51 43 35 27 19 11 3 60 52 44 36
63 55 47 39 31 23 15 7 62 54 46 38 30 22 D_0
14 6 61 53 45 37 29 21 13 5 28 20 12 4

Эта перестановка определяется двумя блоками C_0 и D_0 по 28 бит каждый. Первые 3 бита C_0 есть биты 57, 49, 41 расширенного ключа. А первые три бита D_0 есть биты 63, 55, 47 расширенного ключа. C_i, D_i i=1,2,3…получаются из C_{i-1}, D_{i-1} одним или двумя левыми циклическими сдвигами согласно таблице 6.

Таблица 6.
i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Число сдвига 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Ключ k_i, i=1,…16 состоит из 48 бит, выбранных из битов вектора C_iD_i (56 бит) согласно таблице 7. Первый и второй биты k_i есть биты 14, 17 вектора C_iD_i

Таблица 7.
14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4
26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40
51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32

Конечная перестановка

Конечная перестановка IP^{-1} действует на T_{16} и используется для восстановления позиции. Она является обратной к перестановке IP. Конечная перестановка определяется таблицей 8.

Таблица 8. Обратная перестановка IP^{-1}
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25

Схема расшифрования

При расшифровании данных все действия выполняются в обратном порядке. В 16 циклах расшифрования, в отличие от шифрования c помощью прямого преобразования сетью Фейстеля, здесь используется обратное преобразование сетью Фейстеля.

R_{i-1} = L_i
L_{i-1} = R_i \oplus f(L_i,k_i)

Схема расшифрования указана на Рис.6.
Ключ k_i, i=1,…,16, функция f, перестановка IP и IP^{-1} такие же как и в процессе шифрования.

Режимы использования DES

DES может использоваться в четырёх режимах.

  1. Режим электронной кодовой книги (ECB — Electronic Code Book): обычное использование DES как блочного шифра. Шифруемый текст разбивается на блоки, при этом, каждый блок шифруется отдельно, не взаимодействуя с другими блоками (см. Рис.7).
    Рис.7 Режим электронной кодовой книги — ECB
  2. Режим сцепления блоков (СВС — Cipher Block Chaining) (см. Рис.8). Каждый очередной блок C_i i>=1, перед зашифровыванием складывается по модулю 2 со следующим блоком открытого текста M_{i+1}. Вектор C_0 — начальный вектор, он меняется ежедневно и хранится в секрете.
    Рис.8 Режим сцепления блоков — СВС
  3. Режим обратной связи по шифротексту (англ. Cipher Feed Back) (см. Рис.9). В режиме CFB вырабатывается блочная «гамма» Z_0, Z_1,... Z_i=DES_k(C_{i-1}) C_i = M_i \oplus Z_i. Начальный вектор C_0 является синхропосылкой и предназначен для того, чтобы разные наборы данных шифровались по-разному с использованием одного и того же секретного ключа. Синхропосылка посылается получателю в открытом виде вместе с зашифрованным файлом.
    Рис.9 Режим обратной связи по шифротексту — CFB
  4. Режим обратной связи по выходу (OFB — Output Feed Back) (см. Рис.10). В режиме OFB вырабатывается блочная «гамма» Z_0, Z_1,... Z_i=DES_k(Z_{i-1})
C_i = M_i \oplus Z_i , i>=1
    Рис.10 Режим обратной связи по выходу — OFB

Достоинства и недостатки режимов:

  • В режимах ECB и OFB искажение при передаче одного 64-битового блока шифротекста  C_i приводит к искажению после расшифрования только соответствующего открытого блока  M_i, поэтому такие режимы используется для передачи по каналам связи с большим числом искажений.

Криптостойкость алгоритма DES

Нелинейность преобразований в DES средствами только S-блоков, и использование слабых S-блоков позволяет осуществлять контроль за шифрованной перепиской. Выбор S-блоков требует соблюдения нескольких условий:

  • Каждая строка каждого блока должна быть перестановкой множества {0, 1, 2, …, 15}
  • S-блоки не должны являться линейной или афинной функцией своих аргументов.
  • Изменение одного бита на входе S-блока должно приводить к изменению по крайней мере двух битов на выходе.
  • Для каждого S-блока и любого аргумента х значение S(x) и S(x \oplus 001100_2) должны различаться по крайней мере двумя битами.

Из-за небольшого числа возможных ключей (всего 2^{56}), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 году Electronic Frontier Foundation используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня.

Слабые ключи

Слабыми ключами называется ключи k такие, что DES_k(DES_k(x)) = x, где x — 64-битный блок.

Известны 4 слабых ключа, они приведены в таблице 9. Для каждого слабого ключа существует 2^{32} неподвижные точки, то есть, таких 64-битных блоков х, для которых DES_k(x) = x.

Таблица 9. DES-Слабые ключи
Слабые ключи(hexadecimal) C_0 D_0
0101-0101-0101-0101 [0]^{28} [0]^{28}
FEFE-FEFE-FEFE-FEFE [1]^{28} [1]^{28}
1F1F-1F1F-0E0E-0E0E [0]^{28} [1]^{28}
E0E0-E0E0-F1F1-F1F1 [1]^{28} [0]^{28}

[0]^{28} обозначает вектор, состоящий из 28 нулевых битов.

Частично слабые ключи

В алгоритме DES существуют слабые и частично слабые ключи. Частично-слабые ключи — это такие пары ключей (k_1, k_2), что DES_{k1}(DES_{k2}(x)) = x.

Существуют 6 частично-слабых пар ключей, они приведены в таблице 10. Для каждого из 12 частично-слабых ключей существуют 2^{32} «анти-неподвижные точки», то есть такие блоки х, что DES_k(x) = \tilde{x}.

Таблица 10. Частично-слабые ключи
C_0 D_0 Пары частично-слабых ключей C_0 D_0
[01]^{14} [01]^{14} 01FE-01FE-01FE-01FE,----FE01-FE01-FE01-FE01 [10]^{14} [10]^{14}
[01]^{14} [01]^{14} 1FE0-1FE0-1FE0-1FE0,----E0F1-E0F1-E0F1-E0F1 [10]^{14} [10]^{14}
[01]^{14} [0]^{28} 01E0-01E0-01F1-01F1,----E001-E001-F101-F101 [10]^{14} [0]^{28}
[01]^{14} [1]^{28} 1FFE-1FFE-0EFE-0EFE,----FE1F-FE1F-FE0E-FE0E [0]^{28} [1]^{28}
[0]^{28} [01]^{14} O11F-011F-010E-010E,----1F01-1F01-0E01-0E01 [0]^{28} [10]^{14}
[1]^{28} [01]^{14} E0FE-E0FE-F1FE-F1FE,----FEE0-FEE0-FEF1-FEF1 [1]^{28} [10]^{14}

Известные атаки на DES

Таблица 11. Известные атаки на DES.
Методы атаки Известные откр. тексты Выбранные отк. тексты Объём памяти Количество операций
Полный поиск 1 - Незначительный 2^{55}
Линейный Криптоанализ 2^{43} (85%) - Для текста 2^{43}
Линейный Криптоанализ 2^{38} (10%) - Для текста 2^{50}
Диффер. Криптоанализ - 2^{47} Для текста 2^{47}
Диффер. Криптоанализ 2^{55} - Для текста 2^{55}
  • Метод полного перебора требует одну известную пару шифрованного и расшифрованного текста, незначительный объём памяти, и его выполнение требует около 2^{55} шагов.
  • Дифференциальный криптоанализ — первую такую атаку на DES заявили Бихам и Шамир. Эта атака требует шифрования 2^{47} открытых текстов выбранных нападающим, и для её выполнения нужны примерно 2^{47} шагов. Теоретически являясь точкой разрыва, эта атака непрактична из-за чрезмерных требований к подбору данных и сложности организации атаки по выбранному открытому тексту. Сами авторы этой атаки Biham и Shamir заявили, что считают DES защищенным для такой атаки.
  • Линейный криптоанализ разработан Matsui. Этот метод позволяет восстановить ключ DES с помощью анализа 2^{43} известных открытых текстов, при этом требуется примерно 2^{43} шагов для выполнения. Первый экспериментальный криптоанализ DES, основанный на открытии Matsui, был успешно выполнен в течение 50 дней на автоматизированных рабочих местах 12 HP 9735.

Для линейного и дифференциального криптоанализа требуется достаточно большой объём памяти для сохранения выбранных (известных) открытых текстов до начала атаки.

Увеличение криптостойкости DES

Чтобы увеличивать криптостойкость DES появляются несколько вариантов: double DES (2DES), triple DES (3DES), DESX, G-DES.

  • Методы 2DES и 3DES основаны на DES, но увеличивают длину ключей (2DES — 112 бит, 3DES — 168 бит) и поэтому увеличивается криптостойкость.
  • Схема 3DES имеет вид DES(k_3,DES(k_2,DES(k_1,M))), где k_1,k_2,k_3 ключи для каждого шифра DES. Это вариант известен как в ЕЕЕ так как три DES операции являются шифрованием. Существует 3 типа алгоритма 3DES:
  • DES-EEE3: Шифруется три раза с 3 разными ключами.
  • DES-EDE3: 3DES операции шифровка-расшифровка-шифровка с 3 разными ключами.
  • DES-EEE2 и DES-EDE2: Как и предыдущие, за исключением того, что первая и третья операции используют одинаковый ключ.
Самый популярный тип при использовании 3DES — это DES-EDE3, для него алгоритм выглядит так:
Зашифрование: C = E_{k_3}(E^{-1}_{k_2}(E_{k_1}(P))).
Расшифрование: P = E^{-1}_{k_1}(E_{k_2}(E^{-1}_{k_3}(C)))
При выполнении алгоритма 3DES ключи могут выбрать так:
  • k_1,k_2,k_3 независимы.
  • k_1,k_2 независимы, а k_1 = k_3
  • k_1=k_2=k_3.
  • Метод DESX создан Рональдом Ривестом и формально продемонстрирована Killian и Rogaway. Этод метод — усиленный вариант DES, поддерживаемый инструментарием RSA Security. DESX отличается от DES тем, что каждый бит входного открытого текста DESX логически суммируется по модулю 2 с 64 битами дополнительного ключа, а затем шифруется по алгоритму DES. Каждый бит результата также логически суммируется по модулю 2 с другими 64 битами ключа. Главной причиной использования DESX является простой в вычислительном смысле способ значительного повысить стойкость DES к атакам полного перебора ключа.
  • Метод G-DES разработан Schaumuller-Bichl для повышения производительности DES на основе увеличения размером шфрованного блока. Заявлялось, что G-DES защищен так же как и DES. Однако, Biham и Shamir показали, что G-DES с рекомендуемыми параметрами легко взламывается, а при любых изменениях параметров шифр становится ещё менее защищен чем DES.
  • Ещё другой вариант DES использует независимые суб-ключи. Различно от алгоритма DES, в котором на основе 56-битного секретного ключа пользователя алгоритм DES получает шестнадцать 48-битных суб-ключей для использования в каждом из 16 раундов, в этом варианте использует 768-битного ключа (разделенного на 16 48-битных подключей) вместо 16 зависимых 48-битных ключей, создаваемых по ключевому графику алгоритма DES. Хотя очевидно, что использование независимых суб-ключей значительно усложнит полный поиск ключа, но стойкость к атаке дифференциальным или линейным криптоанализом не намного превысит стойкость обычного DES. По оценке Biham для дифференциального криптоанализа DES с независимыми подключами требуется 2^{61} выбранных открытых текстов, в то время как для линейного криптоанализа требуется 2^{60} известных открытых текстов.

Применение

DES был национальным стандартом США в 19771980 гг., но в настоящее время DES используется (с ключом длины 56 бит) только для устаревших систем, чаще всего используют его более криптоустойчивый вид (3DES, 2DES). 3DES является простой эффективной заменой DES, и сейчас он рассмотрен как стандарт. В ближайшее время DES и Triple DES будут заменены алгоритмом AES (Advanced Encryption Standard — Расширенный Стандарт Шифрования). Алгоритм DES широко применяется для защиты финансовой информации: так, модуль THALES (Racal) HSM RG7000 полностью поддерживает операции TripleDES для эмиссии и обработки кредитных карт VISA, EuroPay и проч. Канальные шифраторы THALES (Racal) DataDryptor 2000 используют TripleDES для прозрачного шифрования потоков информации. Также алгогритм DES используется во многих других устройствах и решениях THALES-eSECURITY.

Литература



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "DES" в других словарях:

  • Des — steht für: Data Encryption Standard, ein symmetrischer Verschlüsselungsalgorithmus Detached Eddy Simulation, ein Verfahren zur numerischen Lösung dreidimensionaler Strömungsmodelle Diethylstilbestrol, ein Arzneistoff aus der Gruppe der… …   Deutsch Wikipedia

  • Des Vœux — could mean: Sir George William Des Vœux, a British colonial officer Dr. Henry Antoine Des Voeux, a scientist who first coined the term smog Des Voeux Road, road in Hong Kong named after the colonial officer Des Voeux Island is a member of the… …   Wikipedia

  • DES — steht für: Data Encryption Standard, ein symmetrischer Verschlüsselungsalgorithmus Delivered Ex Ship (dt.: Geliefert ab Schiff), eine internationale Handelsklausel nach den Incoterms Detached Eddy Simulation, ein Verfahren zur numerischen Lösung… …   Deutsch Wikipedia

  • DES — may refer to: Computing Data Encryption Standard DirectShow Editing Services, an Application Programming Interface Medical Diethylstilbestrol, a synthetic estrogen and the origin of the phrase DES daughter DES gene, which encodes the Desmin… …   Wikipedia

  • DÈS — préposition de temps et de lieu Depuis, à partir de. Dès cette époque là, ou Dès là (ce dernier a vieilli). Dès l enfance. Dès hier. Dès Orléans. Dès sa source.   Dès lors, Dès ce moment là, dès ce temps là. Je vis bien dès lors où il voulait en… …   Dictionnaire de l'Academie Francaise, 7eme edition (1835)

  • DES-X — In cryptography, DES X (or DESX) is a variant on the DES (Data Encryption Standard) block cipher intended to increase the complexity of a brute force attack using a technique called key whitening. The original DES algorithm was specified in 1976… …   Wikipedia

  • Dés — László Dés [ˈlaːsloː ˈdeːʃ] (* 9. Januar 1954 in Budapest) ist ein ungarischer Jazz Saxophonist und Komponist. Dés besuchte von 1960 bis 1968 die Musikschule Zoltán Kodály. Von 1963 bis 1971 absolvierte er eine Klavierausbildung. Danach studierte …   Deutsch Wikipedia

  • des- — prefix Etymology: French dés , from Old French des more at de de 6 especially before vowels < desoxy > …   New Collegiate Dictionary

  • Des — (ре бемоль) первая ступень (тоника) в диатонических гаммах Des dur, Des moll; вторая ступень ces dur и малоупотребительной ces moll; третья ступень в гамме b moll; четвертая ступень (суб доминанта) в гаммах as dur, as moll; пятая ступень… …   Энциклопедический словарь Ф.А. Брокгауза и И.А. Ефрона

  • Des Moines, Iowa — Des Moines redirects here. For other uses, see Des Moines (disambiguation). City of Des Moines   City   Clockwise from top: 801 Grand …   Wikipedia

  • Des Plaines, Illinois — Des Plaines redirects here. For the river, see Des Plaines River. Des Plaines, Illinois County: Cook Township: Maine Mayor: Martin J. Moylan ZIP code(s): 60016, 60017, 60018, 60019 Area code(s): 847 224 …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»