Пример готовой курсовой работы по предмету: Программирование
Содержание
1. Оглавление 2
2. Задание 3
3. Описание алгоритма 4
Блок-схемы алгоритмов шифрования и дешифрования 5
Блок-схема алгоритма шифрования 5
Блок-схема алгоритма дешифрования 5
4. Листинг программы, реализующей алгоритмы 6
Интерфейс ICryptography 6
Класс MagicCryptography 6
Класс MagicForm 8
Юнит-тест 9
Графический интерфейс программы 10
5. Контрольные примеры работы программы 11
Шифр на основе «магических» квадратов 11
6. Модификация алгоритма 16
Доказательство увеличения криптографической стойкости при модификации алгоритма 16
Блок-схемы модифицированных алгоритмов шифрования и дешифрования 17
Блок-схема модифицированного алгоритма шифрования 17
Блок-схема модифицированного алгоритма дешифрования 18
7. Листинг программы, реализующей модифицированные алгоритмы 19
Класс Magic 3Cryptography 19
Юнит-тест 20
8. Контрольные примеры работы модифицированной программы 21
Тройной шифр на основе «магических» квадратов 21
9. Заключение 26
Выдержка из текста
Шифр, преобразования из которого изменяют только порядок следования символов исходного текста, но не изменяют их самих, называется шифром перестановки (ШП).
Зная подстановку, задающую преобразование, можно осуществить как зашифрование, так и расшифрование текста.
Маги́ческий, или волше́бный квадра́т — это квадратная таблица , заполненная числами таким образом, что сумма чисел в каждой строке, каждом столбце и на обеих диагоналях одинакова. Если в квадрате равны суммы чисел только в строках и столбцах, то он называется полумагическим.
Впервые эти квадраты появились в Китае, где им и была приписана некоторая «магическая сила».
Нормальные магические квадраты существуют для всех порядков , за исключением , хотя случай тривиален — квадрат состоит из одного числа. Минимальный нетривиальный случай показан ниже, он имеет порядок 3.
2 7 6 15
9 5 1 15
4 3 8 15
15 15 15 15 15
Сумма чисел в каждой строке, столбце и на диагоналях называется магической константой, M. Магическая константа нормального волшебного квадрата зависит только от n и определяется формулой
Общий метод построения всех квадратов неизвестен, хотя широко применяются различные схемы. Найти все магические квадраты порядка удается только для , поэтому представляют большой интерес частные процедуры построения магических квадратов при .
Проще всего конструкция для магического квадрата нечетного порядка. Нужно в клетку с координатами поставить число
Шифрование по магическому квадрату производилось следующим образом. Например, требуется зашифровать фразу: «ПриезжаюСегодня.». Буквы этой фразы вписываются последовательно в квадрат согласно записанным в них числам: позиция буквы в предложении соответствует порядковому числу. В пустые клетки ставится точка.
16. 3 и 2 р 13 д
5 з 10 е 11 г 8 ю
9 С 6 ж 7 а 12 о
4 е 15 я 14 н 1 П
После этого шифрованный текст записывается в строку (считывание производится слева направо, построчно):
.ирдзегюСжаоеянП
При расшифровывании текст вписывается в квадрат, и открытый текст читается в последовательности чисел «магического квадрата». Программа должна генерировать «магические квадраты» и по ключу выбирать необходимый. Размер квадрата больше чем 3х 3.
Список использованной литературы
• В ходе данной лабораторной был изучены алгоритмы шифрования и дешифрования шифром на основе «магических» квадратов. Выполнена программная реализация данных алгоритмов. Для данной реализации были проведены тесты, показывающие правильность программной реализации алгоритмов шифрования и дешифрования.
• Был предложен и реализован в виде программного модуля алгоритм шифрования и дешифрования композицией трёх шифраторов на основе шифра на основе «магических» квадратов, который при тех же параметрах исходных сообщений повышает криптографическую стойкость зашифрованных сообщений за счёт увеличения ключеаого множества. Преведены математические рассуждения, доказывающие правильность такого утверждения.
• В ходе выполнения данной лабораторной работы были изучены различные способы программной реализации шифраторов с применением объектно-ориентированных и процедурных методов.
• Были получены дополнительные навыки программирования в среде Visual Studio и технологии .Net.