Криптография_DES_AES_ГОСТ_лекция.ppt
- Количество слайдов: 26
Криптография. Блочные шифры. DES. AES. ГОСТ 28147 -89 Медведев Н. В. 1
Эпиграф «Все любят разгадывать других, но никто не любит быть разгаданным» Франсуа VI де Ларошфуко 2
3
Симметричное шифрование в 1949 г. Клод Шеннон 4
5
Криптографические алгоритмы: Безключевые • Хэш-функции • Генераторы случайных чисел (генерация паролей) Одноключевые • Симметричное шифрование • Хэш-функции • Генераторы псевдослучайных чисел • Алгоритмы аутентификации Двухключевые • Асимметричное шифрование • Электронная подпись • Алгоритмы аутентификации 6
Алгоритмы аутентификации Задача: проверка легитимности пользователя в системе; он тот за кого себя выдает. Основные виды: • парольная • с использованием секретных ключей. Алгоритм работы: 1. Сервер генерирует случайное число 2. Отправляет его пользователю 3. Пользователь зашифровывает это число секретным ключом и отправляет результат серверу 4. Сервер расшифровывает полученное сообщение таким же секретным ключом 7 5. Сравнивает полученное и отправленное число.
Концепция шифрования по алгоритму DES (Data Encryption Standard) Алгоритм разработан фирмой IBM в 1976 8
Проблематика вопроса… А зачем это вообще нужно? Б. Шнайер «Прикладная криптография» 70 -е года поставил проблемы: • нет общего стандарта шифрования, множество не совместимых алгоритмов • проблема «черных ящиков» . В 1973 году – открытый конкурс на стандарт шифрования. Национальное бюро стандартов (NBS) США. 9
Требования к стандарту шифрования: • алгоритм должен быть криптографически стойким • алгоритм должен быть быстрым • структура алгоритма должна быть четкой и ясной • стойкость шифрования должна зависеть только от ключа, а сам алгоритм не должен быть секретным • алгоритм должен быть легко применим для различных целей • алгоритм должен легко реализовываться аппаратно на существующей элементной базе. 10
11
Алгоритм работы DES шифрует информацию по 64 бита – блочный шифр. 1. Начальная перестановка (на входе и выходе 64 бита). 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 Логика работы: 58 бит – перемещается в 1 бит 50 бит – перемещается во 2 бит 12
2. Результат перестановки делиться на два субблока по 32 бита (L 0 и R 0) – 16 раундов преобразований. i – номер раунда; ki - ключ раунда 13 - XOR – «исключающее ИЛИ» - побитовое сложение
Структура функции раунда f( ) 1. На входе 32 бита. 2. Расширяющая перестановка E – 48 бит (см. Панасенко). 3. XOR с ключом раунда 4. Результат разбивается на 8 фрагментов по 6 бит. 5. Каждые 6 бит проходят через свои таблицы замен. 6. Выход 4 бита – после объединения 32 бита. 7. Перестановка P по таблице (см далее). 8. Выход 32 бита. 14
Таблицы замен S 1 и S 2 в функции f( ) 0 1 2 3 14 0 4 15 1 12 13 7 14 8 1 4 8 2 2 14 13 4 15 2 6 9 11 13 2 1 8 1 11 7 3 10 15 5 10 6 12 11 6 12 9 3 12 11 7 14 5 9 3 10 9 5 10 0 0 3 5 6 7 8 0 13 0 1 2 3 15 3 0 13 14 8 8 4 7 10 14 7 11 1 6 15 10 3 11 2 4 15 3 8 13 4 4 14 1 2 9 12 5 11 7 0 8 6 2 1 12 7 13 10 6 12 12 6 9 0 0 9 3 5 5 11 2 14 10 5 15 9 Логика работы таблицы замен: • два крайних бита – формируют номер строки • четыре остальные бита определяют столбец. Напимер 101100. Строка – 2. Столбец – 6. 15
Финальная перестановка 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 16
Продолжение … прошло 16 раундов. Последние субблоки L 16 и R 16 не меняются местами 3. Субблоки L 16 и R 16 объединяются в 64 -битный блок 4. Финальная обратная перестановка. Выход – 64 бита 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 17
Общая структура алгоритма шифрования DES. Все очень-очень просто! И это еще не все! 18
Процедура расширения ключа. Задача: формирование 16 ключей для раундов. 1. 2. На входе 64 бита. Выделение значащих бит – каждый 8 бит отбрасывается. Итого 56 бит. 3. Перестановка по таблице 4. Формируются два субблока C и D по 28 бит. Действие в каждом раунде: 1. Субблоки C и D циклически сдвигаются влево. Для раундов 1, 2, 9, 16 на 1 бит, в остальных раундах на 2 бита. 2. Субблоки C и D объединяются и применяется сжимающая перестановка CP (см. Панасенко). 5. Выход 16 ключей по 48 бит. 19
Недостатки DES • Диффи и Хеллман в 1977 году описали машину, способную за один день подобрать ключ DES. Стоимость оценивалась в 20 млн. долл. • К началу 1990 -х годов прогнозируемые затраты на создание машины, способной взломать DES, снизились в десять раз. • В 1997 году группа из нескольких тысяч добровольцев, работавших параллельно в течение нескольких месяцев, расшифровала сообщение, закодированное с помощью DES. • В 1998 году была представлена работоспособная машина ($210 000) для взлома DES. Она способна в среднем расшифровывать один ключ DES каждые 4, 5 дня. 20
Алгоритм ГОСТ 28147 -89 1. Простая схема алгоритма – простота реализации (программно и аппаратно). Блочный шифр – 64 бита. 21
Общий алгоритм работы. 1. Наложение ключа. Блок N 1 складывается с Kx по модулю 232 Ключ шифрования – 256 бит. Kx – это его 32 -х битная часть. Ключ в виде конкатенации K 0, K 1, …, K 7 2. Табличная замена. По 4 бита. 22
Режимы работы алгоритма: 1. Режим простой замены 2. Режим гаммирования 3. Режим гаммирования с обратной связью 4. Режим выработки имитоприставки. Режим простой замены: 1. Выполняются 32 раунда. 2. 1 -24 раунд – ключи K 0, K 1, …, K 7, K 0, … 3. 25 -32 раунд – ключи K 7, K 6, …, K 0. Не рекомендуется использовать для шифрования собственно данных. Используется для шифрования других ключей шифрования в многоключевых схемах. 23
Режим гаммирования Каждый блок открытого текста складывается побитно по модулю 2 с блоком гаммы шифра (64 бита) 24
1. В регистры N 1 и N 2 записывается их начальное заполнение — 64 -битная величина, называемая «синхропосылкой» . 2. Выполняется зашифровывание содержимого регистров N 1 и N 2 (в данном случае — синхропосылки) в режиме простой замены. 3. Содержимое N 1 складывается по модулю (232 — 1) с константой С 1 = 224 + 216 + 28 + 24, результат сложения записывается в регистр N 1. 4. Содержимое N 2 складывается по модулю 232 с константой С 2 = 224 + 216 + 28 + 1, результат сложения записывается в регистр N 2. 5. Содержимое регистров N 1 и N 2 подается на выход в качестве 64 -битного блока гаммы шифра (т. е. в данном случае N 1 и N 2 образуют первый блок гаммы). 6. Если необходим следующий блок гаммы (т. е. необходимо продолжить зашифровывание или расшифровывание), выполняется возврат к шагу 2. 25
Режим имитоприставки В режиме выработки имитоприставки выполняются следующие операции: 1. Первый 64 -битный блок информации, для которой вычисляется имитоприставка, записывается в регистры N 1 и N 2 и зашифровывается в сокращенном режиме простой замены, в котором выполняется 16 раундов основного преобразования вместо 32 -х. 2. Полученный результат суммируется по модулю 2 со следующим блоком открытого текста и сохраняется в N 1 и N 2. 3. N 1 и N 2 снова зашифровываются и суммируются и т. д. до последнего блока открытого текста. Проверка целостности на открытом тексте. 26
Криптография_DES_AES_ГОСТ_лекция.ppt