ТОМСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ
СИСТЕМ УПРАВЛІННЯ ТА РАДІОЕЛЕКТРОНІКИ (ТУСУР)
В
дистанційна форма навчання
В
Кафедра автоматизованих систем управління (АСУ)
Програмування
В
Курсовий проект
В
В«шифровка та дешифрування тексту В»
В В
__________________________________________
(Прізвище Ім'я По-батькові)
(шифр)
(поштовий адреса)
Дата виконання роботи ___________________
Дата перевірки ___________________
Оцінка ___________________ p align=right> И.О.Фамилия викладача ___________________
Підпис викладача ___________________
В
ЗМІСТ:
3
Постановка завдання .................................................................. стор 3
Використовувані методи ............................................................. стор 3
Опис алгоритму програми ............................................... стор 3
Опис вхідних та вихідних даних ...................................... стор 8
8
Список літератури ................................................................. стор 9
Додаток 1. Лістинг програми .......................................... стор 10
Додаток 2. Результати роботи ............................................ стор 13
В
Введення.
Метою даного курсового проекту є закріплення отриманих знань з розробки алгоритмів на персональному комп'ютері в середовищі Турбо Паскаль.
У курсовому проекті розглядається робота програми для шифрування та дешифрування тексту.
Постановка завдання.
Необхідно написати програму, яка буде шифрувати і дешифрувати текст. При цьому програма повинна брати вихідний текст з файлу, а результат зберігати в іншому файлі. Також необхідно створити В«дружнійВ» інтерфейс, для спрощення роботи з програмою кінцевого користувача.
Використовувані методи.
У програмі використовується наступний алгоритм шифрування: за допомогою команди ORD кожен символ тексту буде перетворений в його числовий код, але при цьому ще буде використовуватися ключ. Ключ буде задаватися користувачем і може містити набір букв, чисел і символів. Кожен символ ключами буде декодована в числове значення, і алгебраїчна сума всіх цих чисел буде додана до наявного значенням зашифрованого знака в тексті. І так - для кожної букви шіфруемоготексту, між якими додадуться прогалини, інакше декодер прийме безліч символів, записаних в цифровому вигляді, за одне велике багатозначне число і нічого не переведе.
При декодуванні тексту числові значення переведуться в символьні за допомогою команди CHR, але не знаючи ключами дешифрувати такий текст буде досить складно.
Опис алгоритму програми.
Програма Crypter . У програмі використовуються такі функції і процедури:
Функція Password ( FUNCTION Password ( Psw : string ): integer ; ): перетворює кожен символ, введеного користувачем ключі, в його числовий код і знаходить алгебраїчну суму цих чисел. У даній функції використовуються наступні змінні:
В· строкова мінлива Psw - при виклику функції їй передається ключ введений користувачем з клавіатури, саме це значення і присвоюється даної змінної
В· змінні i , res - цілого типу служать для: мінлива i необхідна для роботи циклу, а в змінну res буде записуватися результат роботи циклу.
Перемінної res присвоюємо значення рівне 0. Для того, щоб перевести кожен символ ключа в його числовий код створимо цикл розміром від 1 до кількості символів в ключі (дане значення ми отримаємо при допомоги команди length ( psw ) дана команда повертає кількість символів у рядку). Потім у цьому циклі за допомогою команди ord ( psw [ i ]) знайдемо числові коди всіх символів ключа, складемо їх і присвоюємо отримане значення функції Password .
FUNCTION Password (Psw: string): integer;
VAR i, res: integer;
BEGIN
res: = 0;
for i: = 1 to length (psw) do res: = res + ord (psw [i]);
Password: = res;
END;
Функція Crypt ( FUNCTION Crypt (CryptStr: string): string; ): функція для шифрування тексту. При виклику даної функції їй передається текст який необхідно шиф...