Шифрувальник та дешифрувальник

Створення програми в середовищі програмування TURBO PASCAL 7.0, за допомогою якої можливо здійснювати шифровку та розшифровку інформації у файлах з розширенням doc, txt. Програма працює з машинописом англійського тексту, який відповідає стандартам ASCII.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 23.12.2008
Размер файла 304,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Міністерство вищої освіти України

Запорізький Національний Технічний Університет

ПОЯСНЮВАЛЬНА ЗАПИСКА ДО КУРСОВОГО

ПРОЄКТУ З ДИСЦИПЛІНИ “ОП та АМ”

Шифрувальник та дешифрувальник

2003

РЕФЕРАТ

Об'єкт дослідження - вивчення середи програмування TURBO PASCAL 7.0 на прикладі створення програми.

Мета роботи - написати програму, за допомогою якої можливо було б шифрувати інформацію та розпізнавати шифровану.

Програма працює з машинописом англійського тексту, який відповідає стандартам ASCII. Кирилиця програмою розпізнається не чітко, завдяки розходженню її кодування зі стандартами ASCII.

Програма може здійснювати шифровку та розшифровку інформації,яка знаходиться у файлах з розширенням .doc , .txt .

Принцип дії - це зміна коду символу за мировим стандартом завдяки ключу, який має знати лише користувач. Цей числовий ключ і буде зміщенням коду символів. Він не повинен бути кратним 256, тобто він не повинен приймати значення 0, 256, 512 та інші.

Простий і наглядний інтерфейс програми лише полегшує її використання.

ЗМІСТ

Реферат

Варіанти кодування знакогенераторів ПК

Робота з програмою, її інтерфейс

Основні процедури і їх функції

Текст програми

Рисунок 1.1 - Меню програми

Рисунок 1.2 - Файл, який шифрується програмою

Рисунок 1.3 - Шифрування інформації програмою

Рисунок 1.4 - Файл, який містить зашифровану інформацію

Рисунок 1.5 - Розшифровка інформації програмою

Рисунок 1.6 - Файл, який містить розшифровану інформації

Варіанти кодування знакогенераторів ПК

Стандартний знакогенератор ПК ІВМ складається з двох частин: символи з кодами від 0 до 127, утворюючі першу половину символів знакогенератора, будуються за стандартом ASCII і однакові на всіх ІВМ - сумісних ПК. Друга половина символів (коди 128...255) можуть відрізнятись на ПК різного типу. У стандартному знакогенераторі фірми ІВМ символи псевдографіки займають три суміжні області (коди 176...223). Область з кодами від 128 до 175 та від 224 до 239 використовується для розміщення деяких символів національного алфавіту різних європейських мов, а остання (коди 240...255) - для розміщення спеціальних знаків. З розрахунку цього рас положення символів розроблюється подальша множина програм зарубіжного походження.

Стандартний вітчизняний знакогенератор будується на рекомендаціях Міжнародного Консультаційного Комітету По Телеграфії і Телефонії (МККТТ). Розміщення символів у другій половині таблиці цього знакогенератору різко відрізняється від прийнятої фірмою ІВМ, що затрудняє користування зарубіжного програмного забезпечення на вітчизняних ПК. У зв'язку з цим, стандартний (ГОСТовий ) варіант кодування часто замінюється альтернативним, головна риса якого - розміщення символів псевдографіки ні тих же місцях, що й в знакогенераторі ІВМ. Недолік такого знакогенератора міститься у тому, що символи Кирилиці утворюють розривний масив. Саме на цей варіант розраховані всі програми вітчизняного виробництва. Він став фактичним стандартом для зарубіжних фірм, які виготовляють ПК для експорту до нашої країни.

Робота з програмою, її інтерфейс

Для початку роботи з програмою необхідно запустити її, клацнувши два рази лівою кнопкою миші по ярлику KYRSOVIK.BAT . Після цього на екрані монітора з'явиться меню програми (Рисунок 1.1 - Меню програми, с.).

Клавішами “догори” і “донизу” необхідно вибрати дію, яку буде виконувати програма: “Шифровка Информации”, “Расшифровка Информации” або “Выход”.

При виборі “Шифровка Информации” з'явиться запит на параметри, які повинні бути введені (Рисунок 1.3 - Шифрування інформації програмою, с.): файл, інформацію якого буде шифрувати програма (Рисунок 1.2 - Файл, який шифрується програмою, с.), файл, який буде містити шифровану інформацію та код шифрування. Шифрована інформація буде міститись в текстовому файлі (Рисунок 1.4 - Файл, який містить зашифровану інформацію). Після введення цих даних з'явиться заново меню.

При виборі “Расшифровка Информации” з'явиться вікно

(Рисунок 1.5 - Розшифровка інформації програмою, с. ), у якому повинні бути введені файл, інформацію якого потрібно розшифрувати , файл, в який буде поміщена розшифрована інформація (Рисунок 1.6 - Файл, який містить розшифровану інформації) та відповідний код шифрування.

При виборі “Выход” програма завершує свою роботу.

Основні процедури і їх функції

Алгоритм програми складається з роботи двох процедур: процедури шифрування (Zashifr) і дешифрування (Racshifr).

В процедурі Zashifr (сторінки 7, 13) вказується путь розташування (name_otkyda) файла (f), інформацію якого необхідно зашифрувати, та новій файл (f_new) і путь до нього (name_kyda), в який необхідно помістити зашифрований текст .

В строкову змінну (s) заноситься інформація файла, який шифрується, а потім ASCII код кожного символу цієї строкової змінної зміщується в сторону зростання на величину ключа коду (sdvig). Потім в іншу строкову змінну (ss) заносяться всі кодовані символи і ця змінна записується до файлу, який має містити шифрований текст.

В процедурі Racshifr (сторінки 8, 13) навпаки, код строкової змінної (s), в яку було занесено шифровану інформацію, зменшується на величину ключа коду (sdvig). І також інша строкова змінна (ss), яка вже буде містити розшифровану інформацію, поміститься вже у новий файл, який буде містити розкодовану інформацію.

Складання інтерфейсу будується на використанні стандартних модулів CRT і GRAPH середовища компілятора TURBO PASCAL 7.0 .

Стандартне перебування ПК після включення, а також у момент запуску відкомпільованої програми відповідає роботі екрана у текстовому режимі, тому програма ініціалізує графічний режим роботи дисплею адаптера. Після роботи програми ПК вертається в текстовий режим.

Текст програми

Uses CRT,GRAPH;

label a;

var gd,gm,k:integer;

ch:Char;

bool:boolean;

{--------------------------------------}

Procedure Zashifr;

var name_otkyda,name_kyda,s,st,ss:string;

f,f_new:text;

sdvig,i,j:integer;

begin

writeln(' Введите путь к текстовому файлу,');

writeln(' содержимое которого необходимо зашифровать:');

readln(name_otkyda);

assign(f,name_otkyda);

reset(f);

writeln(' Введите путь к текстовому файлу,');

writeln(' содержимое которого будет шифровкой предыдущего:');

readln(name_kyda);

assign(f_new,name_kyda);

rewrite(f_new);

writeln(' Введите сдвиг кода символа:');

readln(sdvig);

writeln(' Результат шифровки данных:');

while not Eof(f) do

begin readln(f,s);

ss:='';

for i:=1 to length(s) do

begin

for j:=0 to 255 do

begin

if j=ord(s[i]) then

begin

st:=CHR(sdvig+j);

ss:=ss+st;

write(st);

end;

end;

end;

writeln;

writeln(f_new,ss);

ss:='';

end;

close(f);

close(f_new);

end;

{--------------------------------------}

Procedure Racshifr;

var name_otkyda,name_kyda,s,st,ss:string;

f,f_new:text;

sdvig,i,j:integer;

begin

writeln(' Введите путь к текстовому файлу,');

writeln(' содержимое которого необходимо расшифровать:');

readln(name_otkyda);

assign(f,name_otkyda);

reset(f);

writeln(' Введите путь к текстовому файлу,');

writeln(' содержимое которого будет расшифровкой предыдущего:');

readln(name_kyda);

assign(f_new,name_kyda);

rewrite(f_new);

writeln(' Введите сдвиг кода символа:');

readln(sdvig);

writeln(' Результат расшифровки данных:');

while not Eof(f) do

begin

readln(f,s);

ss:='';

for i:=1 to length(s) do

begin

for j:=0 to 255 do

begin

if j=ord(s[i]) then

begin

st:=CHR(-sdvig+j);

ss:=ss+st;

write(st);

end;

end;

end;

writeln;

writeln(f_new,ss);

ss:='';

end;

close(f);

close(f_new);

end;

{--------------------------------------}

begin

clrscr;

bool:=false;

gd:=detect;

a: InitGraph(gd,gm,'');

clearDevice;

SetBkColor(9);

Rectangle(200,100,420,150);

SetFillStyle(1,6);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,8);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

Rectangle(200,300,420,350);

SetFillStyle(1,8);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

k:=3;

repeat ch:=readkey;

case ch of

#72:begin

k:=k+1;

if k=4 then k:=1;

case k of

3:begin

Rectangle(200,100,420,150);

SetFillStyle(1,6);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,8);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

Rectangle(200,300,420,350);

SetFillStyle(1,8);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

2:begin

Rectangle(200,100,420,150);

SetFillStyle(1,8);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,6);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

SetFillStyle(1,8);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

1:begin

Rectangle(200,100,420,150);

SetFillStyle(1,8);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,8);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

SetFillStyle(1,6);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

end;

end;

#80:begin

k:=k-1;

if k=0 then k:=3;

case k of

3:begin

Rectangle(200,100,420,150);

SetFillStyle(1,6);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,8);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

Rectangle(200,300,420,350);

SetFillStyle(1,8);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

2:begin

Rectangle(200,100,420,150);

SetFillStyle(1,8);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,6);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

SetFillStyle(1,8);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

1:begin

Rectangle(200,100,420,150);

SetFillStyle(1,8);

FloodFill(220,120,White);

OutTextXY(235,125,'Шифровка Информации');

Rectangle(200,200,420,250);

SetFillStyle(1,8);

FloodFill(220,220,White);

OutTextXY(225,225,'Расшифровка Информации');

SetFillStyle(1,6);

FloodFill(220,320,White);

OutTextXY(280,325,' Выход');

end;

end;

end;

#13:begin

case k of

3:begin

ClearDevice;

CloseGraph;

Zashifr;

readln;

goto a;

end;

2:begin

ClearDevice;

CloseGraph;

RacShifr;

readln;

goto a;

end;

1:begin

ClearDevice;

CloseGraph;

bool:=true;

end;

end;

end;

end;

until bool;

end.

ІЛЮСТРАЦІЇ

Рисунок 1.1 - Меню програми

Рисунок 1.2 - Файл, який шифрується програмою

Рисунок 1.3 - Шифрування інформації програмою

Рисунок 1.4 - Файл, який містить зашифровану інформацію

Рисунок 1.5 - Розшифровка інформації програмою

Рисунок 1.6 - Файл, який містить розшифровану інформації


Подобные документы

  • Відновлення вхідного сигналу, який заданий графо-аналітично за способом розкладання на гармоніки методом Фур'є. Збереження даних спектрального аналізу у типізованих дискових файлах. Побудова таблиці символьних імен та лістинг програми мовою Turbo Pascal.

    курсовая работа [910,1 K], добавлен 31.10.2013

  • Створення довідкової системи по зменшенню витрат часу на здобуття інформації по кримінальному праву. Розробка алгоритму основної програми на мові програмування Turbo Pascal з підключенням модуля СRT, якій відповідає за графіку і DOS та працює з файлами.

    курсовая работа [20,8 K], добавлен 07.10.2010

  • Алгоритмічна мова програмування універсального призначення Turbo Pascal. Розробка і створення програми для гри "Шибениця". Алгоритм функціонування программи, блок-схема алгоритму. Використання додаткових модулів Graph та Crt у процессі створення програми.

    курсовая работа [2,0 M], добавлен 23.06.2010

  • Розробка програми реєстрації автомобілів для збереження та перегляду інформації про модель машини, рік її випуску, об'єм двигуна і витрати палива. Складання алгоритмів розв'язання поставленої задачі та написання тексту програми в середовищі Turbo Pascal.

    курсовая работа [29,7 K], добавлен 13.10.2010

  • Закон заломлення світла, опис та обґрунтування його математичної моделі. Зображення за допомогою комп’ютерного моделювання з мовою програмування Turbo Pascal кута заломлення променя в оптичному середовищі, яке складається з n-анізотропних шарів.

    курсовая работа [32,2 K], добавлен 12.12.2010

  • Розробка і описання програми перевірки гіпотези про розподіл Пуассона емпіричного ряду за допомогою критерію Пірсона. Розробка програми мовою Паскаль (середовище Turbo Pascal 6.0.). Програма розроблена із застосуванням методики процедурного програмування.

    курсовая работа [51,0 K], добавлен 23.04.2010

  • Розробка програми для вирішення графічної задачі. При вирішенні задачі необхідно cтворювати програму у середовищі програмування Turbo Pascal. Розробка алгоритму функціонування програми і надання блок-схеми алгоритму. Демонстрація роботи програми.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Створення програми "Шаховий кінь" в системі програмування Turbo Pascal. Генерування відповідно до заданих початкових кординат маршруту руху коня. Алгоритм задачі: початок, виведення зображення та пошук. Реалізація програми та демонтрація її роботи.

    курсовая работа [1,3 M], добавлен 23.06.2010

  • Використання мови програмування Turbo Pascal, алгоритмів та графічних примітивів модуля Graph. Розробка та реалізація програми для сортування вагонів з довільного порядку в порядок через один. Присвоєння початкових значень та сортувальний алгоритм.

    курсовая работа [1,2 M], добавлен 23.06.2010

  • Розробка програми для розв’язування економічних задач. Описання програми для отримання відомості відвантаження готової продукції. Вибір алгоритмічної мови Turbo Pascal 6.0. Програма розроблена із застосуванням методики процедурного програмування.

    курсовая работа [38,2 K], добавлен 23.04.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.