Тип работы:
Предмет:
Язык работы:


Реализация и исследование теста простоты Аткина-Морейна на эллиптических кривых

Работа №77716

Тип работы

Бакалаврская работа

Предмет

информационная безопасность

Объем работы28
Год сдачи2016
Стоимость4220 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
269
Не подходит работа?

Узнай цену на написание


1 Введение
2 Эллиптические кривые и их применение
2.1 Обзор методов проверки чисел на простоту
2.2 Эллиптические кривые над конечным полем
2.3 Теорема о простоте
2.4 Методика тестирования
3.1 Алгоритмы Гольдвассер - Килиана и Аткина - Морейна
4 Постановка задачи
4.1 Метод Аткина - Морейна
4.2 Алгоритм тестирования
5 Разработка программного модуля
5.1 Выбор средств разработки
5.2 Проектирование
5.3 Реализация
5.4 Пример использования
5.5 Тестирование
Заключение
Список литературы

Вопрос о простоте некоторого числа часто возникает при работе с криптографическими алгоритмами. В частности, алгоритм RSA для генерации ключей требует два больших простых числа. Системы шифрования, работающие на эллиптических кривых, так же нуждаются в простых числах. Есть множество алгоритмов, отвечающих на данный вопрос. Их условно можно разделить на две большие группы: вероятностные и истинные. Среди вероятностных алгоритмов широкое распространение получил тест Миллера-Рабина. Именно он используется во многих криптографических алгоритмах. Главным недостатком данного теста, является не нулевая вероятность ошибки. Напротив, истинные тесты дают точный ответ о простоте числа. Одним из таких тестов, является тест Аткина- Морейна. Данный тест имеет одну из лучших оценок сложности среди тестов, доказывающих строго тот факт, что число простое. Кроме того, для чисел, успешно прошедших данный тест, можно составить сертификат, который может быть проверен намного легче, чем построен.

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В ходе дипломной работы создан программный модуль для проверки чисел на простоту методом Аткина - Морейна. Данный тест, является истинным тестом простоты, а это значит, что число, успешно прошедшее данный тест, точно является простым. В ходе проведенных тестов алгоритм показал приемлемое время работы. Вычислительно сложными этапами являются этапы факторизации, получения гильбертова многочлена с комплексными коэффициентами и поиск корней полиномов больших степеней. Вопросы факторизации и полиномиальной арифметики в конечных полях заслуживают отдельных исследований и над ними работают не малое количество ученых.
В программном модуле, созданным в ходе данной дипломной работы, в качестве алгоритма факторизации применен р - метод Полларда. Модуль спроектирован таким образом, что данный метод может быть без особых усилий заменен на более мощный. Однако, необходимо всегда помнить о рациональном использовании вычислительных ресурсов. Очевидно, что применение, например, метода квадратичного решета для факторизации небольших чисел прироста производительности не даст, а даже наоборот, замедлит процесс.
Для каждого тестируемого числа на шаге определения порядков возможных кривых, есть выбор как минимум из 2-х порядков. Получив разложение для каждого порядка #EC = кq,есть смысл выбрать тот, в разложении которого число q наименьшее. Таким образом снижается время работы следующих рекурсивных вызовов, а в лучшем случае удастся добиться уменьшения уровня рекурсии.
Неоспоримым преимуществом является создание сертификата простоты в ходе работы теста Аткина - Морейна. Благодаря этому можно организовать тестирование чисел на мощных серверах, а на клиентских машинах по необходимости проверять сертификат



1. Горбенко, И. Тестирование чисел на простоту. Теория и практика/ И. Горбенко, В. Вервейко // - 2003. - С. 89-96.
2. Гречников, Е.А. Метод комплексного умножения для построения эллиптических кривых и его оптимизации/ Е.А. Гречников // ПДМ -
2011. - № 3. - С. 17-54.
3. Крэндалл, Р. Простые числа: Криптографические и вычислительные аспекты / Р. Крэндалл, К. Померанс. пер. с англ. / под ред. и с предисл. В. Н. Чубарикова. - М.: УРСС: Книжный дом <ЛИБРОКОМ», 2011. - 664 с.
4. Болотов, А.А. Элементарное введение в эллиптическую криптографию: Алгебраические и алгоритмические основы/ А.А. Болотов [и д.р.] - М.: КомКнига, 2006. - 328 с.
5. Ишмухаметов, Ш.Т. Математические основы защиты информации/
Ш.Т. Ишмухаметов, Р.Г. Рубцова. - Казань. 2012 — 132с.
http://kpfu.ru/docs/F366166681/mzi.pdf
6. Atkin, A.O.L. Elliptic curves and primality proving/ A. O. L. Atkin, F. Morain // Mathematics of computation volume 61,1993. - №20. - С. 29-68.
7. Morain, F. Implementing the asymptotically fast version of the elliptic curve
primality proving algorithm/ F. Morain. - https://hal.archives-
ouvertes.fr/hal-00004136v2
8. Cheng, Q. Primality Proving via One Round in ECPP and One Iteration in AKS/ Q. Cheng — 11c.
9. Koblitz N. A Course in Number Theory and Cryptography/ N. Koblitz. - 2nd. - 1994 - 320 c.
10. Li, F. An Overview of Elliptic Curve Primality Proving / F. Li 2011 — 11c.
11. Последовательность строго псевдопростых чисел по 4 базам: 2, 3, 5 и 7 https://oeis.org/A074773 
https: //ru.wikipedia. огд/'Мк1/Эллиптическая_кривая
13. Wikipedia. Эллиптическая криптография.
https: //ru.wikipedia. огд^кГЭллиптическая_криптография
14. Wikipedia. Тест простоты эллиптических кривых
https: //ru.wikipedia. org/wiki/Т ест_эллиптических_кривых
15. Wikipedia. Алгоритм Шуфа подсчета точек на эллиптической кривой https: //en. wikipedia. org/wiki/Schoof%27 s al gorithm
16. Wikipedia. Теорема Хассе.https: //ru. wikipedia. org/wiki/Т еорема Хассе


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ