Введение 3
Глава 1. Анализ предметной области 5
1.1. Методы криптографии 5
1.2. Ассиметричные системы шифрования 5
1.3. Алгоритм Диффи-Хеллмана обмена ключами [16] 6
1.4. Система шифрования Эль-Гамаля [12] 8
1.5. Алгоритм RSA [24] 9
1.6. Задачи вычисления закрытого ключа при наличии открытого [11] 11
1.6.1. Дискретное логарифмирование в конечной группе [13] 12
1.6.2. Дискретное логарифмирование в группе точек эллиптической кривой 12
1.6.3. Факторизация чисел 12
Глава 2. Субэкспоненциальные алгоритмы 14
2.1. Метод Диксона 14
2.2. Метод квадратичного решета [1] 17
2.3. Метод Ленстры [4,5] 19
Глава 3. Реализация алгоритмов 22
Глава 4. Сравнение и анализ полученных результатов 26
Заключение 29
Список литературы 31
Приложение 1. Таблицы результатов 34
Приложение 2. Листинг
В современном мире в условиях глобальной информатизации компьютерные технологии имеют широкое распространение практически во всех сферах жизни человечества. В связи с этим одной из опасных угроз является угроза несанкционированного доступа к информации [25], и для противодействия этому применяются разные методы и средства, в частности, криптографическая защита данных.
Имеется два вида криптографических алгоритмов: симметричные [15], в которых один ключевой элемент довольно легко вычисляется при наличии второго, помимо этого быстро происходит преобразование данных, и несимметричные [10]. Их особенность - наличие двух ключей, при этом вычисление одного, если имеется другой, является вычислительно сложной задачей.
В качестве этих задач выступают:
1. задача дискретного логарифмирования [3,6] в группе точек эллиптической кривой;
2. задача дискретного логарифмирования в конечной группе (алгоритм Диффи-Хеллмана);
3. факторизация натуральных чисел (алгоритм шифрования RSA).
В настоящее время активно ведутся исследования в области алгоритмов факторизации. Факторизация натурального числа [2,4] - это его разложение на множители. Постоянно проводятся различные конференции по данной тематике, достигаются новые рекорды в поисках множителей, находятся решения текущих проблем теории чисел и ставятся новые. В двухтысячных годах было разложено 512-битное число. Прошло почти 10 лет (2009г.), и был установлен рекорд по разложению числа размером 768 бит с помощью метода
Дипломная работа посвящена сравнительному анализу методов факторизации натуральных чисел. Задача факторизации актуальна тем, что выступает основой ряда алгоритмов безопасности, использующих открытые ключи шифрования (RSA [27] и некоторые других). Криптостойкость шифров базируется на предположении, что не существует быстрых алгоритмов факторизации, которые за короткое время позволили бы взломать код, а если это и получится сделать через некоторое время, то данные потеряют актуальность.
В ходе работы были поставлены следующие задачи:
• рассмотреть алгоритмы факторизации натуральных чисел, имеющих
субэкспоненциальную сложность: алгоритм Диксона, метод
квадратичного решета, метод Ленстры [14];
• разработать программный комплекс, осуществляющий разложение чисел на простые множители данными алгоритмами;
• провести общую оценку методов;
• на основе полученных результатов выявить их преимущества и
недостатки.
В ходе дипломной работы были рассмотрены основные методы криптографии. Были изучены основные ассиметричные алгоритмы шифрования, такие как протокол Диффи-Хеллмана, схема шифрования Эль¬Гамаля и криптосистема RSA. Разобраны атаки, основанные на факторизации чисел. В частности, реализованы и проанализированы алгоритмы факторизации натуральных чисел, имеющих субэкспоненциальную сложность: алгоритм Диксона, метод квадратичного решета, метод Ленстры.
Проведены вычислительные эксперименты на числах разной размерности, на основе которых были выявлены преимущества и недостатки данных методов. Все три метода довольно быстро, за доли секунды, раскладывают числа малой размерности (до 32 бит). При этом каждый метод имеет свои особенности. Метод Ленстры при увеличении факторизуемого числа дольше вычисляет множители. Однако, если один из множителей сравнительно небольшой, разложение происходит быстрее. Метод квадратичного решета показывает хорошие результаты, близкие к методу Ленстры. Алгоритм Диксона требует гораздо больше времени на вычисления и сильно зависит от выбора матрицы, составленной из соответствующих векторов.
Существует немало различных методов факторизации, однако при определенной длине ключ имеет высокую стойкость к факторизации. Таким образом задача модификации текущих алгоритмов факторизации вполне актуальна. Кроме этого не менее актуальной стоит задача создания новых алгоритмов. Основные направления модификации - распараллеливание вычислительных задач (актуально к факторизации на эллиптических кривых), использование быстрых вычислений, оптимизация процесса вычислений, применение новых алгоритмов и другие. Из графиков и полученных выше результатов видно, что наиболее лучшими кандидатами для модификации являются метод Ленстры и метод квадратичного решета.
Исследование существующих в настоящее время методов факторизации позволит изучить, проанализировать и найти недостатки и вероятные пути улучшения существующих алгоритмов факторизации. При исследовании алгоритмов важно выделить особые блоки алгоритма и их модифицировать.
1. Richard Crandall and Carl Pomerance. Prime Numbers: A Computational Perspective. — 1st. — Springer, 2001. — ISBN 0-387-94777-9. Section 6.1: The quadratic sieve factorization method, pp. 227-244.
2. Черемушкин А. В. Лекции по арифметическим алгоритмам в
криптографии. — М.: МЦНМО, 2001. — С. 74-80. — 104 с. — ISBN 5-94057-060-7.
3. Василенко О. Н. Теоретико-числовые алгоритмы в криптографии. —
М.: МЦНМО, 2003. — С. 78-83. — 328 с. — ISBN 5-94057-103-4.
4. Ишмухаметов Ш. Т. Методы факторизации натуральных чисел: учебное пособие. — Казань: Казан. ун., 2011. — С. 115-117. — 190 с.
5. Lenstra A. K., Lenstra H. W., Lovasz L. (1982). «Factoring polynomials with rational coefficients». Math. Ann. 261.
6. Коблиц Н. Курс теории чисел и криптографии — 2-е издание —
М.: Научное издательство ТВП, 2001. — 254 с. — ISBN 978-5-85484-014-9, 978-5-85484-012-5
7. Нестеренко А. Ю. Теоретико-числовые методы в криптографии -
М.: Московский государственный институт электроники и математики, 2012. — 224 с. — ISBN 978-5-94506-320-4
8. Введение в криптографию / Ященко, В. В.. — Москва: МЦНМО, 1999. — 272 с. — ISBN 5-900916-40-5.
9. Шнайер, Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — Москва: Триумф, 2002. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.
10. Саломаа А. Криптография с открытым ключом. — М.: Мир, 1995. — 318 с. — ISBN 5-03-001991-X.
11. Б. А. Фороузан. Схема цифровой подписи Эль-Гамаля // Управление ключами шифрования и безопасность сети / Пер. А. Н. Берлин. — Курс лекций.
12. Алфёров А.П., Зубов А.Ю., Кузьмин А.С., Черемушкин А.В. Основы криптографии.
13. Нечаев В.И. К вопросу о сложности детерминированного алгоритма для дискретного логарифма // Математические заметки. — 1994. — Февраль (т. 55, вып. 2). — С. 91-101.
14. Factoring polynomials with rational coefficients, A.K. Lenstra, H.W. Lenstra, L. Lovasz, Mathematische Annalen 261 (1982), 515—534
15. Гатчин Ю.А., Коробейников А.Г. Основы криптографических
алгоритмов. Учебное пособие. - СПб.: СПбГИТМО(ТУ), 2002.
16. [Электронный ресурс] // habrahabr.ruАлгоритм Диффи-Хеллмана // URL: https://habrahabr.ru/post/151599/.
17. [Электронный ресурс] // apmi.bsu.by Субэкспоненциальные алгоритмы
факторизации и логарифмирования // URL:
http: //apmi .bsu.by/assets/files/agievich/ subexp.pdf.
18. [Электронный ресурс] // volpi.ru Алгоритмы асимметричного
шифрования // URL:
http: //www.volpi. ru/umkd/zki/index. php?man= 1 &page= 18.
19. [Электронный ресурс] // ru.wikipedia.orgФакторизация с помощью
эллиптических кривых // URL:
https ://ru.wikipedia. org/ wiki/Факторизация с помощью эллиптических кривых
20. Методы практической криптографии, В.А. Мухачев, В.А.Хорошко, Киев 2005
21. [Электронный ресурс] // koralexand.ruКриптографические методы
защиты информации // URL: http://koralexand.ru/?page_id=149
22. [Элек URL:
http: //cryptowiki .net/index.php?title=Схемы_открытого_шифрования
23. Глухов М.М., Круглов И.А., Пикчур А.Б., Серемушкин А.В. Введение в теоретико-числовые методы криптографии,, 2011
24. [Электронный ресурс] // fb.ru RSA-шифрование. Описание и реализация алгоритма //http://fb.ru/article/255506/rsa-shifrovanie-opisanie-i-realizatsiya-
algoritma-rsa
25. Динара Скрипник. Лекции по технической защите [Электронный http://www.intuit.ru/studies/courses/2291/591/lecture/12691
информации.
ресурс]
26.[Электронный ресурс] Труды научно-технической конференции кластера
пензенских предприятий, обеспечивающих информационных технологий.//
http://пниэи.рф/activity/science/BIT/T8-p10.pdf безопасность
URL:
27. [Электронный ресурс] // ru.wikipedia.org RSA // URL:
ru.wikipedia.org/wiki/RSA.