
- •Практикалық ж±мыс №1
- •Ќарапайым алмастырып ќою шифры
- •Практикалық ж±мыс №2 т¦раќты периодты транспозиция шифры
- •Практикалық ж±мыс №3 виженер шифрыныњ жєне оныњ н¦сќалары
- •Практикалық ж±мыс №4
- •Практикалық ж±мыс №5 матрицалыќ ж‡йелер
- •Практикалық ж±мыс №6 шифратор және керішифратор жұмысын қарастыру
- •Мазмұны
- •Жулдыз Кенесхановна Алимсеитова аќпаратты ќорѓаудыњ теориялыќ негіздері
ЌАЗАЌСТАН РЕСПУБЛИКАСЫНЫЊ БІЛІМ ЖЄНЕ ЃЫЛЫМ МИНИСТРЛІГІ
Ќ.И.Сєтбаев атындаѓы Ќазаќ ±лттыќ техникалыќ университеті
Аќпараттыќ технологиялар институты
Есептеу техникасы кафедрасы
Ж.К. Алимсеитова
АЌПАРАТТЫ ЌОРЃАУДЫЊ ТЕОРИЯЛЫЌ НЕГІЗДЕРІ
Практикалық сабаќтарѓа арналѓан єдістемелік н±сќау
(3700 мамандыѓы студенттеріне арналѓан)
Алматы 2005
УДК 621.377
Ќ¦РАСТЫРҒАНДАР: Алимсеитова Ж.К. Аќпаратты ќорѓаудыњ теориялыќ негіздері. Практикалық сабаќтарѓа арналѓан єдістемелік н±сќау (3700 мамандыѓы студенттеріне арналѓан).
Алматы: Ќаз¦ТУ, 2005,с.1-19.
Єдістемелік н±сќау мамандар талабына сай, «Аќпаратты ќорѓаудыњ теориялыќ негіздері» пєнініњ жұмыс және типтік бағдарламасы негізінде құрастырылған. Оның құрамында шифрлар туралы теориялық материалдар келтірілген, мысал ретинде шифрлардың бағдарламалары келтірген.
Єдістемелік н±сќау «Аќпараттыќ технологиялар» институтыныњ 3700 мамандыќтары студенттеріне арналѓан. Б±л єдістемелік н±сќауды басќа мамандыќ студенттері де ќолдана алады.
4-кесте, әдебиет тізімі – 5 атау.
Пікір беруші – т.ѓ.к., доцент Б.И. Ж±маѓалиев
Қазақстан Республикасы Білім және ғылым міністрлігінің 2005 жылғы баспаға ұсыну жоспары бойынша басылады.
© Ќаз¦ТУ, 2005
КІРІСПЕ
Аќпарат ќорѓау єдістерініњ даму ‰рдісі жаќын арадаѓы жылдарда криптография жєне стеганография єдістерініњ дамуына кµбірек назар аударылатынын кµрсетеді. Аќпараттыќ технологиялардыњ ќарќынды дамуы осы жања єдістердіњ ж‰зеге асырылуын ќамтамасыз етеді. Internet ж‰йесініњ тез дамуы, сондай-аќ Internet ж‰йесіндегі авторлыќ ќ±ќыќты ќорѓау, электрондыќ поштаны жєне сауданы ±йымдастыру, хакерлердіњ зањѓа ќайшылыќ іс-єрекеттері, т. б. осылар сияќты шешілмеген ќайшы проблемалар криптография жєне стеганография єдістерініњ даму процесіне µз ыќпалын тигізіп отыр.
Ќазіргі уаќытта аќпарат ќорѓау саласында криптологиялыќ єдістерді енгізу ‰рдісі басым. Біраќ компьютерлік стеганография жєне криптография єдістерін кешенді т‰рде ќолдану деректер ќорѓаудыњ болашаѓы зор баѓыты болып табылады. Б±л жол (баѓыт) аќпарат ќорѓаудыњ белгілі єдістерініњ єлсіз жаќтарын жоюѓа жєне аќпараттыќ ќауіпсіздікті ќамтамасыз етудіњ тиімдірек єдістерін єзірлеуге м‰мкіндік береді.
Ќазіргі замандаѓы криптография тµрт ірі бµлімнен т±рады: симметриялыќ криптож‰йелер, ашыќ кілтті криптож‰йелер, электрондыќ ќолтањба ж‰йелері жєне кілттерді басќару.
Криптографиялыќ єдістерді ќолданудыњ негізгі баѓыттары мыналар: жасырын аќпаратты байланыс арналары (мысалы, электрондыќ пошта) арќылы тасымалдау, жіберілген хабарлардыњ т‰пн±сќалыѓын аныќтау, аќпаратты (ќ±жаттарды, дерекќорларды) шифрланѓан т‰рде тасуыштарда саќтау.
Аќпаратты кодалау ‰шін пайдаланылатын тањбалардыњ шектеулі жиынтыѓы єліпби (алфавит, alphabet) деп аталады. Жалпы т‰рде кез келген єліпбиді былай кµрсетуге болады: å={a0, a1, a2, ..., am-1}.
Белгілі бір ереже бойынша (єліпбидегі єріптерді біріктіру арќылы жања єліпби ќ±руѓа болады:
- (a0a0, a0,a1, ..., am-1am-1) m2 биграммалары бар å2 єліпбиі;
- (a0a0a0, a0a0a1, ..., am-1am-1am-1) m3 ‰шграммалары бар å3 єліпбиі.
Жалпы жаѓдайда, n єріптері бойынша біріктірсек, онда mn n-граммалары бар ån єліпбиі шыѓады.
Мєселен: å={ABCDEFGH ... WXYZ} аѓылшын єліпбиіндегі m=26 єріптерді біріктіру арќылы
262=676 (AA, AB, ..., XZ, ZZ) биграммалары бар єліпби;
263=17576 (AAA, AAB, ..., ZZX, ZZZ) ‰шграммалары бар єліпби.
Криптографиялыќ т‰рлендіруді орындау кезінде єліпби єріптерін б‰тін сандарѓа 0, 1, 2, 3, ... ауыстыруѓа пайдалы. Мысалы:
ќазаќ єліпбиі åќаз={АЄБВГЃДЕ ... ЮЯ},
{0, 1, 2, …, 41};
орыс єліпбиі åорыс={АБВГДЕ ... ЮЯ},
{0, 1, 2, …, 30};
аѓылшын єліпбиі åаѓыл.={ABCDEF ... YZ},
{0, 1, …, 25}.
2-кесте – Ќазаќ тілініњ метаалфавиті (цифрлар жєне тыныс белгілері ескерілген єліпбиі) |
|
|||||||||||||||||||||||||||||||
А |
Є |
Б |
В |
Г |
Ѓ |
Д |
Е |
Ё |
Ж |
З |
И |
Й |
К |
Ќ |
Л |
М |
Н |
Њ |
О |
¤ |
П |
Р |
С |
Т |
У |
¦ |
‡ |
Ф |
Х |
ћ |
Ц |
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
|
Ч |
Ш |
Щ |
Ъ |
Ы |
І |
Ь |
Э |
Ю |
Я |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
“ |
” |
. |
, |
? |
! |
( |
) |
; |
: |
- |
|
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
Симметриялыќ криптож‰йеде шифрлау жєне кері шифрлау ‰шін бір кілт пайдаланылады (шифрлау кілтін білу шифрды ашу кілтін білуге м‰мкіндік береді).
Ауыстыру шифрлары Шифрлау кезінде ашыќ мєтінніњ символдары (ауыстырудыњ алдын ала ќойылѓан ережесіне сєйкес) сол немесе басќа алфавиттіњ символдарымен ауыстырылады. М±ндай шифрлардыњ ќарапайым жєне к‰рделі т‰рлері болады.
Ќарапайым ауыстыру шифрында бастапќы мєтінніњ єрбір символы мєтінніњ соњына дейін сол алфавиттіњ бірдей символдарымен ауыстырылады (біралфавиттік ауыстыру шифрлары деп те аталады). Ќарапайым ауыстыру шифрларыныњ мысалдары: Полибий квадраты, Цезарь шифры, Трисемус шифры, Кардано торы, Плейфер шифры, т.б.
Практикалық ж±мыс №1
Ќарапайым алмастырып ќою шифры
Ж±мыс маќсаты: ќарапайым алмастыру шифрыныњ ж±мысын ќарастыру.
Алфавиттіњ
астына араласќан алфавит жазылады.
Араласќан алфавит кілт болады. М хабарыныњ
Е криптограммасына
формуласы арќылы ауысады.
Мысалы:
А |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
Y |
X |
Z |
X |
G |
U |
A |
C |
D |
T |
B |
F |
H |
R |
S |
L |
M |
Q |
V |
Y |
Z |
W |
I |
E |
J |
O |
K |
N |
P |
COMET деген хабардыњ орнына UQLCI криптограмма келеді.
Полибий шифры. Полибий квадраты қарапайым ауыстырудың алғашқы шифрларының бірі болып есептеледі. 5х5 квадраттың әрбір орнына кездейсоқ түрде алынған бір әріп жазылады (9-сурет). Грек алфавитінің әріптерімен толтырғанда бір орын бос қалған, ал латын алфавитінің әріптерімен толтырғанда бір орынға екі әріп (і және j) жазылған.
Полибий квадраты көмегімен шифрлау кезінде ашық мәтіннің кезекті әрпінің орнына сол бағанда одан төмен орналасқан әріп шифрмәтінге жазылады. Егер ашық мәтіннің әрпі кестенің төменгі қатарында болса, онда шифрмәтін үшін осы бағанның ең жоғарғы әрпі алынады. Мысалы, y a n r o s сөзі үшін c j d m t x шифрмәтіні шығады. Егер әрбір әріпті екі цифрмен (қатардың және бағанның нөмірі арқылы) белгілесек, онда бастапқы мәтін мынадай 41 44 13 21 25 24 сандар тізбегімен шифрланады.
Трисемустың шифрлайтын кестесі. Осындай ауыстыру шифрын алу үшін әдетте әліпбидің әріптері мен кілттік сөз (немесе сөздер тіркестігі) жазбасына арналған кесте қолданылған. Кестеге алдымен кілттік сөз жазылып, қайталанатын әріптері алынып тасталады. Содан кейін бұл кесте алфавиттің кілтке кірмей қалған әріптермен реттелген түрде толықтырылады.
Қазақ әліпбиі үшін шифрлайтын кестенің өлшемі 6х7 болады. Кілт ретінде БҮРКІТ сөзін алайық. Осындай кілтпен шифрлайтын кесте 11-суретте көрсетілген. Шифрлау кезінде Полибий квадратындағы сияқты осы кестеден ашық мәтіннің кезекті әрпін тауып, одан төменгі бағанда орналасқан әріпті шифрмәтінге жазады. Егер бастапқы мәтіннің әрпі кестесінің төменгі қатарында болса, онда шифрмәтін үшін сол бағандағы ең жоғарғы әріп алынады.
кілт - БҮРКІТ
-
Б
Ү
Р
К
І
Т
А
Ә
В
Г
Ғ
Д
Е
Ж
З
И
Й
Қ
Л
М
Н
Ң
О
Ө
П
С
У
Ұ
Ф
Х
Ч
Ц
Ш
Щ
І
Ъ
Ы
Ь
Э
Ю
Я
Бастпқы мәтін – А Қ П А Р А Т Т Ы Қ О Р Ғ А У
Криптограмма – Ж ПЦ ЖГЖ Е Е Ү АП Х Г ҚЖЩ
Мұндай кестелік шифрларда шифрлау бір әріп бойынша орындалатындықтан олар монограммалы шифрлар деп аталады. Трисемус шифрлайтын кестелердің екі әріптері бойынша шифрлауға болатынын байқаған. Мұндай шифрлар биграммалы деп аталады.
Ќарапайым ауыстыруѓа мысал ретінде берілген программа листингі:
program al;
uses crt;
const
n=7;
var
a:array[1..n,1..n]of char;
alf,b:string;
k,i,j,d:integer;
begin
clrscr;
alf:='qwertyuiopasdfghjklzxcvbnm0123456789 !@#$%^&*()_+';
for i:=1 to n do
begin
for j:=1 to n do
a[i,j]:=alf[j+(i-1)*n];
end;
Writeln('kod alfavita v matrice');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:2);
writeln;
end;
writeln('VVEDITE TEXT');
read(b);
k:=1;
d:=length(b);
repeat
begin
for i:=1 to n do
for j:=1 to n do
if b[k]=a[i,j] then
write(' ',i,j);
end;
k:=k+1;
Until k>d;
end.
Тапсырмалар
Теориялық материалды оқу.
Берілген шифрмен мәтінді шифрлау және керішифрлау.
Берілген программа листигі бойынша блокті сұлбасын сызу.
Шифрдың тұрақтылығына баға беру.