- •Тема 1. Введение в проблемы информационной безопасности 9
- •Тема 2. Криптографические методы защиты информации 30
- •Тема 3. Симметричные криптосистемы 52
- •Тема 4. Асимметричные криптосистемы 81
- •Тема 5. Методы и средства защиты информации от несанкционированного доступа 105
- •Тема 6. Средства защиты от компьютерных вирусов 126
- •Введение
- •1.1.1. Основные понятия и определения
- •Тема 1. Введение в проблемы информационной безопасности
- •1.1. Концептуальная модель информационной безопасности
- •1.1.2. Взаимосвязь понятий в области информационной безопасности
- •1.2. Основные угрозы информационной безопасности и каналы утечки информации
- •1.2.1. Основные виды угроз
- •1.2.2. Каналы утечки информации
- •1.3. Основные виды атак на информацию
- •1.3.1. Атаки доступа
- •1.3.2. Атаки модификации
- •1.3.3. Атаки на отказ в обслуживании
- •1.3.4. Атаки отказа от обязательств
- •1.4. Классификация методов и средств защиты информации
- •1.4.1. Основные методы защиты информации
- •1.4.2. Неформальные средства защиты
- •1.4.3. Формальные средства защиты
- •Вопросы для повторения
- •Резюме по теме
- •Тема 2. Криптографические методы защиты информации
- •2.1. Принципы криптографической защиты информации
- •2.1.1. Шифры
- •2.1.2. Односторонние функции
- •2.1.4. Электронная цифровая подпись
- •2.1.5. Генераторы псевдослучайных последовательностей
- •2.2. Криптоанализ и виды криптоаналитических атак
- •2.3. Основные криптографические преобразования в симметричных криптосистемах
- •2.3.1. Шифры перестановки
- •2.3.2. Шифры замены (подстановки)
- •2.3.3. Шифры гаммирования
- •2.3.4. Композиционные блочные шифры
- •Вопросы для повторения
- •Резюме по теме
- •Тема 3. Симметричные криптосистемы
- •3.1. Сеть Фейстеля
- •3.2. Алгоритм криптографического преобразования данных гост 28147-89
- •3.3. Стандарт шифрования сша нового поколения
- •3.4. Комбинирование блочных шифров
- •3.5. Режимы работы блочных шифров
- •3.5.1. Режим "Электронная кодовая книга"
- •3.5.2. Режим "Сцепление блоков шифртекста"
- •3.5.3. Режим обратной связи по шифртексту
- •3.5.4. Режим обратной связи по выходу
- •3.6. Режимы работы алгоритма криптографического преобразования данных гост 28147-89
- •Вопросы для повторения
- •Резюме по теме
- •Тема 4. Асимметричные криптосистемы
- •4.1. Алгоритмы шифрования с открытым ключом
- •4.1.1. Криптосистема rsa
- •4.1.2. Криптосистемы Диффи-Хеллмана и Эль Гамаля
- •4.1.3. Криптосистема на основе эллиптических кривых
- •4.2. Алгоритмы криптографического хэширования
- •4.2.1. Алгоритм безопасного хэширования
- •4.2.2. Односторонние хэш-функции на основе симметричных блочных алгоритмов
- •4.2.3. Алгоритм хэширования гост р 34.11–94
- •4.3. Алгоритмы электронной цифровой подписи
- •4.3.1. Алгоритм цифровой подписи rsa
- •4.3.2. Алгоритм цифровой подписи Эль Гамаля (egsa)
- •4.3.3. Алгоритм цифровой подписи dsa
- •4.3.4. Алгоритмы электронной цифровой подписи гост р 34.10–94 и гост р 34.10–2001
- •Вопросы для повторения
- •Резюме по теме
- •Тема 5. Методы и средства защиты информации от несанкционированного доступа
- •5.1. Основные понятия концепции защиты от несанкционированного доступа
- •5.2. Идентификация и аутентификация
- •5.2.1 Аутентификация пользователя на основе паролей и процедуры "рукопожатия"
- •5.2.2. Проверка подлинности пользователя по наличию материального аутентификатора
- •5.2.3. Аутентификация пользователя по биометрическим характеристикам
- •5.3. Управление доступом и регистрация доступа к ресурсам асои
- •5.4. Защита информации от несанкционированного доступа в сетях
- •Вопросы для повторения
- •Резюме по теме
- •Тема 6. Средства защиты от компьютерных вирусов
- •6.1. Классификация компьютерных вирусов
- •6.1.1. Файловые вирусы
- •6.1.2. Загрузочные вирусы
- •6.1.3. Макровирусы
- •6.1.4. Сетевые вирусы
- •6.1.5. Прочие вредоносные программы
- •6.2. Методы обнаружения и удаления компьютерных вирусов
- •6.2.1. Профилактика заражения компьютера
- •6.2.2. Использование антивирусных программ
- •6.2.3. Методы обнаружения и удаления неизвестных вирусов
- •Вопросы для повторения
- •Резюме по теме
- •Практикум (лабораторный)
- •Лабораторная работа №1. Программная реализация простых шифров перестановки и замены
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Способ оценки результатов
- •Лабораторная работа №2. Генерация и исследование псевдослучайных последовательностей. Реализация потокового шифрования данных
- •Требования к содержанию, оформлению и порядку выполнения
- •Контрольные вопросы к защите
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Контрольные вопросы к защите
- •Способ оценки результатов
- •Лабораторная работа №5. Изучение электронной цифровой подписи и принципов шифрования с открытым ключом с использованием системы pgp
- •Требования к содержанию, оформлению и порядку выполнения
- •Теоретическая часть
- •Общая постановка задачи
- •Список индивидуальных данных
- •Пример выполнения работы
- •Рекомендуемая дополнительная литература
- •Глоссарий
4.3.3. Алгоритм цифровой подписи dsa
Алгоритм цифровой подписи DSA (Digital Signature Algorithm) предложен в 1991 г. в США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Алгоритм DSA является развитием алгоритма цифровой подписи Эль Гамаля.
Отправитель и получатель электронного документа используют при вычислении большие целые числа: G и Р – простые числа, L бит каждое (512 < L< 1024); q – простое число длиной 160 бит (делитель числа (Р – 1)). Числа G, P, q являются открытыми и могут быть общими для всех пользователей сети.
Отправитель выбирает случайное целое число X, 1< Х< q. Число X является секретным ключом отправителя для формирования электронной цифровой подписи.
Затем отправитель вычисляет значение . Число Y является открытым ключом для проверки подписи отправителя. Число Y передается всем получателям документов.
Этот алгоритм также предусматривает использование односторонней функции хэширования h( ). В стандарте DSS определен алгоритм безопасного хэширования SHA.
Для
того чтобы подписать документ М,
отправитель хэширует его в целое
хэш-значение m = h(M),
1 < m < q,
затем генерирует случайное целое число
K, 1< K
< q, и вычисляет число
r = (GK(mod P))(mod q).
Затем отправитель вычисляет с помощью
секретного ключа X
целое число
.
Пара чисел r и s
образует цифровую подпись S
= (r, s)
под документом М.
Таким образом,
подписанное сообщение представляет
собой тройку чисел (М, r,
s).
Получатель подписанного сообщения (М, r, s) проверяет выполнение условий 0 < r < q, 0 < s < q и отвергает подпись, если хотя бы одно из этих условий не выполнено.
Затем получатель вычисляет значение
,
хэш-значение m = h(M) и числа u1 = mw (mod q), u2 = mr (mod q).
Далее получатель с помощью открытого ключа Y вычисляет значение
и проверяет выполнение условия v = r.
Если условие v = r выполняется, тогда подпись S = (r, s) под документом М признается получателем подлинной.
По сравнению с алгоритмом цифровой подписи Эль Гамаля алгоритм DSA имеет следующие основные преимущества:
1. При любом допустимом уровне стойкости, т.е. при любой паре чисел G и Р (от 512 до 1024 бит), числа q, X, r, s имеют длину по 160 бит, сокращая длину подписи до 320 бит.
2. Большинство операций с числами K, r, s, X при вычислении подписи производится по модулю числа q длиной 160 бит, что сокращает время вычисления подписи.
3. При проверке подписи большинство операций с числами u1, u2, v, w также производится по модулю числа q длиной 160 бит, что сокращает объем памяти и время вычисления.
Недостатком алгоритма DSA является то, что при подписывании и при проверке подписи приходится выполнять сложные операции деления по модулю q:
, ,
что не позволяет получать максимальное быстродействие.
Следует отметить, что реальное исполнение алгоритма DSA может быть ускорено с помощью выполнения предварительных вычислений. Заметим, что значение r не зависит от сообщения М и его хэш-значения m. Можно заранее создать строку случайных значений K и затем для каждого из этих значений вычислить значения r. Можно также заранее вычислить обратные значения K–1 для каждого из значений K. Затем, при поступлении сообщения М, можно вычислить значение s для данных значений r и K–1. Эти предварительные вычисления значительно ускоряют работу алгоритма DSA.
