Электронное учебное пособие "Лабораторный практикум вычислений в конечных полях"
В.М. Захаров, докт.техн. наук, профессор Казанский государственный технический университет им. А.Н. Туполева, 420111, г. Казань, ул. К.Маркса, 10, тел.: (843)231-00-55 [email protected]
Б.Ф. Эминов, канд.физ.-мат.наук, доцент Казанский государственный технический университет им. А.Н. Туполева, 420111, г. Казань, ул. К.Маркса, 10, тел.: (843)231-00-55 [email protected]
Аннотация
В статье описано электронное учебное пособие по вычислениям в конечных полях. Материалы пособия базируются на теории чисел и конечных полей. Практикум используется в учебном процессе при изучении криптографических алгоритмов защиты информации в Казанском государственном техническом университете им. А.Н. Туполева. Для каждого из этапов обучения (знания, умения, навыки) реализованы методы обучения и контроля.
In article is described electronic allowance on calculations in finite fields. Data contains information from number’s theory and theory of finite fields. Practical work is used in process of studying of cryptographic algorithms on Kazan state technical university named after A.N. Tupolev. Education methods and control methods are realized for each of stages of learning. It’s knowledges, skills and creativity.
Ключевые слова
Лабораторный практикум, конечное поле, комплекс обучающих средств Practical work, finite field, complex of educating facilities
Основные сведения о практикуме
Лабораторный практикум для вычислений в полях Галуа представляет собой комплекс обучающих средств [1] (КОС) - набор взаимосвязанных программ. КОС охватывает дисциплины по криптографической защите информации (рис. 1) ("Математические основы защиты информации", "Криптографические методы и
средства защиты информации"). Практикум выполнен как учебное пособие для студентов дневного, вечернего, заочного обучений специальностей " Организация и технология защиты информации", "Комплексная защита объектов информатизации", "Информационная безопасность телекоммуникационных систем" и базируется на математическом аппарате вычислений в полях Г алуа.
Синтез и анализ криптографических алгоритмов
Математические основы ЗИ
Рис. 1. Деление материала КОС на две части
В КОС изучаемый материал представлен в виде законченных блоков [2]. Освоение этого материала на уровне знаний проверяется вопросами для самоконтроля и тестами. На уровне умений студенты решают типовые задачи, а на
уровне навыков - реализуют задачи по предлагаемому им алгоритму или по алгоритму, найденному при самостоятельной подготовке. Также КОС позволяет студентам самостоятельно прорабатывать изучаемый материал. Этапы обучения и контроля отображены на рис. 2.
Последовательность прохождения этапов обучения задается преподавателем и определяется уровнем подготовки и специальностью обучаемых. Для лучшего восприятия материала и понимания методов решения работы применяются различные способы преподнесения материала.
---------------------------------------------------------------Время
о
К
К
и
Сґ
ю
О
нР
ч
о
Л
н
к
о
Знания Умения Навыки
Материал в виде законченных блоков. Переход между ними осуществляется в любом направлении. Решение студентами задач Реализация задач на основе предлагаемого или собственного алгоритма
Вопросы для самоконтроля. Тесты: с выбором, с произвольными ответами Проверка студентами результатов с помощью КОС Правильность работы программ оценивается с помощью сравнения результатов КОС и реализаций задач
Рис. 2. Этапы обучения и контроля
Рис. 3. Структурная схема электронного учебного пособия
Компоненты практикума
Электронное пособие состоит из следующих взаимосвязанных компонент (рис.
3):
- модель отображения знаний,
- модель тестирования знаний (тестовые задания),
- программные модели демонстрации работы алгоритмов и демонстрационные ролики.
Модель отображения знаний содержит следующие элементы (рис. 4):
- теоретический материал в виде гипертекстовых документов;
- примеры решения задач по тематике занятия;
- набор типовых задач для самостоятельного решения;
- вопросы для самостоятельного контроля знаний;
- ссылки на литературу для дополнительной подготовки;
- руководство пользователя по работе с КОС (по шагам поясняются и демонстрируются возможности комплекса).
Рис. 4. Внешний вид КОС
Главное окно пособия содержит 2 окна (рис. 4): левое и правое. Правое окно присутствует всегда, а левое появляется при поднесении мыши к левому краю главного окна и исчезает при отведении.
В левом окне в виде иерархического дерева представлено содержание электронного пособия. Вложенные разделы подсоединяются к родительскому разделу и не видны. Для доступа к вложенным пунктам необходимо щелкнуть левой клавишей мыши на знаке "+" слева от родительского раздела. После этого появятся
вложенные пункты и знак "+" заменится на знак Может существовать иерархия до шести уровней вглубь.
При нажатии левой клавиши мыши на названии подраздела в левом окне, в правом будет показан сам материал. Правое окно отображает гипертекст или flash-презентации аналогично тому, как в и программе Internet Explorer. Данные гипертекста, презентации, программные модели и библиотеки для тестирования располагаются в одном каталоге с пособием. Основная программа подгружает необходимые элементы при необходимости.
Пособие состоит из следующих разделов:
- титульный лист;
- краткие сведения об электронном пособии;
- руководство пользователя;
- курс обучения - по шагам демонстрируются возможности данного пособия и работа с ним;
- разделы лабораторных работ;
- темы курсовых работ;
- список литературы для самостоятельной подготовки;
- список терминов.
Содержание лабораторных работ состоит из следующих пунктов:
- цель работы;
- теоретическая часть - может содержать в себе другие подпункты;
- используемые алгоритмы или алгоритм работы;
- рассмотренные примеры работы алгоритмов;
- примеры для самостоятельного решения;
- задание;
- примечания;
- литература для самостоятельной подготовки;
- вопросы для самоконтроля;
- тестовые задания - набор тестов для контроля знаний обучаемого;
- презентация (представление алгоритма с помощью технологии flash);
- программная модель алгоритмов - исполняемая программа.
Материал теоретической части разбит на функционально-законченные блоки информации, с учетом начальных уровней знаний, имеющихся у обучаемых. Если обучаемому требуется получить представление о некотором понятии, то с ним можно ознакомиться при помощи смежного описания, переход к которому осуществляется через иерархическое дерево содержания (левая часть программной модели отображения знаний). Просмотр материала возможен в любом направлении с помощью выбора нужного пункта (подпункта) в содержании.
Рис. 5. Пример диалога тестирования с выбираемым ответом
Модель тестирования знаний по предметной области применяется для контроля знаний обучаемых между этапами изучения теоретического материала и решением типовых стандартных задач. Тестовые задания представляют собой совокупность вопросов (от 10 до 15), подаваемых в псевдослучайном порядке. Вопросы и ответы представлены в виде текста, формул и рисунков. Для контроля знаний используются следующие виды вопросов:
- альтернативные, содержащие ответы " да" и " нет";
- вопросы с выбором - ответ предлагается выбрать из готового набора вариантов, при этом может быть как один ответ, так и несколько (рис. 5);
- информационные - на знание конкретных фактов, формул;
- с произвольными ответами - правильность ответа контролируется по наличию ключевых фраз или слов.
В каждой из лабораторных работ существует раздел "Тестирование". При его выборе появляется диалог, с помощью которого производится тестирование обучаемого. Необходимо набирать или выбирать один или несколько ответов, в зависимости от решения. Перейти к следующему вопросу можно с помощью кнопки "Далее>". По мере выполнения тестовых заданий текущий результат отображается:
- в правом нижнем углу окна диалога в виде зеленого (правильный ответ) или красного (неправильный ответ) прямоугольников в течение нескольких секунд;
- вверху диалогового окна в виде строки "Пользователь ответил на /' вопросов
из №'.
В окне последнего теста появится кнопка " Готово", предназначенная для завершения тестирования. Для прекращения теста существует кнопка " Отмена". Итоговый результат тестирования будет отображаться в окне результатов тестирования и в заголовке главного окна.
Если, по результатам тестирования, оказалось, что обучаемый не проявил должный уровень знаний и умений, то обучаемый может обратиться к теоретическому материалу данного электронного пособия, просмотреть презентацию, рассмотреть книги из списка дополнительной литературы или еще раз изучить по шагам работу поставленной задачи с помощью программной модели, прилагаемой к лабораторной работе.
Для демонстрации работы представленных алгоритмов используются программные модели и демонстрационные ролики, отражающие этапы работы в виде трассировочных таблиц (рис. 6), графиков и схем.
Завершить
ke|og2(x) Степень X (binary)
1 13 1111001011011
Шаг . Условие к к Текущее гч~2£т Если i-wft бит wcna X «1, то Изменить y»(y'iPim |
0 до цикпа 3 Да 3
1 Да 9 Да 27
2 Да 61 Нет
3 Да 423 Да 1Б8
4 Да 927 Да 240
5 Да Э Нет
6 Да 81 Да 3
7 Да 423 Нет
8 Да 927 Нет
3 Да 9 Да 27
1(3 Да 61 Да 141
11 Да 423 Да 309
12 Да 327 Да 3
13 Нет
Итог; э
Рис. 6. Пример трассировочной таблицы в программной модели схемы Горнера
Программные модели (программы) реализованы на основе общих базовых функций:
- операций над числами;
- операций преобразования элементов конечных полей в различные формы представления;
- операций над элементами конечных полей.
Программные модели являются эталонами решения, позволяющие обучаемым по шагам наблюдать вычисление поставленной задачи, проверять правильность работы собственных вариантов решения типовых задач и их реализаций на языке программирования. Программы позволяют также получать результаты, без детальных пояснений выполняемых действий, например, при шифровании файла большого объема. Для простоты восприятия результатов некоторых алгоритмов используются упрощенные варианты решения, например, для выполнения математических операций над длинными числами. Быстродействие алгоритмов над элементами полей увеличивается из-за использования более простых операций и увеличения объема памяти под данные.
Рассматриваемые алгоритмы
На лабораторных работах рассматриваются следующие математические алгоритмы:
- из теории чисел;
- вычисления элементов конечных полей (вычисление примитивных элементов, вычисление сопровождающих матриц, возведение матриц в степень, задание элементов поля в различных базисах);
- выполнения операций над элементами конечных полей (сложение, умножение и транспонирование матриц, сложение полиномов, умножение полиномов классическим, модифицированным алгоритмами и методом Paar, деление полиномов, проверка полиномов на неприводимость, сложение, умножение и возведение в степень примитивных элементов;
- симметричного и асимметричного шифрования (ГОСТ 28147-89, RSA, AES, Эль-Гамаля), протоколов распределения ключей (Диффи-Хеллмана, STS, MTI), аутентификации и электронной подписи ГОСТ Р 34.10-94, электронных подписей RSA, Эль-Гамаля, Чаума (слепая подпись).
Лабораторные работы [4] по дисциплине " Криптографические методы и средства защиты информации" базируются на следующих лабораторных работах [3] для курса " Математические основы криптологии", приведенных в пособии:
1) нахождение наибольшего общего делителя с помощью алгоритма Евклида;
2) нахождение обратных элементов по расширенному алгоритму Евклида;
3) реализация схемы Горнера для степенных целочисленных функций;
4) поиск простых чисел с помощью модифицированного алгоритма " решето Эратосфена";
5) разложение чисел методом проб на два множителя (метод Бухштаба);
6) проверка чисел Мерсена на простоту.
Программные модели реализованы на языке программирования С++, с использованием языка ассемблера. Презентации разработаны в среде Macromedia Flash 2004.
Заключение
В работе описано учебно-электронное пособие, используемое для изучения дисциплин "Математические основы защиты информации" и "Криптографические методы и средства защиты информации" в КГТУ им. А.Н. Туполева. Пособие позволяет проводить обучение и контроль на этапах представления знаний (электронный материал, тестовые задания), развития умений (демонстрационные ролики) и выработки навыков (программные модели работы алгоритмов и самостоятельное написание программ). Лабораторные работы основываются на математических алгоритмах теории чисел, конечных полей, симметричного и асимметричного шифрования. Практикум занял призовое место на конкурсе электронных учебных пособий, прошедшем в Казанском государственном техническом университете им. А.Н. Туполева. Данный практикум зарегистрирован в отраслевом фонде алгоритмов и программ, г. Москва [5].
Литература
1. Соловов А.В. Проектирование компьютерных систем учебного назначения: Учебное пособие. - Самара: СГАУ, 1995. - 138 с.
2. Кондратьев В.В. Методология науки и высшего образования. Учебное пособие. - Казань: изд-во Казанского гос. технол. ун-та, 2001. - 152 с.
3. Эминов Б.Ф. Программный комплекс лабораторного практикума для вычислений в полях Галуа // Материалы региональной научно-методической конференции " Профессиональные компетенции в структуре модели современного инженера". - Нижнекамск: КГТУ им. А.Н.Туполева, 2005. - С. 104.
4. Эминов Б.Ф. Программный комплекс обучающих средств "Основы криптографической защиты информации" // ХП Туполевские чтения: Международная молодежная научная конференция, Казань, 10-11 ноября 2004 года: Материалы конференции. Том III. Казань: Изд-во Казан.гос.техн.ун-та, - 2004. - С. 174.
5. Захаров В.М., Эминов Б.Ф. Электронное учебное пособие "Лабораторный практикум вычислений в конечных полях" // Регистрация в отраслевом фонде алгоритмов и программ, №10018. - М., 2008.