DOC, 186 Кб - Высшая школа экономики

advertisement
Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
Национальный исследовательский университет
"Высшая школа экономики"
Факультет компьютерных наук
Департамент Программной Инженерии
Утверждаю
Академический руководитель
образовательной программы
по направлению 09.03.04
«Программная инженерия»
В.В.Шилов
«___»____________ 2015 г.
Программа дисциплины
Методы и алгоритмы защиты информации
для направления 09.03.04 «Программная инженерия»
подготовки бакалавра
Автор программы:
доцент, к.ф.-м.н. Набебин А.А.
anabebin@hse.ru
Одобрена на заседании Департамента программной инженерии «___»____________ 2015 г.
Руководитель Департамента
Авдошин С.М.
Рекомендована Академическим советом образовательной программы
«Программная инженерия» «___»____________ 2015 г.
Менеджер Департамента программной инженерии
Т.В.Климова
Москва, 2015
Настоящая программа не может быть использована другими подразделениями
университета и другими вузами без разрешения кафедры-разработчика программы.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
1
Область применения и нормативные ссылки
Настоящая программа научного семинара «Методы и алгоритмы защиты информации»
устанавливает минимальные требования к знаниям и умениям студента и определяет
содержание и виды учебных занятий и отчетности.
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных
ассистентов и студентов направления 09.03.04 «Программная инженерия» подготовки
бакалавра, изучающих дисциплину «Методы и алгоритмы защиты информации».
Программа разработана в соответствии с:
 Образовательным стандартом государственного образовательного бюджетного
учреждения
высшего
профессионального
образования
«Государственный
университет – Высшая школа экономики», в отношении которого установлена
категория «Национальный исследовательский университет»;
 Образовательной программой 09.03.04, направление «Программная инженерия»
подготовки бакалавра;
 Рабочим учебным планом университета по направлению 09.03.04 «Программная
инженерия» подготовки бакалавра, утвержденным в 2014г.
2
Цели освоения дисциплины
Цели освоения дисциплины «Методы и алгоритмы защиты информации»:





3
формирование у студентов профессиональных компетенций, связанных с общей
методологией научного исследования;
формирование у студентов профессиональных компетенций, связанных с частными
аспектами анализа, исследования и разработки криптографических ресурсноэффективных комбинированных протоколов (алгоритмов);
приобретение практических навыков самостоятельного научного исследования в области
создания эффективных криптосистем для решения задач защиты информации;
развитие умений, основанных на полученных теоретических знаниях, позволяющих на
творческом и репродуктивном уровне применять и создавать эффективные
криптографические алгоритмы для решения задач защиты информации;
получение
студентам
навыков
самостоятельной
исследовательской
работы,
предполагающей изучение специфических методов анализа криптоалгоритмов,
инструментов и средств, необходимых для решения актуальной, в аспекте программной
инженерии, задачи выбора рациональных алгоритмов, в зависимости от особенностей
применения разрабатываемых защищающих средств.
Компетенции обучающегося, формируемые в результате освоения
дисциплины
В результате освоения дисциплины студент должен:
 Знать:
— необходимые сведения из модулярной арифметики (теории сравнений) целых
чисел;
2
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
— основные понятия абстрактной алгебры, теоремы и алгоритмы в конечных
группах, (полиномиальных) кольцах и полях;
— основные алгоритмы модулярной арифметики целых чисел и полиномов
(НОД, НОК, модулярная степень, тесты на простоту натуральных чисел,
неприводимость и примитивность полиномов в конечных полиномиальных
полях);
— основные шифровальные систем и электронные цифровые подписи (ЭЦП) с
открытым ключом (RSA, Эль-Гамаля, DSA), основанные на фактах
модулярной алгебры целых чисел и конечных полиномиальных полей;
— подходы к разработке шифросистем и ЭЦП с открытым ключом основанных
на группах точек эллиптических кривых, на группах кос, в мнимых
квадратичных полях, в частично упорядоченных множествах;
 Уметь:
— оценивать компьютерные криптографические протоколы (алгоритмы) с
использованием комплексных критериев качества, в том числе оценивать
ресурсную эффективность алгоритмов;
— пользоваться базовыми умениями и навыками ведения самостоятельных
исследований
(алгоритмов);
на
примере
анализа
криптографических
протоколов
— пользоваться теорией защиты информации для решения прикладных задач
информатики;
— выступать с научными докладами, оформлять содержательные презентации и
корректно вести научные дискуссии.
 Иметь навыки (приобрести опыт):
— оценки трудоемкости криптографических протоколов;
— экспериментального исследования программных реализаций
криптографических алгоритмов;
— в поиске подходов к разработке эффективных комбинированных
криптографических алгоритмов на основе их сравнительного анализа и
умение применять их при разработке алгоритмов решения практических
задач защиты информации.
В результате освоения дисциплины студент осваивает следующие компетенции:
Компетенция
Общенаучная
Код по
ФГОС /
НИУ
Дескрипторы – основные
признаки освоения
(показатели достижения
результата)
ОНК-1
Способность к анализу и
синтезу на основе системного
подхода
3
Формы и методы
обучения,
способствующие
формированию и
развитию компетенции
Стандартные
(лекционные,
семинарские,
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
Компетенция
Код по
ФГОС /
НИУ
Дескрипторы – основные
признаки освоения
(показатели достижения
результата)
Формы и методы
обучения,
способствующие
формированию и
развитию компетенции
лабораторные)
ОНК-2
Способность перейти от
проблемной ситуации к
проблемам, задачам и
лежащим в их основе
противоречиям
ОНК-3
Способность использовать
методы критического анализа,
развития научных теорий,
опровержения и
фальсификации, оценить
качество исследований в
некоторой предметной области
Стандартные
(лекционные,
семинарские,
лабораторные)
ОНК-4
Готовность использовать
основные законы
естественнонаучных
дисциплин в
профессиональной
деятельности, применять
методы математического
анализа и моделирования,
теоретического и
экспериментального
исследования при работе в
какой-либо предметной
области
Стандартные
(лекционные,
семинарские,
лабораторные))
ОНК-5
Готовность выявить
естественнонаучную сущность
проблем, возникающих в ходе
профессиональной
деятельности, привлечь их для
решения соответствующий
аппарат дисциплины
Стандартные
(лекционные,
семинарские,
лабораторные)
Общенаучная
ОНК-6
Способность приобретать
новые знания с
использованием научной
методологии и современных
образовательных и
информационных технологий
Стандартные
(лекционные,
семинарские,
лабораторные)
Общенаучная
ОНК-7
Способность порождать новые
идеи (креативность)
Стандартные
(лекционные,
Общенаучная
Общенаучная
Общенаучная
Общенаучная
4
Стандартные
(лекционные,
семинарские,
лабораторные))
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
Компетенция
Код по
ФГОС /
НИУ
Дескрипторы – основные
признаки освоения
(показатели достижения
результата)
Формы и методы
обучения,
способствующие
формированию и
развитию компетенции
семинарские,
лабораторные)
Профессиональные
Профессиональные
Профессиональные
Профессиональные
4
ПК-1
Способность демонстрации
общенаучных базовых знаний
естественных наук,
математики и информатики,
понимание основных фактов,
концепций, принципов теорий,
связанных с прикладной
математикой и информатикой
Стандартные
(лекционные,
семинарские,
лабораторные)
ПК-2
Способность понимать и
применять в
исследовательской и
прикладной деятельности
современный математический
аппарат
Стандартные
(лекционные,
семинарские,
лабораторные)
ПК-4
способность критически
оценивать собственную
квалификацию и её
востребованность,
переосмысливать
накопленный практический
опыт, изменять при
необходимости вид и характер
своей профессиональной
деятельности
Стандартные
(лекционные,
семинарские,
лабораторные)
ПК-8
Способность решать задачи
производственной и
технологической деятельности
на профессиональном уровне,
включая разработку
математических моделей,
алгоритмических и
программных решений
Стандартные
(лекционные,
семинарские,
лабораторные)
Место дисциплины в структуре образовательной программы
Настоящая дисциплина относится к профессиональному циклу дисциплин (Б.3), его
базовой части (Б.3.Б).
5
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
В соответствии с рабочим планом по направлению «Программная инженерия» научный
семинар «Методы и алгоритмы защиты информации» проводится со студентами первого и
второго курсов бакалавриата в 1-ом – 4-ом модулях.
Изучение данной дисциплины базируется на знаниях, полученных студентами при
освоении учебных дисциплин «Дискретная математика», «Программирование», «Информатика,
математическая логика и теория алгоритмов».
Дисциплина является основой для последующего изучения дисциплин: «Спецификация
программных систем», «Математические основы декларативного программирования», научноисследовательского
семинара,
научно-исследовательского
семинара
«Верификация
программных систем».
6
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
Тематический план учебной дисциплины
5
№
1
2
3
4
5
6
6
Название темы
Всего часов
по
дисциплине
Модулярная арифметика
(теория сравнений) целых
чисел. Теоремы и алгоритмы
в конечных группах,
(полиномиальных) кольцах и
полях.
Основные алгоритмы
модулярной арифметики
целых чисел и полиномов
(НОД, НОК, модулярная
степень, тесты на простоту
натуральных чисел,
неприводимость и
примитивность полиномов в
конечных полиномиальных
полях).
Квадратичные вычеты.
Символы Лежандра и Якоби.
Примитивные корни и
индексы. Дискретный
логарифм.
Криптосистемы с открытым
ключом: RSA, ЭльГамаля,
DSA.
Группы точек эллиптических
кривых, теории кос, решеток
частично упорядоченных
множеств в криптосистемах
с открытым ключом
Блоковые и потоковые
шифры.
Зкзамен
Итого:
Аудиторные часы
Лекции
Практические
занятия
Самостоятельная
работа
16
8
8
20
10
10
16
8
8
18
8
10
22
10
12
20
10
10
2
114
2
56
58
Формы контроля знаний студентов
Тип контроля
Форма контроля
модули
2
7-я неделя
1
Текущий
(неделя)
Контрольная работа
Итоговый
Экзамен
Домашнее задание
1-я – 14-я
недели
14-я неделя
7
Параметры
Решение задания
Абстрактная алгебра,
криптопротоколы
60 мин.
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
6.1. Формы контроля знаний студентов
Оценки по всем формам контроля выставляются по 10-ти балльной шкале.
Оценки текущего, промежуточного и итогового контроля складываются из следующих
элементов:
- текущий контроль: оценка качества подготовки и работы на семинарских занятиях (доклады,
презентации, оппонирование, критические выступления, выполнение домашних заданий); при
непосещении занятий ставится оценка «0»; оценка домашнего задания и оценка контрольной
работы;
контрольная работа
оценка выполнения контрольно-измерительных материалов в форме компьютерного
тестирования; при пропуске контрольной работы ставится оценка «0»;
домашнее задание
сдается в виде отчета в письменной и в электронной форме; если домашнее задание не сдано в
указанные сроки, ставится оценка «0».
- итоговый контроль: экзамен в конце четвертого модуля в форме собеседования, при пропуске
экзамена ставится оценка «0»;
накопленная оценка за дисциплину Н по 10-балльной шкале формируется как взвешенная сумма:
Н = 0.2Тк + 0.6 Дз + 0.2 Кр,
итоговая оценка за дисциплину К по 10-балльной шкале формируется как взвешенная сумма:
K = 0.8 Н + 0.2 З, где Тк, Дз, Кр, З есть 10-балльные оценки за текущий контроль, домашнее
задание, контрольную работу и за экзамен. Перевод в пятибалльную оценку осуществляется в
соответствии со следующей таблицей.
6.2 Таблица соответствия оценок по десятибалльной и пятибалльной системам
По десятибалльной шкале
1 – неудовлетворительно
2 – очень плохо
3 – плохо
4 – удовлетворительно
5 – весьма удовлетворительно
6 – хорошо
7 – очень хорошо
8 – почти отлично
9 – отлично
10 – блестяще
7
По пятибалльной шкале
неудовлетворительно – 2
удовлетворительно – 3
хорошо – 4
отлично – 5
Содержание дисциплины
Тема 1. Модулярная арифметика (теория сравнений) целых чисел. Теоремы и алгоритмы в
конечных группах, (полиномиальных) кольцах и полях.
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. c. [45-52].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
8
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку НИУ ВШЭ)
Дополнительная литература
1. Капитонова Ю.В., Кривой С.Л., Летичевский А.А., Луцкий Г.М. Лекции по дискретной
математике. / СПб.: БХВ-Петербург, 2004.
2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Том 1:
Синтаксический анализ / М.: Мир, 1978.
3. Набебин А.А., Кораблин Ю.П. Математическая логика и теория алгоритмов. М.:
Научный мир, 2008. 343с. (Доступна в библиотеке НИУ ВШЭ).
4. Набебин А.А. Дискретная математика. М.: Научный мир, 2010. 512с. (Доступна в
библиотеке НИУ ВШЭ).
5. Набебин А.А. Сборник заданий по дискретной математике. М.: Научный мир, 2009.
280с. (Доступна в библиотеке НИУ ВШЭ).
Тема 2. Основные алгоритмы модулярной арифметики целых чисел и полиномов (НОД, НОК,
модулярная степень, тесты на простоту натуральных чисел, неприводимость и примитивность
полиномов в конечных полиномиальных полях).
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. c. [53-183].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку ГУ ВШЭ)
Дополнительная литература
1. Дехтярь М.И. Лекции по дискретной математике. / М.: Интернет-Университет
Информационных Технологий; БИНОМ. Лаборатория знаний, 2007.
2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Том 1:
Синтаксический анализ / М.: Мир, 1978.
3. Набебин А.А., Кораблин Ю.П. Математическая логика и теория алгоритмов. М.:
Научный мир, 2008. 343с. (Доступна в библиотеке НИУ ВШЭ).
4. Набебин А.А. Дискретная математика. М.: Научный мир, 2010. 512с. (Доступна в
библиотеке НИУ ВШЭ).
5. Набебин А.А. Сборник заданий по дискретной математике. М.: Научный мир, 2009.
280с. (Доступна в библиотеке НИУ ВШЭ).
Тема 3. Квадратичные вычеты. Символы Лежандра и Якоби. Примитивные корни и индексы.
Дискретный логарифм.
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. c. [185-317].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку ГУ ВШЭ)
Дополнительная литература
1. Капитонова Ю.В., Кривой С.Л., Летичевский А.А., Луцкий Г.М. Лекции по дискретной
математике. / СПб.: БХВ-Петербург, 2004.
2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Том 1:
Синтаксический анализ / М.: Мир, 1978.
9
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
3. Набебин А.А., Кораблин Ю.П. Математическая логика и теория алгоритмов. М.:
Научный мир, 2008. 343с. (Доступна в библиотеке НИУ ВШЭ).
4. Набебин А.А. Дискретная математика. М.: Научный мир, 2010. 512с. (Доступна в
библиотеке НИУ ВШЭ).
5. Набебин А.А. Сборник заданий по дискретной математике. М.: Научный мир, 2009.
280с. (Доступна в библиотеке НИУ ВШЭ).
Тема 4. Криптосистемы RSA, ЭльГамаля, DSA..
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. c. [319-421].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку ГУ ВШЭ)
Дополнительная литература
1. Капитонова Ю.В., Кривой С.Л., Летичевский А.А., Луцкий Г.М. Лекции по дискретной
математике. / СПб.: БХВ-Петербург, 2004.
2. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Том 1:
Синтаксический анализ / М.: Мир, 1978.
3. Набебин А.А., Кораблин Ю.П. Математическая логика и теория алгоритмов. М.:
Научный мир, 2008. 343с. (Доступна в библиотеке НИУ ВШЭ).
4. Набебин А.А. Дискретная математика. М.: Научный мир, 2010. 512с. (Доступна в
библиотеке НИУ ВШЭ).
5. Набебин А.А. Сборник заданий по дискретной математике. М.: Научный мир, 2009.
280с. (Доступна в библиотеке НИУ ВШЭ).
Тема 5. Группы точек эллиптических кривых, теории кос, решеток частично упорядоченных
множеств
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. c.[319-420].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку ГУ ВШЭ)
Дополнительная литература
1. Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. / М.: Мир, 1983.
с.[129-141].
2. Булос Дж., Джеффри Р. Вычислимость и логика. М., Мир, 1994. с. 12-35.
3. Набебин А.А., Кораблин Ю.П. Математическая логика и теория алгоритмов. М.:
Научный мир, 2008. 343с. (Доступна в библиотеке НИУ ВШЭ).
Тема 6. Блоковые и потоковые шифры. Зачет.
Основная литература
1. Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и
вычислений: Пер. с англ. - М.: Издательский дом "Вильямс", 2008. с. [319-420].
2. Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996.
10
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
3. Singh A. Elements of Computation Theory. Springer-Verlag, 2009. – 422 p. (доступна через
электронную библиотеку ГУ ВШЭ)
Дополнительная литература
1. Кузюрин Н.Н., Фомин С.В. Эффективные алгоритмы и сложность вычислений. – M.:
МФТИ, 2007. http://discopal.ispras.ru/ru.book-advanced-algorithms.htm
2. Разборов А.А. О сложности вычислений — Математическое просвещение — сер. 3, вып.
3, 1991 г. http://www.mccme.ru/free-books/matpros/i4127141.pdf.zip
8
Образовательные технологии
Работа на практических занятиях предполагает разработку алгоритмов, их
экспериментальное исследование и сравнение результатов с теоретическими оценками
алгоритмов. Домашнее индивидуальное задание предполагает самостоятельный анализ
ресурсной эффективности двух-трех выбранных алгоритмов решения определённой задачи и
сравнительный анализ этих алгоритмов с целью формулировки рекомендаций по их
применению в зависимости от особенностей проблемной области применения.
9
Оценочные средства для текущего контроля и аттестации студента
9.1 Тематика заданий текущего контроля
Домашнее задание
1. Даны целые числа a = 100+N ( N есть номер фамилии студента в аудиторном журнале) и
b=11. Найти целые, q1, q2, r1, r2, 0  r1, r2 < b, для которых a = bq1 + r1, –a = bq2 + r2.
2. Записать данные числа в восьмеричной, шестеричной, десятичной системах счисления.
3. Записать десятичные числа n=100+N, m=200+N в семеричной и двоичной системах
счисления. N есть номер фамилии студента в аудиторном журнале.
4. Перемножить числа из задачи 3 в системе счисления по основанию семь.
5. В двоичной системе счисления разделить число из задачи 2 на число 1011012.
6. Найти число цифр в десятичном числе n по основаниям 2, 3, 5, 7, 8, 12, 16. В качестве
числа написать свою фамилию и взять из записи начальный отрезок длины 5. Если длина
записи меньше пяти, то дописать букву «ю» необходимое число раз. Пусть получили
слово s (длины 5). Все 32 буквы русского алфавита пронумеруем по порядку от 1 до 32.
Пробел есть 0. Тогда слово s можно рассматривать как число в системе счисления по
основанию 33. Число n получается переводом s32 в десятичное число.
7. Разложить данное число n на простые множители и найти число делителей f(n) числа n.
8. Найти наибольший общий делитель d и наименьшее общее кратное чисел a и b. Число a
взять из задачи 6, число b=780. Найти те u и v, для которых d = ua + vb.
9. Найти непрерывные и подходящие дроби для числа a/b, a  b.
10. Написать полную, наименьшую по модулю, приведенную системы вычетов по данному
модулю n. Для полной и приведенной системы вычетов написать таблицы сложения,
умножения. Написать каноническое разложение числа n вычислить для него функцию
Эйлера (n). Для полной системы вычетов написать по умножению таблицу обратных
элементов, таблицу степеней до показателя (n) и указать порядок каждого элемента.
Для n указать генератор (по умножению), если он существует.
11. Найти степень 5613+N (mod 1135), где N есть номер, под которым стоит фамилия студента
в аудиторном журнале.
12. Решить (подбором) сравнения.
13. Решить (подбором) систему из двух сравнений с одним неизвестным.
11
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
14. Решить (подбором) систему из двух сравнений с двумя неизвестными.
15. Решить (методом Гаусса) систему из трех сравнений.
16. Решить систему из трех сравнений типа x  b (mod m).
17. Решить систему из трех сравнений типа ax  b (mod m).
18. Определить с помощью символа Лежандра, имеет ли решение данное сравнение.
19. Определить с помощью символа Якоби, имеет ли решение данное сравнение.
20. Полиномы f(x), g(x)  5[x].
21. Найти их наибольший делитель d(x) = нод(f(x), g(x)) и те полиномы u(x),v(x)  5[x], для
которых d(x) = f(x)u(x) + g(x)v(x). Полином f(x)  p[x] степени m над простым
полемp, p=5, m =2, задан как определяемое вариантом натуральное число a.
Например, для a = 10810 = 4135 полином f(x) = 4·x2 + 1·x + 3 = 4x2 + x + 3.
a) по заданному числу a найти полином f(x)  p[x].
b)построить таблицу значений для f(x) и проверить, будет ли полином f(x) над полем p
неприводим.
c) написать все элементы поля GF(pm) =p[x]/(f(x)) из q = pm из pm остатков от деления
полиномов изp[x] на модуль f(x).
d) для поля GF(pm) =p[x]/(f(x)) из q = pm остатков от деления полиномов изp[x] на
f(x) построить таблицы для сложения и умножения элементов a1x + a0, a1 = 3, a0  5, на все
элементы поля GF(pm).
e) для каждого элемента a1x + a0, a1 = 3, a0  5, указать обратный (по умножению)
элемент.
22. Найти степень (по умножению) элемента поля GF(pm) и указать, является ли заданный
элемент генератором для GF(pm). Элемент поля a1x + a0 задан как вектор a1a0.
23. Зашифровать и расшифровать сообщение с помощью криптосистемы RSA.
24. Подписать сообщение с помощью ЭЦП RSA.
25. Зашифровать и расшифровать сообщение с помощью числовой криптосистемы ЭльГамаля.
26. Подписать сообщение с помощью числовой ЭЦП Эль-Гамаля.
27. Зашифровать и расшифровать сообщение с помощью полиномиальной криптосистемы
Эль-Гамаля.
28. Подписать сообщение с помощью полиномиальной ЭЦП Эль-Гамаля.
29. Подписать сообщение с помощью ЭЦП DSA.
.
Контрольная работа
Контрольная работа выполняется в форме компьютерного тестирования по тематике
пройденного материала.
9.2 Вопросы для оценки качества освоения дисциплины
ПРИМЕРНАЯ ПРОГРАММА ЭКЗАМЕНА (ЗАЧЕТА)
1. Делимость и ее свойства. Представление числа по делителю, частному, остатку.
Представление числа в системе счисления по основанию h.
2. Простые числа. Бесконечность множества простых чисел. Решето Эратосфена для
простых чисел.
3. Теорема о факторизации и ее свойства.
4. Наибольший общий делитель (НОД) и его свойства. Вычисление НОД с помощью
теоремы о факторизации. Алгоритм Евклида вычисления НОД. Расширенный алгоритм
Евклида.
12
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
5. Наименьшее общее кратное (НОК) и его свойства. Вычисление НОК с помощью
теоремы о факторизации. Связь между НОД и НОК.
6. Непрерывные и подходящие дроби и их вычисление.
7. Целая и дробная часть вещественного числа. Мультипликативная функция. Сумма
мультипликативной функции от числа по всем делителям этого числа.
8. Функция Мебиуса. Преобразование Мебиуса.
9. Функция Эйлера и ее вычисление.
10. Сравнение целых чисел. Три определения сравнений и их эквивалентность.
Свойства сравнений.
11. Полная система вычетов. Наименьшая неотрицательная, абсолютно наименьшая,
приведенная система вычетов. Классы вычетов. Операции над классами.
12. Теоремы Эйлера и Ферма.
13. Сравнения с одним неизвестным произвольной степени. Решение сравнения.
Система сравнений произвольных степеней и ее решение.
14. Сравнения и их системы с несколькими переменными и их решение.
15. Сравнения первой степени и их решение.
16. Система сравнений первой степени. Теорема Гаусса о ее решении.
17. Сравнения любой степени по простому модулю и их решение. Теорема Вильсона.
18. Сравнения любой степени по составному модулю и их решение.
19. Вычеты (корни) степени n. Квадратичные вычеты (квадратные корни) и их
свойства. Квадратичные вычеты по простому модулю.
20. Символ Лежандра и его свойства.
21. Символ Якоби и его свойства.
22. Квадратичные вычеты (квадратные корни) по составному модулю.
23. Числа и их экспоненты (показатели) по данному модулю. Связь между сравнением
степеней и их экспонент.
24. Примитивные (первообразные) корни и их свойства. Теорема о существовании
примитивных корней.
25. Универсальные алгебры. Гомоморфизм и изоморфизм алгебр. Теорема о
гомоморфизме.
26. Полугруппы, подполугруппы, циклические полугруппы.
27. Кольца и поля. Характеристика поля. Конечные поля.
10 Учебно-методическое и информационное обеспечение дисциплины
10.1
Базовый учебник — отсутствует
10.2
Основная литература:
• Menezes A., van Oorschot P., Vanstone S. Handbook of applied cryptography. CRC Press.
1996. (Доступна в интернете)
• Набебин А.А. Дискретная математика. М.: Научный мир, 2010. 512с. (Доступна в
библиотеке НИУ ВШЭ).
• Набебин А.А. Сборник заданий по дискретной математике. М.: Научный мир, 2009. 280с.
(Доступна в библиотеке НИУ ВШЭ).
10.3
Дополнительная литература и источники
• Алферов А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии.
М.: Гелиос АРВ, 2002.
• Бабаш А.В. Криптографические и теоретико-автоматные аспекты современной защиты
информации. М.: Издат. центр ЕАОИ, том 1, 2008; том 2, 2008; том 3, 2010.
13
Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины «Построение и анализ алгоритмов. Часть 1» для направления 231000.62
«Программная инженерия» подготовки бакалавра
• Болотов А.А., Гашков С.Б., Фролов А.Б. Часовских А.А. Элементарное введение в
эллиптическую криптографию. Алгебраические и алгоритмические основы. М.: КомКнига,
2006.
• Болотов А.А., Гашков С.Б., Фролов А.Б. Элементарное введение в эллиптическую
криптографию. Протоколы криптографии на эллиптических кривых. М.: КомКнига, 2006.
• Виноградов И.М. Основы теории чисел. СПБ.: Лань, 2004.
• Лидл Р., Нидеррайтер Г. Конечные поля. М.: Мир, 1988.
• Новиков Ф.А. Дискретная математика для программистов – СПб.: Питер 2008. – 304 с.
• Разборов А.А. О сложности вычислений — Математическое просвещение — сер. 3, вып.
3, 1991 г. http://www.mccme.ru/free-books/matpros/i4127141.pdf.zip.
• Смарт Н. Криптография. М.: Техносфера, 2005.
• Шнейер Б. Прикладная криптография. М.: Триумф, 2002.
11 Материально-техническое обеспечение дисциплины
Проектор для лекций и семинаров, компьютерные классы.
14
Download