- •Лекция 2
- •Разделы криптографии
- •Классификация криптосистем
- •Требования к криптографическим алгоритмам
- •Принцип КЕРКГОФФСА
- •Блочные шифры
- •Поточные шифры
- •Предпосылки создания шифра Файстеля
- •Диффузия и конфузия
- •Классическая схема Файстеля
- •Практическая реализация схемы Фейстеля зависит от:
- •Алгоритм DES
- •Схема работы функции f
- •Определение S-матриц алгоритма DES
- •Лавинный эффект
- •Слабые ключи DES
- •Увеличение криптостойкости DES
Практическая реализация схемы Фейстеля зависит от:
Размер блока
Размер ключа
Число раундов обработки
Алгоритм вычисления подключей
Функция раунда
Скорость выполнения программ шифрования/дешифрования
Простота анализа
11
Алгоритм DES
(Data Encryption Standart)
12
Подробная схема шифрования алгоритма DES
Схема работы функции f
13
Определение S-матриц алгоритма DES
14
Лавинный эффект
Высокая чувствительность результата к изменению начальных данных – любые малые изменения ОТ или ключа приводят к значительным изменениям в шифрованном тексте
Два блока ОТ отличающиеся друг от друга на 1 бит:
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
10000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
Изменения в открытом тексте
Раунд |
Число различающихся битов |
0 |
1 |
1 |
6 |
2 |
21 |
3 |
35 |
4 |
39 |
5 |
32 |
6 |
32 |
7 |
31 |
10 |
44 |
16 |
34 |
|
Изменения в ключе |
Раунд |
Число различающихся битов |
0 |
1 |
1 |
2 |
2 |
14 |
3 |
28 |
4 |
32 |
5 |
30 |
6 |
32 |
7 |
35 |
9 |
40 |
16 |
35 |
15
Слабые ключи DES
Из-за небольшого числа возможных ключей (всего 256), появляется возможность их полного перебора на быстродействующей вычислительной технике за реальное время. В 1998 году The Electronic Foundation используя специальный компьютер DES-Cracker, удалось взломать DES за 3 дня.
В алгоритме DES существуют слабые и частично-слабые ключи.
Слабыми ключами называется ключи — вместо 16 подключей – один
Частично-слабые ключи — DESk2 (DESk1(M))=M
Возможно-слабые ключи (48) — вместо 16 подключей - четыре
Слабые ключи |
6 gар частично-слабых ключей |
||
0101-0101-0101-0101 |
01FE-01FE-01FE-01FE – |
FE01-FE01-FE01-FE01 |
|
1FE0-1FE0-1FE0-1FE0 – |
E0F1-E0F1-E0F1-E0F1 |
||
FEFE-FEFE-FEFE-FEFE |
|||
01E0-01E0-01F1-01F1 – |
E001-E001-F101-F101 |
||
1F1F-1F1F-0E0E-0E0E |
|||
FFE-1FFE-0EFE-0EFE – |
FE1F-FE1F-FE0E-FE0E |
||
E0E0-E0E0-F1F1-F1F1 |
|||
O11F-011F-010E-010E – |
1F01-1F01-0E01-0E01 |
||
|
|||
|
E0FE-E0FE-F1FE-F1F – |
FEE0-FEE0-FEF1-FEF1 |
|
16
Увеличение криптостойкости DES
Варианты DES: double DES (2DES), triple DES (3DES), DESX, G-DES.
3 типа алгоритма 3DES: DES-EEE3
DES-EDE3:
DES-EEE2 и DES-EDE2:
Самый популярный тип при использовании 3DES — это DES-EDE3, для него алгоритм выглядит так: Зашифрование: Расшифрование:
При выполнении алгоритма 3DES ключи выбираются:
1.k1,k2,k3 независимы.
2.k1,k2 независимы, а k1 = k3
17
