РОССИЙСКАЯ ФЕДЕРАЦИЯ МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК Кафедра информационной безопасности . Ниссенбаум О.В. Теоретико-числовые методы в криптографии Учебно-методический комплекс. Рабочая программа для студентов специальности 090105.65«Комплексное обеспечение информационной безопасности автоматизированных систем» Тюменский государственный университет 2013 О.В. Ниссенбаум. Теоретико-числовые методы в криптографии. Учебно-методический комплекс. Рабочая программа для студентов специальности 090105.65 «Комплексное обеспечение информационной безопасности автоматизированных систем». Тюмень, 2013, 10 стр. Рабочая программа составлена в соответствии с требованиями ГОС ВПО. Рабочая программа дисциплины опубликована на сайте ТюмГУ: Теоретико-числовые методы в криптографии [электронный ресурс] / Режим доступа: http://www.umk.utmn.ru., свободный. Рекомендовано к изданию кафедрой информационной безопасности Института математики и компьютерных наук. Утверждено проректором по учебной работе ТюмГУ Ответственный редактор: А.А. Захаров, информационной безопасности, д.т.н., проф. © Тюменский государственный университет, 2013 © Ниссенбаум О.В., 2013 зав. кафедрой 1. Пояснительная записка Дисциплина изучается специальностью «Комплексное обеспечение информационной безопасности автоматизированных систем» в 7 семестре как дисциплина по выбору студента. 1.1. Цели и задачи дисциплины Дисциплина «Теоретико – числовые методы в криптографии» обеспечивает приобретение знаний по математическим основам криптографической защиты информации. Целью преподавания дисциплины «Теоретико – числовые методы в криптографии» является изложение базовых принципов построения и математического обоснования криптографических систем. Задачи изложить: • теоретико-числовые, алгебраические, аналитические и вероятностные подходы к построению и анализу криптосистем; • математические основы криптографии; • математические методы, используемые в криптоанализе 1.2. Требования к уровню освоения содержания дисциплины В результате изучения дисциплины студенты должны иметь представление: • об основных задачах и понятиях криптографии; • о теоретико-числовых основах двухключевой криптографии; • об основных алгоритмических проблемах криптографии и способах их решения; • о специальных математических структурах, применяемых в криптографии. знать: • основы дискретной алгебры и теории чисел; • применение конечных автоматов в криптографии; • характеристики языков, распознаваемых конечными автоматами ( P, NP, BPP и т.д.) • применение теории вероятности в криптографии и криптоанализе; • применение теоретико-числового аппарата для решения задач криптографии; • основные двухключевые криптосистемы и доказательство их стойкости. уметь: • формализовать поставленную задачу; • выполнить постановку задач криптоанализа и указать подходы к их решению; • использовать основные математические методы, применяемые в синтезе и анализе типовых криптографических алгоритмов. • применять полученные знания к различным предметным областям. иметь навыки: • владения криптографической терминологией; • применения алгоритмов, основанных на теоретико-числовых принципах, к вопросам построения криптосистем и их анализу; • использования современной научно-технической литературы в области криптографической защиты. 2. Объем дисциплины и виды учебной работы Семестр 7 90 36 18 18 48 + зачет Вид занятий Общая трудоемкость Аудиторные занятия Лекции Практические занятия Самостоятельная работа Контрольные работы Вид итогового контроля Всего Модуль 2. 4 Квадратичные сравнения и криптосистемы на их основе. Вероятностные тесты на простоту. Всего Модуль 3. 5 Порождающий элемент и дискретный логарифм. Криптосистемы на их основе. Доказуемо простые числа. 6 Алгоритмы криптоанализа шифров с Итого количес -тво баллов Системы сравнений первой степени. Самостоят. работа Модуль 1. 1 Введение в математические проблемы криптографии. Основы теории чисел. 2 Теория сравнений. Вычеты. 3 Сравнения первой степени. Практические занятия Наименование темы Лекции № п/п 3. Тематический план изучения дисциплины 3 2 9 7 3 3 3 7 1 2 4 18 32 2 4 6 29 29 3 3 10 13 открытым ключом. 5 4 8 14 Конечные группы и поля многочленов. Всего Итого (часов, баллов) 1 0 8 12 18 18 48 39 100 7 4. Содержание разделов дисциплины 1. Введение в математические проблемы криптографии. Основы теории чисел. Делимость, простые числа, наибольший общий делитель. 2. 3. 4. 5. 6. 7. Алгоритм Евклида, расширенный алгоритм Евклида. Цепные дроби. Асимптотический закон распределения простых чисел. Мультипликативные функции. Функция Эйлера. Теория сравнений. Вычеты. Полная система вычетов, приведенная система вычетов. Zn, Zp, Z*n, Z*p Обратный элемент в Zn Алгебраические структуры на целых числах. Теорема Эйлера, теорема Ферма, тест Ферма на простоту. Криптосистема RSA. Понижение степени сравнения. Сравнения первой степени. Системы сравнений первой степени. Сравнения первой степени и их решение. Системы сравнений первой степени и их решение. Китайская теорема об остатках и ее применения в криптографии (схема разделения секрета на ее основе и ее применение в RSA). Квадратичные сравнения и криптосистемы на их основе. Вероятностные тесты на простоту. Квадратичные сравнения. Символ Лежандра. Закон взаимности. Существование решений квадратичного сравнения по простому модулю. Решение квадратичных сравнений по простому модулю. Символ Якоби и его свойства. Тест Соловея-Штрассена на простоту. Существование и количество решений квадратичного сравнения по составному модулю. Решение квадратичных сравнений по составному модулю. Квадраты и псевдоквадраты. Проблема различения квадратов и псевдоквадратов, ее связь с задачей факторизации. Числа Блюма. BBS-генератор. Криптосистемы БлюмаГольдвассер, Гольдвассер-Микали. Порождающий элемент и дискретный логарифм. Криптосистемы на их основе. Доказуемо простые числа. Циклическая группа Z*p (Up). Порождающий элемент и дискретный логарифм. Задача дискретного логарифмирования. Криптосистемы Диффи-Хэллмана и Эль-Гамаля. Теоремы Сэлфриджа и Поклингтона. (n-1) – тесты на простоту. Доказуемо простые числа общего вида. Числа Ферма, теорема Пепина, тест Пепина. Числа Мерсенна и тест Лукаса-Лемера. Теорема Диемитко и процедура генерации простых чисел ГОСТ Р34.10-94. Алгоритмы криптоанализа шифров с открытым ключом. Элементы теории сложности. Оценки сложности по времени, по объему требуемой памяти. Полиномиальная сложность, субэкспоненциальная сложность, экспоненциальная сложность алгоритмов. Сложность элементарных операций. Теоретико-числовые проблемы, лежащие в основе двухключевых криптосистем – факторизация, дискретное логарифмирование. Алгоритмы факторизации. Метод пробных делений, метод Ферма, метод квадратичного решета, ро-метод Полларда, p—1 – метод Полларда, методы случайных квадратов. Примеры, оценки сложности указанных алгоритмов. Алгоритмы дискретного логарифмирования. Метод прямого поиска, ро-метод Полларда, метод исчисления индексов, «шаг младенца-шаг великана». Примеры, оценки сложности указанных алгоритмов. Конечные группы и поля многочленов. Многочлены над Zp, Zn. Сложение многочленов, умножение многочленов, разложение многочлена на сомножители. Неприводимые многочлены. 5. Практические занятия. Тема 1: Введение в математические проблемы криптографии. Основы теории чисел. 1. Операции над целыми числами. Нахождение наибольшего общего делителя при помощи алгоритма Евклида, наименьшего общего кратного. Построение таблицы первых простых чисел с помощью решета Эратосфена. Нахождение канонического разложения числа на простые сомножители. Тема 2: Теория сравнений. Вычеты. 2. Разложение дробей в цепные дроби при помощи алгоритма Евклида. Асимптотический закон распределения простых чисел – вычисление примерного количества простых чисел на заданном интервале. Вычисление функции Эйлера от числа. Теория сравнений. Построение приведенной системы вычетов от по заданному модулю. Проверка сравнений. 3. Вычисление обратного элемента в Zn при помощи расширенного алгоритма Евклида. Тест Ферма на простоту. Понижение степени сравнения. При помощи теоремы Эйлера. Криптосистема RSA. Тема 3: Сравнения первой степени. Системы сравнений первой степени 4. Сравнения первой степени и их решение. Системы сравнений первой степени и их решение по Китайской теореме об остатках. Тема 4: Квадратичные сравнения и криптосистемы на их основе. Вероятностные тесты на простоту 5. Символ Лежандра. Существование решений квадратичного сравнения по простому модулю. Решение квадратичных сравнений по простому модулю. Символ Якоби. Существование и количество решений квадратичного сравнения по составному модулю. Решение квадратичных сравнений по составному модулю. 6. Квадраты и псевдоквадраты. Проблема различения квадратов и псевдоквадратов, ее связь с задачей факторизации. Числа Блюма. BBSгенератор. Криптосистемы Блюма-Гольдвассер, Гольдвассер-Микали. Циклическая группа Z*p (Up). Отыскание порождающего элемента. Тема 5: Порождающий элемент и дискретный логарифм. Криптосистемы на их основе. Доказуемо простые числа 7. (n-1) – тесты на простоту на основе теорем Сэлфриджа и Поклингтона. Числа Ферма, тест Пепина. Числа Мерсенна и тест Лукаса-Лемера. Процедура генерации простых чисел ГОСТ Р34.10-94. Тема 6: Алгоритмы криптоанализа шифров с открытым ключом. 8. Алгоритмы факторизации. Метод пробных делений, метод Ферма, метод квадратичного решета, ро-метод Полларда, p—1 – метод Полларда, методы случайных квадратов. Примеры, оценки сложности указанных алгоритмов. 9. Алгоритмы дискретного логарифмирования. Метод прямого поиска, рометод Полларда, метод исчисления индексов, «шаг младенца-шаг великана». Примеры, оценки сложности указанных алгоритмов. 6. Самостоятельная работа 1. Введение в математические проблемы криптографии. Подготовка докладов по темам: 1) Простые числа в криптографии. 2) Задача факторизации как основа шифра RSA. 3) задача дискретного логарифмирования как основа шифра Эль-Гамаля. 2. Решение домашних контрольных работ по темам: 1. Основы теории чисел. Цепные дроби. Асимптотический закон распределения простых чисел. Нахождение НОД чисел. Нахождение обратного элемента. Вычисление функции Эйлера. Определение количества простых чисел в диапазоне. 2. Сравнения первой степени. Системы сравнений первой степени Системы сравнений первой степени и их решение по Китайской теореме об остатках. Сравнения первой степени, не имеющие решений, имеющие несколько решений. 3. Квадратичные сравнения и криптосистемы на их основе. Вероятностные тесты на простоту Решение квадратичных сравнений. Существование и количество решений квадратичного сравнения по простому, составному модулю. Решение квадратичных сравнений по простому и составному модулю. 4. Порождающий элемент и дискретный логарифм. Криптосистемы на их основе. Доказуемо простые числа. Построение доказуемо простых чисел общего и специального вида. Определение количества порождающих элементов в мультипликативной группе Z*n. Нахождение порождающих элементов. 5. Алгоритмы криптоанализа шифров с открытым ключом. Факторизация чисел и нахождение дискретных логарифмов численными методами. 3. Конечные группы и поля многочленов. Многочлены над Zp, Zn. Сложение многочленов, умножение многочленов, разложение многочлена на сомножители. Неприводимые многочлены. Нахождение НОД многочленов. (расчетная работа на компьютере). 7. Оценка работы студента в рейтинговых баллах 7.1. Распределение рейтинговых баллов по модулям, видам работ и контроля Виды работ и контроля 7 семестр Аудиторные занятия: Лекции Практические занятия Самостоятельная работа Итого за работу в семестре Итоговый контроль (экзамен) Итого Максимальное количество баллов Модуль 1 Модуль 2 Модуль 3 Итого 8 6 9 23 9 8 10 27 15 15 20 50 32 29 39 100 Экзамен проходит в традиционной форме (по билетам) и позволяет получить любую оценку вне зависимости от баллов, набранных в семестре. Допуск к экзамену получают студенты, набравшие в семестре более 35 баллов. 100 7.2. Виды контроля успеваемости, применяемые на аудиторных занятиях, и их оценка в рейтинговых баллах № п/п Вид контроля успеваемости Контроль за посещением аудиторных занятий Домашняя контрольная работа Коллоквиум Аудиторная контрольная работа Активная работа на занятии Расчетная работа 1. 2. 3. 4. 5. 6. Максимальное количество баллов 1 балл за посещенное занятие 15 баллов 5 баллов 6 баллов 1 балл 5 баллов Балльная оценка текущей успеваемости студента. п/п№ темы Модуль 1 1. 2. 3. Всего Модуль 2 4. Всего Модуль 3 5. 6. 7. Всего Итого Формы текущего контроля Посещение Домашние Колок- Контроль- Расчетная занятий контрольные виумы ные работа работы работы 0-2 0-2 0-2 0-5 0-5 0-5 0-5 0-6 0-3 0-15 0-5 0-6 0-3 0-4 0-1 0-10 0-5 0-7 0-7 0-18 0-32 0-29 0-29 0-5 0-6 Итого количество баллов 0-5 0-13 0-14 0-12 0-39 0-100 8. Вопросы к экзаменам Основные понятия теории чисел. Теорема делимости. Наибольший общий делитель и алгоритм Евклида. Цепные дроби и алгоритм Евклида. Наименьше общее кратное. Простые числа. Теоремы Евклида о простых числах. Решето Эратосфена. Основные свойства простых чисел. Теорема о единственности разложения на простые сомножители. 7. Теорема о делителях числа и ее следствия. 8. Асимптотический закон распределения простых чисел. 9. Функция Эйлера, ее свойства. 10. Сравнения. Свойства сравнений. 11. Полная система вычетов, приведенная система вычетов. Алгебраические свойства, обратный элемент. 1. 2. 3. 4. 5. 6. 12. Теорема Эйлера, теорема Ферма. Следствие. 13. Тест Ферма на простоту. Числа Кармайкла. Теорема Кармайкла. 14. Применение теоремы Ферма в криптосистеме RSA. 15. Сравнения с одним неизвестным 1-й степени. 16. Система сравнений 1-й степени. Китайская теорема об остатках. 17. Применение Китайской теоремы об остатках в RSA и схема разделения секрета на ее основе. 18. Квадратичные сравнения по простому модулю. 19. Символ Лежандра и его свойства. 20. Решение квадратичных сравнений по простому модулю. 21. Число решений квадратичного сравнения по составному модулю. 22. Символ Якоби, его свойства. Тест Соловея-Штрассена. 23. Квадратичные сравнения по модулю RSA. Связь задач извлечения корней и факторизации. Криптосистема Рабина. (только для КБ) 24. Квадраты и псевдоквадраты. Числа Блюма. (только для КБ) 25. BBS-генератор. Криптосистема Блюма-Гольдвассер, криптосистема Гольдвассер-Микали. (только для КБ) 26. Тест Миллера-Рабина. 27. Порядок группы. Порядок элемента в группе. Порождающий элемент. 28. Существование порождающего элемента в Z*n 29. Критерий Люка. 30. Теорема Сэлфриджа и тест Миллера. 31. Теорема Поклнгтона и тест на простоту на ее основе. 32. Числа Ферма, теорема Пепина, тест Пепина. 33. Числа Мерсена. Тест Лукаса-Лемера. 34. Теорема Диемитко. Процедура генерации простых чисел ГОСТ Р 34.10-94. 35. Дискретный логарифм. Проблема Диффи-Хелмана. Криптосистема ЭльГамаля. 36. Кольца многочленов. 37. Поле многочленов GF(pα). 38. Проблема факторизации. Метод проных делений. 39. Метод Ферма факторизации. 40. Метод квадратичного решета. 41. Ро-метод Полларда факторизации. 42. p—1 – метод факторизации. 43. Методы случайных квадратов. 44. Задача дискретного логарифмирования. Метод прямого поиска. 45. Ро-метод Полларда дискретного логарифмирования. 46. Алгоритм Полига-Хеллмана. 47. Метод «Шаг младенца-шаг великана». 48. Метод исчисления порядка. 9. Литература ОСНОВНАЯ: 1. Василенко, О. Н. Теоретико-числовые алгоритмы в криптографии [Электронный ресурс] / О.Н. василенко – Электрон. текстовые дан. – М: МЦНМО, 2006. – Режим доступа: http://www.biblioclub.ru/book/61814/ (дата обращения: 30.09.2013) 2. Рожков А.В., Ниссенбаум О.В. Теоретико-числовые методы в криптографии: Учебное пособие. – Тюмень: Изд-во ТюмГУ, 2007. – 156 с. 3. Ниссенбаум О.В. Теоретико-числовые методы в криптографии: сб. заданий: учеб.метод. пособие для студентов спец. "Компьютерная безопасность", "Комплексное обеспечение информационной безопасности автоматизированных систем", Ч.2. Тюмень: Изд-во ТюмГУ. - 2012. ДОПОЛНИТЕЛЬНАЯ: 1. Агибалов Г.П. Избранные теоремы начального курса криптографии: Учебное пособие. – Томск: Изд-во НТЛ, 2005. – 116 с. 2. Молдовян Н. А., Молдовян А.А. Введение в криптосистемы с открытым ключом : учеб. пособие - СПб. : БХВ-Петербург, 2005. 3. Черемушкин А.В. Вычисления в алгебре и теории чисел. Курс лекций. — М.: 2002. 4. Диффи У., Хеллман М.Э. Защищенность и имитостойкость. Введение в криптографию. - ТИИЭР, т.67, №3, 1979. 10. Программное обеспечение и Интернет-ресурсы. - вузовские электронно-библиотечные системы учебной литературы. - база научно-технической информации ВИНИТИ РАН - доступ к открытым базам цитирования, в т.ч. springer.com, scholar.google.com, math-net.ru - математический пакет MathLab; -среды разработки на языках C#, C++, Pascal, Java. - A. Menezes, P. van Oorschort, S. Vanstone, Handbook of Applied Cryptography – CRC Press Inc., 5th Printing, 2001 [On-line] http://www.cacr.uwaterloo.ca/hac/ 11. Технические средства и материально-техническое оснащение. Для организации самостоятельной работы студентов необходим компьютерный класс с пакетом прикладных программ, в том числе с установленной средой разработки на языке C#, C++, Pascal, Java, пакет MathLab.