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, опуская суровую математическую сторону:
- Текст, как и при любом другом шифровании, разбивается на блоки по 64 бита.
- Из 56-битного ключа генерируется 16 48-битных раундовых ключиков.
- Каждый блок подвергается перестановке, то есть все биты входного блока перемешиваются согласно определенной таблице.
- Блок расщепляется на половинки и поступает в знакомую нам сеть Фейстеля, где прокручивается 16 раундов.
- Соединяем половинки.
- И еще одна перестановка.
Начальная и конечная перестановки не имеют никакого значения для криптографии в 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:
|
По таблице первые 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.
|
Эта перестановка определяется двумя блоками 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.
|
Ключ 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}
|
Описание функции F
В функции F находится вся не линейная часть, осуществляется она с помощью S и P преобразований. Функция представлена на рисунке 2. На вход поступает 32 бита, затем происходит функция расширения Е, которая описана в таблице.

Рис. 2. Схема функции F.
|
Описание S преобразования
48 бит делится на подблоки по 6 бит (S-box). Функция S преобразует 6 бит в 4 бита. По таблице можно увидеть как определяется преобразование S.
Преобразования Sj{\displaystyle S_j} определяются таблицей 5.
|
Описание P преобразования
Перестановка P задана таблицей 6:
|
Конечная перестановка
Конечная перестановка IP−1{\displaystyle IP^{-1}} действует на T16{\displaystyle T_{16}} и используется для восстановления позиции. Она является обратной к перестановке IP. Конечная перестановка определяется таблицей 7.
|
Схема шифрования алгоритма 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
- скорость (шифрование на 32-битных процессорах происходит за 26 тактов);
- простота (за счёт использования простых операций, уменьшающих вероятность ошибки реализации алгоритма);
- компактность (возможность работать в менее, чем 5 Кбайт памяти);
- настраиваемая безопасность (изменяемая длина ключа).
Twofish
- 128-битный блочный симметричный шифр
- Длина ключей 128, 192 и 256 бит
- Отсутствие слабых ключей
- Эффективная программная (в первую очередь на 32-битных процессорах) и аппаратная реализация
- Гибкость (возможность использования дополнительных длин ключа, использование в поточном шифровании, хэш-функциях и т. д.).
- Простота алгоритма — для возможности его эффективного анализа.
Skipjack
Принимая во внимание, что стоимость вычислительных мощностей уменьшается вдвое каждые 18 месяцев, лишь через 36 лет стоимость взлома Skipjack полным перебором сравняется со стоимостью взлома DES сегодня.
Риск взлома шифра с помощью более быстрых способов, включая дифференциальный криптоанализ, незначителен. Алгоритм не имеет слабых ключей и свойства комплементарности.
Устойчивость Skipjack к криптоанализу не зависит от секретности самого алгоритма.
Mars
- простейшие операции (сложение, вычитание, исключающее или)
- подстановки с использованием таблицы замен
- фиксированный циклический сдвиг
- зависимый от данных циклический сдвиг
- умножение по модулю 232
- ключевое забеливание
Idea
- сложение по модулю
- умножение по модулю
- побитовое исключающее ИЛИ (XOR).
- никакие две из них не удовлетворяют дистрибутивному закону
- никакие две из них не удовлетворяют ассоциативному закону