Автор молодец, просто работа не нужна больше
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
ВВЕДЕНИЕ 3
1. КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ОБЕСПЕЧЕНИЯ ЗАЩИТЫ КРИПТОВАЛЮТЫ 5
1.1. Криптографические хеш-функции 5
1.2. Цифровые подписи 7
2. ОСНОВНЫЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ КРИПТОВАЛЮТЫ 9
2.1. Транзакции 9
2.2. Блокчейн 11
2.3. Майнинг 14
3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 16
3.1. Цель работы 16
3.2. Среда разработки 16
3.3. Графический интерфейс пользователя 17
3.4. Описание игрового процесса 22
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 33
ПРИЛОЖЕНИЕ 35
1.1. Криптографические хеш-функции
Хеширование (англ. hashing) – это преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины, так, чтобы изменение входных данных приводило к непредсказуемому изменению выходных. Такие преобразования ещё называют хеш-функциями или функциями свёртки, а их результаты – хешем, хеш-кодом, свёрткой или дайджестом сообщения (англ. message digest).
Хеш-функция представляет собой математическую функцию Н, обладающую следующими свойствами:
1. Данные на входе хеш-функция Н могут быть любой строкой любого размера.
2. Хеш-функция Н создает выход фиксированной длины (так, например, для классической функции хеширования MD5 это 128 бит, а для функции SHA-256 – 256 бит).
3. Функция хеширования вычисляется относительно быстро. Технически вычисление хеша n-битовой строки занимает время равное O (n).
4.
...
1.2. Цифровые подписи
Цифровая подпись - это предполагаемый цифровой аналог рукописной подписи. Для сообщения она представляет собой число, которое зависит от самого сообщения и от некоторого ранее заданного секретного ключа, известного только ставящему данную подпись субъекту. Также цифровая подпись должна быть легко проверяемой: каждый без получения доступа к секретному ключу должен иметь возможность осуществления её проверки.
На сегодняшний день можно выделить три различные группы схем создания цифровой подписи:
1) схемы на основе систем шифрования с открытыми ключами;
2) схемы со специально разработанными алгоритмами вычисления и проверки подписи;
3) схемы на основе симметрических систем шифрования.
Большинство современных процедур создания и проверки цифровой подписи основаны на первой схеме.
...
2.1. Транзакции
Под транзакцией подразумевается передача средств между двумя цифровыми адресами. Пусть, например, пользователь А отправил монеты пользователю В. В этом случае эта сделка будет отражена тремя записями данных:
▪ вход (запись об адресе (открытом ключе) пользователя А, с которого монеты пришли пользователю B);
▪ количество (количество монет, отправленных пользователем А пользователю В);
▪ выход (адрес пользователя В);
Транзакция также содержит в себе доказательства владения в виде цифровой подписи отправителя.
Транзакции переносят валюту из входов транзакции в выходы транзакции. Количество монет на входе — это как правило выход какой-то предыдущей транзакции. Выход транзакции назначает нового владельца при помощи обременения, т.е. требования подписи для получения возможности распоряжаться средствами.
...
2.2. Блокчейн
Блокчейн (от англ. block – блок и chain — цепочка) — это связанный список, для построения которого вместо обычных указателей используются хеш-указатели (рис. 4). Таким образом, каждый блок не просто показывает, где находилось значение предыдущего блока, но также содержит дайджест значения предыдущего блока, что позволяет убедиться в целостности и неизменности данных. При этом необходимо хранить лишь оглавление списка, которое является постоянным хеш-указателем на последний блок данных.
Рисунок 4. Блокчейн.
В таких системах есть вероятность перегенерации цепочки блоков с целью изменения информации. Существует три варианта систем, в которых это будет невозможно:
• централизованный с доверенным центром;
• централизованный с недоверенным центром;
• децентрализованный вариант с использованием доказательства работы.
...
3.2. Среда разработки
Для операционной системы Android существуют следующие основные среды разработки:
▪ Eclipse;
▪ Intellij IDEA;
▪ Android Studio.
Для разработки данной мобильной игры была выбрана интегрированная среда разработки (англ. Integrated Development Environment, IDE) Android Studio. Основным фактором, повлиявшим на выбор именно этой среды, было наличие в ней плагина для работы с Android SDK (от англ. Software Development Kit). Еще одним явным её преимуществом является то, что она находится в свободном доступе. Для разработки приложений используется высокоуровневый прикладной интерфейс программирования Java для Android, при помощи которого можно создавать приложения для конечных пользователей данной операционной системы.
Комплект для разработки программного обеспечения для Android поставляется с Android Studio, плагином, который называется набором инструментальных средств для разработки на Android (англ. Android Development Tools, ADT).
...
3.3. Графический интерфейс пользователя
Разработка программного обеспечения (ПО) была начата с графического интерфейса. Это связано с особенностями программирования для Android. Для того, чтобы взаимодействовать с элементами окна, программный модуль должен подключиться к необходимым элементам с помощью идентификаторов. При этом элементы интерфейса в главном окне должны быть созданы в первую очередь. Графический интерфейс пользователя объявляется в XML файлах, а основным языком для разработки приложений Android является объектно-ориентированный язык программирования Java.
Экран главного меню (рис. 5) представляет собой фон с полем для ввода имени и тремя кнопками: «Play» (переход непосредственно к игре),
«Rules» (переход к всплывающему окну с описанием правил игры), «Exit» (выход из игры)).
Рисунок 5. Главное меню игры.
...
3.4. Описание игрового процесса
При запуске игры начинает работу метод onCreate() класса MainActivity.java. В нем при помощи метода setContentView() задается внешний вид главного меню. Далее в зависимости от того, на какую кнопку нажал пользователь срабатывают методы:
▪ Play() – игрок нажал кнопку «Play». Если он ввел своё имя и ознакомился с правилами игры, то начинает работу конструктор класса GamePlay.java, иначе про помощи всплывающего Toast сообщения ему выйдет предупреждение о необходимости ввода имени либо о необходимости ознакомления с правилами.
▪ About() – игрок нажал кнопку «Rules». При помощи метода show() у пользователя на экране появятся правила игры.
▪ Exit() – игрок нажал кнопку «Exit». Приложение завершит работу.
В конструкторе класса GamePlay.
...
ЗАКЛЮЧЕНИЕ
С каждым годом становится всё больше людей, интересующихся рынком криптовалют и процессами, благодаря которым данная валюта функционирует. Многие эксперты в этой области не исключают и того, что традиционные (фиатные) деньги могут быть и вовсе вытеснены и такие учреждения, как банки, в недалеком будущем исчезнут из нашей повседневной жизни за ненадобностью [8].
Отношение нашей страны к криптовалюте изначально было критично:
«Согласно статье 27 Федерального закона «О Центральном банке РФ (Банке России)» выпуск на территории РФ денежных суррогатов запрещается ...
...
1. Сухацкий, Ю.Д. Криптовалюта [Электронный ресурс] / Ю.Д.Сухацкий
// Научное сообщество студентов XXI столетия. Технические науки: сб. ст. по мат. XIII междунар. студ. науч.-практ. конф. № 13. – Режим доступа: http://sibac.info/archive/technic/13.pdf
2. Ишмухаметов, Ш.Т. Математические основы информационной безопасности [Электронный ресурс]: электрон. учеб. пособие для студентов ин-та вычислительной математики и информ. технологий / Ш.Т Ишмухаметов, Р.Г. Рубцова. – Казань. – 2012. – Режим доступа: http://kpfu.ru/docs/F366166681/mzi.pdf
3. Алферов, А. П. Основы криптографии [Текст]: учеб. пособие / А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин. – Изд. 2-е., испр. и доп. – М.: Гелиос АРВ, 2002. – 480 с.
4. Antonopoulos, A. M. Mastering Bitcoin: Unlocking Digital Cryptocurrencies [Text] / Andreas M. Antonopoulos. – O’Reilly Media, 2014. – 298 p.
5. Blockchain [Электронный ресурс] // Хабр [2006 - 2018]. – Режим доступа: https://habrahabr.ru/post/335994/
6. Оверченко, M. Проведена первая реальная сделка с использованием блочных цепей [Электронный ресурс] / М. Оверченко // Ведомости. − 2016. − 08 сентября. − М.: Бизнес Ньюс Медиа, 2018. − Режим доступа: https://www.vedomosti.ru/finance/articles/2016/09/09/656295-sdelka- blochnih-tsepei
7. Голощапов, А. Л. Google Android. Создание приложений для смартфонов и планшетных ПК. [Текст] / А. Л. Голощапов. – Изд. 2-е., перераб. и доп. – Спб.: БХВ-Петербург, 2014. – 928 с.
8. Holmes, F. Bitcoin could replace cash in 10 years [Electronic resource] / F. Holmes // Business Insider. – 2018. – May 1. – Insider Inc., 2018. – Режим доступа: http://www.businessinsider.com/bitcoin-might-replace-cash-10- years-2018-5
9. Землянухина, Е. Госдума в первом чтении приняла законопроект о криптовалюте [Электронный ресурс] / Е. Землянухина // LIFE. – 2018. – 22 мая. – Ньюс Медиа, 2018. – Режим доступа: https://life.ru/1119169
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
ВВЕДЕНИЕ 3
1. КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ, ИСПОЛЬЗУЕМЫЕ ДЛЯ ОБЕСПЕЧЕНИЯ ЗАЩИТЫ КРИПТОВАЛЮТЫ 5
1.1. Криптографические хеш-функции 5
1.2. Цифровые подписи 7
2. ОСНОВНЫЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ КРИПТОВАЛЮТЫ 9
2.1. Транзакции 9
2.2. Блокчейн 11
2.3. Майнинг 14
3. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 16
3.1. Цель работы 16
3.2. Среда разработки 16
3.3. Графический интерфейс пользователя 17
3.4. Описание игрового процесса 22
ЗАКЛЮЧЕНИЕ 31
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ 33
ПРИЛОЖЕНИЕ 35
1.1. Криптографические хеш-функции
Хеширование (англ. hashing) – это преобразование входного массива данных произвольной длины в выходную битовую строку фиксированной длины, так, чтобы изменение входных данных приводило к непредсказуемому изменению выходных. Такие преобразования ещё называют хеш-функциями или функциями свёртки, а их результаты – хешем, хеш-кодом, свёрткой или дайджестом сообщения (англ. message digest).
Хеш-функция представляет собой математическую функцию Н, обладающую следующими свойствами:
1. Данные на входе хеш-функция Н могут быть любой строкой любого размера.
2. Хеш-функция Н создает выход фиксированной длины (так, например, для классической функции хеширования MD5 это 128 бит, а для функции SHA-256 – 256 бит).
3. Функция хеширования вычисляется относительно быстро. Технически вычисление хеша n-битовой строки занимает время равное O (n).
4.
...
1.2. Цифровые подписи
Цифровая подпись - это предполагаемый цифровой аналог рукописной подписи. Для сообщения она представляет собой число, которое зависит от самого сообщения и от некоторого ранее заданного секретного ключа, известного только ставящему данную подпись субъекту. Также цифровая подпись должна быть легко проверяемой: каждый без получения доступа к секретному ключу должен иметь возможность осуществления её проверки.
На сегодняшний день можно выделить три различные группы схем создания цифровой подписи:
1) схемы на основе систем шифрования с открытыми ключами;
2) схемы со специально разработанными алгоритмами вычисления и проверки подписи;
3) схемы на основе симметрических систем шифрования.
Большинство современных процедур создания и проверки цифровой подписи основаны на первой схеме.
...
2.1. Транзакции
Под транзакцией подразумевается передача средств между двумя цифровыми адресами. Пусть, например, пользователь А отправил монеты пользователю В. В этом случае эта сделка будет отражена тремя записями данных:
▪ вход (запись об адресе (открытом ключе) пользователя А, с которого монеты пришли пользователю B);
▪ количество (количество монет, отправленных пользователем А пользователю В);
▪ выход (адрес пользователя В);
Транзакция также содержит в себе доказательства владения в виде цифровой подписи отправителя.
Транзакции переносят валюту из входов транзакции в выходы транзакции. Количество монет на входе — это как правило выход какой-то предыдущей транзакции. Выход транзакции назначает нового владельца при помощи обременения, т.е. требования подписи для получения возможности распоряжаться средствами.
...
2.2. Блокчейн
Блокчейн (от англ. block – блок и chain — цепочка) — это связанный список, для построения которого вместо обычных указателей используются хеш-указатели (рис. 4). Таким образом, каждый блок не просто показывает, где находилось значение предыдущего блока, но также содержит дайджест значения предыдущего блока, что позволяет убедиться в целостности и неизменности данных. При этом необходимо хранить лишь оглавление списка, которое является постоянным хеш-указателем на последний блок данных.
Рисунок 4. Блокчейн.
В таких системах есть вероятность перегенерации цепочки блоков с целью изменения информации. Существует три варианта систем, в которых это будет невозможно:
• централизованный с доверенным центром;
• централизованный с недоверенным центром;
• децентрализованный вариант с использованием доказательства работы.
...
3.2. Среда разработки
Для операционной системы Android существуют следующие основные среды разработки:
▪ Eclipse;
▪ Intellij IDEA;
▪ Android Studio.
Для разработки данной мобильной игры была выбрана интегрированная среда разработки (англ. Integrated Development Environment, IDE) Android Studio. Основным фактором, повлиявшим на выбор именно этой среды, было наличие в ней плагина для работы с Android SDK (от англ. Software Development Kit). Еще одним явным её преимуществом является то, что она находится в свободном доступе. Для разработки приложений используется высокоуровневый прикладной интерфейс программирования Java для Android, при помощи которого можно создавать приложения для конечных пользователей данной операционной системы.
Комплект для разработки программного обеспечения для Android поставляется с Android Studio, плагином, который называется набором инструментальных средств для разработки на Android (англ. Android Development Tools, ADT).
...
3.3. Графический интерфейс пользователя
Разработка программного обеспечения (ПО) была начата с графического интерфейса. Это связано с особенностями программирования для Android. Для того, чтобы взаимодействовать с элементами окна, программный модуль должен подключиться к необходимым элементам с помощью идентификаторов. При этом элементы интерфейса в главном окне должны быть созданы в первую очередь. Графический интерфейс пользователя объявляется в XML файлах, а основным языком для разработки приложений Android является объектно-ориентированный язык программирования Java.
Экран главного меню (рис. 5) представляет собой фон с полем для ввода имени и тремя кнопками: «Play» (переход непосредственно к игре),
«Rules» (переход к всплывающему окну с описанием правил игры), «Exit» (выход из игры)).
Рисунок 5. Главное меню игры.
...
3.4. Описание игрового процесса
При запуске игры начинает работу метод onCreate() класса MainActivity.java. В нем при помощи метода setContentView() задается внешний вид главного меню. Далее в зависимости от того, на какую кнопку нажал пользователь срабатывают методы:
▪ Play() – игрок нажал кнопку «Play». Если он ввел своё имя и ознакомился с правилами игры, то начинает работу конструктор класса GamePlay.java, иначе про помощи всплывающего Toast сообщения ему выйдет предупреждение о необходимости ввода имени либо о необходимости ознакомления с правилами.
▪ About() – игрок нажал кнопку «Rules». При помощи метода show() у пользователя на экране появятся правила игры.
▪ Exit() – игрок нажал кнопку «Exit». Приложение завершит работу.
В конструкторе класса GamePlay.
...
ЗАКЛЮЧЕНИЕ
С каждым годом становится всё больше людей, интересующихся рынком криптовалют и процессами, благодаря которым данная валюта функционирует. Многие эксперты в этой области не исключают и того, что традиционные (фиатные) деньги могут быть и вовсе вытеснены и такие учреждения, как банки, в недалеком будущем исчезнут из нашей повседневной жизни за ненадобностью [8].
Отношение нашей страны к криптовалюте изначально было критично:
«Согласно статье 27 Федерального закона «О Центральном банке РФ (Банке России)» выпуск на территории РФ денежных суррогатов запрещается ...
...
1. Сухацкий, Ю.Д. Криптовалюта [Электронный ресурс] / Ю.Д.Сухацкий
// Научное сообщество студентов XXI столетия. Технические науки: сб. ст. по мат. XIII междунар. студ. науч.-практ. конф. № 13. – Режим доступа: http://sibac.info/archive/technic/13.pdf
2. Ишмухаметов, Ш.Т. Математические основы информационной безопасности [Электронный ресурс]: электрон. учеб. пособие для студентов ин-та вычислительной математики и информ. технологий / Ш.Т Ишмухаметов, Р.Г. Рубцова. – Казань. – 2012. – Режим доступа: http://kpfu.ru/docs/F366166681/mzi.pdf
3. Алферов, А. П. Основы криптографии [Текст]: учеб. пособие / А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин. – Изд. 2-е., испр. и доп. – М.: Гелиос АРВ, 2002. – 480 с.
4. Antonopoulos, A. M. Mastering Bitcoin: Unlocking Digital Cryptocurrencies [Text] / Andreas M. Antonopoulos. – O’Reilly Media, 2014. – 298 p.
5. Blockchain [Электронный ресурс] // Хабр [2006 - 2018]. – Режим доступа: https://habrahabr.ru/post/335994/
6. Оверченко, M. Проведена первая реальная сделка с использованием блочных цепей [Электронный ресурс] / М. Оверченко // Ведомости. − 2016. − 08 сентября. − М.: Бизнес Ньюс Медиа, 2018. − Режим доступа: https://www.vedomosti.ru/finance/articles/2016/09/09/656295-sdelka- blochnih-tsepei
7. Голощапов, А. Л. Google Android. Создание приложений для смартфонов и планшетных ПК. [Текст] / А. Л. Голощапов. – Изд. 2-е., перераб. и доп. – Спб.: БХВ-Петербург, 2014. – 928 с.
8. Holmes, F. Bitcoin could replace cash in 10 years [Electronic resource] / F. Holmes // Business Insider. – 2018. – May 1. – Insider Inc., 2018. – Режим доступа: http://www.businessinsider.com/bitcoin-might-replace-cash-10- years-2018-5
9. Землянухина, Е. Госдума в первом чтении приняла законопроект о криптовалюте [Электронный ресурс] / Е. Землянухина // LIFE. – 2018. – 22 мая. – Ньюс Медиа, 2018. – Режим доступа: https://life.ru/1119169
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
900 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55693 Дипломной работы — поможем найти подходящую