Научная статья на тему 'Разработка комплекса обучающих программ для курса «Математические основы защиты информации и информационной безопасности»'

Разработка комплекса обучающих программ для курса «Математические основы защиты информации и информационной безопасности» Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
312
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЛЕКС ПРОГРАММ / ПРОГРАММИРОВАНИЕ / ФУНКЦИОНАЛЬНЫЙ СОСТАВ КОМПЛЕКСА ПРОГРАММ / РЕЖИМ РАБОТЫ / ФОРМИРОВАНИЕ ТЕСТОВ / ПРОСМОТР ТЕОРЕТИЧЕСКИХ ДАННЫХ / ТЕСТИРОВАНИЕ / РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Крыжановская Юлиана Александровна, Кашко Василий Васильевич

В статье обсуждается разработанный комплекс обучающих программ для курса «Математические основы защиты информации и информационной безопасности», изучаемого обучающимися в магистратуре по направлению «Фундаментальная информатика и информационные технологии». Рассматривается структура комплекса программ и его использование в различных режимах работы.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Разработка комплекса обучающих программ для курса «Математические основы защиты информации и информационной безопасности»»

УДК 004.42

Крыжановская Ю.А., Кашко В.В.

Воронежский государственный университет, г. Воронеж, Россия

РАЗРАБОТКА КОМПЛЕКСА ОБУЧАЮЩИХ ПРОГРАММ ДЛЯ КУРСА «МАТЕМАТИЧЕСКИЕ ОСНОВЫ ЗАЩИТЫ ИНФОРМАЦИИ И ИНФОРМАЦИОННОЙ

БЕЗОПАСНОСТИ»

АННОТАЦИЯ

В статье обсуждается разработанный комплекс обучающих программ для курса «Математические основы защиты информации и информационной безопасности», изучаемого обучающимися в магистратуре по направлению «Фундаментальная информатика и информационные технологии». Рассматривается структура комплекса программ и его использование в различных режимах работы.

КЛЮЧЕВЫЕ СЛОВА

Комплекс программ; программирование; функциональный состав комплекса программ; режим работы; формирование тестов; просмотр теоретических данных; тестирование; результаты тестирования.

Kryzhanovskaya Y.A., Kashko V.V.

Voronezh State University, Voronezh, Russia

COURSEWARE ATHORING FOR COURSE "DATA PROTECTION AND INFORMATION SECURITY MATHEMATICAL FOUNDATIONS"

ABSTRACT

The article describes courseware authoring for course "Data protection and information security mathematical foundation" which is studied by students of "Fundamental computer science and information technology" Master's Degree programme. The program complex structure and its application in different operation modes are considered.

KEYWORDS

Program complex; programming; program complex functional structure; operation mode; test generation; theoretical data viewing; testing; test results.

Введение

Дисциплина «Математические основы защиты информации и информационнои безопасности» входит в вариативную часть общенаучного цикла учебного плана магистерскои программы по направлению подготовки 02.04.02 (010300) Фундаментальная информатика и информационные технологии и является дисциплинои по выбору в 3 семестре. Информация о дисциплине приводится в основнои образовательнои программе высшего образования [1]. Цель изучения даннои дисциплины - формирование у студентов знании по математическим основам обеспечения информационнои безопасности информационно-управляющих и информационно-логистических систем. Задача дисциплины: дать студентам необходимые знания, умения и навыки, в том числе: о математических основах построения криптографических алгоритмов и систем защиты, теоретические и практические знания в области проблем обеспечения информационнои безопасности информационно-управляющих и информационно-логистических систем навыки самостоятельного, творческого использования теоретических знании для предотвращения незаконного использования информации в практическои деятельности.

В рамках дисциплины «Математические основы защиты информации и информационнои безопасности» предусмотрены занятия лекционного и лабораторного типов. Для повышения качества усвоения излагаемого материала и обеспечения дополнительнои возможности по самостоятельнои работе студентов разработан комплекс обучающих программ по ряду тем, входящих в программу курса, в частности, таких, как:

• элементы теории чисел и модулярная арифметика;

трудные проблемы теории чисел, используемые в криптографии; тесты разложимости и тесты простоты, факторизация чисел; генераторы псевдослучайных последовательностей;

криптография: основные определения, цели, задачи, типы криптосистем, атаки на криптосистемы; алгоритмы сжатия; классификация шифров; криптостойкость, имитостойкость; идентификация и аутентификация; цифровая подпись;

управление криптографическими ключами. Состав комплекса программ и режимы работы

• Комплекс программ состоит из отдельно разработанных частей, обеспечивающих:

• работу в режиме разделения доступа, реализацию пользовательского интерфейса;

• возможность ознакомления с информацией по выбранной теме;

• проведение тестирования;

• отображение результатов.

Также включен ряд демонстрационных программ, реализующих некоторые алгоритмы, представленные в теоретических материалах. Представленным комплекс обучающих программ разработан среде visual studio 2015 [2].

Данные о пользователях хранятся в базе данных, реализованнои с использованием SQLite [3]. Теоретические материалы, тестовые задания и отображаемые варианты ответов на вопросы хранятся в виде отдельных фаилов и предоставляются пользователям по мере надобности.

Для разделения функциональных возможностеи различных категории пользователеи комплекс программ предусматривает два режима, ориентированных на преподавателя и студента. На настоящии момент функции администратора доступны в профиле преподавателя. Ведется работа по выделению части полномочии, связанных с обработкои учетных записеи, в отдельную категорию Администратор.

Режим, допустимым для конкретного пользователя, определяется после прохождения процедур идентификации и аутентификации. В рассматриваемом программном комплексе реализована парольная аутентификация. Информация об учетных записях хранится в закрытом виде в базе данных.

Режим работы преподавателя, как упоминалось, предполагает возможность работы с учетными записями студентов, т.е. регистрации новых студентов, редактирование записеи, удаления учетных записеи (пример окна регистрации приведен на Рис. 1).

Фамилия Имя

Отчест во Факультет Курс Группа

Ключ доступа

Пароль

Повторить пароль

Права доступа

| Активация

Регистрация

Выход

Рис.1. Форма регистрации

Ключ доступа задается в том случае, если проходящим регистрацию пользователь будет преподаватель (задается полем права доступа).

Присутствует также возможность просмотра результатов прохождения тестов по указаннои теме зарегистрированными студентами. С целью обеспечения большеи гибкости системы предусматривается модификация содержания теоретического материала путем загрузки нового

файла. Кроме того, реализовано редактирование составляющих тесты вопросов и соответствующих им вариантов ответов.

Возможности студента по работе с комплексом программ представлены возможностями по ознакомлению с информациеи по выбраннои теме, прохождением тестирования (с фиксациеи результатов в базе данных) и просмотре полученных результатов с указанием оценки за конкретньш тест.

Оформление теоретических сведений и подготовка тестирования

Теоретическии материал для данного комплекса программ оформляется в виде pdf-фаила. Для его редактирования/формирования можно воспользоваться любым текстовым редактором, допускающим экспорт в формат .pdf. Затем полученныи фаил располагается по следующему пути: <Буква диска>:\Visual Studio\<CourseWare>\<Названйе тематическои программы>\Ып^еЬ^. Фаил должен иметь имя Test, в противном случае теория будет недоступна из приложения.

Тестовыи материал состоит из трех основных частеи:

1. Фаил, содержащии вопросы.

2. Фаил, содержащии номера правильных ответов.

3. Папка, в которои хранятся изображения с вариантами ответов.

Для изменения или формирования тестовои информации нужно выполнить следующие деиствия:

1. Редактирование фаила вопросов и ответов осуществляется при выборе в меню программы пункта Администрирование\Редактировать тесты\Редактор вопросов (в случае редактирования фаила вопросов).

2. Администрирование\Редактировать тесты\Редактор ответов (в случае редактирования фаила ответов).

После чего на экране появится содержимое соответствующего фаила. Редактирование необходимо выполнять непосредственно в текстовом поле. При этом каждыи вопрос и каждыи ответ записывается в отдельнои строке и должен заканчиваться специальным знаком ($), которыи является разделителем. В фаиле вопросов приводятся все вопросы теста, а в фаиле ответов прописываются номера правильных ответов, которые таким же образом разделяются разделителем $. При этом если у вопроса несколько правильных ответов, то их номера прописываются через запятую.

3. Редактирование изображении с вариантами ответов.

Варианты ответов приводятся в формате изображении, которые должны размещаться по заданному адресу.

Для создания новых изображении можно воспользоваться текстовым редактором, а затем -графическим редактором (например, paint). Процесс редактирования изображении ответов можно разделить на несколько шагов:

Шаг 1: В текстовом редакторе набрать пронумерованные варианты ответов на конкретныи

вопрос;

Шаг 2: Далее применить Print Screen с набранным текстом;

Шаг 3: Открыть Paint (или другои графическии редактор) и сделать заготовку размером 579*160 пикселеи, либо воспользоваться уже готовым паттерном, расположенным по следующему пути:

<Буква диска>:\Visual Studio\<CourseWare>\<Названйе тематическои

программы>\packages\Code\Шаблон рисунка.Ьтр.

Шаг 4: Поместить изображение в паттерн и сохранить в папке по следующему пути: <Буква диска>:\Visual Studio\<CourseWare>\<Названйе тематическои программы>\bin\Debug\Img

Имена фаилов изображении ответов задаются целочисленными значениями (номерами вопросов, которым соответствуют варианты на изображении). Нумерация начинается с 0.

Прохождение теста и просмотр результатов

Для старта тестирования студент должен ввести свои логин и пароль. В случае первого использования программы необходимо проити регистрацию, которая осуществляется преподавателем. Для этого в режиме работы преподавателя необходимо заполнить регистрационную форму.

Если студент ранее был зарегистрирован, то функционал преподавателя/администратора станет недоступен, а будет предложено выбрать раздел, изучение которого планируется, а затем -одно из деиствии: просмотреть теоретическии материал, проити тестирование или просмотреть результаты. При выборе просмотра теории будет предъявлена информация по заданнои теме. В

случае, если выбрано прохождение тестирования, будут последовательно предъявляться вопросы теста (пример вопроса по теме Модулярная арифметика с вариантами ответа приведен на Рис. 2).

Правильный (по мнению обучающегося) ответ засчитывается при нажатии кнопки Принять ответ. После этого становится активнои копка Следующии вопрос.

После ответа на предложенные вопросы теста обучающемуся сообщается результат прохождения теста с указанием процента правильных ответов и полученной оценки.

Рис. 2. Пример вопроса теста по теме Модулярная арифметика с вариантами ответа

Для просмотра результатов тестирования используются пункты меню Файл -> Результаты тестирования. Следует отметить, что студенту доступны для просмотра только свои собственные результаты.

Выход из программы возможен с использованием кнопки "Выход" или пунктов меню Фаил -> Выход. Для того, чтобы свернуть окно в треи, можно использовать пункт меню Фаил -> Свернуть.

Примеры демонстрационных программ

Демонстрационные программы для каждои из рассматриваемых тем включены в разработанныи комплекс программ. Рассмотрим некоторые из них.

1. Генерация «большого» нечетного числа и проверка его на простоту по методу Миллера -Рабина. Данная программа состоит из двух основных модулей класс BigNumber, класс Program (в котором производится инициализация объекта класса BigNumber).

Работа класса BigNumber основана на использовании типа Biglnteger которьш включен в пространство имен usyng System.Numerics. Он включает в себя следующие методы:

• public Biglnteger GetNumber(int count) - генератор большого числа заданного размера. Параметр count предназначен для указания количества блоков чисел (один блок состоит из 10 символов). Генерация числа производится следующим образом: Есть целочисленная переменная, в которую в цикле (количество итерации равно count) генерируется случаиное число в диапазоне [2000000000, 2147483647], и есть строка, в которую поочередно, путем конкатенации, добавляются сгенерированные ранее, но преобразованные в строку числа. Таким образом, в конце выполнения count итерации в строке будет записано число, размером count*10 символов. Далее создается переменная типа Biglnteger, в которую путем применения встроеннои функции для данного типа BigInteger.Parse(<string>) записывается строка и преобразовывается в тип Biglnteger. В конце работы метод возвращает полученное число.

• public bool MillerRabin(BigInteger number) - функция проверки на простоту по методу Миллера-Рабина. На вход данного метода подается проверяемое число. Далее данное число представляется в виде n-1=(2Ak)*m, откуда находятся значения k и m. Далее генерируется число a из диапазона [2,n-2] (так называемым свидетель). На следующем этапе выполняем операцию T = (aAm) mod n. Если в результате T == 1 или T == -1, то число с вероятностью 25% является простым, иначе в цикле по переменнои k выполняется операция T = (ТЛ2) mod n и выполняется проверка значения Т. Если Т = 1, то число не является простым; если Т = -1, то число с вероятностью 25% простое. Результатом работы данного метода является булевская переменная, которая имеет значение true - в случае, когда проверяемое число простое и false - когда не является простым.

В классе Program создается объект класса BigNumber, далее в цикле вызывается метод генерации числа и его проверка на простоту. Цикл остановится лишь в том случае, когда метод проверки вернет значение true, что означает генерацию простого числа.

2. Демонстрация работы алгоритма инкрементного кодирования (фронтальное

сжатие) [4]. Программа определяет общие префиксы или суффиксы и их длины записываются таким образом, чтобы избегать дублирования данных. Этот алгоритм хорошо подходит для сжатия отсортированных данных, например, списка слов в словаре.

Пример работы демонстрационной программы в режиме сжатия приведен на Рис.3.

0 Инкрементное кодиров... — ШйВ

Выберете действие (в) Сжать

О Распаковать

Введите текст Выполнить Результат

глуха 0 тука

myrophyta Sophyta

myxopod Sod

nab Onab

nabbed 3 bed

nabbing 4ing

nabit 3 rt

nabk 3k

nabob 3ob

nacarat 2 carat

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

nacelle 3 die

Рис. 3. Пример работы программы

При сжатии считываются слова в массив размерности, определяемои количеством введенных слов (п), после этого, начиная с 0 и до п-1 слова производится посимвольное сравнение слова: 0 и 1 слово, 1 и 2, и так далее до п-3 и п-2 слов. В итоге выводится количество символов которые совпали, а потом оставшиеся символы. У 0 слово индекс 0, так как нам не с чем его сравнивать.

При распаковке сжатьш код считывается в массив, где у цифр, которые означают количество данных, четные номера, а у не совпавших букв - нечетные. После этого в переменную запоминается очередное слово, начиная с нулевого. При выводе следующего сначала выводятся совпавшие буквы, а затем дописываются оставшиеся буквы. Данная операция повторяется до п-1 слова (так как в массиве индексация начинается с 0).

3. Сжатие без потерь в соответствии с алгоритмом Лемпеля-Зива-Велча [5]. Интерфеис демонстрационнои программы показан на Рис.4. В данном случае приводится пример реализации алгоритма для текстовои информации, при использовании следует учесть, что для большеи наглядности следует задавать текст с многократным повтором символов или последовательностеи символов в тексте. В противном случае явление сжатия информации может быть незначительным или вообще отсутствовать.

ojj1 Сжатие без потери данных | ,[=1..||

Введите текст

СЖАТЬ

Результат сжатия

РАСПАКОВАТЬ

Результат распаковки

РЕСТАРТ

ВЫХОД

Рис. 4. Интерфейс демонстрационной программы

Вывод

По итогам выполнения поставленнои задачи был разработан комплекс обучающих программ по дисциплине «Математические основы защиты информации и информационнои безопасности» для обучающихся в магистратуре по направлению подготовки 02.04.02 (010300) Фундаментальная информатика и информационные технологии. Данныи программным продукт предоставляет возможности по организации изучения ряда тем, рассматриваемых в рамках курса.

Он может использоваться студентами в качестве сопровождающего обучение средства, допускающее как самостоятельное изучение ряда тем дисциплины, так и проведение самоконтроля. Преподаватель имеет возможность контролировать освоение обучающимися материала тем путем просмотра продемонстрированных результатов тестирования. Также предусматривается обновление или замена теоретического и тестового материала. Список демонстрационных программ допускает расширение. Кроме того, реализована работа комплекса программ в режимах, предназначенных для преподавателя и для обучающегося.

Планируется развитие представленного комплекса обучающих программ, в том числе, в направлении реализации отдельного функционала администратора.

Литература

1. Основные образовательные программы ВГУ. URL ttps://moodle.vsu.ru (дата обращения 20.10.2016).

2. Microsoft Visual Studio [Электронный ресурс]. URL https://msdn.microsoft.com/library/52f3sw5c(v=vs.100).aspx (дата обращения 20.10.2016).

3. SQLite Homepage [Электронный ресурс]. URL http://www.sqlite.org (дата обращения 20.10.2016).

4. Ватолин Д. Методы сжатия данных : Устройство архиваторов, сжатие изображений и видео / Д.Ватолин [и др.] .— М. : Диалог-МИФИ, 2003 .— 381 с.

References

1. Osnovnye obrazovatel'nye programmy VGU. URL https://moodle.vsu.ru (data obrashcheniya 20.10.2016).

2. Microsoft Visual Studio [Elektronnyy resurs] URL https://msdn.microsoft.com/library/52f3sw5c(v=vs.100).aspx.

3. SQLite Homepage [Elektronnyy resurs]. URL http://www.sqlite.org (data obrashcheniya 20.10.2016) .

4. Vatolin D. Metody szhatiya dannykh : Ustroystvo arkhivatorov, szhatie izobrazheniy i video / D.Vatolin [i dr.] .— M. : Dialog-MIFI, 2003 .— 381 s.

Поступила: 2.10.2016

Об авторах:

Крыжановская Юлиана Александровна, старшии преподаватель кафедры ERP-систем и бизнес процессов Воронежского государственного университета, kryzhanovskaya_ya@amm.vsu.ru;

Кашко Василий Васильевич, студент 2 курса магистратуры факультета прикладнои математики, информатики и механики Воронежского государственного университета, vasya.kashko@mail.ru.

i Надоели баннеры? Вы всегда можете отключить рекламу.