Файл: Операции, производимые с данными (Блок-схема шифра гласных букв).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.04.2023

Просмотров: 83

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Хранилище данных создается таким образом, что оно может интегрировать несколько различных источников данных для создания консолидированной базы данных. Это делается с помощью методов очистки и интеграции данных, которые являются «умными» процессами, встроенными в хранилище данных. Следовательно, компания может хранить данные о персонале, финансовые операции и любую другую организационную информацию в одном месте - выходя за рамки цифр и денежных потоков. Это очень доступное хранилище, где данные реплицируются и преобразуются из операционной среды. Хранилища данных настолько эффективны с точки зрения доступности бизнес-пользователей благодаря своей структуре SQL-сервера. Однако их можно купить непосредственно уже построенными, или цена, связанная с разработкой собственного хранилища данных с течением времени программистами или другими ИТ-специалистами, может быть чрезмерной. Ценообразование хранилищ данных и проектов OLAP может стать основанием для отдельной статьи в блоге.

OLAP Cube в основном берет электронную таблицу и трехмерно анализирует опыт анализа. Разбивая его, OLAP означает аналитические данные, а не транзакционные, а кубическая часть номенклатуры относится к аспекту хранения. Кубы OLAP - это в основном многомерные базы данных. Они хранят данные для анализа, Многие продукты BI используют кубы OLAP для доступа к информации компании для отчетов, бюджетов или панелей мониторинга. Например, финансовый директор может захотеть отчитываться о финансовых данных компании по местоположению, по месяцам или по продуктам - эти элементы будут составлять измерения этого куба. Однако кубы OLAP не являются реляционными базами данных SQL-сервера, как хранилища данных.

Кубы OLAP не являются открытым хранилищем данных сервера SQL, поэтому для их обслуживания требуется кто-то, обладающий знаниями и опытом, в то время как хранилище данных сервера SQL может поддерживаться большинством ИТ-специалистов, которые регулярно проходят обучение работе с базами данных. К этому аспекту соответственно прикреплен ценник. Независимо от того, выделяете ли вы время и энергию от текущего сотрудника, чтобы сосредоточиться на управлении кубом OLAP, или ищете нового, возможно, штатного сотрудника, чтобы присоединиться к платежной ведомости для этой роли. Кроме того, OLAP-кубы имеют тенденцию быть более жесткими и ограниченными, когда речь заходит о разработке отчетов, из-за их табличных функций. Эстетика и возможности могут и, возможно, должны быть важны для компании, которая создает свой портфель решений для бизнес-аналитики.


Глава 2. Описание работы с данными

2.1 Описание работы программного приложения

Был проведен предварительный анализ большого количества классических шифров [1], из которых для модификации мы отобрали и исследовали на криптостойкость с последующей оценкой три классических алгоритма шифрования:

1. Простой числовой шифр

2. Шифр гласных букв

3. Календарный шифр

Для выполнения поставленных задач на языке программирования C# было разработано программное приложение с использованием среды программирования Visual Studio v.17 [3], общий вид которой представлен на рис. 1.

Рисунок 1. Общий вид разработанного программного приложения

При запуске приложения возникает приветственное сообщение и пароль для ввода (Рис 2а). В случае неверно введенного пароля появляется соответствующее сообщение (Рис. 2б).

Рисунок 2а. Ввод пароля

Рисунок 2б. Неверный пароль

В Справке к приложению показывается сообщение о версии и функциях шифров (Рис. 3).

Рисунок 3. Информация о программе

Шифрование текстовых сообщений может осуществляться в 2-х вариантах: русском и английском.

Рисунок 4а. Пример шифрования сообщения на английском языке и оценки криптостойкости

Рисунок 4б. Пример шифрования сообщения на русском языке и оценки криптостойкости

Рисунок 5а. Пример дешифрования сообщения на английском языке

Рисунок 5б. Пример дешифрования сообщения на русском языке

Программа показывает криптостойкость шифров, сравнивая их по времени (Рис. 6).


Рисунок 6. Результаты сравнения криптостойкости по показателю времени

 Рассмотрим инструментарий, необходимый для демонстрации регистрации нового пользователя. Во-первых, на сайте необходимо создать соответствующую минимальному функционалу форму. Это будет обеспечено благодаря HTML. «HTML (от англ. HyperText Markup Language — «язык разметки гипертекста») — стандартный язык разметки документов во Всемирной паутине» [3]. Во-вторых, сайт следует разместить на сервере. И для этих нужд будет применена программа Denwer. Denwer — набор дистрибутивов (локальный сервер WAMP) и программная оболочка, предназначенные для создания и отладки сайтов на локальном ПК (без необходимости подключения к сети Интернет). В-третьих, для хранения информации о новых пользователях требуется наличие базы данных (БД). Так, система управления базами данных (СУБД) MySQL, администрирование которой будет обеспечено веб-приложением PhpMyAdmin, позволит структурированно хранить данные. PhpMyAdmin, в свою очередь, входит в упомянутый ранее Denwer. И, наконец, в качестве языка программирования выбран PHP — серверный скриптовый язык программирования.

Затем представим рассматриваемую в данной работе задачу регистрации нового пользователя на сайте. Отвечающий минимуму требований интерфейс содержит следующие элементы:

  1.  поле для ввода логина;
  2.  поле для ввода пароля;
  3.  поле для повторного ввода пароля;
  4.  кнопку для регистрации;
  5.  сопроводительные уточняющие надписи (рисунок 7).

Рисунок 7. Входные данные для проведения запроса на добавление в БД

Обмен данными с сервером произойдёт благодаря коду на языке PHP, хранящемся в соответствующем документе, что запустит процесс отправки данных после нажатия на кнопку “Зарегистрироваться” (рисунок 8).

Рисунок 8. Php-фрагмент для проведения запроса на добавление в БД

Предыдущее действие даст результат проведённого запроса, показанный в программе phpMyAdmin (рисунок 9).

Рисунок 9. Php-фрагмент для проведения запроса на добавление в БД

Необходимо обратить внимание на различие между паролем, введённым в поле формы, и паролем, хранящимся в БД. Это вызвано тем, что любой текст, вводимый в поле ввода пароля, обрабатывается функцией SHA, являющейся в языке SQL алгоритмом хеширования. Уточним, что хеширование — процесс, в результате которого к некоторым данным генерируется новое значение, по которому невозможно «восстановить» исходные данные и которое с большой вероятностью является уникальным. В данном случае, цель применения хеширования состоит в обеспечении безопасности хранимых данных.


Как итог, на самом сайте регистрация сопровождается изменениями интерфейса, вызванными входом пользователя в свой новый аккаунт, — происходит переход к форме авторизации (рисунок 10).

Рисунок 10. Авторизация

Таким образом, созданная с помощью PHP и MySQL система регистрации показала высокий уровень обеспечения безопасности авторизации и регистрации, что немаловажно при создании нового сайта.

2.2 Алгоритмы модификации классических числовых шифров

Модификация каждого из отобранных классических шифров заключается в расширении изначального алфавита, включающего в себя строчные и прописные буквы, некоторыми спецсимволами в кодировке ASCII.

1. Простой числовой шифр. Первую букву алфавита необходимо обозначить произвольным числом, а каждой последующей букве надо присвоить число, большее, чем предыдущее, на 1,2 или 3. Те же действия производятся и над остальными символами алфавита. Блок-схема представлена на рис.7.

2. Шифр гласных букв. При использовании такого шифра гласные буквы в алфавите нумеруются цифрами от 1 до 9. При этом, например, в русском алфавите буква А обозначается цифрой 1, буква Е – цифрой 2, буква И – цифрой 3 и так далее. Затем каждой согласной букве присваивается свой номер, который определяется ее положением относительно ближайшей к ней с левой стороны в алфавите гласной буквы. Так, например, буква Б – первая согласная буква, расположенная справа от буквы А имеющей номер 1. Поэтому букве Б присваивается число 11. Буква Д – четвертая справа от буквы А, ее обозначают числом 14. Буква Н – пятая справа от гласной буквы И, обозначенной числом 3. Поэтому букве Н должно соответствовать число 35. В соответствии с этим правилом выбираются числа, которыми будут заменены остальные буквы алфавита. Те же действия производятся и над остальными символами алфавита. Теперь достаточно в открытом тексте заменить символы соответствующими числами, записываемые через точку.

3. Календарный шифр. В этом шифре на первом шаге все символы заменяются на их порядковые номера в алфавите. Дни недели переводятся в числа месяца, а затем – в буквы открытого текста. Для расшифровки необходимо знать только месяц и год, используемые в шифре.

Далее необходимо обозначить название каждого дня недели буквой, с которой оно начинается. Понедельник – П, вторник – В, среда – С, четверг – Ч, пятница – П, суббота – С, воскресенье – В. Так как названия некоторых дней недели начинаются с одинаковых букв, для их различия можно применить цифры. Понедельник – П1, вторник – В1, среда – С1, четверг – Ч, пятница – П2, суббота – С2, воскресенье – В2 [1].


2.3. Блок-схема шифра гласных букв

На рис. 11 приведен пример блок-схемы шифра гласных букв, лежащий в основе двух других блок-схем.

Рисунок 11. Блок-схема шифра гласных букв

2.4. Расчет криптостойкости модифицированных числовых шифров

Одним из вариантов оценки производительности выполнения алгоритма программы является определение значения FLOPS [4].

FLOPS – это количество вычислительных операций или инструкций, выполняемых над операндами с плавающей точкой в секунду. Его можно вычислить с помощью теоретически/эмпирически известного количества операций, необходимых для выполнения алгоритма, и измеренному времени:

FLOPS =4*N/t,

где: N – количество операций, необходимых для выполнения алгоритма,

t – время выполнения теста,

4 – операции с данными двойной точности выполняются одновременно над четырьмя 64-битными DP операндами в 256-битном регистре, поэтому умножаем на коэффициент 4.

Алгоритм расчета криптостойкости модифицированных числовых шифров осуществлялся согласно следующей последовательности действий.

1. Простой числовой шифр

1) обозначить первую букву любым числом из диапазона [10…78] (всего 69 чисел);

2) отобрать шаг между буквами: 1, 2 или 3. В результате, количество возможных вариантов шифров (К): К = 69*3 = 207

3) рассчитать количество комбинаций: порядок, в котором зашифрованы все символы без букв (всего их 36), неизвестен, следовательно, существует 36! различных комбинаций (C): С = 36! Таким образом, полное количество вариантов шифротекста (F): F = С*К = 207*36!

4) определить значение FLOPS: FLOPS = 4*207*36!/1 с = 3,08*10^44.

2. Шифр гласных букв

1) рассчитать количество комбинаций: для того, кто знает, как был зашифрован текст, расшифровать его не составит труда, но только его буквенную часть; поэтому порядок, в котором зашифрованы спецсимволы (всего их 36), неизвестен. Следовательно, существует 36! различных комбинаций (C): С = 36!

2) рассчитать полное количество вариантов шифротекста (F):  F = С = 36!

3) определить значение FLOPS: FLOPS = 4*36!/1 с = 1,49*10^42.

3. Календарный шифр

1) рассчитать количество вариантов комбинаций зашифрованного текста (K): K = 7;

2) рассчитать количество комбинаций: ранее было упомянуто, что существует 36! различных комбинаций спецсимволов (С): С = 36!;

3) рассчитать, полное количество вариантов шифротекста (F):  F = K*C = 7*36!

4) определить значение FLOPS: FLOPS = 4*7*36!/1 с = 1,04*10^43