Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

DES



План:


Введення

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

Прямим розвитком DES в даний час є Triple DES.


1. Історія

В 1972, після проведення дослідження потреб уряду США в комп'ютерній безпеці, американське НБС (Національне Бюро Стандартів) - тепер перейменовано Ність (Національний Інститут Стандартів і Технологій) - визначило необхідність в загальноурядовий стандарті шифрування некритичною інформації. 15 травня 1973, після консультації з АНБ (Агентством національної безпеки), НБС оголосило конкурс на шифр, який задовольнить суворим критеріям проекту, але жоден конкурсант не забезпечував виконання всіх вимог. Другий конкурс був початий 27 серпня 1974. Цього разу, шифр Lucifer, представлений IBM і розвинений протягом періоду 1973 - 1974 визнали прийнятним, він був заснований на більш ранньому алгоритмі Хорста Фейстеля.

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, необхідно розглянути принцип роботи блокового шифру, мережу Фейстеля.


2. Блоковий шифр

Рис.1 Пряме перетворення мережею Фейстеля
Рис.2 Зворотне перетворення мережею Фейстеля

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

Базові перетворення:

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

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


3. Перетворення Мережею Фейстеля

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

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

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

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

Оригінальний текст - блок 64 біт.

Процес шифрування складається з початкової перестановки, 16 циклів шифрування і кінцевої перестановки.


4.1. Початкова перестановка

Оригінальний текст 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 вхідного блоку.


4.2. Цикли шифрування

Отриманий після початкової перестановки 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.


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

Аргументами функції 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


4.4. Генерування ключів 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

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

Кінцева перестановка 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

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

При расшифровании данных все действия выполняются в обратном порядке. В 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} такие же как и в процессе шифрования.


6. Режимы использования 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, поэтому такие режимы используется для передачи по каналам связи с большим числом искажений.

7. Криптостойкость алгоритма 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 дня.


7.1. Слабые ключи

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

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

Таблица 9. DES-Слабые ключи
Слабые ключи(hexadecimal) C_0D_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 нульових бітів.


7.2. Частково слабкі ключі

В алгоритмі DES існують слабкі і частково слабкі ключі. Частково-слабкі ключі - це такі пари ключів (K_1, k_2) , Що DES_ {k1} (DES_ {k2} (x)) = x.

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

Таблиця 10. Частково-слабкі ключі
C_0D_0 Пари частково-слабких ключів C_0D_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}

7.3. Відомі атаки на 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.

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


8. Збільшення криптостійкості 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} відомих відкритих текстів.

9. Застосування

DES був національним стандартом США в 1977 - 1980 рр.., але в даний час 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.


Література

Перегляд цього шаблону Симетричні криптоалгоритми
Потоковий шифр
Мережа Фейстеля
SP-мережу
Інші



Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Triple DES
Journal des savants
Journal des dbats
Theatres des Vampires
Spiel des Jahres
La Socit Mauritanienne des Postes
© Усі права захищені
написати до нас