- •Мета I завдання курсової роботи
- •1. Тематика курсових робіт
- •1.1. Вибір теми курсової роботи
- •1.2. Приклади тем курсових робіт
- •4.1. Основні етапи виконання курсової роботи
- •2. Вимоги до курсової роботи
- •2.1. Оформлення курсової роботи
- •2.2. Вимоги до розробки програми
- •З. Захист курсової роботи
- •4. Приклад типової курсової роботи
- •Розробка і опис алгоритму розв’язання задачі.
- •Кафедра прикладної математики Курсова робота
- •1. Шифрування - метод захисту інформації
- •2. Класифікація алгоритмів шифрування
- •2.1 Класифікація алгоритмів
- •2.2. Симетричні потокові алгоритми шифрування
- •2.3. Симетричні, блокові алгоритми шифрування
- •2.4. Асиметричні алгоритми шифрування
- •3. Реалізація алгоритмів шифрування
- •4. Текст програми
- •5. Інструкція користувача
- •6. Тестовий приклад
- •Висновки
- •Література
- •Література
5. Інструкція користувача
Рис. 1. Рис. 2.
При запуску програми CrypText.exe на екран відразу ж виводиться заставка із запрошенням натиснути клавішу для продовження (Рис. 1.).
При натисненні на відповідну кнопку з’являється головне вікно додатку (Рис.2.). Далі для продовження роботи з програмою шифрування\дешифруванння текстової інформації користувач може: сам набрати текст, вставити текст із буфера обміну, відкрити файл із уже набраним текстом. Наступним кроком буде вибір алгоритму за яким буде здійснюватися шифрування інформації. Як видно із рис. 2., таких алгоритмів є 4:
Алгоритм Цезаря
Перестановка
Гамування
XOR
Після вибору алгоритму користувач натикає на клавішу “Шифрувати”: програма виконує переведення вихідного тексту у зашифрований. Аналогічно виконуються дії і для розшифрування закодованого тексту. Також є можливість зберегти зашифрований (розшифрований) текст у тому ж самому файлі або
17
створити новий. Для полегшення всіх операцій всі вони винесені на панель швидкого доступу.
6. Тестовий приклад
В якості прикладу розглянемо результати застосування різних алгоритмів для шифрування наступного тексту програми:
Program SAT;
uses crt;
var i,j,n:integer;
C:char;
Procedure Ansciicode;
Begin
for i:=0 to 256 do begin
c:=chr(i); Write(i:3,'---',c:3,' ');
if i=100 then readkey;
end;
end;
Begin
Clrscr;
write(#7);
Ansciicode;
write(#7);
readkey;
End.
Після шифрування симетричним алгоритмом XOR-шифрування маємо наступний текст:
b@]U@S_asf
GAWAQ@F
DS@[‑X‑\ [\FWUW@
q QZS@
b@]QWVG@Ws\AQ[[Q]VW
pWU[\
T]@[ ¤F]
Q ¤QZ@[ e@[FW[ ‑§§‑Q ‑§§
[T[¤FZW\@WSVYWK
W\V
W\V
pWU[\
18
q^@AQ@
E@[FW
s\AQ[[Q]VW
E@[FW
@WSVYWK
w\V
Після застосування симетричного алгоритму гамування, маємо
yІЁYW.ZryлЌ
\іўM1
_Ўµ‑LP)VOЦШi‘\—k‹
аз‑fF @J„
yІЁ]@6 DюШn—R›zЯУK.
аз|@*µ
аЎQW\*@ џВrФ
аз‑\cЬЮoЬRЫ"ђа\|VBxњЉ*ЙП.ЊД$6pz&1¤
аз‑\cGЦ‹,Д ТmШТ@5‑V uCКЯ6
аз‑\cZ џ–=ФТ9ђ—5L¤L”
аз[Kx
‚ўYL
а„RW¤
а°LL &R¤–Ќ
а†PV*BWЫУ&
а°LL &R¤–Ќ
аµ[D(X
…©Z
Порівнявши зашифровані тексти можна сказати, що алгоритм гамування більш криптостійкий (у даній програмі XOR-шифрування виконане для кожного символу кодової таблиці окремо, а гамування – зашифровує цілий рядок). Ця стійкість пояснюється досить просто: перший символ зашифровується за вказаним ключем, а інші зашифровуються вже зміненим ключем.
Розглянемо також простий алгоритм перестановки. Отримаємо
g ;rAoTmaSrP
ste;c rsu
19
,neajt;,eriirgv:n
h :;c Cra
crnieoecdeAodirc usP;
Bne ig
o:t5og io ef06i 2n b r = d
ch)r(,-: c;t3',; (i'c): :3 i-'r- i=', eW
i= nay f0ed 0r; heie kt1
e ; d n
e dn;
gB eni
lrC;src
r(;i7w)et#
nieAc i do;cs
r(;i7w)et#
ee kr;y da
dn.E
Після застосування алгоритму Цезаря дістанемо
Rtqitco"UCV=
wugu"etv=
xct"k.l.p<kpvgigt=
""""E<ejct=
Rtqegfwtg"Cpuekkeqfg=
"""Dgikp
""hqt"k<?2"vq"478"fq"dgikp
"""""""e<?ejt*k+="Ytkvg*k<5.)///).e<5.)")+=
"""""""kh"k?322"vjgp"tgcfmg{=
"""""""""""""""""""""""gpf=
"""gpf=
"Dgikp
""Entuet=
""ytkvg*%9+=
""Cpuekkeqfg=
""ytkvg*%9+=
""tgcfmg{=
"Gpf0
20
Усі алгоритми використані в даній курсовій роботі мають дуже низьку криптостійкість порівняно з сучасними алгоритмами такими як: RSA, DES, ДСТ 28147-89 і багато інших. Для збільшення їхньої криптостійкості рекомендовано користуватися алгоритмами стиснення інформації перед власне зашифровуванням.
