Криптографические основы безопасности Информация о курсе Курс предполагает изучение методологических и алгоритмических основ и стандартов криптографической защиты информации



СодержаниеОсновные понятия и определения
Модель сетевой безопасности
II. Активная атака
Отказ в обслуживании
Сервисы безопасности
Механизмы безопасности
Модель сетевого взаимодействия
Модель безопасности информационной системы
Атака на сервисы, чтобы помешать использовать их. Вирусы и черви - примеры подобных атак
Сервисы безопасности
2. Лекция: Алгоритмы симметричного шифрования. Часть 1
Основные понятия
Области применения
Дополнительные требования
Сеть Фейштеля
Сеть Фейштеля
Дифференциальный и линейный криптоанализ
Дифференциальный криптоанализ
Используемые критерии при разработке алгоритмов
Алгоритм DES
Начальная перестановка
Последовательность преобразований отдельного раунда
Создание подключей
Проблемы DES
DES. Основой алгоритма являются восемь таблиц подстановки, или S-boxes
Алгоритм тройной DES
Недостатки двойного DES
Атака "встреча посередине"
Тройной DES с двумя ключами
Тройной DES
Алгоритм Blowfish
Функция F
Генерация подключей
S-boxes, выходами соответствующим образом модифицированного алгоритма Blowfish
Алгоритм IDEA
Принципы разработки
Криптографическая стойкость
Длина ключа
Алгоритм IDEA
Последовательность преобразований отдельного раунда
Раунд начинается с преобразования, которое комбинирует четыре входных подблока с четырьмя подключами
Создание подключей
Алгоритм ГОСТ 28147
S-boxes в открытой печати не публиковалась. В настоящее время известны S-boxes
1-ый S-box
2-ой S-box
3-ий S-box
4-ый S-box
5-ый S-box
6-ой S-box
7-ой S-box
8-ой S-box
Режимы выполнения алгоритмов симметричного шифрования
Режим ECB
Режим CBC
Режим CFB
Режим OFB
OFB в том, что он более уязвим к атакам модификации потока сообщений, чем CFB
Создание случайных чисел
Требования к случайным числам
Источники случайных чисел
Генераторы псевдослучайных чисел
Криптографически созданные случайные числа
Циклическое шифрование
Режим Output Feedback DES
Генератор псевдослучайных чисел ANSI X9.17
Разработка Advanced Encryption Standard (AES)
Историческая справка
AES на первой конференции кандидатов AES
Обзор финалистов
AES было предложено использовать 20 раундов. Функция раунда в RC6
Критерий оценки
Результаты второго этапа обсуждения
Процесс выбора
Методология и результаты выбора
Качественный или количественный критерий
Количество алгоритмов AES
Запасной алгоритм
Модификация алгоритмов
Технические детали второго этапа обсуждений
Алгоритм, раунды
Байты памяти
MARS Существует много способов упростить MARS
RC6 Известны две атаки на варианты RC6
Serpent Используется amplified boomerang технология для создания 7 раундов отличий в Serpent
Twofish Обнаружены две атаки на варианты Twofish
Twofish с помощью простого уменьшения числа раундов
RC6, в зависимости от длины ключа
MARS не исследована. Как раунд перемешивания, так и раунд ядра основаны на сети Фейштеля со значительными изменениями. MARS
MARS и разнообразие операций обеспечивают защиту от неизвестных атак. Управление ключом в MARS
Twofish называется свойством разделения ключа. Зависимость S-boxes в Twofish
MARS реализует два различных типа раунда. MARS
Программные реализации
Таблица 5.1. Выполнение шифрования и дешифрования на различных платформах
64 бита (С и ассемблер)
Цифровые сигнальные процессоры
Таблица 5.2. Выполнение управления ключом в зависимости от платформы
64 бита (С и ассемблер)
Шифрование/ дешифрование
MARS обеспечивает среднее выполнение для шифрования, дешифрования и установления ключа. RC6
Окружения с ограничениями пространства
MARS имеет проблемы в окружениях с ограниченными ресурсами
Serpent, используя 80 байт RAM и вычисляя подключи на лету. Twofish: существует несколько возможных режимов реализации Twofish
Профили финалистов
MARS зависит от используемой длины ключа. Шифрование vs. дешифрование
MARS при шифровании и дешифровании существенно не изменяется. Свойства ключа
RC6 при шифровании и дешифровании существенно не отличается. Свойства ключа
RC6 поддерживает размер ключа намного больше 256 бит. Rijndael Общая безопасность
Serpent при шифровании и дешифровании отличается несущественно. Свойства ключа
Заключительные оценки финалистов
Общая безопасность
Программные реализации
Окружения с ограничениями пространства
Serpent имеет низкие требования к RAM и ROM и очень хорошо соответствует окружениям с ограничениями пространства
MARS недостаточно соответствует окружению с ограничениями пространства
Аппаратные реализации
RC6 и Twofish
Шифрование vs. дешифрование
Свойства ключа
Другие возможности настройки
Serpent поддерживает любую длину ключа более 256 бит, и bitslice-реализация может обеспечить его выполнение на многих процессора
AES алгоритма в результате длительного и сложного процесса оценки специалисты NIST выбрали Rijndael
Алгоритм Rijndael
Поле GF(2)
Полиномы с коэффициентами из GF
Обоснование разработки
Спецификация алгоритма
Состояние, ключ шифрования и число раундов
Таблица 6.1. Число раундов как функция от длины блока и длины ключа
Преобразование раунда
Создание ключей раунда
Алгоритм шифрования
Преимущества алгоритма
Различная длина блока и ключа шифрования
Другие возможности
Генератор псевдослучайных чисел
Алгоритм RC6
Основные требования к алгоритмам асимметричного шифрования
Криптоанализ алгоритмов с открытым ключом
Основные способы использования алгоритмов с открытым ключом
Обмен ключей
Шифрование / дешифрование
Алгоритм RSA
Описание алгоритма
Закрытый ключ
Открытый ключ
Вычислительные аспекты
Создание ключей
Обсуждение криптоанализа
Алгоритм обмена ключа Диффи-Хеллмана
Общеизвестные элементы
Создание пары ключей пользователем I
Создание общего секретного ключа пользователем I
Создание общего секретного ключа пользователем J
Требования к хэш-функциям
Простые хэш-функции
"Парадокс дня рождения"
Использование цепочки зашифрованных блоков
Хэш-функция MD5
Алгоритм MD4
MD5 использует четыре элементарные логические функции, по одной на каждом цикле, по сравнению с тремя в MD4, по одной на каждом
Усиление алгоритма в MD5
Хэш-функция SHA-1
Логика выполнения SHA-1
Номер цикла
Сравнение SHA-1 и MD5
Архитектуры little-endian и big-endian
Хэш-функции SHA-2
Длина блока (в битах)
Безопасность (в битах)
Хэш-функция ГОСТ 3411
Алгоритм обработки одного блока сообщения
Логика выполнения ГОСТ 3411
Коды аутентификации сообщений - МАС
МАС на основе алгоритма симметричного шифрования
MAC = МАСN МАС на основе хэш-функции
Требования к цифровой подписи
Цифровая подпись
Прямая и арбитражная цифровые подписи
Симметричное шифрование, арбитр видит сообщение
Симметричное шифрование, арбитр не видит сообщение
Шифрование открытым ключом, арбитр не видит сообщение
Стандарт цифровой подписи DSS
Подход DSS
Алгоритм цифровой подписи
Общие компоненты группы пользователей
Закрытый ключ отправителя
Открытый ключ отправителя
Случайное число, уникальное для каждой подписи.
Проверка подписи
Отечественный стандарт цифровой подписи ГОСТ 3410
DSS используется SHA-1, которые имеют разную длину хэш-кода. Отсюда и разные требования на длину простого числа q: в ГОСТ 3410
Математические понятия
Аналог алгоритма Диффи-Хеллмана обмена ключами
Алгоритм цифровой подписи на основе эллиптических кривых ECDSA
Шифрование/дешифрование с использованием эллиптических кривых
Алгоритмы распределения ключей с использованием третьей доверенной стороны
Протоколы аутентификации
Взаимная аутентификация
Отметки времени
KDC, включает также возможность аутентификации
KDC отвечает сообщением, зашифрованным ключом KА. Таким образом, только А может расшифровать сообщение, и А уверен, что оно полу
Протокол Деннинга
KDC. Другая альтернатива, при которой нет необходимости всем синхронизировать часы, состоит в доверии протоколам рукопожатия, ис
KDC, что необходим ключ сессии
KDC. Блок служит билетом, который может быть использован А для последующих аутентификаций
KDC, что хочет установить безопасное соединение с B. KDC
KDC на шагах 5 и 6 для идентификации обоих участников сессии. Это включение IDA приводит к тому, что значение nonce
Односторонняя аутентификация