АҚПАРАТТЫҚ ҚАУІПСІЗДІК НЕГІЗДЕРІ

Коммерциялық емес акционерлік қоғам

АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТЕТІ

Компьютерлік технологиялар кафедрасы

 

 

АҚПАРАТТЫҚ ҚАУІПСІЗДІК НЕГІЗДЕРІ

5В070400 – «Есептеу техникасы және бағдарламалық қамтамасыз ету» мамандығының студенттері үшін зертханалық жұмыстарды
орындауға арналған әдістемелік нұсқаулар
1 бөлім

 

Алматы 2013

 

ҚҰРАСТЫРУШЫЛАР: Б.М. Шайхин, А.Р. Оразаева, Г.С. Ыбытаева, М.А. Жумартов. Ақпараттық қауіпсіздік негіздері. 5В070400 – «Есептеу техникасы және бағдарламалық қамтамасыз ету» мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған әдістемелік нұсқаулар. 1 бөлім. – Алматы: АЭжБУ, 2013. – 43 б.

 

Әдістемелік нұсқаулар «Ақпараттық қауіпсіздік негіздері» пәні бойынша компьютерлік сыныптарда зертханалық жұмыстарды орындауға арналған. Әрбір зертханалық жұмыс үшін қысқаша әдістемелік нұсқаулар және жеке орындауға арналған жаттығулар берілген.

Зертханалық жұмысты орындаудан бұрын студент әдістемелік нұсқаулармен танысып, осыған байланысты материалдарды оқып және бақылау сұрақтарына жауап беруі тиіс. Зертханалық жұмысты орындағаннан кейін студент оқытушыға электронды түрде әрі жазбаша есеп беруі тиіс.

Әдістемелік нұсқаулар 5В070400 – «Есептеу техникасы және бағдарламалық қамтамасыз ету» мамандығының студенттері үшін зертханалық жұмыстарды орындауға арналған.

Сурет 21, кесте 11, әдеб. көрсет. – 2 атау.

 

Пікір беруші: аға оқытушы Елеукулов Е.О.

 

          «Алматы энергетика және байланыс университеті» коммерциялық емес акционерлік қоғамының 2013 ж. қосымша жоспары бойынша басылады.

 

© «Алматы энергетика және байланыс университеті» КЕАҚ, 2013 ж.

 

Мазмұны

 

Кіріспе

4

1 Зертханалық жұмыс №1. Мәтіндік ақпаратты қорғау үшiн қойылым орын алмастырудың классикалық криптоалгоритмдерінің қолданылуы

6

2 Зертханалық жұмыс №2. Мәтiндiк ақпаратты қорғаудың әр түрлi әдiстерi және кілттер таңдау незіндегі олардың табандылығын зерттеу

12

3 Зертханалық жұмыс №3. «Энигма» шифрлейтін машинасының құрылымы мен жұмыс принципін зерттеу

17

4 Зертханалық жұмыс №4. AES Rijndael-дiң симметриялық шифрлеуінің стандарты

26

5 Зертханалық жұмыс №5. Шифрлеудің асимметриялық жүйелерінде қолданылатын қарапайым сандарды генерациялау

36

6 Зертханалық жұмыс №6. Электронды цифрлік қолтаңба

39

Әдебиеттер тізімі

44

 

Кіріспе

Ақпараттық қауіпсіздік – бұл қазіргі қоғам соқтығысатын басты мәселелердің бірі. Бұл мәселенің туындауы ақпаратты жинау, өңдеу және берудің автоматтандырылған құралдарын кең ауқымды пайдалану болып табылады. Ақпараттық қауіпсіздік мәселелерін шешу оның үш басты құрамаларын: қолжетімді, бүтінділік және құпиялылықпен кепілді қамтамасыз етумен байланысты.

Берілген жұмыс кешенді орындаушы модульдерімен бірге зертханалық жұмыстардың 6 әдістемелік сипаттамаларынан тұрады.

Бiрiншi бөлiмге мынандай зертханалық тапсырмалар қосылған: классикалық симметриялық алгоритмдерді пайдаланатын шифрлеу әдiстері бойынша; кiлттердi таңдап алу негiзінде олардың табандылығы мен мәтiндiк ақпаратты қорғаудың әр түрлi әдiстерін зерттеу; программалық эмуляторды қолданумен «Энигма» шифрлейтін машинаның әсерiнiң құрылымы мен принциптерін оқыту; AES Rijndael-дiң симметриялық шифрлаудың қазіргі стандарттарын оқыту; асимметриялық шифрлеу жүйесі үшін қарапайым сандарды генерациялау процесін оқыту; электронды цифрлік қолтаңба қойылымы мен верификациясы процесі.

Бірінші бөлімнің зертханалық жұмыстарын орындау кезінде келесі сұрақтарды қарастыру болжанған.

Моноалфавитті қойылым, көпалфавитті қойылымның классикалық криптографиялық алгоритмдерін және мәтіндік ақпаратты қорғау үшін орын ауыстыруды оқыту. Классикалық шифрлер криптоанализі үшін мәтінде символдардың кездесу жиіліктерін көрсететін гистограммаларды пайдалану (зертханалық жұмыс №1).

Шифрлеу/дешифрлеу әдістерін символдарды  орын ауыстыру, гаммалау, Виженер кестесін пайдаланумен қарастыру. Барлық мүмкін кілттерді таңдау жолымен шабуыл негізінде әртүрлі әдістердің тұрақтылығын зерттеу  және салыстыру (зертханалық жұмыс №2).

«Энигма» шифрлеу машинасында қолданылатын ақпаратты шифрлеу/дешифрлеу принциптерін оқыту. Enigma3S эмуляторы мысалында «Энигма» шифрлеу машинасы әрекетінің жалпы принциптерімен танысу (зертханалық жұмыс №3).

AES Rijndael симметриялық шифрлеу алгоритмінде қолданылатын шифрлеу принциптерімен танысу (зертханалық жұмыс №4).

Ашық кілтпен шифрлеу жүйесінде қолданылатын қарапайым сандарды генерациялау әдістерін қарастыру  (зертханалық жұмыс №5).

Қазақстанда ЭЦҚ негізгі ережелерімен танысу. Телекоммуникациялық желілерде қорғалған электронды құжатайналым принциптерімен және электронды цифрлік қолтаңба қойылымы алгоритмімен танысу (зертханалық жұмыс №6).

Зертханалық жұмыс құрамына жұмыс тапсырмасын орындау мен оның есебін дайындау және қорғау кіреді.

Әрбір зертханалық жұмысты орындаудан кейін оның есебін жасау керек. Оның құрамында келесілер болуы міндетті:

1)      Жұмыстың мақсаты мен тапсырмасы.

2)      Теориялық дайындықтың қысқаша қорытындысы.

3)      Атқарылған жұмыстың нәтижелері.

4)      Жұмыстың қорытындысы және пайдаланылған әдебиеттер тізімі.

Орындалған жұмыс пен дайындалған есеп оқытушының алдында қорғалады.

Есепті электронды түрде өткізуге болады.

 

1 Зертханалық жұмыс №1. Мәтіндік ақпаратты қорғау үшін қойылым және орын алмастырудың классикалық криптоалгоритмдерінің қолданылуы

 

Жұмыстың мақсаты: мәтiндiк ақпаратты қорғау үшiн моноалфавитті қойылым, көпалфавитті қойылым және орын алмастырудың классикалық криптографиялық алгоритмдерін зерттеу. Классикалық шифрлердің криптоанализі үшін мәтіндегі символдардың кездесу жиілігін көрсететін гистограммаларды қолдану.

 

Зертханалық жұмыс сипаттамасы. Зертханалық жұмыстың орындалуы үшiн L_LUX.EXЕ бағдарламасын iске қосу керек. Дисплей экранында мәтіндік редактор (шифрленген және дешифрленген мәтіндерді көрсету үшін) орналасқан терезе пайда болады. Терезенің жоғарғы жағында қолданушыға керекті әрекеттерді орындауға мүмкіндік беретін  негізгі мәзір орналасқан. Негiзгi мәзiрдің төменгі жағында (басқарудың тез орындалатын элементтерi мен  тез командалық батырмаларының басқаруы үшiн) құралдар тақтасы орналасқан, терезенiң ең төменгi жағында мәтiндiк редактордың астында анықтамалар және қосымша мәлiметтер берілетін қалып күй жолы орналасқан. Құралдар тақтасының пернелері ыңғайлылық үшін қалқып шығатын анықтамалармен жабдықталған.

Негізгі мәзiрге өту үшін  F10 пернесiн басу керек. Бас мәзiр бойынша орын алмастыру меңзегiштiң орын алмастырудың пернелерiмен iске асады. Мәзір пунктін шақыру үшін ENTER пернесін басу қажет. Бас мәзiрге қайтып келу немесе одан шығу үшін ESC-ті басады.

Бас мәзiрiнiң әрбiр пунктін толығырақ қарап шығайық.

Редактор. Негiзгi мәзiрдiң осы пункті қосымша пунктерден тұрады: құжатты құру, файлды ашу, файлды сақтау, бағдарламадан шығу.

Бағдарлама іске қосылғаннан кейін бірден мәтiндiк редактор жұмыс істемейді, сонымен қатар бас мәзірдің барлық пунктері іске қосылмайды,  тек құжат құру, файлды ашу, бағдарламадан шығу, бағдарлама жайлы мәлімет қана қолжетімді болады.

Құжат жасау (Ctrl+N) – осы пункті таңдау арқылы біз мәтіндік редактормен жұмыс істеу мүмкіндігіне ие боламыз (пайдаланушы бағдарламамен ары қарай жұмыс істегенде қолдануға болатын өзінің мәтіндік файлын жасау құқығына ие болады), сонымен қатар басқару панелінің пернелерімен бас мәзірдің осы уақытқа дейін қолжетімсіз болған пунктерін қолдануға болады.

Файлды ашу (Ctrl+L) – осы пункті таңдағанда жүктеуге арналған файлды таңдау мүмкiндігін беретін диалогтiк терезе пайда болады. Сонымен қоса мәтіндік редактор терезесінде файлдың ішіндегі мәліметтер көрінеді.

Файлды сақтау (Ctrl+S) – осы пункті таңдау арқылы мәтiндiк редактордың құрамындағы мәліметтерді дискте сақтауға мүмкiндiк беретiн диалогтiк терезе ашылады.

Бағдарламадан шығу (Ctrl+X) – бұл пункті таңдағанда бағдарламадан шығуға мүмкiндiк беретiн диалогтiк терезе ашылады.

Гистограмма. Мәтiндегi символдардың кездесу жиiлiгін көрсететiн екi гистограмманың экранда пайда болуы.

Назар аударыңыз! Шифрлеу мен дешифрлеуге дейін гистограмманы шақырудың ешқандай мәні жоқ, себебі гистограммалары қарастыратын мәтіндер әлі құралып болмаған.

Гистограммалардың келесi тiркестерiн көру мүмкiндiгі бар:

1)      бастапқы және шифрленген файл;

2)      шифрленген және шифрлеуі шешiлген файл;

3)      тұрақты үлестiрiлу және шифрленген мәтiн;

4)      тұрақты үлестiрiлу және шифрлеуі шешiлген мәтiн.

Гистограммаларға масштабтау жүргізу үшін тышқанның сол және оң батырмалары қолданылады. Мысалы, қолданушы үлкен көлемді мәтiннiң шифрленуінен кейiн бастапқы және шифрленген файлдың гистограммасын қөргісі келедi. Мәтiннiң өлшемдерi үлкен болғандықтан экранда көп бағаналары бар екі гистограмма пайда болады (бағана мәтiннің бiр символына сәйкес келедi), бірақ қай символға қай бағананың сәйкес келетіндігін және сол сиволдардың кездесу жиілігін дәл айту қиынға соғады. Сондықтан қолданушының нақты символдың кездесу жиiлiгiн дәл анықтау үшін екi гистограмманың кез келгенінің масштабын үлкейту мүмкiндiгi бар. Ол үшін тышқанның нұсқағышын гистограмманың үлкейтілуі қажет бөлігінің сол жақ шекарасына алып келеміз, сосын осы кезде тышқанның сол жақ пернесін жібермей басып тұрып, гистограмманың осы бөлігінің оң шекарасымен төменгі оң жақ бұрышы сәйкес келетіндей етіп төртбұрышты фигураны шығарамыз, сосын тышқанның сол пернесін басуды тоқтатамыз, осыдан кейін экранда осы бөліктің үлкейтілген көрінісі шығады. Үлкейтілген масштабтағы берілген аймақты анықтау мақсатында тышқанның оң пернесін басып жібермей тұру арқылы гистограмманы ары-бері қозғалтуға болады.

Үлкейтілген масштабтан гистограмманы бастапқы түріне келтіру үшін тышқанның нұсқағышын гистограммаға алып келу керек, сосын тышқанның сол пернесін жібермей басып тұрып, төменнен жоғары қарай қатты үлкен болмайтын төртбұрышты созу керек, осыдан тышқанның сол пернесін басуды тоқтатамыз, сонда осыдан кейін экранда гистограмманың бастапқы көрінісі пайда болады.

Шифрлеу. Мәтiндiк файлдың шифрлеуін орындау зертханалық жұмыста  қаралатын жетi әдiстердiң біреуі арқылы iске асады:

1)      біралфавитті (бекiтiлген жылжуымен);

2)      берiлген жылжуымен бiралфавитті (2-ден 20-ға дейін);

3)      сиволдардың орын ауыстыруы;

4)      қосымша бойынша 255-ке дейiн (инверсті);

5)      көпалфавитті (бекiтiлген кiлтпен);

6)      бекiтiлген ұзындықтағы кiлті бар көпалфавитті;

7)      кез келген ұзындықтағы кiлті бар көпалфавитті.

Шифрлеудің әдiсін таңдау тышқанмен де, мегзегiштi орын алмастыру пернелерімен де, ENTER пернесiмен де жүзеге асырылады. Содан соң шифрлеу тәсіліне байланысты керекті параметрлерін нұсқап көрсету қажет болатын немесе кодтау процесін растау керек болатын, не болмаса одан бас тартуға болатын терезе пайда болады. Осыдан кейiн редактор терезесiнде шифрленген мәтiн көрсетіледі.

Дешифрлеу. Алдыңғы пунктегідей дешифрлеу тәсілі таңдалады (файл шифрленген әдiске сәйкес келуi керек). Содан соң тағы да дешифрлеу тәсіліне байланысты керекті параметрлерін нұсқап көрсету қажет болатын немесе кодтау процесін растау керек болатын не болмаса одан бас тартуға болатын терезе пайда болады. Осыдан кейiн редактор терезесiнде шифрден шешілген мәтiн көрсетіледі. Дұрыс шифрден шешілген жағдайда мәтін бастапқы түріне сәйкес келетін болады.

Қосымша ақпарат. Бағдарлама қосымша мәлiметтi қарау (Ctrl+F9  көмегi арқылы) шифрлеуде қолданылатын әдiстерi жайлы анықтама мәлiмет алу (Ctrl+F10 әдісі арқылы), бағдарлама туралы мәліметтерден хабардар болу (Ctrl+F11 бағдарламасы жайлы) мүмкіндіктерін қарастырады.

Бағдарламамен жұмыс істеу мысалы. Бекiтiлген кiлті бар біралфавитті шифрлеуді қарап шығамыз.

Ctrl+L пернесін басу арқылы немесе мәзiрдегі ФАЙЛДЫ АШУ пунктін таңдау арқылы редактор терезесіне бастапқы мәтінді жүктеңіз.

Содан соң мәзірден ШИФРЛЕУ пунктін шақырыңыз, біралфавитт әдiстi (бекiтiлген жылжуымен) таңдаңыз. Пайда болған терезеде ШИФРЛЕУ пернесін басыңыз. Шифрлеу жүргізілгеннен кейін редактор терезесінен  шифрленген мәтiнді көруге болады.

Мәзірдің ГИСТОГРАММА пунктіне өтiңiз. Бастапқы және шифрленген файлдардың гистограммасын көрсететiн түрiн таңдаңыз. Гистограммаларды талдаңыз. Олар шамамен бiрдей түрде болулары қажет.

Шифрдің кiлтiн білу үшін (бiрiншiге қатысты екiншi алфавиттiң жылжуы)  гистограммалар бойынша кездесу жиіліктері бірдей символдарды табу керек. Мысалы, бiрiншi гистограммадағы шифрлеуде жиi кездесетін символ екiншi гистограммадағы жиi кездесетін символға өтуi керек. Екi гистограммадан да жиi кездесетін символдарды анықтау арқылы ASCII кодтарының стандартты кестесi арқылы жылжуды табуға болады. Жылжуды және символдарды кодтау кестесін білу арқылы мәтінді оңай дешифрлеуге болады. ДЕШИФРЛЕУ пунктін мәзірден шақыру арқылы осы әрекеттерді автоматты түрде жүргізуге болады.

Ескерту. Шифрлеу және дешифрлеу кезінде кодтау кестесінен 176-223 және 240-255  кодтары бар символдар қолданылмайды, қолмен дешифрлеу кезінде бұл символдарды ескермеу қажет. Мысалы, «Я» символы 159  емес, 223 кодына ие деп, сәйкесінше «п» 175  емес, 239 кодына ие болады деп есептеу керек.

Кейде символдардың кездесу жиілігін көрсететін гистограммадағы бағаналарда символдардың өздері емес, олардың квадратты жақшалардағы кестелік кодтары көрсетіледі.

Төменде «жедел» пернелердің сипаттамалары мен әртүрлі әрекеттегі  қолданулары көрсетілген:

Shift+F10 – бағдарлама туралы;

Ctrl+X – бағдарламадан шығу;

Ctrl+N – new – ФАЙЛ/ҚҰРУ;

Ctrl+L – load – ФАЙЛ/АШУ;

Ctrl+S – save – ФАЙЛ/САҚТАУ;

Шифрлеу:

Ctrl+Fl – біралфавиттік әдiс (бекiтiлген жылжуымен);

Ctrl+F2 – берiлген жылжуымен бiралфавитті (2-ден 20-ға дейін);

Ctrl+F3 – символдардың орын алмастыруы;

Ctrl+F4 – қосымша бойынша 255-ке дейiн (инверсті);

Ctrl+F5 – бекiтiлген кiлтпен көпалфавитті;

Ctrl+F6 – бекiтiлген ұзындығы бар кiлтпен көпалфавитті;

Ctrl+F7 – кез келген ұзындығы бар кiлтпен көпалфавитті;

Дешифрлеу:

Shift+Fl – (бекiтiлген жылжуымен) біралфавитті әдiс;

Shift+F2 – бiралфавитті берiлген жылжуымен (2-ден 20 дейін);

Shift+F3 – символдардың орын алмастыруы;

Shift+F4 – қосымша бойынша 255-ке дейiн (инверсті әдіс);

Shift+F5 – бекiтiлген кiлтпен көпалфавитті;

Shift+F6 – бекiтiлген ұзындығы бар кiлтпен көпалфавитті;

Shift+F7 – кез келген ұзындығы бар кiлтпен көпалфавитті;

Гистограммалар:

Shift+Ctrl+F1 – бастапқы және шифрленген файлдың;

Shift+Ctrl+F2 – шифрленген және шифры шешiлген файлдың;

Shift+Ctrl+F3 – стандартты үлестiрiлудің және шифрленген мәтiннің;

Shift+Ctrl+F4 – стандартты үлестiрiлудің және шифрі шешілген мәтіннің;

Көмек:

Ctrl+F9 – көмек;

Ctrl+F10 – әдiстер туралы;

Ctrl+Fll – бағдарлама турайлы;

 

Тапсырма.

1. Зертханалық жұмыстың сипаттамасы және тапсырмасымен танысыңыз.

2. Бекiтiлген жылжуы бар біралфавитті әдiсi үшiн бағдарламада қойылған жылжуды анықтау керек. Ол үшiн:

а) редактор арқылы жасалған өзіңіздің мәтiндiк файлыңызды алдын ала қарау керек;

б) осы файлды шифрлеу керек;

в) шифрленген файлды редакторда қарау керек;

г) бастапқы және шифрленген мәтiндердiң гистограммаларын қарау керек;

д) (ұқсастықтары мен айырмашылықтарын анықтау) гистограммаларды сипаттау және шифрлеу жылжудың қандай түрімен орындағанын анықтау қажет;

е) шифрленген мәтiннің шифрін қайта шешу қажет:

- бағдарлама арқылы, осыдан кейін редакторде дешифрлеудің дұрыстығын тексеру;

- қолдан гистограммалар арқылы; дешифрлеу процесін анықтап, түсіндіру керек.

Есеп беру кезінде әрбір шифрлеу әдісі үшін орындалатын әрекеттердің реті, барлық қолданылған файлдардың аттары, алынған гистограммалар сипатталады, табылған жылжу көрсетіледі, дешифрлеу процесі сипатталады. Оқытушыға жасалған жұмыс пен барлық қолданылған және жасалған файлдар  өткізіледі.

3. Берілген (Цезарь шифрі) жылжуы бар біралфавиттік әдiсі үшiн:

а) өзіңіздің алғашқы мәтініңіз үшiн кез келген жылжумен шифрлеуді орындау қажет;

б) алғашқы және шифрленген мәтiндердің гистограммаларын қарау және сипаттау, бірнеше символдар үшін жылжуды анықтау қажет;

в) бағдарлама көмегімен мәтiнді дешифрлеу;

г) бағдарлама көмегімен жылжуды таңдау арқылы цезарь әдісімен шифрленген мәтінді дешифрлеу, шифрлеудің жылжу түрін анықтау керек.

4. Символдардың орын алмастыру әдiсі үшін шифрленген мәтінді дешифрлеу. Ол үшiн ашық мәтiннің символдарының орын алмастыру заңын анықтау керек. Ұзындығы бірнеше сөздей болатын сізге белгілі мәтіні бар файл құрыңыз, оны шифрлеп, гистограммаларын қараңыз (оларды сипаттаңыз: олардан дешифрацияға керекті болатын ақпаратты алуға бола ма?). Сіздің  бастапқы және шифрленген мәтіндеріңізді салыстырыңыз (редактор көмегімен) және нышандардың орын ауыстыру заңдылығын анықтаңыз. Файлды дешифрлеңіз:

а) қолдан (әрекеттеріңізді түсіндіріңіз);

б) бағдарлама көмегімен.

5. Инверсті кодтауы үшiн (қосымша бойынша 255-ке дейiн):

а) өзіңіздің кез келген файлыңыз үшiн шифрлеуді орындаңыз;

б) бастапқы және шифрленген мәтiндердiң гистограммаларын қараңыз, гистограммаларды сипаттаңыз және бiрнеше символдар үшiн жылжуды анықтаңыз;

в) шифрленген мәтiндi дешифрлеңіз, дешифрлеудің дұрыстығын редакторда тексерiңiз.

6. Бекiтiлген кiлтпен көпалфавитті шифрлеу үшiн неше алфавиттік әдiстер бар екенін және бағдарламада қандай жылжумен қолданылатынын анықтаңыз. Ол үшiн өзіңіздің бірдей символдардың жолынан тұратын файлыңызды құрыңыз, оны шифрлеп, гистограммасы бойынша оның  шифрлеу әдісін және жылжудың жиынтығын анықтаңыз.

7. Бекiтiлген ұзындықты кілті бар көпалфавитті шифрлеу үшiн:

а) шифрлеуді орындаңыз және гистограмма бойынша бірдей әр символдар жолынан тұратын файлдың әрбір символы қандай жылжумен орындалғанын анықтаңыз;

б) кез келген мәтіні бар файл үшін шифрлеу мен шифрді шешуді орындаңыз;

в) шифрленген және дешифрленген мәтіндердің гистограммаларын бақылап, сипаттаңыз; гистограммалардан қандай мәлімет алуға болатынына жауап беріңіз.

8. Кез келген паролі бар көпалфавитті шифрлеу үшiн тапсырма 7-шi пунктегі тапсырма сияқты болады.

9. Есеп бергенде оқытушы берген нұсқаға сәйкес бақылау сұрақтарының жауаптарын беріңіз (1.1 кестені қара).

 

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 7, 3, 9, 18, 28

Файлдарды криптографиялық қорғаудың қандай тәсілдерін білесіз?

2, 4, 6, 8, 20, 22, 24, 26, 30

Біралфавитті тәсілдің артықшылығы мен кемшілігі неде?

11, 13, 15, 10, 17, 19, 27

Егер маңызды ақпараты бар мәтінді шифрлеу керек болса, сіз қандай тәсілді таңдар едіңіз? Өз таңдауыңызды түсіндіріп кетіңіз

12, 14, 16, 21, 23, 25, 29

Шифрленіп қойған мәтінге мына әдістерді қайтадан қолдану орынды ма: а) көпалфавитті шифрлеу әдісі;

б) Цезарь әдісі?

1.1 кесте

 

2 Зертханалық жұмыс №2. Мәтіндік ақпаратты қорғаудың әртүрлі әдістері және кілттерді таңдау негізіндегі олардың табандылығын зерттеу

 

Жұмыстың мақсаты: символдардың орнын алмастыру, қойылым, гаммалау және Виженер кестесiн қолдану арқылы шифрлеу/дешифрлеу әдістерін зерттеу. Мүмкін болатын барлық кілттерді іріктеп алу арқылы  шабуылдардың негізінде әр түрлі әдістердің табандылығын зерттеу және салыстыру.

Зертханалық жұмыста кiлттiң барлық нұсқаларын іріктеп алу негiзінде шифрді ашу тәсiлi қарастырылады. Нұсқа дұрыстығының өлшемі болып мәтіндегі «ықтимал сөздің» бар болуы қызмет көрсетеді. Барлық мүмкiн болатын кiлттердiң жиыны іріктеліп алынып, шифрленген мәтiн әр кілтте шифрін шешеді. Жасалған псевдоашық мәтiнде ықтимал сөздi iздейдi. Егер мұндай сөз жоқ болса, ағымдағы мәтiн келесi кiлтке өткел ақауын iрiктеп iске асады. Егер мұндай сөз табылса, кiлттiң нұсқасы экранда щығады. Содан кейін барлық нұсқалардың жиыны жоғалмағанша кілттерді таңдау жалғаса береді. «Псевдоашық мәтінде» ықтимал сөзі бар бірнеше кілттерді табу мүмкін болады.

Іріктеп алуда аяқтағаннан соң табылған кiлттерде мәтiнді дешифрлеу керек. «Псевдоашық мәтінді» визуалды бақылау үшiн ол экранға шығады. Егер оператор мәтiндi ашық деп мақұлдаса, онда ашу бойынша жұмыс аяқталады. Әйтпесе кiлттiң осы нұсқасы келесi кiлтке өткел ақауын iрiктеп iске асады.

 

Зертханалық жұмыс сипаттамасы. Зертханалық жұмысты орындау үшін шифрлеу/дешифрлеу, сонымен қатар файлдарды дешифрлеу (ықтимал сөздi созу әдiсiмен) үшін қолданылатын LAB_RAB.exe бағдарламасын іске қосу керек. Жүйе келесi функцияларды жүзеге асырады:

- қолданушы кiлттерiнiң селекциясы, енгiзу және алып тастау;

- кiлттер тiзiмiн қолдау;

- мәтінді шифрлеу және дешифрлеу;

- мәтінді ықтимал сөзді созу әдісімен кілттерді іріктеу жолы арқылы дешифрлеу.

Жүйе ақпараттың крифтографиялық өзгеруiнiң келесi әдiстерiн қолдайды:

 - ауыстыру;

 - орын алмастыру;

 - гаммалау;

 - Виженер кестесі.

Шифрлеу және дешифрлеу утилиталарын iске қосуында қолданушыдан жұмысқа және қолданушы мақсаттарындағы кілттің сәйкестігі үшін таңдалған әдістің дұрыстығын растауды сұрайды.

 

 

Интерфейстiң сипаттамасы:

а)      қосымша функциялардың кең жиыны бар мәтiндiк редакторының терезесi;

б)      енгiзу, алып тастау немесе ағымдағы кiлттiң таңдалуы үшiн тез қолжетімділігі бар жүйеге енгiзiлген барлық кiлттердiң кестесі;

в)      олардың арасындағы тез және ыңғайлы ауыстырып қосу үшiн шифрлеудің барлық әдiстерiнінің тiзiмі;

г)       негiзгi мәзiр (экранның үстiнде);

д)      қосымша мәзiр  (тышқанның оң батырмасының басуымен шақырылады);

е)      тез және ыңғайлы интерфейс үшiн қосалқы батырмалардың жиыны;

ж)    жүйенiң ағымдағы күйiн шығарудың өрiстерi:

- ағымдағы кiлт;

- ықтимал сөз;

- созу үшiн кiлттiң күшi.

Бағдарламамен жұмыс жасау мысалы

Назар аударыңыз! Жұмыс барысында есептеу процесі кезінде параметрлерді өзгерту мүмкін емес болғандықтан жұмыстың параметрлерін орнату кезінде өте мұқият болыңыз. Бағдарламаны іске қосқаннан кейін барлық жұмыс өрiстерi бос болады және жүйенiң жұмысқа қабiлеттiлiгi үшiн бастапқы баптауларын жүргізу керек.

 Бағдарламасы бар жұмыстың алгоритмі:

 1) кiлттердiң тiзiмi енгізіледі;

 2) ықтимал сөз енгізіледі;

 3) қажеттi шифрлеудің әдiсi таңдалынады;

 4) бастапқы немесе шифрленген файл жүктеледi (шифрлеу және дешифрлеу үшiн тиiстi мәзiрлер ашылады);

 5) қажеттi процесс iске қосылады:

 - шифрлеу;

 - дешифрлеу;

 - ықтимал сөздi созу;

 - мәтiннiң конвертациясы;

 6) сипатталған пункттерімен сәйкес келетін кез келген реттегi жұмыстың жалғасуы;

 7) жұмыс аяқталар алдында қажеттi нәтижелердi сақтауды ұмытпаңыз (жабу және жүйенiң жаңа файлдарының жүктеуi кезінде жүйе автоматты түрде жазуды растауды сұрайды).

Шифрлеу:

1)      Файлды ашу.

2)      Керекті өзгерістерді енгізу.

3)      Тиiстi параметрлердi баптау:

- шифрлеу типі;

 - кiлт, т.б.

4) Мәзірдің УТИЛИТТТЕР/ШИФРЛЕУ F5 пункті арқылы шифрлеу процесін iске қосу.

Назар аударыңыз! Файлды шифрлеу кезінде қолданушы енгізген және осы уақытқа дейін өзгертілгеннің бәрі қатқыл дискте сақталады.

Дешифрлеу:

1)      Файлды ашу.

2)      Қажеттi өзгерiстердi жасау.

3)      Тиiстi параметрлердi баптау: шифрлеу түрі, т.б.

4)      Мәзірдің УТИЛИТТЕР/ДЕШИФРЛЕУ F6 пункті арқылы дешифрлеу процесін iске қосу.

Назар аударыңыз! Файлды дешифрлеу кезінде қолданушы енгізген және осы уақытқа дейін өзгертілгеннің бәрі қатқыл дискте сақталады.

 

Ықтимал сөздi созу (дешифрлеу)

Назар аударыңыз! Кiлттiң қуаты «кiлт күшiнiң» опциясында алдын ала берiледi. Кiлттiң ұзындығы ықтимал сөздi созу уақытына едәуiр ықпал етедi.

1. Ықтимал сөз енгiзiледi (1(3)-ден 9-ға дейiн ұзындығымен).

2. Олардың арасына қайта табылған кiлттердi алдыңғылардан бөлу үшiн «таңдау» жазуы  қосылады.

3. Кілттер іріктеліп алынады.

4. Ағымдағы кiлт бойынша мәтіннің барлық бiрiншi жолын шифрден шешеді.

5. Ықтимал сөздiң ұзындықтарымен тең мәтінді бөлімдегі ықтимал сөздiң мәнi бар жолының ішіндегісімен салыстырылады.

6. Егер ең болмаса бiр сәйкес келу табылса, кiлт есте қалады.

7. Жаңа кiлтке өтеді.

8. Келесi жолға өтеді.

9. Нәтижелер кiлттердiң тiзiмiнде болуы керек. Егер ұқсастық табылмаса, кiлттердiң тiзiмiне ештеңе қосылмайды.

Кiлттермен операциялар. Кiлттердiң базасымен келесi әрекеттер iске аса алады:

 - жаңа кiлт қосу;

 - бiр жазуды алып тастау;

 - белсендi жазуды өзгерту;

 - енгiзiлген кiлттердiң барлық кестесiн тазалау.

 Ескерту. «Кiлттердiң кестесiмен жұмыс» сөздерiнiң астында екi әдiстерінде қолдану үшiн енгiзiлген кілттер ескеріледi (Виженер кестесі және гаммалау).

Орын алмастыру үшiн кілттер. Орын алмастыру үшін әрбiр уақытта жүйеде бір ғана ағымдағы кiлт болуы мүмкін.

Орын алмастыру үшiн кiлттерді енгiзу ережелерi:

1) Тізімде шифрлеу әдісін қолданылатын жүйелерді ауыстыру кезінде «орын алмастыру» пунктіне орын алмастыру кілтін енгізу терезесі шақырылады. Терезе орын алмастыру үшiн екi батырмадан (ЖОЮ мен өзгерiссiз ШЫҒУ және қойылған кiлттiң ұзындығын растайтын ENTER батырмасы) және кiлттiң ұзындығын тапсыру терезесiнен тұрады.

 2) Кiлт ұзындығының тапсыру терезесінен (параметрлер шектердегi 1...9 ауыстырылады) ұзындықты таңдау және мұндай ұзындықты кiлттi пайдалануды ниеттi таңдап алғанын растау керек.

 3) Растаулардан кейiн терезенің бет жағында цифрлары бар батырмалар көрінеді, батырмаға басу кезiнде оның ары қарай қолдануының мүмкiн еместiгi үшiн (оның түсiн жоғалтуы) батырманың бекiтілуі болады.

 4) Барлық батырмаларды қарастырылуынан кейін жүйе енгiзiлген кiлттi есте сақтайды, оны кiлттердi енгiзуi өрiсiне шығарады және негiзгi бағдарламаның терезесіне орын алмастырудың кiлттi енгiзу терезесінен шығады.

 

Тапсырма.

1. Зертханалық жұмыстың сипаттамасы және тапсырмасымен танысу.

2. Бағдарламаның баптауын орындау: шифрлеудің әдiсiн таңдау, барлық әдiстер үшiн кілттерді енгiзу, ықтимал сөзді енгiзу, барлық баптауларды iске асыру.

3. Ауыстыру әдiсі үшiн (біралфавиттік әдiс):

-     шифрлеудің қолжетімді әдiстерiнiң тiзiмiндегi осы алгоритмді таңдау;

-     қажеттi жылжуды орнату;

-     кез келген файлды ашу;

-     бастапқы файлдың  iшiндегiсін қарау;

-     шифрлеуді осы файл үшiн орындау;

-     шифрленген файлды редакторда қарау;

-     ықтимал сөздi енгiзу;

-     кiлттiң ықтимал ұзындығын енгiзу (ауыстыруды әдiсінен басқа);

-     кiлтті іріктеп алу;

-     барлық табылған кiлттерді дешифрлеу;

-     шифрден шешiлген файлдарының қандай болмасынына дұрыс дешифрленген кілттік сөздi табу;

-     бастапқы кiлтпен файлды дешифрлеу;

-     нәтиженi тексеру.

4. Орын алмастыру әдiсі үшiн:

-     орын алмастыру әдiсiн таңдау;

-     символдардың орын алмастырулары кiлттiң енгiзуiнің ашылған терезесінде осы кілттің ұзындығын көрсету, кейін пайда болған батырмалардан берілген реті бойынша батырмаларды баса отырып, кілт үшін қажетті комбинацияны құру;

-     келесі әрекеттер 3-ші пунктегі жазылғанмен толық сәйкес келедi.

5. Гаммалау әдiсі үшiн:

- әдiстi таңдау;

- кiлт енгiзу;

- 3-шi пунктті толық қайталау.

 6. Барлық әрекеттер Виженер кестесі үшiн (гаммалау әдiсі) 5-шi пункттен қайталау.

 Есеп беру кезінде шифрлеудің әрбiр әдiсі үшiн атқарылатын жұмыстардың тiзбегi сипатталады, барлық қолданылған файлдардың аттары көрсетiледi, бастапқы және табылған кілттер, дешифрлеу процесі сипатталады.

 Оқытушыға атқарылған жұмыс туралы есеп беру және барлық қолданылған файлдар өткізіледі.

 7. Нұсқаның нөмiрiне сәйкес сәйкес бақылау сұрақтарына жауаптарды есеп беруде келтiру (2.1 кестені қара).

 

2.1 кесте

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 7, 3, 9, 18, 28

Псевдоашық мәтіннің жай ашылған мәтіннен (жалған кiлт бойынша шифрды шешу кезінде алынған мәтiн) қандай айырмашылығы бар?

2, 4, 6, 8, 20, 22, 24, 26, 30

Жоғарыда сипаттаған кілттерді таңдау әдісінің шифрін ашу уақыты ықтимал сөздің ұзындығынан қалай тәуелді болады?

11, 13, 15, 10, 17, 19,  27

Гамма шифрін (немесе Вижинер кестесі) ашу уақыты гамма алфавитінің уақытынан тәуелді болады ма?

12, 14, 16, 21, 23, 25, 29

Ықтимал сөздi созуды қолданып,  дешифрлеудің  қандай кемшіліктері бар?

 

3 Зертханалық жұмыс № 3. «Энигма» машинасының құрылымы мен жұмыс принципін зерттеу

 

Жұмыстың мақсаты: «Энигма» шифрлейтін машинасында қолданылатын ақпараттардың шифрлеу/дешифрлеу принципін зерттеу. Эмуляторға қойылатын мысалдағы «Энигма» шифрлейтін машинасының жұмыс жасауының ортақ принциптерімен танысу. Алдын ала Enigma3S эмулятор-бағдарламасын орнату керек.

 

Зертханалық жұмыс сипаттамасы. «Энигма» (Enigma) – құпиялы хабарламаларды шифрлеу және дешифрлеу үшін қолданылатын портативті шифрлейтін машина (3.1 суретті қара). Дәлірек айтсақ, «Энигма» –1920-шы жылдан бері қолданылған электромеханикалық роторлы машиналардың барлық жиыны. «Энигма» коммерциялық мақсатта, сонымен қатар әлем елдерінің басым көпшілігінде әскери және мемлекеттік қызметтерінде қолданылатын, бірақ Германияда екінші дүниежүзілік соғыс уақытында көп таралды. Әсіресе Вермахт «Энигмасы» (Wehrmacht Enigma), неміс әскер моделі, зерттеуде жиірек қолданылатын зерттеуге жататын зат болды.

 

 

3.1 сурет – «Энигма» шифрлейтін машинасының сырт пiшiнi

 

3.2-суретті тізбектей орналасқан екі басылған перне үшін «Энигма» машинасының электр сызбасы көрсетілген – ток ротор арқылы өтеді, рефлектордан «шағылысады», содан соң ротор арқылы қайтарылады. Шифрмәтінде «А» әрібі әртүрлі болып, бастапқыда «G-ға», содан соң «С-ға» ауыстырылады. Сигнал ротор бұрылысы арқасында басқаша маршрут бойынша жүреді.

 

3.2 сурет – «Энигма» машинасының электр сызбасы

 (Мәтіндегі «А» әрпінің «D» әрпiмен ауыстырылуы)

 

Басқа роторлы машиналар сияқты «Энигма» механикалық және электр жүйелер комбинациясынан тұрды. Механикалық бөлігі пернетақтадан валды бойлай орналасқан айналып тұратын дисктердің жиынынан және әр пернелерді әрдайым басу кезіндегі бір немесе одан да көп роторлардың қозғалысын қамтамасыз ететін сатылы механизмнен тұрады. Роторлар қозғалысы пернетақтадағы әрбір келесі пернені басудағы символдар қойылымының әр түрлі нұсқаларына алып келеді.

 Механикалық бөлiктер құбылмалы электр контурын құрастыра қозғалды, яғни шифрлеу iс жүзiнде электрлі iске асты. Пернелердi басу кезiнде контур тұйықтанды, ток әртүрлi компоненттер арқылы өтті және шығарылған әріпті көрсететін шығарылған жиынның біреуі қосты. Мысалы, ANX-тен хабарламаларды шифрлеуді бастайтын оператор бастапқыда «А» батырмасын басты және «Z» шырағы қосылатын, яғни «Z» криптограмманың бiрiншi әрпі болып қалыптасты. Оператор N пернесін баса отырып, бастапқы хабарламаның соңына дейін шифрлеуді жалғастыратын.

Электр тізбегінің әрдайым өзгерісі роторлардың айналуы салдарынан қойылымның көпалфавитті шифрлеуді жүзеге асыруға мүмкіндік берді.

Роторлар. Роторлар - бұл «Энигма» машинасының жүрегi (3.3 суретті қара). Әрбiр ротор қатты резеңкеден жасалған дщиаметрі 10 см-дей болатын диск болып табылады. Iстiгi бар және жалпақ байланысулар алфавиттегі әрiптерге сәйкес келедi; әдетте бұл «А»-«Z» 26 әрiп. Көршi роторлардың байланысулары жақындасқанда электр тiзбегі тұйықталады. Ротор iшiнде әр iстiгi бар байланысу кейбiр жалпақпен тұйықталған. Қосу ретi әртүрлі болуы мүмкін.

 

а – сол жағы (жалпақ электр байланысулары көрінеді);

б – оң жағы (iстiгi бар байланысулар көрiнедi).

3.3 сурет – «Энигма» машинасының роторы

 

Ротор өздігінен символдарды жай ауыстырумен шифрлейді. Мысалы, «Е» әрпіне сәйкес келетiн байланысу ротордың басқа жағындағы «Т» әрпінің байланысуымен тұйықтай алады. Олардың тұрақты қозғалысы (әдетте нәтижесінде үш немесе төрт) бiрнеше роторлардың қолдануы арқасында көпалфавитті шифрлеу пайда болады.

Ол 3.4-суретте көрсетілгендей сыртқа шығып тұрған істігі бар дөңгелегінің көмегімен қолдан бұратындай бола алады. Оператор әрдайым ротордың орналасуын анықтай алу үшін әрбір жиекте алфавиттік сақина болады; әріптердің біреуі терезе арқылы көрінеді.

 Ротор машидағы 26 позицияларының бiрінде орналаса алады. Оператор әрдайым ротордың жағдайын анықтай алу үшiн әрбiр жиекте алфавиттық сақина болады; әрiптердің біреуі терезе арқылы көрінеді. Әрбiр ротордың (немесе бiрнеше қуыстар) роторлардың қозғалысын басқаруы үшiн қолданылатын қуысы болады. Үш тізбектей қосылған ротор 3.5-суретте көрсетілген.

           

1 – қуыстары бар сақина; 2 – «А» байланысы үшiн белгi салатын нүкте; 3 – алфавиттік сақина; 4 – мырышпен қапталған байланысулары; 5 – электр өткiзгiштiк; 6 – iстiгi бар байланысулар; 7 – сақинаны баптау үшiн серiппелi тетiк; 8 – төлке; 9 – бармақ сақинасы; 10-храп доңғалағы.

3.4 сурет – Ажыратылған түрдегi ротор

 

«Энигма» машинасының әскери нұсқалары бiрнеше роторлармен шығарылды; бiрiншi үлгiсі тек қана үштен тұрды. Олар 1938 жылда бесеу болды, бiрақ тек оның iшiнен үшеулерi машиналарда бiр уақытта қолданылды. Бұл роторлардың түрлерi I, II, III, IV, V және олардың барлығы алфавиттік сақинаның әр түрлі орындарында орналасқан қуыстың бірімен ғана болатын болды. Wehrmacht Enigma-нің әскери-теңiз нұсқаларында басқаға қарағанда роторлардың саны көбiрек болды: алты, жетi немесе сегiз.

 

3.5 сурет – Үш тізбектей қосылған роторлар

 

Кiретiн доңғалақ. «Энигма» машинасының кіретін доңғалағы (немісше Eintrittswalze) немесе кіретін статор коммутациялық панелі немесе пернетақтадағы және роторлары бар шамды панелді біріктіреді. «Энигманың» коммерциялық нұсқасы пернетақтадағы олардың орналасу реттегi әрiптерiн біріктірді: QA, WB, ЕС және т.б. Дегенмен, әскери үлгісінде олар алфавит ретiмен біріктірілді: АА, BB, CC және т.б.

Рефлектор. Соңғы ротордың артынан рефлектор бекiтiлдi (немiсше Umkehrwalze) – сол кезде игерілген роторлық машиналардан «Энигма» машиналарының өзгеше болған патенттелген бөлшегі. Рефлектор дешифрлеу процесі шифрлау процесіне симметриялы болатынына кепілдік береді. Бұдан басқа, рефлектор ешқандай да әрiп өзiмен шифрлай алмағанына кепiлдiк бередi. Бұл маңызды концептуалды кемшiлiк болды.

Коммутациялық панель. Операторға өткiзгiштердiң қосуын өзгертiлуге мүмкiндiк беретiн коммутациялық панелі 1930-шы жылдағы немiс әскери үлгiлерiнде тұңғыш рет пайда болды және ойдағыдай (3.6 суретті қара) әскери-теңiз соғыстары үшiн машиналарда қолданылды. Коммутациялық панель «Энигма» шифрінің күрделенуiне үлкен үлес тигізді. Шифрін анықтаушы «Энигмамен» коммутациялық панелсiз iс жүзiнде қолдан жұмыс істей алады, дегенмен баукеспе ұрыларға коммутациялық панелдiң қолдануында арнайы шифрын анықтайтын машиналар құрастыруға тура келді. Коммутациялық панелдегі кабель әріптерді жұп бойынша біріктіреді, мысалы «Е» және «Q» жұптай қосыла алады. Эффект ротор арқылы  сигналдың өтуіне дейінгі және кейінгі әріптердің орнын алмастыруынан тұрады. Мысалы, оператор «Е» әрпін басып тұрған кезде, сигнал «Q» әрпіне қарай және тек бұдан кейін ғана кіретін роторға бағытталды. Бiруақытта мұндай  жұптардың бірнешеуі қолданыла алатын (13-ке дейiн).

 

3.6 сурет – «Энигманың» коммутациялық панелi

 

Аксессуарлар. М4 «Энигма» үлгiсінде орнатылған ыңғайлы бөлшек Schreibmax болды – үлкен емес, қағаз бетіне барлық 26 әріпті шығара алатын баспа құрылысы.

«Энигма» қолдануының процедуралары. Немiс операторлары екінші дүниежүзілік соғыс уақытында роторларды орналастыру және сақиналардың баптауларын қою үшiн шифрлейтін кiтапты қолданды. Әр хабарлама үшін олар кездейсоқ стартты позицияны таңдады, WZA, және хабарламаның кездейсоқ кілтін де қолдана алды, мысалы SXT. Содан соң оператор WZA-ның старттық позициясына роторлар орнатты және SXT хабарламаларының кiлтiн шифрледі. Кiлт шифрлеудің нәтижесiнде UHL алғанын болжап көрейік. Бұдан әрi оператор роторлардың бастапқы позициясы сияқты SXT хабарламасының кілтін қойды және хабарламаны шифрледі. Кейiн WZA-ның старттық позициясы және хабарламамен бiрге UHL-ның шифрленген кiлтiн жiбердi. Алушы WZA-ның бірінші үшграммасымен сәйкес старттық позицияны орнатты және UHL-ның екінші үшграммасының шифрін шеше отырып, SXT-тың бастапқы кiлтiн тапты. Бұдан әрi алушы хабарламаның үш дешифрлеу үшiн старттық позиция сияқты бұл кiлттi қолданды. Кiлттердiң жарамды мерзiмi әдетте бiр күндi құрады.

«Энигма» әскери үлгiсі тек қана 26 әрiп қолданды. Басқа символдар сирек әрiптердiң жиынтықтарымен ауыстырылды. Бос орын өткiзiлді немесе X әрпімен ауыстырылды. Сонымен бiрге X символы нүктенiң белгiсi ретінде немесе хабардың соңы үшiн қолданылды. Кейбір ерекше символдар бөлек қарулы бөліктерінде қолданылды, мысалы Wehrmacht үтірді ZZ екі символымен және сұраулы таңбаны – FRAGE немесе FRAQ қылып ауыстырды, ал Kriegsmarine үтірді «Y» және сұраулы таңбаны UD қылып алмастырды. Екi, үш немесе төрт нөлді сәйкесiнше CENTA, MILLE және MYRIA-лермен ауыстырды.

Зертханалық жұмысты орындау барысында «Энигма» шифрді зерттеу үшін Enigma3S эммулятор-бағдарламасын қолданылады.

 

 

Тапсырма.

1. Оқытушымен көрсетілген бумадан Enigma3S энигмасының эмуляторын iске қосу. Анықтама файлымен таныстыру: HELP/HELP мәзiрiнің опциясы.

2. Бағдарламаның мәзiрiнен (3.7 суретті қара) SETTINGS/RESET пунктін таңдау.

 

 

3.7 сурет – «Энигма» эмуляторының бастапқы орнатылуы

 

    3. VIEW/OPEN COVER мәзір пунктін таңдау арқылы сақиналар үшін  01 01 01 мәнін орнату. SETTINGS/INNER SETTINGS-тiң мәзiрiне Reflector - Left - Middle – Ringstellung-A-A-A мәнін орнату (3.8, 3.9 суреттерді қара). Осы жағдайды бастапқы деп санаймыз.

 

 

3.8 сурет – Бастапқы орнатуларды көру

 

3.9 сурет – Reflector, Left, Mid, Right орнатулары

 

4. «Энигма» пернетақтасынан SECRET MESSAGЕ  хабарламасын енгізу. Шығуда қандай хабарлама алынды?

5. 3-шi пункті Ringstellung  – А-А-А баптауларын Ringstellung – A B C етіп өзгертіп, қайталаңыз.

 6. «Энигма» пернетақтасынан SECRET MESSAGЕ  хабарламасын енгізу. Шығуда қандай хабарлама алынды? Ол қаншалықты 4-шi пункте алған хабарламадан өзгеше болады?

 7. 6-шы пункттен алынған шифрмәтінді мәзірдің FILE/SAVE опциясының көмегімен сақтау (3.10 суретті қара).

 

 

3.10 сурет – Шифрмәтiннiң сақталуы

 

8. Буманың түбіне .pln кеңейтуi бар файлды құру, оны редактрлеу үшін блокнотты ашып, оған шифрлеу үшін ашық мәтінді жазу.

9. Бағдарламаның мәзiрiнде FILE/OPEN және 9-шы пунктте жасалған файлды таңдау. Мәзірден OPTIONS/ENCIPHER TEXT пунктін таңдау арқылы ашық мәтiннің ішінен  шифртексті алу.

10. Эмуляторды бастапқы қалыпқа келтіру. Бағдарламаның мәзiрiнен WINDOW/SCRAMBLER пунктін таңдау. Сақиналар жағдайын ескере отырып, 22 символдардан пернетақта көмегімен кез келген хабарламаны енгiзу (нұсқалар 3.1-кестеде көрсетілген). Тағы бiр рет 22 символдарының тiзбегiн енгiзу. Сақиналардың жағдайы қалай өзгердi? Жаңа шифрленген тiзбек бастапқыдан айырмашылығы бар ма? Шығару тiзбегi нелiктен өзгердi?

11. SCRAMBLER терезесiн пайдалана отырып, түйіскен доңғалақтар жағдайының баптауларына байланысты шифр мәтiннің қалай өзгергенін бақылау. Түйiскен доңғалақтардың жүруi реттеу баптауларына не мүмкiндiк бередi?

12. Бағдарламалар терезесінен VIEW/RIGHT опциясын таңдау (3.11 суретті қара).

 

 

3.11 сурет – Тапсырманың орындалуы үшiн орнатуды көру

 

Оң доңғалақтың бастапқы 12 бұрыштық жағдайлары үшін бес әрпіне сәйкестіктің кестесін толтыру (нұсқалар 3.1-кестеде көрсетілген).

13. Эмулятор бастапқы күйіне орнатылғанын біле отырып, оқытушымен көрсетілген нұсқа нөмірлеріне сәйкес мәтіннің шифрін шешу  (3.3, 3.4 кестелерді қара).

 

3.1 кесте

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 9, 13, 17

QRTYU FBNAK GHERL ADLKE DS

2, 6, 10, 14, 18, 22

UIERT PAEVC DSNCY OPLKD BV

3, 7, 11, 15, 19, 23, 27

UIFGH KLBVQ FDIIT QKJLS DB

4, 8, 12, 16, 20, 24, 28

LLWER TYYWV BAFDP WRTOPF JK

21, 25, 29, 26, 30

OPJHG JFDPJ GFDSK LDFHU ВХ

 

 

 

 

3.2 кесте

Әрiптер кiруге

Доңғалақтың бұрыштық жағдайлары

1

2

3

4

5

6

7

8

9

10

11

12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.3 кесте

Нұсқа нөмірі

Шифрмәтін

1, 5, 9, 13, 17

ABCDE

2, 6, 10, 14, 18, 22

FGHIJK

3, 7, 11, 15, 19, 23, 27

LMNOP

4, 8, 12, 16, 20, 24, 28

QRSTU

21, 25, 29, 26, 30

VWXYZ

 

3.4 кесте

Нұсқа нөмірі

Шифрмәтін

1, 5, 9, 13, 17

FQGAH WABUN NL

2, 6, 10, 14, 18, 22

QIKOL RCRJS EGBSS X

3, 7, 11, 15, 19, 23, 27

OOKWE PRFMI M

4, 8, 12, 16, 20, 24, 28

KIXDI ACTHJ L

21, 25, 29, 26, 30

XLXOO EABUN NL

 

4 Зертханалық жұмыс №4. AES Rijndael стандарты симметриялы шифрлеуінiң стандарты

 

Жұмыстың мақсаты: AES RIJNDAEL симметриялық шифрлеуінiң алгоритмінде қолданылатын принциптерімен танысу.

 

Зертханалық жұмыс сипаттамасы. Rijndael блоктық алгоритмінің криптикалық көрсетілімдік нұсқасы. Қалып күйі, шифрлеудің кiлтi және циклдер саны. Rijndael - блоктардың айнымалы ұзындығы мен кiлттердiң әртүрлi ұзындық болатын итеративті блоктық шифрі. Кiлттiң ұзындығы және блоктың ұзындығы бiр-бiрiнен тәуелсiз 128, 192 немесе 256 бит құрай алады.

Әртүрлi алмастыру қалып күй (State) деп аталатын аралық нәтижемен жұмыс iстейдi. Күйді байттардың тiк төртбұрышты массивының түрiнде көрсетуге болады. Бұл массив төрт жолдан құралған, бағаналардың саны Nb деп белгiленеді және 32-ге бөлiнген блоктың ұзындығына тең.

Сонымен бiрге шифрлеудің кiлтi төрт жолдары бар тiк төртбұрышты массивтың түрiнде беріледі. Бағаналардың саны Nk деп белгiленген және 32-ге бөлiнген кiлттiң ұзындығына тең (4.1 суретті қара).

Кейбір жағдайда шифрлеудің кiлтi төрт байттық сөздерiнiң сызықты массивы түрде бейнеленедi. Сөздер орналасқан төрт байттардан тұрады.

 

а0,0

а0,1

а0,2

а0,3

а0,4

а0,5

а1,0

а1,1

а1,2

а1,3

а1,4

а1,5

а2,0

а2,1

а2,2

а2,3

а2,4

а2,5

а3,0

а3,1

а3,2

а3,3

а3,4

а3,5

k0,0

k0,1

k0,2

k0,3

k1,0

k1,1

k1,2

k1,3

k2,0

k2,1

k2,2

k2,3

k3,0

k3,1

k3,2

k3,3

 

4.1 сурет – Күйдi (Nb = 6 ) және шифрлеу

кiлтiн көрсетудің (Nk = 4) мысалы

 

Шифр үшiн кiретін мәлiметтерi байт күйінде келесі ретте беріледі:  а0,0, а1,0, а2,0, а3,0, а0,1, а1,1, а2,1, а3,1, … .

Шифрдің жұмысы аяқталғаннан кейiн шығатын мәлiметтер сол реттегі байттар жағдайынан пайда болады.

Nr деп белгiленген циклдер саны Nb және Nk сан мәндерден тәуелдi болады. (4.1 кестені қара).

 

4.1 кесте

Nr

Nb = 4

Nb = 6

Nb = 8

Nk = 4

10

12

14

Nk = 6

12

12

14

Nk = 8

14

14

14

 

Циклдық өрнектеу. Циклдық өрнектеу төрт әртүрлi өрнектеуден тұрады.  Псевдо-Си тiлінде келесi түрде болады:

 

Round (State, RoundKey)

{

ByteSub(State); // байтты ауыстыру 

ShiftRow(State); // жолды жылжыту

MixColumn(State); // бағаналарды араластыру

AddRoundKey(State, RoundKey); // циклдік кілтті қосу

}

 

Шифрдің соңғы циклі сәл өзгеше болады:

 

FinalRound(State, RoundKey)

{

ByteSub(State); // байтты ауыстыру

ShiftRow(State); // бағаналарды араластыру

AddRoundKey(State, RoundKey); // циклдік кілтті қосу

}

Соңғы цикл қарапайым циклден тек қана бағаналарды араластырудың жоқтығынан айырмашылығы болатынын атап өтемiз. Келтiрiлген өрнектеулердiң әрбiреуін бұдан әрi толық қарастырамыз.

Байт ауыстыру (ByteSub ). ByteSub-ты өрнектеу – күйдің әрбір байтына тәуелсіз байттарды сызықты емес ауыстыру (4.2 суретті қара).

 

 

4.2 сурет – ByteSub күйдің әрбір байтына әсер етеді

 

Шифрлеуде ауыстыру SboxE-ның массивы бойынша және дешифрлеу SboxD-тың массивы бойынша жүзеге асады және де SboxD[ SboxE[ а ] ] = а. Псевдо-Си тiлінде келесi түрде болады:

 

Жолдардың жылжытуының өрнектелуi (ShiftRow). Күйдің соңғы үш жолдарын циклдiк түрде әртүрлi байттар сандарына жылжиды. 1-шi жол C1 байтына жылжиды, 2-шi C2 байтына және 3-шi С3 байтына жылжиды. Cl, C2 және С3 жылжуларының мәндері Nb блоктiң ұзындығынан тәуелдi болады. Олардың өлшемі 4.2-кестеде келтiрiлген.

 

4.2 кесте

Nb

C1

C2

C3

4

1

2

3

6

1

2

3

8

1

3

4

 

Күйдің соңғы үш жолдарының нақтылы шамаға жылжудың операциясы деп (State) ShiftRow белгiленген. 4.3-суретте күйге өрнектеудiң әсері көрсетiлген.

 

 

4.3 сурет – ShiftRow өрнектеуінің схемасы

 

Дешифрлеу кезінде керi бағыттағы элементтердiң сол санына жылжиды.

Бағаналардың араластыруын өрнектеу (MixColumn). Өрнектеу өз тұрғысынан шифрлеу кезінде сол күйдi ME матрицасына көбейту  немесе дешифрлеуде MD-ның матрицасына көбейту болып табылады:

 

b1 = (b1*2) XOR (b2*3) XOR (b3*1) XOR (b4*1)

 

Екi байтты көбейту келесi алгоритм бойынша орындалады:

-    егер байттың бiрi 0-ге тең болса, нәтижесі  0 болады;

-    егер байттың бiрi 1-ге тең болса, нәтижесі  басқа байт болады;

-    қалған жағдайларда L кестесі бойынша әрбiр байтты ауыстырады.

Ауыстырылған байттар қосылады, керек жағдайда [0, 255] интервалға дәл тигiзуi үшiн 255 алынып тасталып отырады және Е кестесі бойынша ауыстырылады. Псевдо-Си тiлінде L және Е кестелері келесi түрде болады:

 

 

 

Циклдық кiлттi қосу. Циклдық кiлтi қарапайым EXOR бойынша күйге қосылады (4.4 суретті қара). Циклдық кiлт (key schedule) кiлттерді өндіру алгоритмі арқылы шифрлеу кілтінен шығарылады. Циклдық кiлтiнiң ұзындығы блоктың Nb ұзындығына тең.

 

 

4.4 сурет – Циклдық кiлтiнiң қосылуының операциясы

 

Дешифрленген кілттің шифрлеу кезінде бөліктері басынан бастап соңына дейін таңдалынады, дешифрлеу кезінде соңынан басына дейін таңдалынады.

Кiлттiң кеңейтілуi (Key Expansion). Ұлғаймалы кiлт төрт байт сөздерiнiң сызықты массивы болады және W [Nb* (Nr + 1 )] болып белгіленеді. Алғашқы Nk сөздердің алғашқы шифрлеуі кiлттері болады. Қалған сөздер кіші индекстерi бар сөздердiң рекурсияларымен анықталады. Кiлттердi өндiрудің алгоритмі Nk шамасына тәуелдi болады. Төменде Nk ≤ 6 және Nk > 6 үшiн версиялары келтiрiлген.

1) Nk < 6 және Nk = 6 үшін

KeyExpansion(CipherKey,W)

{

for (i = 0; i < Nk; i++) W[i] = CipherKey[i];

for (j = Nk; j < Nb*(Nk+l); j+=Nk)

{

W [j] = W[j-Nk] ̂ SubByte( Rotl( W[j-1] ) ) ] Rcon[j/Nk];

for (i =1; i < Nk && i+j < Nb*(Nr+1); i++)

W[i+j] = W[i+j-Nk] ̂ W[i+j-l];

          }

}

 

Алғашқы Nk сөздер шифрлеудің кiлттерiмен толтырылатынын байқауға болады. Әрбiр келесi W [i] сөзі EXOR арқылы алдыңғы W[i-1] сөзiнен және  Nk позицияларындағы W [i -Nk] сөзінен шығады. Өрнектеуде байттардың Rotl деп белгіленетін сөзiндегi циклдiк жылжу болады, содан соң SubByte - байттың ауыстыруын қолданады;

2) Nk > 6 үшін

KeyExpansion (CipherKey, W)

{

      for (i=0; i<Nk; i++) W[i]=CipherKey[i];

for (j=Nk; j<Nb*(Nk+l); j+=Nk)

{

W[j] = W[j-Nk] ̂ SubByte(Rotl(W[j-1])) ̂ Rcon[j/Nk];

for (i=l; i<4; i++) W[i+j] = W[i+j-Nk] ̂ W[i+j-1] ;

W [ j + 4] = W[j+4-Nk] ̂ SubByte(W[j+3]);

for (i=5; i<Nk; i++) W[i+j] = W[i+j-Nk] ̂

W[i+j-l];

}

}

 

Nk > 6 схема үшiн айырмашылық Nk-дан төртiншi байт үшін SubByte-ты қолдануында болады.

Циклдық тұрақты Nk-дан тәуелсiз болады және төмендегiдей анықталады:

Rcon[i] = ( RC[i], '00' , '00' , '00' ), мұндағы

RC[0]='01'

RC[i] =xtime (Rcon [i — 1 ] )

 

Шифрлеу. Rijndael шифрі келесi өрнектеулерді қосады:

-    циклдық кiлтiнiң бастапқы қосуы;

-    Nr – 1 циклдар;

-    қорытынды цикл.

 Псевдо-Си тiлінде келесi түрде болады:

Rijndael (State, CipherKey)

{

KeyExpansion(CipherKey, ExpandedKey); // Кілттің кеңейтілуі

AddRoundKey(State, ExpandedKey); // Циклдік кітті кеңейту

For (i=l; i<Nr; i++) Round(State,ExpandedKey+Nb*i) // циклдер

FinalRound(State, ExpandedKey+Nb*Nr); // қорытынды цикл

}

Егер кiлттiң кеңейтілу процедурасы алдын ала орындалса, онда процедура келесi түрде болады:

Rijndael (State, CipherKey)

AddRoundKey(State, ExpandedKey);

For (i=l; i<Nr; i++) Round(State, ExpandedKey+Nb*i); FinalRound(State, ExpandedKey+Nb*Nr);

}

Көрсетілімдік бағдарламаның сипаттамасы. Бағдарлама C# тiлiнде орындалған және екi элементтерден – шифрлеу алгоритмінің реализациясын қосатын Rijndael.dll файлынан және RijndaelDemo.exe көрсетілімдік қосымшасынан тұрады. Қосымшасымен жұмыс істеу үшiн Framework v1.1-мен бірге Windows ОЖ орнатылады.

Көрсетілімдік бағдарламаның негізгі терезесінде кілттің ұзындығы, блоктың ұзындығы көрсетіледі, сонымен қатар шифрлеудің ұлғайтылмалы кілті де көрсетіледі (4.5, 4.6 суреттерді қара).

Дешифрлеуде де, шифрлеуде де (ByteSub, ShiftRow, MixColumn, AddRoundKey) барлық циклдық өрнектеулерiнiң жұмысын толық қарап шығуға болады (4.7, 4.8 суреттерді қара).

 

 

4.5 сурет – Көрсетілімдік бағдарламаның бас терезесi

 

 

4.6 сурет – Ұлғаймалы кiлттiң терезесi

 

 

4.7 сурет – ByteSub және ShiftRow өрнектеулерiнiң терезелерi

 

Шифрлеу кезінде бастапқы файл және шифрлеу нәтижесі орнатылатын файлды таңдау ұсынылады, ал дешифрлеу кезінде – сәйкесінше шифрленген файл және дешифрлеу нәтижесі орнатылатын файл таңдау ұсынылады. Процесс жүзінде бас терезе көрсетілген шифрлеудің кілті және блокпен кілттің ұзындығы көрсетілген бағдарламалар қолданылады.

 

 

4.8 сурет – MixColumn және AddRoundKey өрнектеулерiнiң терезелерi

 

Тапсырма.

1. RijndaelDemo бағдарламасы туралы мәлiметтермен таныстыру. RijndaelDemo.exe модулін iске қосу.

2. Rijndael алгоритмінің көмегімен кәдімгі мәтіндік файлдардың мысалында шифрлеу және дешифрлеу әдістерін талқылау. Шифрлеу және дешифрлеу кезінде барлық циклдық өрнектеулердің (ByteSub, ShiftRow, MixColumn, AddRoundKey) жұмыстарын қарап шығу. Шифрлеу үшiн бастапқы мәтінді алдын ала дайындалуы және *.txt файлында сақталуы мүмкін.

 3. Ақпаратты шифрлеу және дешифрлеу процесі көрсетілетiн экрандық формаларды есеп беру кезінде сақтау.

 4. Есеп беру кезінде оқытушы көрсеткен құсқалар бойынша бақылау жұмысының жауаптарын көрсету (4.3 кестені қара).

 

4.3 кесте

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 7, 26

ГОСТ 28147-89 және Rijndael алгоритмдерінің негізгі мінездемелерін салыстыру

2, 4, 6

DES және Rijndael алгоритмдерінің негізгі мінездемелерін салыстыру

11, 13

Фейстель желісінің құрылымын сипаттау

12, 14, 16

ГОСТ 28147-89 және Rijndael алгоритмінің көмегімен берілгендерді шифрлеудің жалпы сызбаларын келтіру. Олардың салыстыру анализдерін беру 

3, 9, 18, 29

ГОСТ 28147-89 және Rijndael алгоритмінің көмегімен берілгендерді шифрлеудің бір раундын салыстыру

20, 22, 24

ГОСТ 28147-89 және Rijndael алгоритмінің тікелей жіне кері келтіру эквивалентін салыстыру

 

   4.3 кестенің жалғасы

10, 17, 19

ГОСТ 28147-89 және Rijndael алгоритмдерінде кілттік ақпараттың өндірілуін салыстыру 

21, 23, 25

ГОСТ 28147-89 және Rijndael алгоритмдерін диффузия көрсеткіштері бойынша салыстыру 

8, 28, 27

ГОСТ 28147-89 және Rijndael алгоритмдерін тұрақтылық көрсеткіштері бойынша салыстыру 

12, 15, 30

ГОСТ 28147-89 және Rijndael алгоритмдерін өнімділігі мен жүзеге асырудың қолайлығының көрсеткіштері бойынша салыстыру 

 

5 Зертханалық жұмыс №5. Шифрлеудің ассиметриялық жүйелерінде қолданылатын қарапайым сандарды генерациялау   

 

Жұмыстың мақсаты: ашық кілтпен шифрлеу жүйелерінде қолданылатын қарапайым сандарды генерациялау әдісін меңгеру.

 

Зертханалық жұмыс сипаттамасы. Зертханалық жұмысты орындау үшін L_PROST.exe программасын жүктеу қажет. Дисплей экранында мәтіндік редактормен (программамен жүзеге асырылған әрекеттер туралы ақпаратты көрсету үшін) терезе пайда болады, терезенің жоғары жолында басты меню, негізгі менюдің сәл төменінде – құралдар панелі (тез командалық батырмалармен және басқарудың басқа «жылдам» элементтерімен басқару үшін), терезенің ең төменді жағында қалып-күй жолы орналасқан, онда  подсказка көрсетіледі және қосымша ақпарат енгізіледі. Құралдар панелінің пернелері ыңғайлылық үшін қалқымалы подсказкамен жабдықталған.

Негізгі менюге кіру үшін F10 пернесін шерту керек. Меню пунктін шақыру үшін ENTER пернесін, ESC — негізгі менюден шығу шерту керек.

Программада ыңғайлылық үшін тышқанмен жұмыс істеу қарастырылған. Бұл жағдайда көрсеткіш басты менюдің қажет пунктіне немесе құралдар панелінде қажет батырмаға келтіріледі, қайтару үшін ESC пернесін шерту жеткілікті.

Басты менюдің негізгі функцияларынан басқа (қарапайым Р генерациясы, интервалда іздеу, қарапайымдылыққа тексеру және т.с.с.) құралдар панелі пернелерден тұрады, оларды шерткенде программа туралы ақпарат шығарылады.

Қарапайым Р генерациялау. Қарапайым санды генерациялау мүмкіндігі; генерацияланатын  санның разрядтар саны пайдаланушымен беріледі (1-ден 5 дейін).

Интервалда іздеу. Берілген интервалда қарапайым санды іздеу мүмкіндігі. Пайдаланушымен интервалдың басы – х мәні, интервал ұзындығы – L мәні беріледі. Іздеу (х,х + L) интервалында жүзеге асырылады.

Интервалдың әрбір санының қарапайымдылығына тексеру кезінде біріншісіне рет бойынша қарапайым сандарды сынақ бөлулер тесті орындалады, содан соң Ферм тесті бойынша тексеріледі. Қарапайымдылыққа тексеру әдістерін беру үшін тышқанның сол жақ пернесімен қажет әдіс атауының жанына жалауша қойып, содан іздеуді бастау үшін қажет деректердің барлығын көрсету керек.

Сынақ бөлулер әдісінде алғашқы деректер болып бөлуге арналған бірінші қарапайым сандар көлемі табылады, ал Ферм тестінде негіздер санын және олардың мәнін көрсету керек.

Есептеуді аяқтаған соң экранда табылған қарапайым сандар мен олардың көлемдері шығарылады. Жұмыстың нәтижелерінің толық суретін «Вывод результатов» меню пунктінде көруге болады.

Қарапайымдылыққа тексеру. Кез келген санды қарапайымдылыққа тексеру мүмкіндігі. Интервалда іздеуге сәйкес санды және есептеу параметрлерін енгізу қажет.

Нәтижелерді шығару. Соңғы өңдеудің барлық нәтижелерін көру мүмкіндігі. Программаға кірген кезде, әлі ешқандай есептеулер жүргізілмегенде, сынақ бөлулер тесті үшін пайдаланылатын бірінші қарапайым сандардың алғашқы файлын көру мүмкіндігі беріледі.

Программа туралы қосымша мағлұматтар

1.  Қарапайым санды генерациялау утилитін жүктеу, интервалда іздеу және қарапайымдылыққа тексеру кезінде пайдаланушыдан жұмыс істеу үшін таңдап алынған әдістің дұрыстығын бекіту сұралады.

2.  Орындалуы бойынша ұзақ процедуралардың жұмыс уақытында процесс прогресі жүктеледі және мәтіндік редактор терезесі сөнеді. Прогресс айналдырғышы бойынша алгоритм жұмысының жылдамдығын және ағымды процестің аяқталу уақытын бақылауға және бағалауға болады.

3.  Жұмыс параметрлерін орнату кезінде назар аударыңыз, өйткені жұмыс барысының есептеу процесінде  бұл параметрлерді өзгертуге болмайды.

4.  «Жылдам» пернелерді сипаттау:

Ctrl+Fl – қарапайым Р генерациясы;

Ctrl+F2 – интервалда іздеу;

Ctrl+F3 – қарапайымдылыққа тексеру;

Ctrl+F4 – нәтижелерді шығару;

Ctrl+X – программадан шығу.

5.  Зертханалық жұмыста бес разрядтан аспайтын сандарды пайдалану және  интервал ұзындығы 500 аспайтындай таңдау ұсынылады, Ферм тесті үшін негіз саны – 5 аспау керек.

6.  Программаның жұмыс директориясында  дұрыс қалыптастырылуы үшін (l_prost.exe файлымен бірге) prost.txt мен work.txt файлдары болуы керек. Осы мәтіндік файлдарға қандайда бір өзгертулер енгізу ұсынылмайды.

 

Тапсырма.

1. Қарапайымдылыққа 5 аспайтын разрядтылығымен екі дербес бүтін сандарды тексеру керек.

2 Қарапайым сандарды үлестіру.

2.1 [х, х + L] түрінде интервал берілген, интервалда қарапайым сандардың П(х, L) санын есептеу және L/ln(х) шамасымен салыстыру. П(х, L)/L қандай шартында х = 2000, L = 500, бөлуге арналған қарапайым сандар саны  5 – 15, негіз саны 1 – 2 берілген кезде 1/ln(х) жақын?

2.2 (1000, 1000 + 300) интервалында барлық қарапайым сандарды табу керек. L(i) – екі көрші қарапайым сандар арасындағы айырым. L(i) үшін гистограмма тұрғызу. Lcpед таңдамалы орташаны есептеу. ln(х) шамасымен салыстыру, мұнда х – интервал ортасы. Берілген: бөлу үшін 5 – 20 қарапайым сандар саны, 1 – 3 негіз саны.

2.3 {k} сандардың берілген жиыны үшін k-ші қарапайым санға формуланың қатысты қалдығын бағалау керек:

р(k) = k/ln(k), k = {10, 15,20, 30, 35}.

3 Қарапайым сандарды генерациялау әдісі.

3.1 (500, 500 + 200) интервалында «решето Эратосфена»-дан өтетін, яғни бірінші  k қарапайымдарға бөлінбейтін натурал сандардың қатысты санының графигін тұрғызу керек. Есептеу барлық k <= 10 үшін жүргізіледі.

3.2 (1500, 1500 + 300) интервал үшін:

а)   интервалда Р0 қарапайым сандардың нақты санын есептеу, яғни тексеру кезінде бөлінгіштікке тест ғана беру керек. Бөлу үшін бірінші қарапайым сандар саны бөлу үшін максималды сан интервалдың максималды мәнінен квадрат түбіріне тең есебінен анықталады;

б)   сынақ бөлулердің кішігірім  санымен тест құру және Ферм тесті негіздердің бірі. Осы тестті қанағаттандыратын қарапайым сандар ықтималдығының Р1 санын есептеу;

в)   алдыңғы жағдайға қарағанда сынақ бөлулер санынан үлкен және Ферм тестінде екі немесе үш негізбен тестті қалдыру. Осы тестті қанағаттандыратын қарапайым сандар ықтималдығының Р2 санын есептеу. Алынған деректерді талдау.

3.3 Берілген интервалда Кармайкл саны бар екендігі белгілі. Оларды табу керек.

 

Интервал нұсқалары:   (1050, 1050+ 100);

(1700, 1700+ 100);

(2400, 2400 + 100).

 

4 Отчетте бақылау сұрақтарына жауапты нұсқа нөміріне сәйкес жүргізу керек (5.1 кестені қара).

 

 

 

 

 

 

5.1 кесте

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 7, 3, 9, 18, 28

Өте үлкен сандарды қарапайымдылыққа тексеру үшін Ферм тесті типті тесттерде бірінші негіз ретінде неге 2 санын пайдаланған дұрыс?

2, 4, 6, 8, 20, 22, 24, 26, 30

Ойдан алынған тақ өте үлкен сан, х басым түспейтін, қарапайым болып табылатындығының Р(х) ықтималдығы қанша?

11, 13, 15, 10, 17, 19, 27

Есептеу:

1812 (mod 13), 127 (mod 7)

12, 14, 16, 21,23,25,29

Сынақ  бөлулерді пайдаланумен қарапайымдылыққа тест мәнін қалыптастырыңыз

 

6 Зертханалық жұмыс №6. Электронды цифрлік қолтаңба    

Жұмыстың мақсаты: телекоммуникациялық желілерде қорғалған электронды құжатайналым принциптерімен және электронды цифрлік қолтаңба (ЭЦҚ) қойылымының алгоритмімен танысу.

 

Зертханалық жұмыс сипаттамасы. Электронды цифрлік қолтаңба. Байланыс желісімен электронды құжатайналыммен алмасу кезінде құжатты өңдеу және сақтауға шығын азаяды, оларды іздеу жылдамдатылады. Бірақ құжат авторы мен құжаттың өзінің аутентификация мәселесі туындайды, яғни автор ақиқаттылығын орнату және алынған құжатта өзгерістің жоқтығы. Электронды формада құжаттарды өңдеу кезінде қолжазба және қағаз құжатта баспалау бойынша ақиқаттылығын орнатудың дәстүрлі әдістері жарамайды. Жаңа шешім электронды цифрлік қолтаңба болып табылады.

ЭЦҚ бірінші схемасы – RSA 1970 жж. соңында құрастырылды. Бірақ авторлықты бекіту мәселесі актуалды болғаны соншалықты, 1990 жж. стандартты орнату қажет болды. Мәселенің туындауы Интернет ауқымды желісінің ұлғаюы мен электронды сауда мен қызмет көрсетудің ауқымды таралуы болып табылады. Осы көрсетілген мәселеден соң ЭЦҚ  стандарттары Ресей мен АҚШ 1994 ж. бір уақытта қабылданды.

Криптологтармен ұсынылған ЭЦҚ схемаларының ішінен тиімдісі RSA мен Эль-Гамаль схемасы болып шықты. Олардың біріншісі АҚШ-та және басқа мемлекеттерде патенттелген (RSA-ға патент өз ісін аз уақыт бұрын ғана тоқтатты). Екінші схемада мүмкін модификацияның үлкен саны бар, олардың барлығын патенттеу біршама қиынырақ. Осы мәселеден кейін Эль-Гамальдің ЭЦҚ схемасы патенттен біршама бөлігі бос болып қалғандығы осыдан. Сонымен қатар, бұл схеманың белгілі бір практикалық ерекшеліктері бар: блоктар өлшемі, олар алгоритмдерді амалдайды және сәйкесінше ЭЦҚ өлшемі онда RSA қарағанда біршама аз болып табылды. Сондықтан Ресей мен АҚШ ЭЦҚ стандарттары Эль-Гамаль схемасына негізделеді.

ЭЦҚ туралы заңдар бүгінгі таңда 60 аса мемлекетте бар. Бұл тізімде Қазақстан да саналады.

ЭЦҚ құру принципі. ЭЦҚ схемасында жіберуші мен алушы рөлдерінің асимметриясы екі тығыз байланысқан құпиялы немесе қолтаңба кілті мен ашық немесе қолтаңбаны тексеру кілті бар.

ЭЦҚ кез келген схемасы келесі үш алгоритмді анықтауы міндетті:

1)  қолтаңба және оны тексеру үшін кілттік жұпты генерациялау;

2)  қолтаңба қойылымы;

3)  қолтаңбаны тексеру.

Ресей мен АҚШ стандарттары өте ұқсас, олар қандайда бір сандық параметрлерімен және кілттік жұпты өңдеудің жеке бөлшектерімен ғана ерекшеленеді. Шынымен де, екі стандарт та Эль-Гамальдің ЭЦҚ схемасының нұсқасы болып табылады.

ЭЦҚ телекоммуникациялық каналдар бойынша жіберілетін мәтіндер аутентификациясы үшін қолданылады. Функционалды ол қарапайым қолтаңба сияқты және негізгі артықшылықтарына ие:

1)  Қол қойылған мәтін қолтаңба қойған тұлғадан шыққанын дәлелдейді;

2)  Осы тұлғаның өзіне қол қолйылған мәтінмен байланысты міндеттемелерден бас тарту мүмкіндігін бермейді;

3)  Қол қойылған мәтін бүтіндігін кепілдейді.

ЭЦҚ қол қойылатын мәтінмен бірге берілетін қосымша цифрлік ақпарат санын көрсетеді және екі процедураны қосады:

1)  қолтаңба қойылымы процедурасы, онда хабарлама жіберушінің құпиялық кілті  пайдаланылады;

2)  қолтаңбаны тексеру процедурасы, онда жіберушінің ашық кілті пайдаланылады.

Қолтаңба қойылымының процедурасы. ЭЦҚ қалыптастыру кезінде жіберуші алдымен М қол қойылатын мәтіннің h(M) хэш-функциясы есептеледі. Есептелген h(M) хэш-функцияның мәні М мәтінін түгел сипаттайтын т ақпараттың бір қысқа блогын көрсетеді. Содан кейін т мәні жіберушінің құпиялы кілтімен шифрленеді. Алынатын сандар жұбы М берілген мәтін үшін ЭЦҚ көрсетеді.

Қолтаңбаны тексеру процедурасы. ЭЦҚ тексеру кезінде хабарламаны алушы қайта М мәтін каналымен алынған т=h(М) хэш-функцияны есептейді, содан кейін жіберушінің ашық кілті көмегімен алынған қолтаңба хэш-функцияның т есептелген мәніне сәйкес келетінін немесе келмейтіндігін тексереді.

ЭЦҚ жүйесінде принципиалды момент пайдаланушының ЭЦҚ оның құпиялық кілтін білмегендіктен жалған жасау мүмкіндігі болмайды. Әрбір қолтаңба келесі ақпараттан тұрады:

-     қолтаңба мерзімі;

-     берілген қолтаңба кілтінің іс-әрекеті аяқталған мерзім;

-     мәтінге қол қойған тұлға туралы ақпарат;

-     қол қойғанның идентификаторы (ашық кілт атауы);

-     цифрлік қолтаңбаның өзі.

Бір жаққа бағытталған хэш-функциялар. Хэш-функция қол қойылатын М құжатты бірнеше ондық немесе жүздік битке дейін қысу үшін арналған. Хэш-функция h(.) дербес ұзындықты хабарлама аргументі ретінде  пайдаланылады және тіркелген ұзындықтағы h(M)=Н хэш-мәнді қайтарады. Көбінесе хэштелген ақпарат дербес ұзындықты негізгі ақпараттың қысылған екілік көрінісі болып табылады. Атап өтетіндей, h(M) хэш-функцияның мәні М аргументке тәуелді және М құжаттың өзін қалпына келтіруге мүмкіндік бермейді.

Хэш-функция шарттардың бірқатарын қанағаттандыру керек:

-     М мәтінде барлық мүмкін өзгерістерге сезімтал болуы;

-     қайтымсыз қасиеттерге ие, яғни М1 құжатын іріктеу есебі, онда ол хэш-функцияның қажет мәніне ие болушы еді, есептегіш шешілмейтін болуы керек;

-     екі ерекшеленген құжаттың хэш-функция мәні сәйкес келеді деген ықтималдық болмашы аз болуы керек.

Көптеген хэш-функциялар f(.) бір жаққа бағытталған функцияға негізделген, ол п ұзындығымен екі кіру мәнін беру кезінде п ұзындығымен шығу мәнін түзеді. Осы кірулер Мi алғашқы мәтін блогы және мәтіннің алдыңғы блогының Hi-1 хэш-мәні болып табылады (6.1 суретті қара).

 

 

 

 


6.1 сурет – Хэш-функцияның қалыптасу схемасы

 

DSA цифрлік қолтаңба алгоритмі. DSA (Digital Signature Authorization) цифрлік қолтаңба алгоритмі 1991 ж. АҚШ-та ұсынылған және Эль-Гамаль цифрлік қолтаңбасы алгоритмінің дамуы болып табылады.

Электронды құжатты жіберуші мен алушы есептеу кезінде үлкен бүтін сандар қолданады:

G, Р – әрбіреуі L-бит болатын қарапайым сандар (L = 512 ... 1024 бит);

Q(Р - 1) саны бөлгіш 160 бит ұзындығымен қарапайым сан;

G, Р, q сандары ашық болып табылады және желі пайдаланушыларының барлығы үшін жалпы болып табылуы мүмкін.

Алгоритм сипаттамасы

1. Жіберуші X, 1< X<q кездейсоқ бүтін санын таңдайды. Х саны электронды қолтаңба қалыптастыру үшін жіберушінің  құпиялық кілті болып табылады.

2. Жіберуші мына мәнді есептейді

Y=Gх mod Р.

Y саны жіберуші қолтаңбасын тексеру үшін ашық кілт болып табылады және құжатты алушылардың барлығына беріледі.

3. М құжатына қол қою үшін жіберуші оны т хэш-мәнге хэштейді:

m=h(M), 1 <m<q.

Содан соң К, 1 < К < q кездейсоқ бүтін санын генерациялайды және r санын есептейді.

r= (Gk mod Р) mod q.

4. Х құпиялық кілті көмегімен жіберуші s санын есептейді:

s = ((m +r * Х)/K) mod q.

r, s сандар жұбы М құжатымен S=(r, s) цифрлік қолтаңба түзейді.

5. Алушыға жеткізілген хабарлама қолтаңбамен бірге үштік [М, r, s] сандарды көрсетеді. Алдымен алушы мына қатынастың орындалуын тексереді:

0 < r < q; 0 < s < q.

6. Ары қарай алушы мына мәнді есептейді:

w = 1/s mod q;

m = h(M) — хэш-мән;

u1 = (m* w) mod q;

u2 = (r*w) mod q.

Содан Y ашық кілт көмегімен мына мән есептеледі

 v = ((Gu1 •Yu2) mod Р) mod q

және v =r теңдіктің орындалуы тексеріледі. Егер ол орындалса, онда қолтаңба ақиқат болып есептеледі, өйткені математикалық түрде соңғы теңдік сонда тек сонда ғана орындалады, S=(r, s) қолтаңбасы М құжатымен Y ашық кілті алынған Х құпиялық кілті көмегімен алынғанда дәлелдеуге болады.

ЭЦҚ жаңа стандарттары. Криптографияның соңғы жетістіктері көрсеткендей, ЭЦҚ көрсетілген схемасының негізі болып табылатын дискретті өрістерде логарифмдеудің жалпы мәселесі жеткілікті мықты фундамент болып есептелуі мүмкін емес. Мысалы, қауіпсіз болып есептелетін блоктар өлшемі салыстырмалы тез қарқынмен өсуде. ЭЦҚ жиі қолданылатын алгоритмдері 6.2-суретте келтірілген. ЭЦҚ схемасы бұрынғыдай қалды, бірақ сандар ретінде енді соңғы өріс GF(2n) немесе GF(р) элементтері емес, ал эллиптикалық сандар – көрсетілген соңғы өрістермен эллиптикалық қисықтар теңдеуінің шешімі қолданылады. Жаңартылған стандарттарда соңғы өрісте санды дәрежеге алу операциясының ролін эллиптикалық қисықтың еселенген нүктесін алу операциясы – нүктені бүтін санға «көбейтуді» орындайды.

 

 

6.2 сурет – Қазақстанда қолданылатын ЭЦҚ алгоритмдері

 

Эллиптикалық қисық типіндегі тиісті таңдау  ЭЦҚ схемасын бұзу мәселесін бірнеше есе қиындатуға және деректер блогының жұмыс өлшемін қысқартуға мүмкіндік береді. ЭЦҚ ескі стандарты 1024-биттік блоктармен, ал жаңасы, эллиптикалық қисықтарға негізделген, - 256-биттіктермен жұмыс істейді, сондай-ақ үлкен төзімділікке ие.

 

Тапсырма.

1. «Электронды Қазақстан» программасы шеңберінде жұмыстардың негізгі бағыттарымен, сондай-ақ электронды цифрлықтың қойылымын пайдалану мен алгоритмдерінің реті бойынша мағлұматтармен танысу. Электронды цифрлық қолтаңбаны тексеру және қойылу ретін демонстрациялау үшін арналған labWork6.exe программасын жүктеу.

2. Алғашқы құжатты шифрлеу үшін кілтті алмастыру қастысушыларына жіберу. Шифрлеуге арналған алғашқы мәтін программа терезесінде теріледі.

3. Алғашқы хабарламаны шифрлеу және жіберушінің құпиялы кілтіне оны  жіберу.

4. Алушыға шифрленген және жазылған хабарламаны жіберу. ЭЦҚ дұрыстығын тексеруді орындау және хабарламаның алғашқы мәтінін қалпына келтіру.

5. Есепте  генерация процесі мен кілттің таралуын көрсететін экрандық форманы сақтау; алғашқы құжатты шифрлеу және ЭЦҚ қойылымы процесі.

6. Отчетте бақылау сұрақтарына жауапты нұсқа номеріне сәйкес жүргізу керек (6.1 кестені қара).

 

6.1 кесте

Нұсқа нөмірі

Бақылау сұрақтары

1, 5, 7, 3, 18, 28

 

Хэш-функцияның міндеті неден тұрады және ЭЦҚ қойылымы үшін қолданылатын хэш-функцияға қандай талаптар қойылады? Қазақстан Республикасында әрекет ететін хэш-функция стандарттарын атап өтіңіз.

2, 4, 6, 8, 20, 22, 24, 26, 30

ЭЦҚ қойылымы мен тексеру процедураларын сипаттаңыз. Қандай ақпарат ЭЦҚ-да бар?

11, 13, 15, 10, 17, 19, 27

Қазақстан Республикасында әрекет ететін ЭЦҚ стандарттарын атаңыз. Қандай принциптерге ЭЦҚ қазіргі алгоритмдердің криптотөзімділігі негізделген?

12, 14, 16, 21, 23, 25, 29

ЭЦҚ алгоритмін жүзеге асыру мысалын келтіріңіз (RSA, Эль-Гамаль, DSA)

 

Әдебиеттер тізімі

 

1.  Аграновский А.В., Хади Р.А. Практическая криптография. Алго­ритмы и их программирование (+ CD-ROM). – СПб. : COJIOH-Пресо, 2002.

2.  Бабаш А. В. Криптографические и теоретико-автоматные аспекты современной защиты информации. Криптографические методы за­щиты. – М.: Изд. центр ЕАОИ, 2009.

3.  Бабаш А.В., Шанкин Г.П. Криптография/под редакцией В.П. Шерстюка, Э.А. Применко. – М.: СОЛОН-Р, 2007.

4.  Баранова Е.К. Эффективное кодирование и защита информации: Текст лекций для студентов специальности 510200. – М.: МГУЛ, 2002.

5.  Башлы П.Н., Бабаш А.В., Баранова Е.К. Информационная безопасность: учебно-практ. пособие. – М.: Изд. центр ЕАОИ, 2010.

6.  Башлы П.Н., Бабаш А.В., Баранова Е.К. Информационная без­опасность: учебно-практич. пособие. – М. : Изд. центр ЕАОИ, 2010.

7.  Вельшенбах М. Криптография на Си и C++ в действии (+CD-ROM). - М. : Триумф, 2004.

8.  Коутинхо С. Введение в теорию чисел. Алгоритм RSA. – М.: Постмаркет, 2001.

9.      Мельников В.В. Защита информации в компьютерных системах. – М.: Финансы и статистика; Электроинформ, 1997

10.  Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. – М.: Радио и связь, 2001.

11.  Смарт Н. Криптография. – М.: Техносфера, 2006.

 

 

2013 ж. қосымша жоспары, реті  17