
Алгоритм DES.ppt
- Количество слайдов: 21
Алгоритмы блочного шифрования Алгоритм DES и его модификации
DES (Data Encryption Standard) 1978 г. , • Американский стандарт криптографического закрытия данных. • Является блочным шифром.
Характеристика шифра DES • Допускает эффективную аппаратную и программную реализацию, • Возможно достижение скоростей шифрования до нескольких мегабайт в секунду • В аппаратной реализации криптосистема работает быстрее • Наиболее легкий путь вскрытия – полный перебор всех ключей (256 или 1017)
Характеристика шифра DES • работает с блоками данных разрядностью 64 бита • Использует 56 -разрядный секретный ключ , • из ключа по специальному фиксированному алгоритму, вырабатываются раундовые ключи размером 48 бит. • число раундов равно 16; • Применяемые преобразования– поразрядное сложение по модулю 2 – подстановки и перестановки;
Схема шифра DES • перед началом первого раунда выполняется начальная фиксированная перестановка IР, • после 16 -го раунда выполняется обратная перестановка IP-1 • в каждом раунде выполняется – один шаг перемешивания (с использованием соответствующего раундового ключа и S-блоков), – шаг рассеивания, не зависящий от ключа
IP – исходная перестановка 58 50 42 34 26 18 10 2 60 52 44 62 54 46 38 30 22 14 6 64 57 49 33 25 17 9 1 61 53 45 37 29 21 13 5 41 36 28 20 12 4 56 48 40 32 24 16 8 59 51 43 35 27 19 11 3 63 55 47 39 31 23 15 7
Схема шифра DES 1. 64 -битовый блок открытого текста после начальной перестановки делится на две части по 32 бит каждая. 2. Левую и правую половины обозначим соответственно L и R. 3. Затем выполняются 16 шифрующих итераций (раундов) вида: 4. Li = Ri-1 5. R i = Li-1 F(R i-1, K i-1), 6. где Ki — 48 -битовый подключ, вырабатываемый из 56 битового секретного ключа и используемый на i-м раунде.
Вычисление функции F(Ri-1, Ki) в алгоритме DES 1. Расширение 32 битового подблока R в 48 -битовый подблок R’; 2. Операции поразрядного суммирования по модулю два над подблоком R’ и подключом Кi 3. 8 операций подстановок типа 6 х 4 S 1, S 2, …, S 8 4. Операция перестановки Р. Схема вычисления F (Ri-1, K i)
Вычисление функции F(Ri-1, Ki) 1. Операция расширения подблока R (R R') • 32 бита подблока R разбиваются на 8 4 -битовых подблока. • К каждому 4 -битовому подблоку с обоих сторон присоединяется по одному биту, в качестве которого берется ближайший крайний бит соседнего подблока • В результате получаем 8 6 -битовых подблока
Вычисление функции F(Ri-1, Ki) 2. 8 Операций подстановок • После выполнения операции расширения (R R') имеются 8 6 -битовых подблока, • Над каждым из них выполняется операция подстановки типа 6 x 4, дающая на выходе 4 -битовое значение. • Каждая из восьми подстановок задается таблицей из 4 -х строк, которые представляют собой некоторые перестановки полного набора 4 -битовых чисел {0, 1, 2, . . . , 15}. • Все 4 -битовые выходные значения объединяются в 32 -битовый подблок
Выполнение операции подстановки состоит в следующем • На основе 6 -битового входного подблока формируются два двоичных вектора V 1 и V 2. • Вектор V 1 представляет собой 2 -битовый подблок, содержащий 1 -й и 6 -й биты входного подблока, • вектор V 2 содержит четыре средних бита. • Число, находящееся напересечении строки с номером V 1 и столбца с номером V 2 берется в качестве выходного 4 -битового подблока. • Всего используются 8 разных таблиц подстановки, аналогичных приведенной выше. • После выполнения восьми операций подстановки все 4 -битовые выходные значения объединяются в 32 битовый подблок, над которым затем выполняется операция перестановки в соответствии с таблицами:
Вычисление функции F(Ri-1, Ki) 3. Перестановка • После выполнения восьми операций подстановки все 4 -битовые выходные значения объединяются в 32 -битовый подблок, над которым затем выполняется операция перестановки в соответствии с таблицами: 1 2 3 16 7 20 4 21 5 29 17 18 19 20 21 2 8 24 14 32 • • 6 12 7 28 22 23 27 3 8 17 9 1 10 15 11 23 12 26 24 25 26 27 28 9 19 13 30 6 13 5 29 22 14 15 16 18 31 10 30 31 11 4 В этих таблицах верхняя строка обозначает порядковый номер позиции входных битов, а нижняя строка — номер позиции, в которую переставляются соответствующие биты. 32 25
Недостатки шифра DES Алгоритм разработан 1998 г. и настоящее время появилась возможность осуществить полный перебор ключей и тем самым раскрыть шифр
Характеристика шифра DES • • Длина блока данных 64 бита, Длина ключа 56 бит, Длина подключа 48 бит Подключ выбирается случайно на каждом раунде • число раундов равно 16. • Используемые преобразования – подстановка, – сложение по модулю 2,
Использование шифра DES • Для шифрования • Для установления подлинности (аутентификации) данных
Усовершенствование шифра DES • EDES (тройной DES ) – ключ длиной 56*3=168 бит - гораздо более медленный • DESХ - ключ (54+54+64) = 184 бит - более быстрый, чем EDES
Наиболее известные блочные шифры • IDEA • BLOWFISH • SKIPJACK
IDEA - авторы - К. Лэй, Д. Мэссей разработан в 1991 г. • • блоки данных длиной 64 бита, ключ длиной 128 бит, число раундов 8 Используемые преобразования – умножение по модулю 216 , – сложение по модулю 216.
BLOWFISH - разработан в 1994 г. Б. Шнайером; • блоки данных разрядностью 64 бита, • ключ переменной длины (максимальная разрядность равна 448 битам), • число раундов равно 16. • Используемые преобразования – подстановка, – сложение по модулю 232.
SKIPJACK- разработан в 1990 г. Первоначально алгоритм был объявлен секретным, однако впоследствии его описание "просочилось" в Интернет. • Шифр работает с блоками данных разрядностью 64 бита • 80 -разрядный ключ. • Число раундов равно 32.
Алгоритм DES.ppt