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


РЕАЛИЗАЦИЯ АЛГОРИТМА ЦИКЛИЧЕСКИХ ПОДПИСЕЙ ПРОТОКОЛА CRYPTONOTE

Работа №32893

Тип работы

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

Предмет

информатика

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

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


Введение 4
1. Основные положения работы 6
1.1. Описание области использования кольцевых подписей 6
1.2. Проблемы реализации алгоритма 6
1.3. Постановка задачи ВКР 7
Выводы 7
2. Компоненты кольцевой подписи 8
2.1. Основные определения и термины 8
2.2. Обзор эллиптических кривых 9
2.3. Протокол CryptoNote 11
3. Описание алгоритма кольцевой подписи и его реализация 14
3.1. Описание алгоритма кольцевой подписи 14
3.1.1. Алгоритм кольцевой подписи 15
3.1.1.1. Подпись 15
3.1.1.2. Верификация 15
3.1.1.3. Доказательство работы подписи 16
3.2. Структурная схема алгоритма 17
3.3. Описание методов реализации алгоритма 20
3.3.1. Описание целочисленных параметров 20
3.3.2. Описание методов, реализующих свойства эллиптической
кривой 20
3.3.3. Описание методов, реализующих сбор необходимых
параметров 22
3.3.4. Описание методов, реализующих алгоритм 25
3.3.5. Верификация подписи 27
3.4. Конечный результат 28
Заключение 32
Список литературы 33
Приложение 1 34
Приложение 2 35
Приложение 3 36
Приложение 4 46
Приложение 5 50

В 21 веке существует множество способов обмена информацией: можно легко позвонить на другой континент, написать сообщение в социальных сетях, отправить деньги одним нажатием кнопки в телефоне. Однако в то же время эту информацию было бы легко взломать и изменить, если бы не существовали способы ее защиты, например, электронно-цифровые подписи (ЭЦП). Одним из вариантов ЭЦП являются кольцевые подписи, чья история началась еще задолго до появления криптографии. Кольцевые подписи позволяют подписывать сообщения от имени целой группы, а не одного подписанта, тем самым исключая вероятность установления личности подписывающего сообщение. Так, еще в 17 веке подписывали петиции по кругу, чтобы ответственность ложилась на плечи не только первого подписавшегося, а на всю группу в целом. В современном же мире все члены кольца, за исключением подписанта, не могут знать ни передаваемого сообщения, ни факта того, что их открытый ключ используется для формирования подписи.
Кольцевые подписи позволяют подписать сообщение, чтобы исключить факт изменения содержания в процессе передачи. Проверяющий может быть уверен, что полученное им сообщение истинно, то есть был использован один из секретных ключей подписанта, но какой именно подписант отправил сообщение останется секретом. В данной работе реализован алгоритм одноразовой кольцевой подписи, то есть повторное использование одного и того же секретного ключа подписанта раскроет его личность.
Такое свойство задействовано в разных сферах повседневной жизни: от криптовалют до электронных выборов. Так, при использовании кольцевых подписей в электронных выборах исключается возможность проголосовать дважды, так как в этом случае будет легко вычислить человека, нарушившего правила проведения выборов. А в электронных деньгах кольцевые подписи используются для подписания транзакций, которые происходят при передаче денежных средств от одного адреса к другому. Такая подпись пресекает возможность траты одних и тех же средств дважды.
Данная ВКР посвящается разработке модуля, реализующего алгоритм одноразовой кольцевой подписи на языке C#.


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

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

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


В ходе работы было создано приложение, позволяющее наглядно объяснить реализацию алгоритма кольцевой подписи в таких важных сферах жизни, как электронные выборы или криптовалюты. Работа написана на языке C#, объектно-ориентированном языке программирования. На входе алгоритм получает сообщение, открытый и секретный ключ владельца подписи и открытые ключи участников кольца. Владелец может указать количество участников кольца и свою позицию в нем, если он ничего не указывает, что по умолчанию создается кольцо из 4 подписантов, ставя владельца подписи на случайное место.
Созданный алгоритм удовлетворяет ранее установленным требованиям, а именно:
- алгоритм защищает от подделки сообщения;
- алгоритм устанавливает, не была ли подделана сама подпись;
- случайный выбор участников кольца позволяет скрыть адрес владельца подписи;
Однако приложение несколько недостатков:
- скорость работы невысокая, так как операции сложения и умножения требуют больших затрат времени;
- интерфейс работает для двух пользователей одновременно, что затрудняет его использование в реальности, но отлично показывает принцип работы модели.
Рекомендации по дальнейшему использованию:
- модуль предназначен для создания кольцевой подписи к сообщению;
- рекомендуется для обучения разработчиков и студентов технических специальностей.



1. Андрианова.А.А., Практикум по курсу «Объектно-ориентированное программирование» на языке С# [Текст]: Учебное пособие /А. А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова. - Казань: Казан. ун-т, 2012. - 116 с.
2. Коблиц Н., Введение в эллиптические кривые и модулярные формы [Текст]: Монография/ Коблиц Н. - Москва: Издательство «Мир». Редакция литературы по математическим наукам, 1988. - 313 с.
3. Троелсен.Э., Язык программирования С# 2005 и платформа .NET 2.0 [Текст]: Учебное пособие / Э. Троелсен. - М.: Вильямс, 2006. - 1168 с.
4. Kurt M. Alonso, Zero to Monero: First Edition [Текст]: Монография/ Kurt M. Alonso. URL: https://www.getmonero.org/library/Zero-to-Monero-1-0-0.pdf
5. Nicolas van Saberhagen, Cryptonote v 2.0 [Текст]: Монография/ Nicolas van Saberhagen - 17 октября, 2013. URL: https://cryptonote.org/whitepaper.pdf
6. Olivier Bernard, Renaud Dubois and Simon Masson, E cient four-dimensional
GLV curve with high security [Текст]: Монография/ Olivier Bernard, Renaud Dubois and Simon Masson. - 30 марта 2018. - URL:
https://eprint.iacr.org/2018/305.pdf
7. www.sciencedirect.com/science/article/pii/S0898122112000491 - A new way to generate a ring: Universal ring signature.
8. http://Springer.com - Cryptocurrencies Without Proof of Work.
9. https://medium.com/coinmonks/elliptic-curve-cryptography-6de8fc748b8b - Elliptic-Curve Cryptography.
10. https://delfr.com/monero/lsag-signature-scheme-monero-6-10/ - LSAG signature scheme.
11. https://msdn.microsoft.com/ru-ru - Microsoft Developer Network.


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




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