Дипломная работа: Ассиметричное шифрование на базе эллиптических кривых
ПП должен выполнять следующие функции.
Авторство информации .
Однозначное соответствие между содержанием и/или формой информации и субъектом (объектом), сформировавшим эту информацию. Для пользователя авторство полученной им из системы или канала связи информации означает однозначное установление источника, сформировавшего эту информацию (ее автора).
Аутентификация информации .
Установление подлинности информации исключительно на основе внутренней структуры самой информации независимо от источника этой информации, установление законным получателем (возможно арбитром) факта, что полученная информация наиболее вероятно была передана законным отправителем (источником), и что она при этом не заменена и не искажена. Любые преднамеренные и случайные попытки искажений информации обнаруживаются с соответствующей вероятностью.
1.3 Анализ требований
1.3.1 Построение дерева целей
Общепринятый подход к построению критериев, характеризующих систему, состоит в построении дерева целей. Дерево целей представляет собой иерархический граф, вершины которого интерпретируются как цели проектирования системы, а ребра указывают, из каких подцелей состоит каждая цель.
Построение дерева целей состоит в последовательном разбиении целей проектирования на все более мелкие и частные подцели. Такой процесс называется квантификацией целей. Квантификация заканчивается, когда цели, соответствующие висячим вершинам дерева, оказываются количественно измеримыми, т. е. о степени достижения каждой из них можно судить по значению некоторого показателя. Эти показатели используются в дальнейшем в качестве критериев, позволяющих судить о качестве принимаемых проектных решений.
В начале построим дерево целей нашего проекта, которое приведено на рис. 1.
Рис.1. Дерево целей
Таблица 1. Описание дерева целей
Наименование подцелей | Показатель достижения цели |
Цель: Разработать надежный ПП | |
Обеспечить строгое и наглядное описание проектируемой системы | Строгая последовательность действий |
Повышение точности описания предметной области | Разработка ПП отвечающего стандартам ANSIX9.63 и IEEEP1363 |
Повышение качества создаваемого программного кода | Использование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кода |
Повышение качества тестирования ПП | Использование эталонных тестовых вариантов и зарубежных открытых исходных кодов |
Обеспечение контроля ввода данных | Предоставление вариантов для выбора при вводе данных |
Цель: Разработать удобный ПП | |
Обеспечить простой диалог пользователя с ПП | Наличие дружественно графического интерфейса пользователя |
Обеспечить приемлемую скорость работы | Время ответа по любой из наиболее часто встречающихся операций не превышает 2 секунд |
Обеспечить помощь пользователю в процессе работы с ПП | Наличие встроенной системы контекстной помощи |
Облегчить ввод данных | Вводимые данные генерирует система, все меню выполнены в классическом Win стиле |
Обеспечить простоту освоения ПП | Ориентировка ПП на пользователя не имеющего профессиональных знаний в области вычислительной техники |
Цель: Разработать технически эффективный ПП | |
Обеспечить возможность использования РС с процессором средней производительности | Уровень производительности центрального процессора рабочей станции |
Обеспечить возможность использования рабочей станции с небольшой ОП | Количество оперативной памяти на рабочей станции |
Цель: Разработать адаптируемый ПП | |
Обеспечить возможность перевода ПП под управление других ОС | Поддерживаемое количество ОС |
Обеспечить возможность простого перехода к использованию другого источника данных | Использование промежуточного уровня при организации доступа к источнику данных |
1.3.2 Требования по надежности
Надежность является одним из наиболее важных критериев качества ПП. Это обуславливается с одной стороны той ролью которую может играть ПП в процессе управления каким либо объектом, а с другой стороны надежность определяет затраты на сопровождение ПП, которое может достигать 50% от стоимости разработки и эксплуатации. Для примера можно привести тот факт, что многие технологические промышленные процессы реального времени управляются программно-техническими комплексами. В этом случае наличие ошибок в ПП может привести не только к огромным материальным потерям, но и человеческим жертвам.
Можно выделить два основных аспекта надежности:
· Наличие в готовом программном продукте ошибок
· Готовность программного продукта к могущим возникнуть исключительным (нештатным) ситуациям
Первый аспект в свою очередь можно разделить на два:
· Ошибки возникающие на этапе проектирования ПП
· Ошибки возникающие на этапе кодирования
Ошибки этапа проектирования могут возникать из-за недостаточной квалификации персонала проводящего анализ, слабых знаний в обследуемой предметной области, отсутствия отработанной методологии проведения обследования объекта автоматизации. Последнее становиться особенно критичным с увеличением размера осуществляемого проекта.
Ошибки этапа кодирования возникают в следствии: недостаточной квалификации программистов, плохой проработки постановки задачи программистам. При этом надо заметить, что любой достаточно большой программный продукт обязательно содержит некоторое количество ошибок различной степени важности. Причина состоит в том, что количество тестовых сочетаний исходных данных, обеспечивающих прохождение вычислительного процесса по всем сочетаниям возможных путей в программе, увеличивается экспоненциально с ростом числа ветвей алгоритма. Поэтому практически невозможно испытать программу на завершающей стадии разработки по всем вариантам исходных данных.
Второй аспект подразделяется на:
· непредусмотренных действий пользователя;
· недопустимых сочетаний исходных данных;
· влияние операционного окружения.
Использующий ПП персонал часто имеет достаточно низкую подготовленность для работы с вычислительной техникой. В связи с этим непредусмотренные действия пользователя возникают с одной стороны из-за их низкой квалификации, механических ошибок при обработке (вводе) пользователем в ручную больших объемов информации, ошибок в построении интерфейса пользователя выражающихся в бесконтрольном предоставлении пользователю возможности проведения различных операций по обработке данных.
Кроме этого пользователь может ввести комбинацию входной информации которая не допускается с точки зрения предметной области. В таких случаях ПП должен отвергнуть входные данные и сообщить об этом пользователю.
В подавляющем большинстве случаев ПП функционирует в каком либо операционном окружении (под управлением ОС). Состояние данного окружения может оказывать значительно влияние на функционирование ПП. Поэтому необходимо, по возможности, предусматривать реакцию ПП на различные сбои в функционировании операционного окружения. Надежно написанное ПП должно иметь функцию восстановления своего состояния в случае произошедшего аварийного завершения предыдущего сеанса работы. Это имеет особенно большое значение для ПП коллективного пользования.
Для оценки требований надежности с точки зрения обеспечения поставленной цели выберем следующие показатели:
· Разработка функциональной модели изучая уже имеющиеся аналоги, различные стандарты;