В последнее время все больше и больше внедряются в нашу повседневную жизнь информационные технологии, пытаясь захватить в ней все: от важнейших государственных проектов до решения обычных бытовых проблем. Вместе с огромной пользой и, казалось бы, неограниченными возможностями новые технологии приносят и новые проблемы. Одной из них является проблема защиты информации от несанкционированного посягательства теми, кто доступа к этой информации иметь не должен. В связи с этим почти одновременно с развитием информационных и компьютерных технологий начали развиваться и технологии защиты информации, развитие которых с некоторой точки зрения гораздо более критично, чем развитие непосредственно информационных технологий. Ведь с совершенствованием систем защиты, совершенствуются и методы взлома, обхода этих защит, что требует постоянного пересмотра и увеличения надежности защиты информации.
На сегодняшний день большинство национальных организаций приняли стандарты цифровой подписи, а ряд западных регламентирующих институтов увязали эти стандарты с использованием эллиптических кривых.
Способов защиты информации существует очень много, но каждый из них всегда можно отнести к одному из двух видов: физическое сокрытие информации от противника и шифрование информации. Зашифрованную информацию можно свободно распространять по открытым каналам связи без боязни ее раскрытия и нелегального использования. Хотя, конечно же, такая защита не абсолютно надежна, и каждый из способов шифрования характеризуется своей стойкостью, т.е. способностью противостоять криптографическим атакам.
Целью данного диплома является реализация трех лабораторных работ, посвященных:
· нахождению обратного элемента с помощью расширенного алгоритма Евклида;
· алгоритму формированию конечного поля Галуа GF(p) и подсчету количества точек эллиптической кривой n=#Ep;
· алгоритму ассиметричного шифрования на базе эллиптических кривых ECES.
Для вычисления наибольшего общего делителя d и одновременно чисел u и v используется так называемый расширенный алгоритм Евклида. В обычном алгоритме Евклида пара чисел (a,b) в цикле заменяется на пару (b,r), где r - остаток от деления a на b, при этом наибольший общий делитель у обеих пар одинаковый. Начальные значения переменных a и b равны m и n соответственно. Алгоритм заканчивается, когда b становится равным нулю, при этом a будет содержать наибольший общий делитель.
Идея расширенного алгоритма Евклида заключается в том, что на любом шаге алгоритма хранятся коэффициенты, выражающие текущие числа a и b через исходные числа m и n. При замене пары (a,b) на пару (b,r) эти коэффициенты перевычисляются.
Конечное поле или поле Галуа — поле, состоящее из конечного числа элементов. Конечное поле обычно обозначается GF(р), где р — число элементов поля.
Эллиптические кривые являются одним из основных объектов изучения в современной теории чисел и криптографии. Например, они были использованы Эндрю Уайлзом (совместно Ричардом Тейлором) в доказательстве Великой теоремы Ферма. Эллиптическая криптография образует самостоятельный раздел криптографии, посвященный изучению криптосистем на базе эллиптических кривых. В частности, на эллиптических кривых основан российский стандарт цифровой подписи ГОСТ Р 34.10-2001. Эллиптические кривые также применяются в некоторых алгоритмах факторизации (например, Алгоритм Ленстры) и тестирования простоты чисел.
Эллиптическая криптография — раздел криптографии, который изучает асимметричные криптосистемы, основанные на эллиптических кривых над конечными полями. Основное преимущество эллиптической криптографии заключается в том, что на сегодняшний день не известно субэкспоненциальных алгоритмов для решения задачи дискретного логарифмирования в группах точек эллиптических кривых.
Асимметричная криптография основана на сложности решения некоторых математических задач. Ранние криптосистемы с открытым ключом, такие как алгоритм RSA, безопасны благодаря тому, что сложно разложить составное число на простые множители. При использовании алгоритмов на эллиптических кривых полагается, что не существует субэкспоненциальных алгоритмов для решения задачи дискретного логарифмирования в группах их точек. При этом порядок группы точек эллиптической кривой определяет сложность задачи. Считается, что для достижения такого же уровня безопасности как и в RSA требуются группы меньших порядков, что уменьшает затраты на хранение и передачу информации. Например, на конференции RSA 2005 Агентство национальной безопасности объявила о создании “Suite B”, в котором используются исключительно алгоритмы эллиптической криптографии, причём для защиты информации классифицируемой до “Top Secret” используются всего лишь 384-битные ключи.
Большинство криптосистем современной криптографии естественным образом можно "переложить" на эллиптические кривые. Основная идея, заключается в том, что известный алгоритм, используемый для конкретных конечных групп переписывается для использования групп рациональных точек эллиптических кривых.
Ассиметричноешифрование(к с открытым ключом) - асимметричная схема, в которой применяются пары ключей: открытый ключ(public key), который зашифровывает данные, и соответствующий ему закрытый ключ(private key), который их расшифровывает. Вы распространяете свой открытый ключ по всему свету, в то время как закрытый держите в тайне. Любой человек с копией вашего открытого ключа может зашифровать информацию, которую только вы сможете прочитать. Кто угодно. Даже люди, с которыми вы прежде никогда не встречались.
Хотя ключевая пара математически связана, вычисление закрытого ключа из открытого в практическом плане невыполнимо. Каждый, у кого есть ваш открытый ключ, сможет зашифровать данные, но не сможет их расшифровать. Только человек, обладающим соответствующим закрытым ключом может расшифровать информацию.
Главное достижение асимметричного шифрования в том, что оно позволяет людям, не имеющим существующей договорённости о безопасности, обмениваться секретными сообщениями. Необходимость отправителю и получателю согласовывать тайный ключ по специальному защищённому каналу полностью отпала. Все коммуникации затрагивают только открытые ключи, тогда как закрытые хранятся в безопасности.
Алгоритмы, реализации которых посвящен данный диплом, являются на сегодняшний день одними из самых быстрых, эффективных и перспективных. В недалеком будущем их ждет широкое применение в информационно-вычислительных сетях.
В данном дипломном проекте (ДП) будет рассмотрен процесс разработки методических указаний к выполнению лабораторных работ, посвященных исследованию основ эллиптической криптографии, а также анализ протокола шифрования ECES.
Для реализации задачи, исследуем функциональную модель, на базе которой будет разработано ПО.
Задача дипломного проектирования – создать удобный программный продукт (ПП), который облегчает деятельность человека, выполняющего лабораторные работы.
Данный ПП выполняет следующие функции:
1. Находит обратный элемент с помощью расширенного алгоритма Евклида;
2. Формирует конечное поле Галуа;
3. Подсчитывает количество точек эллиптической кривой над сформированным полем;
4. Реализует алгоритм ассиметричного шифрования на базе эллиптических кривых.
Результат – ПП, демонстрирующий выполнение представленных выше алгоритмов.
ПП работает с любыми семействами Windows, если компьютер работает под win32, то ПО совместимо с ним. Данный продукт может применятся в любых областях, не рекомендую использовать данное ПО в коммерческих целях, т.к. ПП не прошел тестирование на большем количестве рабочих станций.
Для разработки алгоритмов и интерфейсной части было решено использовать Borland Delphi 7, т.к. он дает возможность компилировать исходный текст программы и позволяет создавать графический интерфейс пользователя.
Целью проекта является создание качественного ПП – с простым и понятным интерфейсом.
ПП должен выполнять следующие функции.
Однозначное соответствие между содержанием и/или формой информации и субъектом (объектом), сформировавшим эту информацию. Для пользователя авторство полученной им из системы или канала связи информации означает однозначное установление источника, сформировавшего эту информацию (ее автора).
Установление подлинности информации исключительно на основе внутренней структуры самой информации независимо от источника этой информации, установление законным получателем (возможно арбитром) факта, что полученная информация наиболее вероятно была передана законным отправителем (источником), и что она при этом не заменена и не искажена. Любые преднамеренные и случайные попытки искажений информации обнаруживаются с соответствующей вероятностью.
Общепринятый подход к построению критериев, характеризующих систему, состоит в построении дерева целей. Дерево целей представляет собой иерархический граф, вершины которого интерпретируются как цели проектирования системы, а ребра указывают, из каких подцелей состоит каждая цель.
Построение дерева целей состоит в последовательном разбиении целей проектирования на все более мелкие и частные подцели. Такой процесс называется квантификацией целей. Квантификация заканчивается, когда цели, соответствующие висячим вершинам дерева, оказываются количественно измеримыми, т. е. о степени достижения каждой из них можно судить по значению некоторого показателя. Эти показатели используются в дальнейшем в качестве критериев, позволяющих судить о качестве принимаемых проектных решений.