Введение 4
1. Постановка задачи 7
2. Непостквантовые криптосистемы 8
2.1. Система RSA 8
2.1.1. Алгоритм работы 9
2.1.2. Элементарные атаки на систему RSA 10
2.1.3. Квантовый компьютер 11
2.1.4. Атака Шора 12
2.2. Система Эль-Гамаля 14
2.2.1. Алгоритм работы 15
2.2.2. Элементарные атаки на систему Эль-Гамаля ... 15
2.2.3. Атака Шора 16
2.3. Выводы 16
3. Постквантовые криптосистемы 18
3.1. Система McEliece 18
3.1.1. Коды исправления ошибок 18
3.1.2. Коды Гоппы 20
3.1.3. Система Нидеррайтера 21
3.2. Система Лампорта 22
3.2.1. Алгоритм работы 23
4. Проделанная работа 24
4.1. Реализация системы Лампорта 24
4.2. Реалиация деревьев Меркла 25
4.3. Реализация hash-функций на основе решеток 27
5. Заключение 32
Список литературы 33
В настоящее время, в связи увеличением документооборотов между
различными компаниями и физическими лицами, активно развивается
обмен электронными версиями этих самых документов, а не их оригиналами. Это, в первую очередь, уменьшает затраты на бумагу и облегчает хранение больших объемов документов. И, во-вторых, скорость
обмена электронными версиями данных на порядок больше скорости
обмена бумажными документами, к тому же уменьшаются затраты на
передачу. Значит ли это, что обмен электроными копиями документов
по всем статьям лучше обмена их бумажными оригиналами?
Нет, и на то есть множество причин, основными из которых являются возможность перехвата сообщения, подмена его содержимого, а
также возможность отправителя отказаться от авторства данного документа ввиду отсутствия доказательств обратного. Все это мешает передаче электронных документов называться безопасной. Как же можно
избежать этих проблем?
Существует множество различных вариантов, начиная от создания
защищенного канала между адресатами, что очень невыгодно в финансовом плане, и заканчивая использованием открытых каналов связи,
но с попытками скрыть сам факт передачи данных. Таким скрытием
занимается наука стенография.
Но в данной работе речь пойдет только об одном методе, обеспечивающем безопасную передачу данных по сети, а именно передачи зашифрованных сообщений по открытым каналам связи, расшифровать
которые могут только участники этого обмена [20]. Изучением такого
процесса, еще называемого тайной передачей, занимается наука криптография. Наука, которая, наоборот, изучает методы перехвата сообщений, называется криптоанализом. В данной работе он будет рассмотрен
в меньшей степени.
Основной идеей криптографии является передача зашифрованных
данных, таким образом, чтобы только принимающая сторона имела
возможность их расшифровки. Существует две основных разновидно-
4сти криптосистем [21]. Первая из них, называемая криптосистемой с
симметричным ключом, подразумевает использование обеими сторонами одинаковых ключей, известных только участникам обмена, для
шифрования и дешифрования сообщения. Плюсами таких систем является простота их реализации и скорость шифрования и дешифрования
данных. Но, с другой стороны, для правильного функционирования такого рода систем необходимо обеспечить огромное количество ключей
в широких сетях для всевозможных пар участников обмена, чтобы эти
самые ключи не были одинаковыми даже для двух разных обменов,
а также наладить между всеми сторонами секретную передачу ключей (возможно с использованием засекреченных каналов, что связано
с немалыми затратами). Поэтому, в связи с вышеописанными сложностями, в настоящее время криптосистемы с открытым ключом почти
не используются на практике.
Второй, более популярный в настоящее время, тип криптосистем
называется криптосистемы с открытым ключом (или асимметричные
криптосистемы). Он основывается на идее использования так называемой функции-лазейки , то-есть функции, обратную к которой для произвольного аргумента найти невозможно (или это вляется NP-трудной
задачей), но существует дополнительный параметр, с помощью которого можно обратить эту функцию. Таким образом, открытым ключом является функция, с помощью которой осуществлялось шифрование, а секретным ключом - параметр, с помощью которого эту самую
функцию можно обратить. Здесь шифрование сообщения происходит
с помощью секретного ключа, а дешифрование – с помощью открытого. Таким образом, решается проблема передачи всем сторонам обмена
различных секретных ключей, заменяя их одним открытым.
В данной работе были подробно изучены криптосистемы, не относящиеся к постквантовым,а также атаки с использованием квантового
компьютера на эти системы.
Также были рассмотрены системы. являющиеся кандидатами на
постквантовость, их преимущества и недостатке.
И, наконец, в практической части работы была реализована библиотека, позволяющая строить и проверять подписи Лампорта для произвольных сообщений, базирующаяся на различных hash-функциях, в
частности на стандартные MD-5, SHA-1 и SHA-256, а также не реализованные в библиотеке java.security функции, базирующиеся на решетках.
[1] Allen Bryce D. Implementing several attacks on plain ElGamal encryption.— 2008.— URL: http://lib.dr.iastate.edu/cgi/ viewcontent.cgi?article=2577&context=etd.
[2] Becker Georg. Merkle Signature Schemes, Merkle Trees and Their Cryptanalysis.— 2008.— URL: https://www.emsec.rub.de/media/ crypto/attachments/files/2011/04/becker_1.pdf.
[3] Boneh Dan. Twenty Years of Attacks on the RSA Cryptosystem. — URL: https://crypto.stanford.edu/~dabo/papers/RSA-survey. pdf.
[4] Daniel J. Bernstein Johannes Buchmann Erik Dahmen. Post-Quantum Cryptography. — URL: https://www.politicalavenue.com/ libraryebooks/cryptology-and-cryptography/Post%20Quantum% 20Cryptography.pdf.
[5] Daniele Micciancio Oded Regev. Lattice-based Cryptography. — 2008. — URL:https://www.cims.nyu.edu/~regev/papers/pqc.pdf.
[6] ElGamal Taher. A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms.— 1985.— URL: http://caislab. kaist.ac.kr/lecture/2010/spring/cs548/basic/B02.pdf.
[7] Lamport Leslie. Constructing Digital Signatures from
One Way Function.— 1979.— URL: https://www.
microsoft.com/en-us/research/wp-content/uploads/2016/12/ Constructing-Digital-Signatures-from-a-One-Way-Function. pdf.
[8] Milanov Evgeny. The RSA Algorithm.- 2009.- URL:
https://sites.math.washington.edu/~morrow/336_09/papers/ Yevgeny.pdf.
[9] Moorhouse G. Eric. Shor’s Algorithm for Factorizing Large Integers. — URL: https://www.uwyo.edu/moorhouse/slides/talk2.pdf.
[10] Nicolas Courtois Matthieu Finiasz, Sendrier Nicolas. How to achieve a McEliece-based Digital Signature Scheme.— URL: https://www. iacr.org/archive/asiacrypt2001/22480158.pdf.
[11] R.L. Rivest A. Shamir, Adleman L. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. — URL: http://people. csail.mit.edu/rivest/Rsapaper.pdf.
[12] Shor Peter W. Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. — 1996. — URL: https://arxiv.org/pdf/quant-ph/9508027.pdf.
[13] Valentijn Ashley. Goppa Codes and Their Use in the McEliece Cryptosystems.— 2015.— URL: http://surface.syr.edu/cgi/ viewcontent.cgi?article=1846&context=honors_capstone.
[14] Veron Pascal. Code based cryptography and steganography. — 2013. — URL: https://hal.inria.fr/hal-00828034/document.
[15] de Wolf Ronald. Quantum Computing: Lecture Notes. — URL: http: //homepages.cwi.nl/~rdewolf/qcnotes.pdf.
[16] van de Pol J.H. Lattice-based cryptography. — 2011.— URL: http: //www.cs.bris.ac.uk/pgrad/csjhvdp/files/ThesisJvdPol.pdf.
[17] В. М. Сидельников С. О. Шестаков. О системе шифро¬
вания, построенной на основе обобщенных кодов Рида- Соломона.— 1992.— URL: http://www.mathnet.ru/links/
03dadf62422f0bbca457acec998579df/dm747.pdf.
[18] Кижватов А.Ю. Богданов и И.С. Квантовые алгоритмы и их вли¬яние на безопасность современных классических криптографи¬ческих систем.— 2005.— URL: http://crypto.rsuh.ru/papers/ bogdanov-kizhvatov-quantum.pdf.
[19] Смарт М. Криптография / Под ред. Ландо. — М. : Техносфера, 2005.
[20] Ященко В.В. Основы криптологии / Под ред. Ященко. — М. : МЦ- НМО, 2012.
[21] ван Тилборг Х.К.А. Основы криптологии / Под ред. Коряков. — М. : Мир, 2006.