МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Саратовский государственный университет имени Н.Г. Чернышевского

реклама
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Саратовский государственный университет имени Н.Г. Чернышевского
Факультет компьютерных наук и информационных технологий
УТВЕРЖДАЮ
___________________________
"__" __________________20__ г.
Рабочая программа дисциплины
Алгоритмы алгебры и теории чисел
Специальность
090301 Компьютерная безопасность
Специализация
Математические методы защиты информации
Квалификация выпускника
Специалист
Форма обучения
очная
Саратов,
2012
1. Цели освоения дисциплины
Целями освоения дисциплины являются:
 изучение представления алгебраических структур в виде объектов,
поддающихся машинной обработки;
 рассмотрение использования наиболее эффективных алгоритмов для
обработки структур данных.
2. Место дисциплины в структуре ООП
Данная учебная дисциплина входит в раздел «Профессиональный цикл.
Базовая часть. Дисциплины специализации» ФГОС-3.
Для изучения дисциплины необходимы компетенции, знания, умения и
готовности, сформированные у обучающихся в результате освоения курсов
«Алгебра», «Сложность вычислений», «Дискретная математика», «Теория
вероятностей и математическая статистика», «Теория информации»,
«Математическая логика и теория алгоритмов».
Компетенции, знания, умения и готовности, сформированные у
обучающихся в результате освоения данной дисциплины, необходимы для
изучения следующих курсов: «Теория кодирования, сжатия и восстановления
информации» «Криптографические протоколы», «Теоретико-числовые
методы в криптографии», «Модели безопасности компьютерных систем»,
«Введение в криптоанализ», «Методы алгебраической геометрии в
криптографии».
3 Компетенции обучающегося, формируемые в результате
освоения дисциплины
В результате освоения дисциплины у студента должны сформироваться
или закрепиться следующие компетенции (ПК):
способностью выявлять естественнонаучную сущность проблем,
возникающих в ходе профессиональной деятельности, и применять
соответствующий
физико-математический
аппарат
для
их
формализации, анализа и выработки решения (ПК-1);
способностью применять математический аппарат, в том числе с
использованием
вычислительной
техники,
для
решения
профессиональных задач (ПК-2);
способностью применять методологию научных исследований в
профессиональной деятельности, в том числе в работе над
междисциплинарными и инновационными проектами (ПК-4);
способностью работать с программными средствами прикладного,
системного и специального назначения (ПК-8);
способностью использовать языки и системы программирования,
инструментальные средства для решения различных профессиональных, исследовательских и прикладных задач (ПК-9);
способностью формулировать результат проведенных исследований в
виде конкретных рекомендаций, выраженных в терминах предметной
области изучавшегося явления (ПК-10);
способностью к самостоятельному построению алгоритма, проведению
его анализа и реализации в современных программных комплексах
(ПК-12).
способностью готовить научно-технические отчеты, обзоры,
публикации по результатам выполненных работ (ПК-17).
способностью обосновывать правильность выбранной модели решения
профессиональной задачи, сопоставлять экспериментальные данные и
теоретические решения (ПК-28).
способностью
разрабатывать
вычислительные
алгоритмы,
реализующие
современные
математические
методы
защиты
информации (ПСК-2.3);
способностью моделировать алгоритмы в системах компьютерной
алгебры, оценивать их работоспособность и эффективность (ПСК-2.4);
способностью на основе анализа применяемых математических
методов и алгоритмов оценивать эффективность средств защиты
информации (ПСК-2.5);
способностью разрабатывать, анализировать и обосновывать
адекватность математических моделей процессов, возникающих при
работе программно-аппаратных средств защиты информации (ПСК2.6);
способностью проводить сравнительный анализ и осуществлять
обоснованный выбор программно-аппаратных средств защиты
информации (ПСК-2.7).
В результате освоения дисциплины обучающийся должен
Знать:
основные конструкции современной алгебры;
алгоритмы алгебры и теории чисел.
Уметь:
применять оба подхода к решению задач – теоретический и
алгоритмический;
разрабатывать быстрые вычислительные алгоритмы для поставленной
задачи.
Владеть:
методами алгебраической алгоритмики.
4. Структура и содержание дисциплины
Общая трудоемкость дисциплины составляет 5 зачетных единиц 180 часов.
№
п/п
1
2
3
4
5
6
7
Раздел дисциплины
С Недел
Виды учебной работы,
Формы
е
я
включая
текущего
м семес самостоятельную работу
контроля
е
тра
студентов и трудоемкость успеваемост
с
(в часах)
и (по
т
неделям
р
семестра)
Формы
промежуточ
ной
аттестации
(по
семестрам)
Точная целочисленная арифме 7
1
Л:2
Ла:6
С:5
тика. Основные алгоритмы.
Первообразные корни и
7
2-3
Л:4
Ла:4
Контрольная
квадратичные вычеты.
С:10
работа №1
Квадратные корни: метод
на 3 неделе
Цассенхауза-Кантора.
Основы абстрактной алгебры. 7 4-11
Л:16
Ла:4
С:16
Некоторые методы алгебраиче
екой алгоритмики
Быстрые алгоритмы для
7 12-14
Л:6
Ла:6
С:10
Контрольная
конечных алгебраических
работа №2
структур.
на 14 неделе
Тесты на простоту и построе
7 15-16
Л:4
Ла:4
С:8
ние больших простых чисел
Методы разложения чисел на
7
17
Л:2
Ла:6
С:6
множители
Разложение на множители
7
18
Л:2
Ла:6
С:8
полиномов над конечными
полями. Алгоритм Берлекэмпа
Промежуточная аттестация
7
Экзамен
Итого: Л:36
Ла:36
С:63
Содержание курса
Раздел 1. Точная целочисленная арифметика. Основные алгоритмы
§1. Делимость в кольце целых чисел
1.1. Временные оценки сложности арифметических операций
1.2. Делимость и алгоритм Евклида.
1.3. Основная теорема арифметики
1.4. Распределение простых чисел
§2. Сравнения с одним неизвестным
2.1. Отношение сравнимости. Полная система вычетов
2.2. Теорема Эйлера. Теорема Ферма
2.3. Сравнения 1-й степени
45
Раздел 2. Первообразные корни и квадратичные вычеты. Квадратные корни:
метод Цассенхауза-Кантора.
§1. Сравнение 2-й степени. Символы Лежандра и Якоби
§2. Квадратичный закон взаимности
§3. Методы решения сравнений 2-й степени
§4. Первообразные корни.
§5. Квадратные корни: метод Цассенхауза-Кантора
Раздел 3. Основы абстрактной алгебры. Некоторые методы алгебраической
алгоритмики
§1. Кольца: Евлидовы. Безу. Факториальные. Главных идеалов
§2. Различные формы китайской теоремы об остатках
2.1. Различные формы китайской теоремы об остатках.
2.2. Модулярная арифметика и смешанная система счисления
§3. Конечные поля. Неприводимые многочлены
§4. Матричная алгебра над произвольным полем. Вычисления над
конечными структурами
§5. Характеры и  - преобразования. Быстрые  - преобразования
Раздел 4. Быстрые алгоритмы для конечных алгебраических структур
§1. Арифметические операции над целыми числами и полиномами
1.1. Сложность основных целочисленных алгоритмов
1.2. Алгоритмы арифметики в системе счисления с основанием B.
1.3. Умножение в классах вычетов
§2. Умножение с помощью быстрого преобразования Фурье
2.1. Дискретное преобразование Фурье
2.2. Алгоритм быстрого преобразования Фурье
2.3. Алгоритм Шенхаге-Штрассена для умножения целых чисел
§3. Модульное умножение
3.1. Метод Монтгомери
3.2. Модульное возведение в степень
Раздел 5. Тесты проверки чисел на простоту и построение больших простых
чисел.
§1. Вероятностные тесты проверки чисел на простоту
1.1. Тест Ферма
1.2. Тест Соловэя-Штрассена
1.3. Тест Миллера-Рабина
§2. Детерминированные алгоритмы проверки чисел на простоту
2.1. Проверка чисел Мерсенна
2.2. Проверка с использованием разложения числа n-1
Раздел 6. Методы разложение чисел на множители
§1. Разложение чисел на множители
1.1. Метод пробного деления
1.2.  - Метод Полларда
1.3. Факторизация Ферма и факторные базы
1.4. Метод квадратичного решета
1.5. Метод непрерывных дробей
§2. Приложения в криптографической системе RSA
Раздел 7. Разложение на множители полиномов над конечными полями.
Алгоритм Берлекэмпа.
§1. Факторизация многочленов над конечными полями.
§2. Алгоритм Берлекемпа.
Темы лабораторных работ
Проверка чисел на простоту
1. Критерий Вильсона
2. Тест на основе малой теоремы Ферма
3. Свойства чисел Кармайкла
4. Тест Соловея-Штрассена
5. Тест Рабина-Миллера
6. Полиномиальный тест распознавания простоты
Самостоятельная работа: [1], глава 3; §11; [2], глава 5
Построение больших простых чисел
1. Критерий Люка
2. Теорема Поклингтона
3. Теорема Диемитко
4. Метод Маурера
5. Метод Михалеску
6. (n+1)-методы
7. Числа Мерсенна
Самостоятельная работа: [1], глава 3; §12
Методы разложения чисел на множители и криптографическая
система RSA
1. Метод Полларда
2. Алгоритм Полларда-Штрассена
3. Факторизация Ферма
4. Алгоритм Диксона
5. Алгоритм Брилхарта-Моррисона
6. Метод квадратичного решета
7. (p-1)-метод факторизации Полларда
8. Безопасность системы RSA и задача разложения на множители.
Самостоятельная работа: [1], глава 3,4; [2], глава 6,7.
Алгоритмы дискретного логарифмирования в конечном поле.
Протокол Диффи-Хеллмана.
1. Алгоритм Гельфонда
2. Алгоритм Полига - Хеллмана
3. Алгоритм Хеллмана – Рейнери
4. Протокол Диффи - Хеллмана
Самостоятельная работа: [2], глава 7
Элементы теории решеток. Ранцевые алгоритмы шифрования с
открытым ключом.
Самостоятельная работа: [2], глава 8
5. Образовательные технологии
При проведении занятий планируется использование таких активных и
интерактивных форм занятий, как промежуточное тестирование, перекрест ный опрос, мультимедийные презентации.
6. Учебно-методическое обеспечение самостоятельной работы
студентов. Оценочные средства для текущего контроля успеваемости,
промежуточной аттестации по итогам освоения дисциплины.
7. Учебно-методическое и информационное обеспечение дисциплины
а) основная литература:
Вернер М. Основы кодирования. Учебник для ВУЗов. Перевод с нем.
Д.К.Зигангирова./М.:Техносфера, 2006.-286 c.
б) дополнительная литература:
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных
алгоритмов./М.: Мир, 1978.-536 c.
Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и
анализ./М.:МЦНМО, 2001.-958 c.
Ноден П., Китте К. Алгебраическая алгоритмика.М.:Мир,1999.-720 c.
Черемушкин А.В.. Лекции по арифметическим алгоритмам в
криптографии. М.: МЦНМО, 2002.-103 c.
в) программное обеспечение и Интернет-ресурсы
1. Маховенко Е.Б. Теоретико-числовые методы в криптографии. М.:Изд-во
Гелиос АРВ, 2006.
http://ibks.ftk.spbstu.ru/publications/book_details.php?bc_tovar_id=20
2 Самсонов Б.Б., Плохов Е.М., Филоненков А.И. Компьютерная
математика. Ростов-на-Дону: Изд-во Феникс, 2002.
http://libcatalog.mephi.ru/cgi/irbis64r/cgiirbis_64.exe
8. Материально-техническое обеспечение дисциплины
Лекционная аудитория с возможностью демонстрации электронных презентаций при уровне освещения, достаточном для работы с конспектом.
Для выполнения лабораторных работ – компьютерный класс с установленным программным обеспечением.
Программа составлена в соответствии с требованиями ФГОС ВПО с учетом
рекомендаций и Примерной ООП ВПО по специальности 090301
«Компьютерная безопасность» и специализации «Математические методы
защиты информации».
Автор
доцент
А.Н.Гамова
Программа одобрена на заседании кафедры теоретических основ
компьютерной безопасности и криптографии от «___» __________2012 года,
протокол № ___
Зав. кафедрой
теоретических основ
компьютерной безопасности и криптографии
профессор
В.Н.Салий
Декан факультета
компьютерных наук
и информационных технологий
доцент
А.Г.Федорова
Скачать