Помощь в написании студенческих работ
Антистрессовый сервис

Разработка криптосистемы. 
Разработка криптографического редактора

РефератПомощь в написанииУзнать стоимостьмоей работы

Пользователь — получает сгенерированные необходимые для операций шифрования и дешифрования ключи, вводит ключи необходимые для дешифрования или шифрования. Вводит исходную информацию для преобразования, зашифрованные данные для дешифрования, отправляет полученные ключи абоненту. Отправляет данные, полученные в результате работы программы, на электронную почту своему абоненту, сохраняет… Читать ещё >

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

Глоссарий Таблица 1.

Термин.

Значение.

Шифр

Преобразованные исходные данные.

ElGamal.

Алгоритм шифрования Эль-Гамаль.

Открытый ключ.

Kот, G, P.

Алфавит.

Коллекция, которая содержит прописные и маленькие буквы русского и английского алфавитов, цифры 0−9, все знаки содержащиеся на клавиатуре.

SMTP-сервер

Доставляющий сообщения от имени лица пользователей сервер

Порт SMTP сервера.

K.

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

Далее, выделим действующих лиц и рассмотрим функциональные и нефункциональные требования.

Функциональные требования:

  • · Открывать файлы с данными для де/шифрования;
  • · Записывать данные в файл;
  • · Генерировать ключи;
  • · Шифровать данные;
  • · Дешифровать данные;
  • · Отправлять результат работы программы на электронный ящик.

Нефункциональные требования:

  • · Удобство использования;
  • · Пользовательский интерфейс должен быть Windows — совместимым;
  • · Пользовательский интерфейс системы должен быть понятным;
  • · Программный продукт должен обеспечивать стабильную работу;
  • · Необходимо, чтоб криптосистема корректно реализовывала схему ElGamal.

Действующие лица:

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

Исходя из требований действующего лица, выделяются следующие варианты использования:

  • 1. Открыть файл с данными;
  • 2. Записать данные в файл;
  • 3. Генерировать ключи;
  • 4. Шифровать данные;
  • 5. Дешифровать данные;
  • 6. Отправить результат работы на почту.

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

Диаграмма вариантов использования.

Рисунок 2.2 — Диаграмма вариантов использования.

Далее, детально рассмотрим варианты использования.

Вариант использования «Открыть файл с данными».

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

Основной поток событий: Данный вариант использования начинает выполняться, когда пользователь выберет в меню раздел «Файл=> Открыть».

  • 1. Система предлагает выбрать нужный файл;
  • 2. Пользователь подтверждает выбор;
  • 3. Система загружает данные из файла
  • 4. Система отображает данные в текстовом поле.

Вариант использования «Записать данные в файл».

Краткое описание: Текущий вариант использования описывает загрузку де/шифрованных данных из текстового поля на основной форме в txt файл для хранения.

Основной поток событий: Начинает выполняться, когда пользователь выберет в меню раздел «Файл=> Сохранить».

  • 1. Система предлагает создать новый файл или выбрать существующий;
  • 2. Пользователь подтверждает свой выбор;
  • 3. Система загружает информацию из текстового поля в файл.

Вариант использования «Генерировать ключи».

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

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

  • 1. Пользователь нажимает на кнопку;
  • 2. Система генерирует случайные величины, производит над ними сложные вычисления;
  • 3. Система предоставляет пользователю результат своей работы в предназначенных текстовых полях.

Вариант использования «Шифровать данные».

Краткое описание: Данный вариант использования описывает процесс шифрования и предоставление пользователю зашифрованных данных.

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

  • 1. Пользователь вводит открытые ключи;
  • 2. Пользователь вводит текст или загружает файл, которые необходимо зашифровать;
  • 3. Пользователь выбирает вид совершаемой операции — «Шифровать»;
  • 4. Пользователь нажимает кнопку «Выполнить»;
  • 5. Система, используя открытые ключи, преобразовывает данные;
  • 6. Система предоставляет данные пользователю;
  • 7. Система выдает сообщение о завершении операции;

Альтернативные потоки:

  • 1. Неверные открытые ключи: Если во время выполнения основного потока станет известно, что пользователь ввел неверные P, G, Kоткрытый, система выводит сообщение об ошибке. Пользователь может вернуться к началу операции или отказаться от выполнения программы, при этом выполнение варианта использования прекращается.
  • 2. Пользователь оставил обязательные поля пустыми. Система выдаёт сообщение об ошибке.
  • 3. Ввод текста в поле для шифрования, содержащего символы, которые отсутствуют в алфавите.

Вариант использования «Дешифровать данные».

Краткое описание: Этот вариант использования описывает процесс дешифрования и предоставление пользователю расшифрованных данных.

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

  • 1. Пользователь вводит секретный ключ
  • 2. Пользователь вводит шифр или загружает его из файла;
  • 3. Пользователь выбирает вид совершаемой операции — «Дешифровать»;
  • 4. Пользователь нажимает кнопку «Выполнить»;
  • 5. Система, используя секретный ключ, преобразует шифр в исходный текст;
  • 6. Система выдает сообщение о завершении операции.

Альтернативные потоки:

  • 1. Неверный секретный ключ: Если во время выполнения станет известно, что пользователь ввел неправильные P, Kсекретный, система выводит сообщение об ошибке. Пользователь может вернуться к началу работы программы или отказаться от выполнения операции, при этом выполнение варианта использования прекращается.
  • 2. Пользователь не заполнил обязательные поля. Система выдаёт сообщение об ошибке.
  • 3. Пользователь ввел в поле для шифра постороннюю информацию. Система выдает сообщение об ошибке.

Вариант использования «Отправить результат работы на почту».

Краткое описание: Этот вариант использования описывает передачу сообщения на электронный почтовый ящик.

Основной поток событий: Данный вариант использования начинает выполняться, когда пользователь нажмет на кнопку «Отправить на почту».

  • 1. Система загружает результат работы де/шифрования в текстовое поле сообщения.
  • 2. Пользователь вводит логин/пароль для авторизации на сервере.
  • 3. Пользователь вводит адрес абонента.
  • 4. Пользователь нажимает кнопку «Отправить».
  • 5. Система выбирает сервер.
  • 6. Система посылает письмо на сервер.

Альтернативные потоки:

  • 1. Разрыв связи с сервером или неполадки на сервере. Система возвращает сообщение об истечении времени запроса или об отсутствии связи.
  • 2. Неверные логин/пароль или некорректный адрес абонента. Система выводит сообщение об ошибке.

Далее рассмотрим диаграммы UML.

Диаграмма классов — Рисунок 2.3. На данном рисунке представлены классы, содержащие в себе выполняемые ими операции и атрибуты. Голубым цветом выделены граничные классы — «boundary class». Граничными классами называются такие классы, которые расположены на границе системы и всей окружающей среды. Это экранные формы, отчеты, интерфейсы с аппаратурой (такой как принтеры или сканеры) и интерфейсы с другими системами. Белым же цветом выделены классы — сущности — «entity class». Классы-сущности содержат хранимую информацию. Они имеют наибольшее значение для пользователя, и потому в их названиях часто используют термины из предметной области.

Диаграмма классов.

Рисунок 2.3 — Диаграмма классов.

Диаграммы последовательностей: Рисунок 2.4,Рисунок 2.5, Рисунок 2.6, Рисунок 2.7. На вышеперечисленных рисунках демонстрируются только те объекты, которые непосредственно участвуют во взаимодействии. Ключевым моментом для диаграмм последовательности является динамика взаимодействия объектов во времени. Таким образом, все объекты на диаграмме последовательности образуют некоторый порядок, определяемый очередностью или степенью активности объектов при взаимодействии друг с другом. Графически каждый объект изображается прямоугольником и располагается в верхней части своей линии жизни. Внутри прямоугольника записываются имя объекта и имя класса, разделенные двоеточием. При этом вся запись подчеркивается, что является признаком объекта. Вторым измерением диаграммы последовательности является вертикальная временная ось, направленная сверху вниз. Начальному моменту времени соответствует самая верхняя часть диаграммы. Взаимодействия объектов реализуются посредством сообщений, которые посылаются одними объектами другим. Сообщения изображаются в виде горизонтальных стрелок с именем сообщения, а их порядок определяется временем возникновения. То есть, сообщения, расположенные на диаграмме последовательности выше, инициируются раньше тех, которые расположены ниже.

Генерация ключей.

Рисунок 2.4 — Генерация ключей.

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

Шифрование данных.

Рисунок 2.5 — Шифрование данных.

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

Расшифровывание данных.

Рисунок 2.6 — Расшифровывание данных.

Отправление письма на почту.

Рисунок 2.7 — Отправление письма на почту.

Показать весь текст
Заполнить форму текущей работой