Ассиметричное шифрование на базе эллиптических кривых
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
с копией вашего открытого ключа может зашифровать информацию, которую только вы сможете прочитать. Кто угодно. Даже люди, с которыми вы прежде никогда не встречались.
Хотя ключевая пара математически связана, вычисление закрытого ключа из открытого в практическом плане невыполнимо. Каждый, у кого есть ваш открытый ключ, сможет зашифровать данные, но не сможет их расшифровать. Только человек, обладающим соответствующим закрытым ключом может расшифровать информацию.
Главное достижение асимметричного шифрования в том, что оно позволяет людям, не имеющим существующей договорённости о безопасности, обмениваться секретными сообщениями. Необходимость отправителю и получателю согласовывать тайный ключ по специальному защищённому каналу полностью отпала. Все коммуникации затрагивают только открытые ключи, тогда как закрытые хранятся в безопасности.
Алгоритмы, реализации которых посвящен данный диплом, являются на сегодняшний день одними из самых быстрых, эффективных и перспективных. В недалеком будущем их ждет широкое применение в информационно-вычислительных сетях.
1.Технологический раздел
1.1 Анализ технического задания
В данном дипломном проекте (ДП) будет рассмотрен процесс разработки методических указаний к выполнению лабораторных работ, посвященных исследованию основ эллиптической криптографии, а также анализ протокола шифрования ECES.
Для реализации задачи, исследуем функциональную модель, на базе которой будет разработано ПО.
Задача дипломного проектирования - создать удобный программный продукт (ПП), который облегчает деятельность человека, выполняющего лабораторные работы.
Данный ПП выполняет следующие функции:
1.Находит обратный элемент с помощью расширенного алгоритма Евклида;
2.Формирует конечное поле Галуа;
.Подсчитывает количество точек эллиптической кривой над сформированным полем;
.Реализует алгоритм ассиметричного шифрования на базе эллиптических кривых.
Результат - ПП, демонстрирующий выполнение представленных выше алгоритмов.
ПП работает с любыми семействами Windows, если компьютер работает под win32, то ПО совместимо с ним. Данный продукт может применятся в любых областях, не рекомендую использовать данное ПО в коммерческих целях, т.к. ПП не прошел тестирование на большем количестве рабочих станций.
Для разработки алгоритмов и интерфейсной части было решено использовать Borland Delphi 7, т.к. он дает возможность компилировать исходный текст программы и позволяет создавать графический интерфейс пользователя.
1.2 Цель проекта
Целью проекта является создание качественного ПП - с простым и понятным интерфейсом.
ПП должен выполнять следующие функции.
Авторство информации.
Однозначное соответствие между содержанием и/или формой информации и субъектом (объектом), сформировавшим эту информацию. Для пользователя авторство полученной им из системы или канала связи информации означает однозначное установление источника, сформировавшего эту информацию (ее автора).
Аутентификация информации.
Установление подлинности информации исключительно на основе внутренней структуры самой информации независимо от источника этой информации, установление законным получателем (возможно арбитром) факта, что полученная информация наиболее вероятно была передана законным отправителем (источником), и что она при этом не заменена и не искажена. Любые преднамеренные и случайные попытки искажений информации обнаруживаются с соответствующей вероятностью.
1.3 Анализ требований
1.3.1 Построение дерева целей
Общепринятый подход к построению критериев, характеризующих систему, состоит в построении дерева целей. Дерево целей представляет собой иерархический граф, вершины которого интерпретируются как цели проектирования системы, а ребра указывают, из каких подцелей состоит каждая цель.
Построение дерева целей состоит в последовательном разбиении целей проектирования на все более мелкие и частные подцели. Такой процесс называется квантификацией целей. Квантификация заканчивается, когда цели, соответствующие висячим вершинам дерева, оказываются количественно измеримыми, т. е. о степени достижения каждой из них можно судить по значению некоторого показателя. Эти показатели используются в дальнейшем в качестве критериев, позволяющих судить о качестве принимаемых проектных решений.
В начале построим дерево целей нашего проекта, которое приведено на рис. 1.
Рис.1. Дерево целей
Таблица 1. Описание дерева целей
Наименование подцелейПоказатель достижения целиЦель: Разработать надежный ППОбеспечить строгое и наглядное описание проектируемой системыСтрогая последовательность действийПовышение точности описания предметной областиРазработка ПП отвечающего стандартам ANSI X9.63 и IEEE P1363Повышение качества создаваемого программного кодаИспользование средств разработки с встроенным контролем качества написанного программного кода и средств отладки программного кодаПовышение качества тестирования ППИспользование эталонных тестовых вариантов и зарубежных открытых исходных кодовОбеспечение контроля ввода данныхПредоставление вариантов для выбора при вводе данныхЦель: Разработать удобный ПП Обеспечить простой диалог пользователя с ППНаличие дружественно графического интерфейса пользователяОбеспечить приемлемую скорость работыВремя от