Des

Содержание:

История

В 1972 году было проведено исследование потребности правительства США в компьютерной безопасности. Американское «национальное бюро стандартов» (НБС) (ныне известное, как NIST — «национальный институт стандартов и технологий») определило необходимость в общеправительственном стандарте шифрования некритичной информации.

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

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

  • в процессе разработки алгоритма представители АНБ убедили создателей DES в том, что уменьшенной длины ключа более чем достаточно для всех коммерческих приложений;
  • представители АНБ косвенно помогали в разработке S-перестановок;
  • окончательная версия алгоритма была, по мнению проверяющих, лучшим алгоритмом шифрования, к тому же лишённым статистической или математической слабости;
  • представители АНБ никогда не вмешивались в разработку алгоритма DES.

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

Алгоритм DES удалось «взломать» за 39 дней с помощью огромной сети, состоящей из десятков тысяч компьютеров.

Общественная организация «EFF», занимающаяся проблемами информационной безопасности и личной тайны в сети Internet, инициировала исследование «DES Challenge II» с целью выявления проблем DES. В рамках исследования сотрудники фирмы «RSA Laboratory» построили суперкомпьютер стоимостью 250 тыс. долл. В 1998 году суперкомпьютер выполнил расшифровку данных, закодированных методом DES с использованием 56-битного ключа, менее чем за три дня. Суперкомпьютер получил название «EFF DES Cracker». Специально по этому случаю учёные организовали пресс-конференцию и с беспокойством говорили о том, что злоумышленники вряд ли упустят случай воспользоваться подобной уязвимостью.

Некоторые правительственные чиновники и специалисты утверждали, что для взлома кода DES требуется суперкомпьютер стоимостью в несколько миллионов долларов. «Правительству пора признать ненадёжность DES и поддержать создание более мощного стандарта шифрования», — сказал президент EFF Барри Штайнхардт. Экспортные ограничения, накладываемые правительством США, касаются технологий шифрования по ключам длиной более 40 бит. Однако, как показали результаты эксперимента RSA Laboratory, существует возможность взлома и более мощного кода. Проблема усугублялась тем, что стоимость постройки подобного суперкомпьютера неуклонно снижалась. «Через четыре-пять лет такие компьютеры будут стоять в любой школе», — заявил Джон Гилмор, руководитель проекта «DES Challenge» и один из основателей EFF.

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

3DES

Итак, первым в ряду зарубежных шифров рассмотрим 3DES, а точнее его ближайшего родственника DES (Data Encryption Standard), который хоть уже и не используется как таковой, но является предком 3DES.

DES разработан командой математиков научной лаборатории IBM, в которую входил уже знакомый нам Фейстель. Первая версия шифра получила имя «Люцифер», но затем он был модифицирован и в результате принят как официальный алгоритм шифрования данных (DEA). На протяжении более двадцати лет он оставался мировым стандартом, прежде чем его сменил Triple DES.

Рассмотрим, как работает алгоритм шифрования DES. Для этого необходимо вспомнить работу сети Фейстеля. DES — это сеть Фейстеля из 16 раундов с симметричными ключами шифрования. Длина блока текста — 64 бита, длина раундового ключа — 48 бит. Итак, пройдем основные этапы шифрования DES, опуская суровую математическую сторону:

  1. Текст, как и при любом другом шифровании, разбивается на блоки по 64 бита.
  2. Из 56-битного ключа генерируется 16 48-битных раундовых ключиков.
  3. Каждый блок подвергается перестановке, то есть все биты входного блока перемешиваются согласно определенной таблице.
  4. Блок расщепляется на половинки и поступает в знакомую нам сеть Фейстеля, где прокручивается 16 раундов.
  5. Соединяем половинки.
  6. И еще одна перестановка.

Начальная и конечная перестановки не имеют никакого значения для криптографии в DES. Обе перестановки — без ключей, и таблицы для них заданы заранее. Причина, по которой они включены в DES, неясна, и проектировщики DES об этом ничего не сказали. Можно предположить, что алгоритм планировалось реализовать в аппаратных средствах (на чипах) и что эти две сложные перестановки должны были затруднить программное моделирование механизма шифрования.

Вот, собственно, все, что надо знать о работе алгоритма DES. Если углубляться в то, как работает функция, заданная в сети Фейстеля, то в ней все прекрасно. Она осуществляет и перестановку, и замену (S-боксы, как ты можешь помнить из предыдущей статьи), и сложение с раундовым ключом.

Но вернемся к тройному DES, или Triple DES. В нем возникла необходимость, так как 56-битный ключ DES был уязвим к брутфорсу и с ростом вычислительных мощностей эта проблема вставала все острее. Используя доступную сегодня технологию, можно проверить один миллион ключей в секунду. Это означает, что потребуется более чем две тысячи лет, чтобы перебором дешифровать DES, используя компьютер только с одним процессором.

Но если взять компьютер с одним миллионом процессорных ядер, которые будут параллельно обрабатывать ключи, мы сможем проверить все множество ключей приблизительно за 20 часов. Когда был введен DES, стоимость такого компьютера равнялась нескольким миллионам долларов, но она быстро снизилась. Специальный компьютер был создан в 1998 году — и нашел ключ за 112 часов.

Чтобы решить проблему быстрого поиска ключа, умные зарубежные криптографы предложили использовать два ключа и применять DES дважды. Однако двойной DES оказался уязвим к атаке «встреча посередине». Чтобы реализовать эту атаку, злоумышленнику необходимо иметь открытый и соответствующий ему зашифрованный текст. Злоумышленник шифрует открытый текст на всех возможных ключах, записывая результаты в таблицу 1. Затем расшифровывает зашифрованный текст со всеми возможными ключами и записывает результат в таблицу 2. Далее злоумышленник ищет в таблицах 1 и 2 совпадения.

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

Совсем иначе дела обстоят с Triple DES. Использование трех ключей и применение алгоритмов в указанной на схеме последовательности продлило DES жизнь еще на несколько лет.

Encryption of more than one block

As with all block ciphers, encryption and decryption of multiple blocks of data may be performed using a variety of modes of operation, which can generally be defined independently of the block cipher algorithm. However, ANS X9.52 specifies directly, and NIST SP 800-67 specifies via SP 800-38A that some modes shall only be used with certain constraints on them that do not necessarily apply to general specifications of those modes. For example, ANS X9.52 specifies that for cipher block chaining, the initialization vector shall be different each time, whereas ISO/IEC 10116 does not. FIPS PUB 46-3 and ISO/IEC 18033-3 define only the single block algorithm, and do not place any restrictions on the modes of operation for multiple blocks.

Применение

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

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

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

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

Исходный текст T (блок 64 бит)преобразуется c помощью начальной перестановки IP
которая определяется таблицей 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 входного блока.


Рис. 1. Схема работы DES.

Получение 16 ключей по 48 бит из клача 56 бит

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

Таблица 1.
57 49 41 33 25 17 9 1 58 50 42 34 26 18 C{\displaystyle 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{\displaystyle D_0}
14 6 61 53 45 37 29 21 13 5 28 20 12 4

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

Таблица 2.
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

Ключ ki{\displaystyle k_{i}}, i=1,…16 состоит из 48 бит, выбранных из битов вектора CiDi{\displaystyle C_iD_i} (56 бит) согласно таблице 3.
Первый и второй биты ki{\displaystyle k_{i}} есть биты 14, 17 вектора CiDi{\displaystyle C_iD_i}

Таблица 3.
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

Описание функции F

В функции F находится вся не линейная часть, осуществляется она с помощью S и P преобразований. Функция представлена на рисунке 2. На вход поступает 32 бита, затем происходит функция расширения Е, которая описана в таблице.


Рис. 2. Схема функции F.

Таблица 4. Функция расширения 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

Описание S преобразования

48 бит делится на подблоки по 6 бит (S-box). Функция S преобразует 6 бит в 4 бита. По таблице можно увидеть как определяется преобразование S.

Преобразования Sj{\displaystyle S_j} определяются таблицей 5.

Таблица 5. Преобразования Si{\displaystyle S_{i}}, i=1…16
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
14 4 13 1 2 15 11 8 3 10 6 12 5 9 7
1 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 S1{\displaystyle S_{1}}
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5
3 15 12 8 2 4 9 1 7 5 11 3 14 10 6 13
15 1 8 14 6 11 3 4 9 7 2 13 12 5 10
1 3 13 4 7 15 2 8 14 12 1 10 6 9 11 5 S2{\displaystyle S_{2}}
2 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 5 14 9
10 9 14 6 3 15 5 1 13 12 7 11 4 2 8
1 13 7 9 3 4 6 10 2 8 5 14 12 11 15 1 S3{\displaystyle S_{3}}
2 13 6 4 9 8 15 3 11 1 2 12 5 10 14 7
3 1 10 13 6 9 8 7 4 15 14 3 11 5 2 12
7 13 14 3 6 9 10 1 2 8 5 11 12 4 15
1 13 8 11 5 6 15 3 4 7 2 12 1 10 14 9 S4{\displaystyle S_4}
2 10 6 9 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 6 10 1 13 8 9 4 5 11 12 7 2 14
2 12 4 1 7 10 11 6 8 5 3 15 13 14 9
1 14 11 2 12 4 7 13 1 5 15 10 3 9 8 6 S5{\displaystyle S_5}
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 14
3 11 8 12 7 1 14 2 13 6 15 9 10 4 5 3
12 1 10 15 9 2 6 8 13 3 4 14 7 5 11
1 10 15 4 2 7 12 9 5 6 1 13 14 11 3 8 S6{\displaystyle S_{6}}
2 9 14 15 5 2 8 12 3 7 4 10 1 13 11 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 8 13
4 11 2 14 15 8 13 3 12 9 7 5 10 6 1
1 13 11 7 4 9 1 10 14 3 5 12 2 15 8 6 S7{\displaystyle S_{7}}
2 1 4 11 13 12 3 7 14 10 15 6 8 5 9 2
3 6 11 13 8 1 4 10 7 9 5 15 14 2 3 12
13 2 8 4 6 15 11 1 10 9 3 14 5 12 7
1 1 15 13 8 10 3 7 4 12 5 6 11 14 9 2 S8{\displaystyle S_{8}}
2 7 11 4 1 9 12 14 2 6 10 13 15 3 5 8
3 2 1 14 7 4 10 8 13 15 12 9 3 5 6 11

Описание P преобразования

Перестановка P задана таблицей 6:

Таблица 6. Перестановка 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

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

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

Таблица 7. Обратная перестановка IP−1{\displaystyle 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

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

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

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

Расмотрим подробную схему алгоримта DES:

$ L_i,L_i, i=1,2,\ldots $левая и правая половины 64-битового блока $ L_iR_i $

Процесс шифрования.

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

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 входного блока.</b>
Дальше 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} $</br>
$ R_i = L_{i-1}\oplus f(R_{i-1},k_i) $</br>

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

Таблица 3.Преобразования $ S_i $ ,i=1…16

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
14 4 13 1 2 15 11 8 3 10 6 12 5 9 7
1 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8 $ S_1 $
2 4 1 4 8 13 6 2 11 15 12 9 7 3 10 5
3 1 12 8 2 4 9 1 7 5 11 3 14 10 6 13
15 1 8 14 6 11 3 4 9 7 2 13 12 5 10
1 3 13 4 7 15 2 8 14 12 1 10 6 9 11 5 $ S_2 $
2 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 5 14 9
10 9 14 6 3 15 5 1 13 12 7 11 4 2 8
1 13 7 9 3 4 6 10 2 8 5 14 12 11 15 1 $ S_3 $
2 13 6 4 9 8 15 3 11 1 2 12 5 10 14 7
3 1 10 13 6 9 8 7 4 15 14 3 11 5 2 12
7 13 14 3 6 9 10 1 2 8 5 11 12 4 15
1 13 8 11 5 6 15 3 4 7 2 12 1 10 14 9 $ S_4 $
2 10 6 9 12 11 7 13 15 1 3 14 5 2 8 4
3 3 15 6 10 1 13 8 9 4 5 11 12 7 2 14
2 12 4 1 7 10 11 6 8 5 3 15 13 14 9
1 14 11 2 12 4 7 13 1 5 15 10 3 9 8 6 $ S_5 $
2 4 2 1 11 10 13 7 8 15 9 12 5 6 3 14
3 11 8 12 7 1 14 2 13 6 15 9 10 4 5 3
12 1 10 15 9 2 6 8 13 3 4 14 7 5 11
1 10 15 4 2 7 12 9 5 6 1 13 14 11 3 8 $ S_6 $
2 9 14 15 5 2 8 12 3 7 4 10 11 13 1 6
3 4 3 2 12 9 5 15 10 11 14 1 7 6 8 13
4 11 2 14 15 8 13 3 12 9 7 5 10 6 1
1 13 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 5 9 2
3 6 11 13 8 1 4 10 7 9 5 15 14 2 3 12
13 2 8 4 6 15 11 1 10 9 3 14 5 12 7
1 1 15 13 8 10 3 7 4 12 5 6 11 14 9 2 $ S_8 $
2 7 11 4 1 9 12 14 2 6 10 13 15 3 5 8
3 2 8 14 7 4 10 8 13 15 12 9 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.

Таблица 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) $</br>
Согласно таблице 4, первые четыре бита результирующего вектора после действия функции f — это бита 16,7,20,21 вектора $ B’_1B’_2…B’_8 $</b>

Таблица 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

Таблица 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

Таблица 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
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

Замечательный DES

Так что же в DES такого замечательного? Этот алгоритм шифрования был подвергнут тщательному анализу. DES обладал двумя очень важными качествами блочных шифров — лавинностью и полнотой. Настало время расширить свой криптографический словарик!
Лавинный эффект означает, что небольшие изменения в исходном тексте (или ключе) могут вызвать значительные изменения в зашифрованном тексте.

Было доказано, что DES имеет все признаки этого свойства.

Исходный текст 0000000000000000 0000000000000001
Ключ 22234512987ABB23 22234512987ABB23
Зашифрованный текст 4789FD476E82A5F1 OA4ED5C15A63FEA3

Хотя два блока исходного текста не совпадают только самым правым битом, блоки зашифрованного текста отличаются на 29 бит. Это означает, что изменение приблизительно в 1,5% исходного текста вызывает изменение приблизительно 45% зашифрованного текста.

Эффект полноты заключается в том, что каждый бит зашифрованного текста должен зависеть от многих битов исходного текста. Как мы уже выяснили, в DES применяются и перестановки, и замены — все преобразования устанавливают зависимость каждого бита шифротекста от нескольких битов исходного текста.

Где же применяется DES? Да почти везде, его реализации присутствуют в большинстве программных библиотек. Однако кто знает, насколько использование DES безопасно в наше время? Хотя IBM утверждала, что работа алгоритма была результатом 17 человеко-лет интенсивного криптоанализа, некоторые люди опасались, не вставило ли NSA в алгоритм лазейку, которая позволяет агентству легко дешифровывать перехваченные сообщения. Комитет по разведке сената США тщательно изучал этот вопрос и, разумеется, ничего не обнаружил, обвинения с NSA были сняты, результаты исследования тем не менее засекречены. Одним словом, в Америке еще долго крутились слухи и домыслы насчет того, стоит доверять DES или нет. Но, как я считаю, здесь ситуация описывается поговоркой «Умный не скажет, дурак не поймет». В конце концов NSA признало, что не могло доверить IBM столь важную миссию и внесло несколько корректировок вроде задания S-боксов.

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

Keying options

The standards define three keying options:

Keying option 1
All three keys are independent. Sometimes known as 3TDEA or triple-length keys.
This is the strongest, with 3 × 56 = 168 independent key bits. It is still vulnerable to meet-in-the-middle attack, but the attack requires 22 × 56 steps.
Keying option 2
K1 and K2 are independent, and K3 = K1. Sometimes known as 2TDEA or double-length keys.
This provides a shorter key length of 112 bits and a reasonable compromise between DES and Keying option 1, with the same caveat as above. This is an improvement over «double DES» which only requires 256 steps to attack. NIST has deprecated this option.
Keying option 3
All three keys are identical, i.e. K1 = K2 = K3.
This is backward compatible with DES, since two operations cancel out. ISO/IEC 18033-3 never allowed this option, and NIST no longer allows K1 = K2 or K2 = K3.

Each DES key is 8 odd-parity bytes, with 56 bits of key and 8 bits of error-detection. A key bundle requires 24 bytes for option 1, 16 for option 2, or 8 for option 3.

NIST (and the current TCG specifications version 2.0 of approved algorithms for Trusted Platform Module) also disallows using any one of the 64 following 64-bit values in any keys (note that 32 of them are the binary complement of the 32 others; and that 32 of these keys are also the reverse permutation of bytes of the 32 others), listed here in hexadecimal (in each byte, the least significant bit is an odd-parity generated bit, it is discarded when forming the effective 56-bit keys):

01.01.01.01.01.01.01.01, FE.FE.FE.FE.FE.FE.FE.FE, E0.FE.FE.E0.F1.FE.FE.F1, 1F.01.01.1F.0E.01.01.0E,
01.01.FE.FE.01.01.FE.FE, FE.FE.01.01.FE.FE.01.01, E0.FE.01.1F.F1.FE.01.0E, 1F.01.FE.E0.0E.01.FE.F1,
01.01.E0.E0.01.01.F1.F1, FE.FE.1F.1F.FE.FE.0E.0E, E0.FE.1F.01.F1.FE.0E.01, 1F.01.E0.FE.0E.01.F1.FE,
01.01.1F.1F.01.01.0E.0E, FE.FE.E0.E0.FE.FE.F1.F1, E0.FE.E0.FE.F1.FE.F1.FE, 1F.01.1F.01.0E.01.0E.01,
01.FE.01.FE.01.FE.01.FE, FE.01.FE.01.FE.01.FE.01, E0.01.FE.1F.F1.01.FE.0E, 1F.FE.01.E0.0E.FE.01.F1,
01.FE.FE.01.01.FE.FE.01, FE.01.01.FE.FE.01.01.FE, E0.01.01.E0.F1.01.01.F1, 1F.FE.FE.1F.0E.FE.FE.0E,
01.FE.E0.1F.01.FE.F1.0E, FE.01.1F.E0.FE.01.0E.F1, E0.01.1F.FE.F1.01.0E.FE, 1F.FE.E0.01.0E.FE.F1.01,
01.FE.1F.E0.01.FE.0E.F1, FE.01.E0.1F.FE.01.F1.0E, E0.01.E0.01.F1.01.F1.01, 1F.FE.1F.FE.0E.FE.0E.FE,
01.E0.01.E0.01.F1.01.F1, FE.1F.FE.1F.FE.0E.FE.0E, E0.1F.FE.01.F1.0E.FE.01, 1F.E0.01.FE.0E.F1.01.FE,
01.E0.FE.1F.01.F1.FE.0E, FE.1F.01.E0.FE.0E.01.F1, E0.1F.01.FE.F1.0E.01.FE, 1F.E0.FE.01.0E.F1.FE.01,
01.E0.E0.01.01.F1.F1.01, FE.1F.1F.FE.FE.0E.0E.FE, E0.1F.1F.E0.F1.0E.0E.F1, 1F.E0.E0.1F.0E.F1.F1.0E,
01.E0.1F.FE.01.F1.0E.FE, FE.1F.E0.01.FE.0E.F1.01, E0.1F.E0.1F.F1.0E.F1.0E, 1F.E0.1F.E0.0E.F1.0E.F1,
01.1F.01.1F.01.0E.01.0E, FE.E0.FE.E0.FE.F1.FE.F1, E0.E0.FE.FE.F1.F1.FE.FE, 1F.1F.01.01.0E.0E.01.01,
01.1F.FE.E0.01.0E.FE.F1, FE.E0.01.1F.FE.F1.01.0E, E0.E0.01.01.F1.F1.01.01, 1F.1F.FE.FE.0E.0E.FE.FE,
01.1F.E0.FE.01.0E.F1.FE, FE.E0.1F.01.FE.F1.0E.01, E0.E0.1F.1F.F1.F1.0E.0E, 1F.1F.E0.E0.0E.0E.F1.F1,
01.1F.1F.01.01.0E.0E.01, FE.E0.E0.FE.FE.F1.F1.FE, E0.E0.E0.E0.F1.F1.F1.F1, 1F.1F.1F.1F.0E.0E.0E.0E,

With these restrictions on allowed keys, Triple DES has been reapproved with keying options 1 and 2 only. Generally the three keys are generated by taking 24 bytes from a strong random generator and only keying option 1 should be used (option 2 needs only 16 random bytes, but strong random generators are hard to assert and it’s considered best practice to use only option 1).

Все определения DES

Акроним Определение
DES DOSECC Разведка Services, LLC (Солт-Лейк-Сити, UT)
DES Departamento de Economia da Saúde
DES Diebold избирательных систем
DES Dysequilibrium синдром
DES Déclaration Européenne де услуги
DES Глубокое эклиптики обследования
DES Данные стерты систематически
DES Двойной меч
DES Делавэр инженерные общества
DES Дельта энергетических систем
DES Департамент по чрезвычайным Услуги
DES Департамент экологических услуг
DES Департамент экономической безопасности
DES Десмин
DES Ди-2-Ethylhexel Sebecate
DES Диабет образование общество
DES Дилер системы оценки
DES Динамические экологические проверки
DES Динамических электронных систем
DES Динамической энергии Saver
DES Диплом Secondaires
DES Диплом в области английского языка
DES Диплом д ‘ исследований специализирующихся
DES Диплом о высшем образовании
DES Директор аварийно-спасательных служб
DES Дифференциальная эволюция стратегии
DES Диэтилстильбэстрол
DES Доктор экологических исследований
DES Документ сервера Exchange
DES Доплер эхокардиография исследование
DES Кафедра образовательных
DES Кафедра экономики и статистики
DES Комплект стоматологического оборудования
DES Ликвидации задолженности специалисты ООО
DES Лист ввода данных
DES Министерство образования и науки
DES Множественная опыт шкала
DES Моделирование дискретных событий
DES Набор оборудования для бурения
DES Направление des учреждений здравоохранения
DES Начальная школа Дьюар
DES Обмен данных программного обеспечения
DES Обозначение
DES Описание
DES Отдел аварийно-спасательных служб
DES Отдел занятости
DES Отдел инженерных услуг
DES Отдел наук о земле
DES Отдел трудоустройства
DES Отдел экологических наук
DES Отдел экологических услуг
DES Отдел экономической поддержки
DES Отдельностоящий Эдди моделирование
DES Отключенной записи переключатель
DES Подавитель цифровых эха
DES Подсистема редактирования данных
DES Поставленный судна
DES Препарат элюирующие стента
DES Проект Европейского стандарта
DES Проект экологической заявление
DES Пункт назначения
DES Разработки и инженерные услуги
DES Распределение и выполнение системы
DES Распределенные системы
DES Расширение цифровой сигнал
DES Решения для предприятий цифровой
DES Сегмент добычи данных
DES Синдром сухого глаза
DES Система дискретных событий
DES Система назначения
DES Система оценки инвалидности
DES Система улучшения данных
DES Система цифрового кодирования
DES Система цифровой электроники
DES Системы дистанционного образования
DES Спецификация ввода данных
DES Спуск
DES Стандарт шифрования данных
DES Стандартизация элементов данных
DES Стихийных бедствий и чрезвычайных служб
DES Стихийных бедствий, аварийно-спасательных служб
DES Схема равенства инвалидов
DES Управление аварийных служб
DES Управление по оценке и стандартизации
DES Цифровая модель рельефа
DES Цифровой электронный переключатель
DES Цифровой электронный сигнал
DES Цифровые образовательные услуги
DES Энергетической ценности рациона питания
DES Эсминец

Что означает DES в тексте

В общем, DES является аббревиатурой или аббревиатурой, которая определяется простым языком. Эта страница иллюстрирует, как DES используется в обмена сообщениями и чат-форумах, в дополнение к социальным сетям, таким как VK, Instagram, Whatsapp и Snapchat. Из приведенной выше таблицы, вы можете просмотреть все значения DES: некоторые из них образовательные термины, другие медицинские термины, и даже компьютерные термины. Если вы знаете другое определение DES, пожалуйста, свяжитесь с нами. Мы включим его во время следующего обновления нашей базы данных. Пожалуйста, имейте в информации, что некоторые из наших сокращений и их определения создаются нашими посетителями. Поэтому ваше предложение о новых аббревиатур приветствуется! В качестве возврата мы перевели аббревиатуру DES на испанский, французский, китайский, португальский, русский и т.д. Далее можно прокрутить вниз и щелкнуть в меню языка, чтобы найти значения DES на других 42 языках.

Теперь пришло время одноключевых КА.

DES

  • ECB (англ. electronic code book) — режим «электронной кодовой книги» (простая замена);
  • CBC (англ. cipher block chaining) — режим сцепления блоков;
  • CFB (англ. cipher feed back) — режим обратной связи по шифротексту;
  • OFB (англ. output feed back) — режим обратной связи по выходу.
  • Прямым развитием DES в настоящее время является алгоритм Triple DES (3DES). В 3DES шифрование/расшифровка выполняются путём троекратного выполнения алгоритма DES.

RC4

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

Illivion

Blowfish

  1. скорость (шифрование на 32-битных процессорах происходит за 26 тактов);
  2. простота (за счёт использования простых операций, уменьшающих вероятность ошибки реализации алгоритма);
  3. компактность (возможность работать в менее, чем 5 Кбайт памяти);
  4. настраиваемая безопасность (изменяемая длина ключа).

Twofish

  1. 128-битный блочный симметричный шифр
  2. Длина ключей 128, 192 и 256 бит
  3. Отсутствие слабых ключей
  4. Эффективная программная (в первую очередь на 32-битных процессорах) и аппаратная реализация
  5. Гибкость (возможность использования дополнительных длин ключа, использование в поточном шифровании, хэш-функциях и т. д.).
  6. Простота алгоритма — для возможности его эффективного анализа.

Skipjack

Принимая во внимание, что стоимость вычислительных мощностей уменьшается вдвое каждые 18 месяцев, лишь через 36 лет стоимость взлома Skipjack полным перебором сравняется со стоимостью взлома DES сегодня.
Риск взлома шифра с помощью более быстрых способов, включая дифференциальный криптоанализ, незначителен. Алгоритм не имеет слабых ключей и свойства комплементарности.
Устойчивость Skipjack к криптоанализу не зависит от секретности самого алгоритма.

Mars

  • простейшие операции (сложение, вычитание, исключающее или)
  • подстановки с использованием таблицы замен
  • фиксированный циклический сдвиг
  • зависимый от данных циклический сдвиг
  • умножение по модулю 232
  • ключевое забеливание

Idea

  • сложение по модулю
  • умножение по модулю
  • побитовое исключающее ИЛИ (XOR).
  • никакие две из них не удовлетворяют дистрибутивному закону
  • никакие две из них не удовлетворяют ассоциативному закону
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *