Научная статья на тему 'Разработка программы-тренажера для изучения асимметричного алгоритма шифрования RSA'

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

CC BY
1218
72
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММА-ТРЕНАЖЕР / SIMULATOR PROGRAM / ЗАЩИТА ИНФОРМАЦИИ / INFORMATION SECURITY / ШИФРОВАНИЕ С ОТКРЫТЫМ КЛЮЧОМ / PUBLIC KEY ENCRYPTION / АЛГОРИТМ RSA / RSA ALGORITHM / ДИСТАНЦИОННОЕ ОБУЧЕНИЕ / DISTANCE LEARNING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Сидоров Дмитрий Петрович, Аббакумов Андрей Александрович

В статье рассматриваются вопросы организации преподавания дисциплины «Защита информации» при подготовке бакалавров по направлению «Информатика и вычислительная техника». Предложено создание программы-тренажера для алгоритма шифрования RSA, которое позволит повысить наглядность как теоретических занятий, так и лабораторных. Разработанное приложение в удобной форме отображает все этапы вычислений, необходимых для шифрования по алгоритму RSA, содержит интерактивную справочную систему, позволяет генерировать отчеты о проделанной работе. Программа-тренажер может использоваться как на аудиторных занятиях, так и для самостоятельной подготовки студентов. Это делает возможным ее применение в системах дистанционного обучения.

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

The article deals with the organization of the teaching of the discipline «Information security» in the preparation of bachelors in the field of «Computer science and computer technology». The creation of a simulator program for the RSA encryption algorithm is proposed, which will increase the visibility of both theoretical studies and laboratory ones. The developed application in a convenient form displays all the steps of the calculations necessary for RSA encryption, contains an online help system, allows the generation of reports on the work done. The simulator program can be used both for classroom activities and for independent preparation of students. This makes it possible to use it in distance learning systems.

Текст научной работы на тему «Разработка программы-тренажера для изучения асимметричного алгоритма шифрования RSA»

Разработка программы-тренажера для изучения асимметричного алгоритма шифрования RSA

Сидоров Дмитрий Петрович к.т.н., доцент кафедры автоматизированных систем обработки информации и

управления,

Национальный исследовательский Мордовский государственный университет им.

Н.П. Огарёва,

ул. Большевистская, д. 68, г. Саранск, Республика Мордовия, Россия, 430005,

(8342)478691 sidorovd@mail.ru

Аббакумов Андрей Александрович к.т.н., доцент кафедры автоматизированных систем обработки информации и

управления,

Национальный исследовательский Мордовский государственный университет им.

Н.П. Огарёва,

ул. Большевистская, д. 68, г. Саранск, Республика Мордовия, Россия, 430005,

(8342)478691 abbakumov_aa@mail.ru

Аннотация

В статье рассматриваются вопросы организации преподавания дисциплины «Защита информации» при подготовке бакалавров по направлению «Информатика и вычислительная техника». Предложено создание программы-тренажера для алгоритма шифрования RSA, которое позволит повысить наглядность как теоретических занятий, так и лабораторных. Разработанное приложение в удобной форме отображает все этапы вычислений, необходимых для шифрования по алгоритму RSA, содержит интерактивную справочную систему, позволяет генерировать отчеты о проделанной работе. Программа-тренажер может использоваться как на аудиторных занятиях, так и для самостоятельной подготовки студентов. Это делает возможным ее применение в системах дистанционного обучения. The article deals with the organization of the teaching of the discipline «Information security» in the preparation of bachelors in the field of «Computer science and computer technology». The creation of a simulator program for the RSA encryption algorithm is proposed, which will increase the visibility of both theoretical studies and laboratory ones. The developed application in a convenient form displays all the steps of the calculations necessary for RSA encryption, contains an online help system, allows the generation of reports on the work done. The simulator program can be used both for classroom activities and for independent preparation of students. This makes it possible to use it in distance learning systems.

Ключевые слова

программа-тренажер, защита информации, шифрование с открытым ключом, алгоритм RSA, дистанционное обучение

simulator program, information security, public key encryption, RSA algorithm, distance learning

Введение

В настоящее время в учебном плане подготовки бакалавров по направлению «Информатика и вычислительная техника» присутствует дисциплина «Защита информации». Более того, данная дисциплина присутствует во многих учебных планах по которым ведется подготовка бакалавров и магистров инженерных направлений. Название учебной дисциплины и ее объем может несколько варьироваться в зависимости от профиля подготовки, но суть в том, что на данном этапе развития информационных технологий уже невозможно представить себе квалифицированного инженера не владеющего хотя бы основными знаниями из области информационной безопасности. Такие понятия как шифрование, электронная подпись и т.п. в настоящее время прочно вошли в нашу жизнь и используются далеко за пределами инженерных специальностей.

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

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

- Для написания качественного кода от студента требуется значительный опыт программирования именно в заданной области, т.е. опыт программной реализации алгоритмов шифрования.

- Выполнение программной реализации требует значительных затрат времени, которые превосходят объем лабораторного занятия.

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

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

Однако, как показывает практика, если лекционный материал не подкрепляется рассмотрением каких-либо примеров и самостоятельным выполнением определенных заданий по рассматриваемым алгоритмам, то такой материал усваивается студентами весьма поверхностно. Зачастую он не вызывает какого-либо интереса к изучению в силу того, что воспринимается как нечто абстрактное, не имеющее никакой практической значимости. [1]

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

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

настоящее время. [2]

Теоретическая часть

Как уже указывалось ранее, одним из основных разделов дисциплины «Защита информации» являются алгоритмы шифрования. В настоящее время все алгоритмы шифрования можно разделить на два класса: симметричные и асимметричные (другое часто используемое название - алгоритмы с открытым ключом). В качестве целевого алгоритма для программы-тренажера представляется более интересным выбрать один из асимметричных алгоритмов. Это связано с тем, что на основе подобных алгоритмов строятся не только системы шифрования, но и системы электронной подписи. А понятие электронной подписи в настоящее время используется достаточно широко в связи с постепенным переходом на электронный документооборот в очень многих областях человеческой деятельности.

Из всего многообразия асимметричных алгоритмов для реализации был выбран алгоритм RSA (аббревиатура от фамилий его разработчиков Rivest, Shamir и Adleman). Это криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Криптосистема RSA стала первой системой, пригодной и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе криптографических приложений, включая PGP, S/MIME, TLS/SSL, IPSEC/IKE и других. [1]

Исходя из всего вышесказанного ставится задача разработки программы-тренажера для изучения асимметричного алгоритма шифрования RSA. Данная программа должна поэтапно и наглядно осветить работу указанного алгоритма.

Функционал разрабатываемого приложения должен обеспечивать следующие возможности:

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

- Необходимо предусмотреть поля для ввода и вывода шифруемой\дешифруемой информации.

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

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

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

- Разработать отчетный материал по лабораторной работе, предусмотреть возможность сохранения и открытия отчетов.

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

- Создать интерактивную справочную систему, содержащую всю информацию и лекционный материал по алгоритму RSA и вспомогательных алгоритмах, используемых в его реализации.

Реализация программы-тренажера для изучения алгоритма RSA

В результате проведенной работы было создано приложение «Виртуальная лаборатория: Асимметричный алгоритм шифрования RSA». Программа представляет собой оконное приложение, которое было разработано на объектно-ориентированном языке C# в среде Microsoft Visual Studio 2012.

После запуска исполняемого файла, открывается главное меню приложения

(рис. 1).

Рис. 1. Главное меню приложения

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

Выбрав первый пункт меню, а именно «Изучить алгоритм», пользователю откроется окно, изображенное на рисунке 2.

s* В/1 RSA: Изучение алгоритма ' L^^H

Общие положения 1. Взятие чисел 2. Вычисление произведений 3. Публичный ключ 4. Приватный ключ 5. Зашифрование 6. Расшифрование * к

Система RSA была предложена в качестве первой криптографической системой с открытым ключом в 197В году и стало достаточно широко известной. Ее название происходит от первых букв фамилий авторов Rivest Shamir и Aldeman, которые придумали ее во время совместных исследований в Массачусетсом технологическом институте в 1977 году. Она основана на трудности разложения очень больших целых чисел на простые сомножители. Алгоритм ее работает так: 1 Выбрать два больших простых числа р и q. 2.Вычислить два произведения n = p*q и<р = (p-1)*(q-1). 3.Выбирать случайное целое число е. такое что НОД(е, <р) = 1. Числа еип публикуются как открытый ключ шифрования. 4.Вычислить d. удовлетворяющее условию e*d s 1 (mod <р). (Такое число d существует на основании теоремы о количестве решений сравнения первой степени.) Числа d и п сохраняется как закрытый ключ. Б.Если m - сообщение, длина которого, определяемая по значению выражаемого им целого числа, должна быть в интервале И. п), то оно превращается в шифровку возведением в степень е по модулю п и отправляется получателю с =те mod п. б.Получатель сообщения расшифровывает его, возводя в степень d по модулю п. так как m = cd mod п. Вданных текстовых сносках будет представлена общая инфомация по этапам алгоритма. Для получения более полной информации вы в любой момент можете обратиться к Интерактивному справочнику, нажав кнопку ?.

Рис. 2. Окно изучения алгоритма: Вкладка «Общие положения»

Стоит обратить внимание на кнопку «?» рядом с кнопкой закрытия окна, которая при нажатии откроет интерактивную справочную систему.

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

- Общие положения;

- Взятие чисел;

- Вычисление произведений;

- Публичный ключ;

- Приватный ключ;

- Зашифрование;

- Расшифрование;

- Итоги.

На первой вкладке «Общие положения», приведена некоторая историческая информация об алгоритме RSA и, собственно, сам алгоритм.

На вкладке «Взятие чисел», представленной на рисунке 3, задаются ключевые параметры алгоритма - пара простых больших чисел.

-H ВЛ RSA: Изучение алгоритма

1 Взлтме чисел j 2 Вычисление произведений 3 Публичный ключ 4. Приватный ключ 5 Зашифрование в. Расшифрование Итоги ' '

Важным моментом практического применения предлагаемого алгоритма является выбор параметров р и q Л

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

Во-первых, числа р и q должны быть простыми и не содержаться ни в одной из известных таблиц простых чисел При факторизации можно всегда проверить всю таблиц/ или перебрать последовательность простых чисел специфического вида (например, числа Мерсенна или Ферма).

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

В-третьих, при выборе р и q также должно быть рассмотрено и значение <р

В-четвертых, чтобы исключить возможность применения fp-1 > и (р+ 1>-методовфакторизации, рекомендуется v

Число р(ОЕС) Число простое Сведетелей простоты: 125 Количество потыток генерации: 43

Ш Ввес™ числе вручную Таблица простьк чисел Параметры Генерации и инициализация

Рис. 3. Окно изучения алгоритма: Вкладка «Взятие чисел»

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

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

В случае, когда пользователь желает автоматически сгенерировать простые числа, можно задать параметры генерации, вызвав окно настроек нажатием на кнопку «Параметры» (рис. 4)._

Параметры

Используемая размерность

О Диапазон количества десятичных разрядов

® Размерность числа б битах

Биты

Разрядность

128 бит

Верхняя граница

Отмена | Ок

Рис. 4. Окно «Параметры»

Параметры генерации можно задать двумя способами: с указанием диапазона количества десятичных разрядов и с указанием разрядности генерируемого числа в битах. На приведенном рисунке были заданы параметры генерации чисел разрядностью 128 бит. Следует отметить, что данное значение не удовлетворяет требованиям безопасности, предъявляемым к параметрам алгоритма RSA, и было

выбрано исключительно в учебных целях. [3]

После задания параметров генерации, для инициализации приложения данными числами необходимо нажать кнопку «Генерация и инициализация». Результат данного действия представлен на рисунке 3.

На следующей вкладке «Вычисление произведений» представлен этап с одноименным названием. Соответствующее окно по своему внешнему виду и функционалу в значительной степени повторяет окно из рисунка 3, поэтому здесь не приведено дабы не загромождать изложение избыточным графическим материалом.

Следующий этап - вкладка «Публичный ключ» (рис. 5). Так же, как и с простыми числами вкладки «Взятие чисел», число, представляющее открытый ключ может быть сгенерировано автоматически или задано вручную в соответствии с правилами выбора ключа. Генерация и инициализация приложения ключом производится по нажатию соответствующей кнопки. Результат этого действия отражен на рисунке 5.

s* В/1 RSA; Изучение алгоритма

1. Взятие чисел 2. Вычисление произведений"]; 3 Публичный ключ 4. Приватный ключ 5. Зашифрование 6. Расшифрование Итоги 4 *

Следующий этап - взять случайное число е. такое что е <<р и НОД(е, ф) = 1. то есть числа е ифдолжны быть взаимно простыми.

От размера числа е зависит скорость зашифрования информации. Однако при вычислеив число d, получим число размером, приближенным к размеру числа ф. Это правило дейчтвует в обе стороны - имея большое число е, мы получим малое число d. что означает, что при зашифровании мы будем тратить более долгое время, чем при расшифровании. Ручной выбор параметров имеет место и бывает актуален. Например, при использовании системы RSA при защите электронных платежей с применением кредитных карточек естественным является требование использования небольших значений экспоненты d у владельца карточки и большого значения экспоненты е у центрального компьютера.

Однако, выбор малых параметров е и d представляется небезопасным по ряду соображений.

Число e{DEC) Корректный ввод Количество попыток генерации: 6

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

I I Ввести число вручную Сохранить Генерация и инициализация

Рис. 5. Окно изучения алгоритма: Вкладка «Публичный ключ»

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

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

Следующий этап алгоритма реализован на вкладке «Зашифрование», представленной на рисунке 6.

s* B/l RSA: Изучение алгоритма

Общие положения 1. Взятие чисел 2. Вычисление произведений 3. Публичный ключ 4. Приватный ключ 5 Зашифрование 6. Расшифрование * f

Зашифрование производится путем модульного возведения в степень исходного сообщения, с = те mod п * Для наглядной демонстрации работы алгоритм в качестве исходного сообщения будет использован некоторый текст. Очевидно, что алгоритм работает только с числовыми данными. Поэтому необходимо преобраховать текст в цифровой вид Для ассоциации символов с числами хорошо подойдет таблица ASCII.

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

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

Немодные данные Jj Преобразование Шифротекст

- Привет тебе, Теоден, сын Тенгеля! Я вернулся, как и обещал тебе, надвигается буря. В такой час друзьям следует держаться вместе, никому не выстоять в одиночту.

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

- Привет тебе, гэндальф Серый, - произнес он. - Не могу сказать, что рад твоему приходу. Не скрою, когда Сполох вернулся один, возвращение коня обрадовало меня не меньше, чемотсутствие всадника. И когда Номер принёс весть о твоей гибели, я не стал печалиться. Но ты вновь здесь, значит, пришли еще худшие беды. Нет, Гэндальф Буревестник, я не рад тебе. - Он тяжело сел снова.

Рис. 6. Вкладка зашифрования. Исходное сообщение

Сначала пользователю предлагается ввести некоторое текстовое сообщение. Затем в соответствии с ранее сгенерированными параметрами алгоритма, сообщение преобразуется в числовую форму - набор байтовых массивов, из которых будут получены большие целые числа. Это продиктовано тем, что алгоритм работает только с числовой информацией. Преобразование производится нажатием кнопки «Разбить и преобразовать» (рис. 7).___

s* В/1 RSA: Изучение алгоритма '

Эбщие положения 1. Взятие чисел 2. Вычисление произведений 3. Публичный ключ 4. Приватный ключ 5. Зашифрование 6. Расшифрование * *

Зашифрование производится путем модульного возведения в степень исходного сообщения, с — rrf mod п. Для наглядной демонстрации работы алгоритм в качестве исходного сообщения будет использован некоторый текст. Очевидно, что алгоритм работает только с числовыми данными. Поэтому необходимо преобраховать текст в цифровой вид Для ассоциации символов с числами хорошо подойдет таблица ASCII. Немаловажным является то. что сообщение должно быть по числовому значению меньше значения модуля п. Таким образом текст разобьется на блоки байтов, из которых будет получено большое целое число. Полученные блоки (или большие числа) и будут использованы в качестве исходных сообщений. В результате после зашифрования чисел мы получим набор чисел, который и будем называть шифротекстом.

Исходные данные Преобразование Шифротекст

БЛОК №1! А 09 96 20 CF FO Е8 Е2 Е5 F2 20 F2 Е5 Е1 ЕБ 2С 20 D2 Е5 ЕЕ Е4 Е5 'нг * " 'с' 'ьГ 'н' ' ' 'Т1 ге' 'н* ED 2С 20 F1 FB ED 20 D2 ES ED БЛОК №2: ЕЗ Е5 ЕВ FF 21 20 DF 20 Е2 Е5 FO ED F3 ЕВ F1 FF 2С 20 ЕА ЕО ЕА 20 ЕЗ 20 ЕЕ El Е5 F3 ЕО ЕВ 20

| Разбить и преобразовать

Рис. 7. Вкладка зашифрования. Преобразованное сообщение

Далее производится процесс шифрования с использованием полученных ранее ключей, нажатием кнопки «Зашифровать» (рис. 8). В результате пользователь

получает шифротекст и информацию о времени работы алгоритма, размере блоков и их количестве.

s* ВЛ RSA; Изучение алгоритма '

Общие положения 1. Взятие чисел 2. Вычисление произведений 3. Публичный ключ 4. Приватный ключ 5. Зашифрование 6. Расшифрование * *

Зашифрование производится путем модульного возведения в степень исходного сообщения, с = те mod п. Для наглядной демонстрации работы алгоритм в качестве исходного сообщения будет использован некоторый текст. Очевидно, что алгоритм работает только с числовыми данными. Поэтому необходимо преобраховать текст в цифровой вид Для ассоциации символов с числами хорошо подойдет таблица ASCII.

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

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

Исходные данные Преобразование | Шифротекст |

блок №1: л

20 РА 43 59 А7 65 ЗВ 1С 67 45 СО ВР В6 7В ВО 23 34 ЗВ 00 95 06 А4 66 1Р СВ 1С РА С6 АЗ 01 7Е 01

БЛОК №2:

01 6В 48 7А 68 25 1В 55 07 Я5 Е9 37 С6 48 35 20 РЕ 65 8А 96 58 8Р ВЗ А8 28 1Е 77 50 ОА А7 66 03 БЛОК шз:

92 50 7В 95 59 АЕ ОВ 03 СЗ 12 А1 СР 7Е 19 95 03 7А 36 25 СВ ОС 5В 28 ОЕ ЕА ЕА АЕ СЕ Р5 Р6 16 05 БЛОК №4:

28 ОО ОА 78 Е9 ОА Р6 Р4 81 ОВ Р5 1Е 59 В2 6Е ВС 04 СО 38 20 03 02 84 48 С2 ЕЗ ЕО 60 ВС 6Р ВВ 02 БЛОК Ш5:

21 1Р 2А В7 7А 96 Р9 70 01 45 7Е 33 РВ 5В 53 4В РЕ С7 96 27 31 7Р 34 2С 87 95 А8 22 97 Е5 30 01 Блок №6:

30 ЭС 43 В4 15 26 16 С9 7В 07 А9 82 А1 ОС ЗВ 03 ЕО 43 5В 15 1С 58 95 63 33 АР ЗЕ 13 96 14 В4 07

Размер блоков: 32 байт(а) Количество блоков: 25 Время зашифрования: Q.0985E5 сек Зашифровать

Рис. 8. Вкладка зашифрования. Шифротекст

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

Последняя из рассматриваемых вкладок этапа «Изучение алгоритма» -вкладка «Итоги» (рис. 9). Здесь можно сформировать отчет для просмотра кнопкой «Вывести отчет», а также сохранить его в файл для передачи контролирующему лицу -кнопка «Сохранить отчет». В данном отчете будут отражены все параметры алгоритма и статистические данные, а также информация о проделанной работе.

Рис. 9. Окно изучения алгоритма: Вкладка «Итоги»

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

Следующий пункт меню главного меню - «Справочник», откроет интерактивную справочную систему по алгоритму RSA. Справочник реализован в файле справки формата CHM. В нем собрана все необходимая информация по алгоритму шифрования RSA, а также вспомогательным алгоритмам, участвующим в реализации основного алгоритма. Архитектура файла справки предоставляет удобства в плане каталогизации информации, поиска по ключевым словам и главам.

Четвертый пункт меню «Шифрование файлов» откроет окно, в котором реализован основной функционал алгоритма - шифрование файлов (рис. 10).

Рис. 10. Шифрование файлов

Данное окно предоставляет пользователю следующие возможности: - Генерировать новые пары ключей (кнопка «Сгенерировать новые

ключи») и сохранить их в указанной директории.

- Подключать приватный и публичный ключи, независимо друг от друга с помощью кнопок «Открыть публичный ключ» и «Открыть приватный ключ». Это продиктовано особенностями использования асимметричных алгоритмов: на практике публичный ключ - это чей-то чужой ключ, а приватный - свой собственный. [3]

- Подключив необходимый ключ, можно выбрать требуемую операцию («Зашифровать» или «Расшифровать»). Далее пользователь может в реальном времени наблюдать за ходом процесса шифрования, и при необходимости отменить его в любой момент.

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

Анализ и оценка разработки

Использование разработанной программы-тренажера в учебном процессе позволит повысить качество преподавания дисциплины «Защита информации», в частности раздела, посвященного асимметричным алгоритмам шифрования. Проводя самостоятельные эксперименты, обучаемые могут убедиться в истинности приобретаемых теоретических знаний. Средства визуализации исходных, промежуточных и конечных данных в алгоритме шифрования RSA повышают интерес к детальному изучению теоретического материала, делают более легким процесс усвоения этого материала. [2]

Следует отметить, что Государственный стандарт отводит на самостоятельное изучение предмета такое же количество академических часов, какое выделяется на работу в аудитории. Разработанная программа-тренажер позволит студенту самостоятельно изучить все особенности алгоритма RSA и прийти в лабораторию с определенным запасом знаний по указанной теме, чтобы успешно выполнить задания в установленное время и предоставить отчет о работе.

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

Более того, даже если алгоритм RSA и не входит в тематику лабораторных занятий, разработанная программа позволит более качественно изучить теоретический материал, излагаемый в лекционном курсе и как следствие лучше подготовиться к экзаменам.

Заключение

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

Спектр областей применения данного приложения достаточно широк - это и вспомогательный/демонстрационный материал к лекционному курсу, и основа для выполнения лабораторных и практических работ, и инструмент для самостоятельной

подготовки студентов, в частности, с применением технологий дистанционного обучения. [3]

Литература

1. Федосин С.А. Методы и средства защиты компьютерной информации: учеб. пособие / С.А. Федосин. - Саранск: Изд-во Мордов. ун-та, 2005. - 112 с.

2. Савкина А.В., Нуштаева А.В., Шарамазанов Р.М. Виртуальная лаборатория для определения длины световой волны с помощью колец Ньютона. // Современные проблемы управления и регулирования: инновационные технологии и техника: cборник статей Международной научно-практической конференции (Пенза, 10 июня 2016 г.). - Пенза, 2016. - С. 12-20.

3. Савкина, А.В. Виртуальные лаборатории в дистанционном обучении [Электронный ресурс] / А.В. Савкина, А.Вл. Савкина, С.А. Федосин // Образовательные технологии и общество. - 2014. - Т. 17, № 4. - C. 507-517. -URL: http://elibrary.ru/download/elibrary_22673871_72590157.pdf, свободный. -Загл. с экрана (дата обращения: 10.05.2018).

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