Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АЯП пояснительная.docx
Скачиваний:
1
Добавлен:
06.09.2019
Размер:
134.48 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

БРЯНСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

Кафедра «Компьютерные технологии и системы»

Дисциплина «Алгоритмические языки»

Расчетно-графическая работа

Создание органайзера для ведения записей с функцией шифрования

Руководитель

к.т.н., доц. Рощин С. М.

«___»_______________2012г.

Студентка гр.11-ИБ

Макарова Е. А.

«___»_______________2012г.

Брянск 2012

ЗАДАНИЕ

На расчетно-графическую работу по дисциплине

«Алгоритмические языки»

Студент Макарова Е. А. Группа 11-ИБ

Тема: Создание органайзера для ведения записей с функцией шифрования

Техническое задание

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

Руководитель к.т.н., доц. Рощин С. М.

ВВЕДЕНИЕ……………………………………………………………………..4

1. Конструкторский раздел………………………………………….5

1.1. Обоснование необходимости разработки………………………….5

1.2. Обоснование и описание метода моделирования и алгоритма…..5

2. Технологический раздел…………………………………………8

2.1. Выбор языка и среды программирования………………………….8

2.2. Блок-схема алгоритма……………………………………………….8

2.3. Хранение и обмен данными в программе………………………….8

2.4. Разработка и отладка текста программы…………………………..9

2.5. Разработка интерфейс пользователя……………………………….9

2.6. Тестирование программы……………………………………….…10

3. Руководство пользователя………………………………..…..11

3.1. Требования к аппаратуре……………………………………..……11

3.2. Требования к программному обеспечению………………..……..11

3.3. Порядок работы с программой………………………………..…..11

3.4. Примеры использования программы………………………..……11

ЗАКЛЮЧЕНИЕ………………………………………………………..…….13

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ………………..…….13

ПРИЛОЖЕНИЯ………………………………………………………..……14

Введение.

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

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

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

И именно разработке программы, созданной для ведения и сокрытия личных записей – и будет посвящена эта расчетно-графическая работа.

Конструкторский раздел.

Обоснование необходимости разработки.

Как показывает практика, многие люди, ведя записи на компьютере, даже не пытаются их должным образом скрыть, полагаясь на мнение, что «компьютером пользуются только они, а значит, никто больше не сможет залезть и украсть информацию». Это является очень наивным предположением. Если компьютер подключен к глобальной или какой-либо локальной сети, то преступник всегда найдет способ добраться до файловой системы компьютера и прочитать текстовые файлы владельца.

Более надежной системой хранения записей является создание их в специально приспособленной для этой программе, в которой будет возможность создавать аккаунт с логином и паролем пользователя и, используя их, входить в систему, создавать новые записи, просматривать и редактировать старые.

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

Обоснование и описание метода моделирования и алгоритма.

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

Записи так же сохраняются в отдельный файл. При авторизации имя пользователя сохраняется в отдельный класс, который доступен из всех форм во время действия программы. С помощью запроса данных из этого фраза, все записи будут сохранятся за авторизованным в данный момент пользователем и в любой момент он сможет вывести их на экран.

Более сложный вопрос – это выбор метода и системы шифрования для встроенного в дневник шифратора.

Шифрова́ние — способ преобразования открытой информации в закрытую, и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Шифрование подразделяется на процесс зашифровывания и расшифровывания.

В зависимости от алгоритма преобразования данных, методы шифрования подразделяются на гарантированной или временной криптостойкости.

В зависимости от структуры используемых ключей методы шифрования подразделяются на

  • симметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, но неизвестна небольшая порция секретной информации — ключа, одинакового для отправителя и получателя сообщения;

  • асимметричное шифрование: посторонним лицам может быть известен алгоритм шифрования, и, возможно, открытый ключ, но неизвестен закрытый ключ, известный только получателю.

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

В настоящее время симметричные шифры — это:

  • блочные шифры. Обрабатывают информацию блоками определённой длины (обычно 64, 128 бит), применяя к блоку ключ в установленном порядке, как правило, несколькими циклами перемешивания и подстановки, называемыми раундами. Результатом повторения раундов является лавинный эффект — нарастающая потеря соответствия битов между блоками открытых и зашифрованных данных.

  • поточные шифры, в которых шифрование проводится над каждым битом либо байтом исходного (открытого) текста с использованием гаммирования. Поточный шифр может быть легко создан на основе блочного (например, ГОСТ 28147-89 в режиме гаммирования), запущенного в специальном режиме.

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

Шифрование происходит следующим образом:

Подбирается любая квадратичная матрица, определитель которой равен 1 (в данном случае размерность матрицы равна 3);

Шифрованному тексту в соответствии ставятся числовые эквиваленты;

Шифрованный текст разбивается на части, кратные размерности матрицы (в данном случае длина равна 3). Если длина текста не кратна размерности матрицы, то текст дополняется нужным количеством подчёркивания;

Путем умножения выбранной квадратной матрицы на матрицу столбец из числовых эквивалентов, получается матрица столбец из числовых эквивалентов зашифрованного текста.

Находятся номера букв из алфавита, применяя к эквивалентам зашифрованного текста функцию mod.

При расшифровке нужно пользоваться данными, которые находятся в "Умножение матриц". Умножение уже осуществляется на обратную матрицу выбранной матрицы.

Определитель матрицы равняется 1, чтобы не возникало дробных чисел при нахождении обратной матрицы и чтобы все числа были целыми. Если получается отрицательное число в "Умножение матриц", то оно берётся по модулю.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]