ПОӘК 042-14.2.07.1.20.01/03-2013
|
01.09.2013 ж. № 1 басылым
|
беттің
|
Қазақстан Республикасы білім және ғылым министрлігі
Семей қаласы ШӘКӘРІМ атындағы МЕМЛЕКЕТТІК УНИВЕРСИТЕТІ
|
3 деңгейдегі СМК құжаты
|
ПОӘК
|
ПОӘК
042.14.2.07.1.20.01/02-2013
|
ПОӘК
Оқытушыға арналған
«Криптография негіздері» пәні бойынша оқу жұмыс бағдарламасы
|
03.09.2013ж
№1 басылым
|
«Криптография негіздері»»
ПӘНІН ОҚЫТУ-ӘДІСТЕМЕЛІК КЕШЕН
5В011100 - «Информатика» мамандығына арналған
ОҚУ-ӘДІСТЕМЕЛІК МАТЕРИАЛДАР
Семей
2013.
МАЗМҰНЫ
|
Глоссарий
|
|
|
Дәрістер
|
|
|
Зертханалық сабақтар
|
|
|
Студенттің оқытушымен бірге орындайтын өздік жұмысы
|
|
|
Студенттердің өздік жұмыстарының құрылымы
|
|
Глоссарий
Алфавит - Ақпаратты кодалау үшін пайдаланылатын таңбалардың шектеулі жиынтығы.
Ақпараттық қауіпсіздік- Мемлекеттік ақпараттық ресурстардың, сондай-ақ ақпарат саласында жеке адамның құқықтары мен қоғам мүдделері қорғалуының жай күйі.
Ақпаратты қорғау- Ақпараттық қауіпсіздікті қамтамасыз етуге бағытталған шаралар кешені.
Алгоритм - Берілген есепті шешу үшін орындалатын әрекеттер тізбегі. Арбитражды хаттама- Арбитр - хаттама қатысушысы, хаттаманың кезекті қадамын орындау үшін әрекет ете отырып, қалған қатысушылар оған сенеді. Ассиметриялық жүйе- Ашық кілтті криптожүйелер деп те аталады. Бұл жүйеде деректерді шифрлау үшін бір кілт, шифрды ашу үшін басқа кілт қолданылады.
Аутентификация - Бұл функция қатынасу серіктерін және деректер көзін аутентификациялауды қамтамасыз етеді.
Блоктық шифрлар- Шифрланатын мәтіннің бөлігіне қолданылатын түрлендірудің негізгі әдістерінің тізбегі.
Бірреттік шифрлау жүйесі- Кілттік тізбектің бір рет қолданылуы.
Бүтіндік- Хабарды алушы алынған хабарда оны жіберу кезінде жолай қандай да бір болмасын өзгеріс енгізілді ме, жоқ па соны тексере алады.
Гаммалау арқылы шифрлау - Шифрланатын мәтіннің символдары шифр гаммасы деп аталатын кейбір кездейсоқ тізбек символдарымен қосылады.
Гаммалау (gamma xoring) - белгілі бір заңға сәйкес шифрдың гаммасын ашық деректердің үстіне салу (беттестіру) үрдісі.
DES стандарты - АҚШ-тың Ұлттық стандарттар бюросы жариялаған шифрлау стандарты.
Жасырындылық- Заңсыз қол жеткізуден немесе оқудан қорғау. Итерация - Циклдың бір рет орындалуы.
Криптология- Ақпаратты оны түрлендіру арқылы қорғаумен шұғылданатын ғылым.
Криптография - Құпияжазу, ақпаратты заңсыз пайдаланушылардан қорғау мақсатымен оны түрлендіру әдістері жайындағы ғылым. Криптоанализ - Ақпаратты оның кілтін білмей-ақ қалайша кері шифрлау мәселесімен айналысады.
Криптожүйе- Шифрлау алгоритмі, сондай-ақ алуан түрлі кілттердің, ашық және шифрланған мәтіндердің жиынтығы.
Криптографиялық алгоритм - шифрлау және кері шифрлау үшін қолданылатын математикалық функция.
Криптографиялық хаттама- Негізінде криптографиялық алгоритм жататын хаттама.
Кілт- Ақпаратты шифрлау және кері шифрлау, сондай-ақ оған қол қою үшін арналған цифрлық кода.
Криптоберіктілік- Шифрдың негізгі сипаттамасы. Ол кілт белгісізжағдайда шифрдың кері шифрлауға беріктігін анықтайды.
Кілт бойынша орын ауыстыру- Бұл әдісте кестенің бағандары кілттік сөз,сөздер тіркесі немесе сандар жиыны бойынша орын ауыстырылады.
Қол жетерлік- Санаулы уақыт ішінде керекті ақпараттық қызмет алуғаболатын мүмкіндік.
Орын ауыстыру шифрлары- Бұл әдісте шифрланатын мәтіннің символдары белгілі бір ереже бойынша орын ауыстырылады.
Полибий квадраты - Шифрлау түрі. Қарапайым ауыстырудың алғашқы шифрларының бірі болып табылады.
Программа - Берілген алгоритмді компьютерге түсінікті тілде жүзеге асыратын командалар жиынтығы.
Симметриялық криптожүйе- Деректерді шифрлауда және шифрды ашуда бір ғана кілт қолданылатын жүйе.
Тұтастық- Ақпараттың бұзудан және заңсыз өзгертуден қорғалуы.
Төреші хаттама- Арбитражға түсетін салмақты жеңілдету үшін арбитр қатысатын хаттама жиі екі бөлікке бөлінеді. Біріншісі, арбитражсыз қарапайым хаттамамен сәйкес болса, екіншісі, қатысушылар арасындағы алаауыздықты шешу үшін жүгінетін ерекше арбитр, ол - төреші арбитр деп аталады.
Шифр - Бақылаушыда мәлімет болмаған жағдайда, ашық ақпаратты бастапқы қалпына келтіре алмайтындай етіп түрлендіру үшін қолданылатын шартты белгілер тізбегі.
Шифрлау - Белгілі бір адамнан басқалар оқи алмайтындай етіліп ақпаратты математикалық, алгоритмдік түрлендіру әдісі.
Хаттама - Тапсырманы шешу үшін бір немесе бірнеше жақтың қатысуымен орындалатын қадамдар тізбегі.
Цикл - Біртектес амалдарды орындауға арналған программалау әдісі.
Цифрлық ерекше белгі(ЦЕБ,digital watermark) - Арнайы мақсатпен бейнені қалқалатын (бүркемелейтін) көзге көрінбейтін ақпарат.
ДӘРІСТЕР
Дәріс 1. Қорғаныстың криптографиялық әдістері және олардың жүзеге асуы
Мақсаты:Қорғаныстың криптографиялық әдістері және олардың жүзеге асуы туралы түсініктерін қалыптастыру.
Жоспар:
Криптожүйеге қойылатын талаптар.
Симметриялық криптожүйелер
Ашық кілтті жүйелер
Ақпараттың жат тұлғаға оқытылуын болдырмайтын оның жаңадан жасалу жолымен қорғалу мәселесі адам санасын ерте заманнан толғандырған. Криптография тарихы – адамзат тілі тарихының құрдасы. Оның үстіне, әуелі жазбаны ежелгі қоғамда тек қолданушылар ғана меңгергендіктен, ол өз-өзінен криптографиялық жүйелерде болған. Көне Египет, Көне Үндістанның киелі кітаптары осыған мысал. Ақпаратты қорғаудың криптографиялық әдістері бұлар шифрлеу, кодтау немесе ақпаратты басқаша түрлендіру нәтижесінде оның болуы криптограмма мен қайтадан түрлендіруді көрсетусіз кіре алмайтын болатын арнайы әдістер. Қорғаныстың криптограммалық әдісі, ақпаратқа кіру емес, оның өзі тікелей қорғалатын болғандықтан сөзсіз, ең сенімді қорғаныс әдісі. (Мысалы, шифрленген файлды тіпті қолданушы тоналған жағдайда да оқуға болмайды). Қорғаныстың бұл әдісі бағдарлама немесе бағдарламалар пакеті түрінде жүзеге асырылады.
Қазіргі есептеуіш машиналарының кеңінен қолданылуы адамның еңбек ету салаларын түгелдей қамтиды. Бұл жағдай баршамызға едәуір жеңілдіктер әкеліп, жаңа есептерді туындатты. Олардың бірі – ақпаратты қорғау. Компьютерлік жүйелерде ақпаратты қорғау бүгін ғылымның ерекше саласы болып табылады. Төмендегідей ақпаратты қорғау әдістері белгілі:
Жүйе компоненттерінің физикалық қатерсіздігін ұйымдастыру тәсілдері;
Бақылау, есепке алу, қатынауды басқару;
Ақпаратты қорғаудың криптографиялық тәсілдері;
Заңдылық шаралары;
Әкімшілік шаралары.
Криптографияның классикалық есебі болып берілген ашық тексті бөтен адам оқи алмайтын түрге келтіру саналады. Әрине бұл түрлендіруді кері бағытта да орындай алатын болу керек. Криптоанализ есебі болып криптожүйенің сенімділігін бағалау және алгоритмге қол сұғу саналады. Криптография және криптоанализ ғылымының бір саласын – криптология ғылымын құрайды.
Қазіргі уақытта симметриялық емес деген екі криптографиялық алгоритм бар. М (message) деп ашық хабар мәтінін белгілейік, С (ciphertext) деп шифрланған мәтінді белгілейік. Шифрлау функциясы (encryption) және дешифрлау (decryption) функциялары келесідей:
EK(M)=CDK(C)=M
Мұндағы К (key) – кілт, ол жеткілікті үлкен кеңістіктен таңдап алынуы тиіс. Шифрлау сенімділігі түгелдей кілтке байланысты. Шифрлау алгоритмі белгілі деп саналады.
Мысалы Айгүл (А) Болатқа (В) құпия хабар жеткізуі тиіс болсын. Олар алдын ала белгілі бір жабық құпия канал арқылы өзара қолданылатын кілт ауыстыруы қажет. Егер тыс адам бұл құпия кілтке қол жеткізсе, онда ол құпия хабарларды оқып қана қоймай, тіпті Айгүл мен Болатқа жалған хабарларды жіберуі де мүмкін. Алгоритмнің сүлбесі 1 – суретте көрсетілген.
1-сурет. Жабық кілтті криптожүйенің сүлбесі.
Ашық кілтті криптожүйелер шифрлау және дешифрлау үшін әртүрлі кілттерді қолданады. Дешифрлау кілті шифрлау кілтінен есептелініп шағарылмайды. Әрбір қолданушының өзінің ашық және жабық кілтті болады. Ашық кілт барша жұртқа мәлім болады. Сонымен Айгүлдің KAprivate , KApublicкілттері бар, Болаттың KBprivate, KBpublicкілттері бар. Айгүл Болатқа арналған хабарды оның ашық кілтімен (public key) шифрлайды. Болат хабарларды дешифрлау үшін өзіне ғана белгілі жабық кілтін ғана қолданады. (private key). Алгоритмнің сүлбесі 2-суретте көрсетілген. Кейбір криптографиялық алгоритмдерде, мысалы, электрондық қол таңбаны алу үшін, хабарды жабық кілтпен шифрлайды. Шифр мәтінді дешифрлау үшін ашық кілтті қолданады.
2-сурет. Ашық кілтті криптожүйенің сүлбесі.
Криптографиялық алгоритм жалпыға мәлім болуы тиіс. Қазіргі криптографиялық жүйелер келесі Керкхофф ережесі бойынша қарастырылады:
алгоритмде қолданылатын түрлендірулер механизмі жалпыға белгілі деп саналады;
алгоритмнің сенімділігі тек қана құпия кілтке байланысты деп саналады.
Бұл ереженің мағынасын, менімше, Брюса Шнайердің «Applied Cryptography» кітабындағы мысалы жақсы түсіндіреді: «Егер мен хатты мысалға Нью-Йорк қаласында, сейфке тығып қойып, сізге тап десем, онда бұл қауіпсіздік емес. Бұл нағыз түнек. Ал енді мен хатты алып, оны сейфке жауып, сізге сол сейфті барлық спецификацияларымен бірге тапсырайын. Тіпті жүздеген осындай сейфтерді әлемдегі ең епті ұрыларға берейін. Осы жағдайда да сіз менің хатымды сейфтен алып оқи алмасаңыз, онда бұл шын мәнінде де қауіпсіздік болады».
Бүгінгі таңда ақпараттық технологияның жетілуіне байланысты (электрондық ақша, электрондық дауыс беру, цифрлік телекоммуникация) криптографиялық тәсілдермен шығарылатын есептердің саны өсті. Қазіргі криптография келесі есептерді шешу үшін қолданылады:
Конфиденциялдық.
Аутентификация (шынайылықты тексеру). Хабарды алушы хабарды жіберуші көзді анықтай алуы керек. Хабар жіберуші өзінің шынайылығын дәлелдеуі қажет.
Бүтіндік немесе түгелдік. Хабар алушы қолына түскен мәліметтің жол-жөнекей өзгермегендігіне көз жеткізу керек. Ал қаскүнем шын хабарды жалған хабармен ауыстыра алмауы қажет.
Авторлықтан тайынбау. Хабарды жіберуші кейіннен жасалған іс-әрекеттерінен тайынбауы қажет.
Анонимдікті сақтау. Хабар жіберуші немесе алушы кейбір мәліметті жасыра алатындай болуы керек. Мысалы, электрондық ақша алмасу процесін жасыру немесе электрондық дауыс беру мезгілінде кімнің қалай дауыс беретіндігін жасыру.
Қазіргі заманғы криптографияға төрт ірі бөлім кіреді:
Симметриялы криптожүйе. Симметриялы криптожүйелерді шифрлеу үшін де, шифрды ашып оқу үшін де бір кілт пайдаланылады. (Шифрлеу – қайта жасалатын процесс: ашық мәтін деп те аталатын бастапқы мәтін шифрленген мәтінмен алмастырылады, шифрды ашу шифрлеуге қарсы процесс. Кілт негізінде шифрленген мәтін бастапқыға түрленеді.)
Ашық кілтті криптожүйелер. Ашық кілтті жүйелерде екі кілт – математикалық тұрғыда бір – бірімен байланысты ашық және жабық кілттер пайдаланылады. Ақпарат қалағандардың бәрі кіре алатын ашық кілт көмегімен шифрленеді, бірақ хабар алушыға ғана таныс жабық кілт көмегімен шифр ашылады. (Кілт – мәтіндердің қиындықсыз шифрленіп, шифры ашылу үшін қажетті ақпарат).
Электронды қол қою. Электронды қол қою деп мәтінді алғанда басқа пайдаланушыларға хабардың автордікі және қолдан жасалғандығын тексеруге мүмкіндік беретін оның криптографиялы түрленуінің мәтінге қосылуын айтады.
Кілтпен басқару. Өңдеу жүйесінің бұл процесі пайдаланушылар арасындағы құралу мен таралу мазмұнындағы ақпараттар. Криптографиялық әдістер пайдалануының негізгі бағыттары – байланыс арналары (мысал, электронды пошта) арқылы жасырын ақпараттардың берілуі, берілген хабаламалардың түп нұсқасын орнату, пайдаланушыда ақпаратты шифрленген күйде (құжаттарды, мәліметтер базасын) сақтау.
Криптожүйеге қойылатын талаптар. Мәліметтердің криптографиялы жабылу процесі бағдарламалы түрде де, аппаратты түрде де жүзеге асырылуы мүмкін. Аппаратты жүзеге асырылу татырлықтай үлкен құндылығымен ерекшеленеді, әйткенмен оған артықшылық та тән: жоғары өнімділік, қарапайымдылық, қорғалушылық т.б. Бағдарламалы жүзеге асу анағұрлым қолайлы, қолданыста белгілі икемділікті болдырады. Электронды ақпаратты қорғаудың қазіргі криптографиялық жүйесі үшін көпшілік мақұлдаған келесі талаптар құрылған:
Шифрленген хабар кілт бар кезде ғана оқылуға берілуі тиіс;
Шифрленген хабар мен соған сәйкес ашық мәтіннің үзіндісі бойынша шифрлеудің пайдаланылған кілтін анықтау үшін қажетті операциялар саны мүмкін кілттердің жалпы санынан кем болмауы тиіс;
Әртүрлі кілттерді таңдау жолымен ақпараттың шифрын ашу үшін қажетті операциялар саны қатаң төменгі бағаға ие болуы және қазіргі компьютерлердің мүмкіндіктері шегінен шықпауы тиіс (жүйелік есептеу пайдаланылуы мүмкіндіктерін есептегенде).
Шифрлеудің алгоритмін білу қорғаныс сенімділігіне ықпал етпеуі тиіс;
Кілттің сәл өзгерісі шифрленген хабар түрін сол бір-ақ кілт қолданылғанның өзінде елеулі өзгеріске апаруы тиіс;
Шифрлеу алгоритмінің құрылымдық элементтері өзгермейтін болуы тиіс;
Шифрлеу процесінде хабарға енгізілетін қосымша сапалары шифрленген мәтінде толығымен және сенімді болуы тиіс;
Шифрленген тексттің ұзындығы бастапқы тексттің ұзындығына тең болуы тиіс;
Кілттер арасына байланысты қарапайым әрі жеңіл орындалатын, ақыры шифрлеу процесінде пайдаланылатын болмауы тиіс. Көптеген түрлі кілттердің кез келгені ақпаратты сенімді қорғанысын қамтамассыздандыруы тиіс;
Алгоритм бағдарламалық та, аппаратты да жүзеге асыруды болдыратын болуы керек, оған қоса кілт ұзындығының өзгерісі шифрлеу алгоритмнің сапалы нашарлауына апармауы тиіс.
Симметриялық криптожүйелер. Симметриялы криптожүйелердегі киптографиялық әдістердің барлық әртүрлілігін түрленудің келесі төрт табына саюға болады:
Ауыстыру – шифрленген мәтін нышаны алдын ала анықталған ережеге сәйкес сол немесе басқа алфавит нышанымен ауыстырылады;
Орын алмастыру – шифрленген мәтін белгілері берілетін мәтіннің тапсырылған блогы шеңберіндегі кейбір ережелер бойынша алмастырылады;
Аналитикалық түрлендіру – шифрленген мәтін кейбір аналитикалық ережелер бойынша түрлендіріледі;
Құрамалап түрлендіру – шифрленген мәтін блогына қолданылатын түрленудің негізгі әдістерінің бір ізділігі болып саналады.
Блоктанған шифрлар – олардың әлдеқайда жоғары криптотұрақтылығын күшіне сол немесе басқа топта «таза» түрленуінен гөрі істе жиірек кездеседі. Шифрлеудің Ресейлік және Американдық стандарттары дәл осы топқа негізделген.
Ашық кілтті жүйелер. Криптографиялық жүйелер қанша қиын әрі сенімді болғанымен, олардың істе жүзеге асуындағы әлсіз жері – кілттердің таратылу мәселесі. Пайдаланылатын жүйенің екі субъектісі арасында жасырын ақпараттар алмасуы мүмкін болуы үшін кім олардың біреуімен бірге таралып, содан кейін қалайда жасырын тәртіпте басқасына қайтадан берілген болуы тиіс. Яғни, жалпы жағдайда кілт берілуі үшін тағы да қандай да бір криптожүйелердің пайдаланылуы талап етіледі. Нәтиже негізінде бұл мәселенің шешілу үшін классикалық және қазіргі заманға алгебрамен алынған ашық кілтті жүйелер ұсынылған болатын. Олардың мәні пайдаланылатын жүйенің әр мекен – жай иесіне нақты бір ереже бойынша өзара байланысты екі кілт таратылатындығында. Бір кілт ашық боп, ал екіншісі жабық боп жарияланады. Ашық кілт жария етіледі және хабарлама жібергісі келетін кез келгені пайдалана алады. Құпия кілт жасырын сақталады. Бастапқы мәтіннің шифры мекен – жай иесінің кілтімен ашылады да соған беріледі. Негізінде шифрленген мәтіннің шифры сол кілтпен ашылмайды. Хабарлама шифрының ашылуы тек мекен – жай иесіне ғана белгілі жабық кілт пайдаланушымен ғана мүмкін. Ашық кілтті криптографиялық жүйелер. Х мәні берілгенде, f(x) шығару біршама қарапайым, алайда егер y=f(x) болса, онда х мәнін табуға арналған қарапайым жол жоқ-деген қасиетке ие кері айналымы жоқ немесе біржақты деп аталатын функцияларды пайдаланады. Кері айналмайтын функциялардың кластарының көпшілігі ашық кілті барлық алуан түрлі жүйелерді тудырады. Әйткенмен барлық кері айналмайтын функция шынайы пайдаланылатын жүйелерде пайдалану үшін жарай бермейді. Кері айналымсыздықтың анықтамасының өзінде белгісіздік болады. Кері айналымсыздықтың астарында теориялық мәнін жоятын емес, уақыттың көз жетер аралығында қазіргі есептеу құралын пайдалана отырып, кері мәнін табу іс жүзінде мүмкін еместігі жатыр. Сондықтан ақпараттың сенімді қорғанысына кепіл болу үшін ашық кілтті жүйеге екі маңызды әрі айқын талаптар қойылады:
Бастапқы мәтіннің түрленуі кері қайталанбайтын болуы және оның қалпына келтірілуін ашық кілт негізінде шығарып тастауы тиіс.
Ашық кілт негізінде жабық кілт анықталуы сондай-ақ қазіргі технологиялық деңгейде мүмкін емес болуы тиіс. Оған қоса шифрды ашу қиындығы нақты төменгі баға.
Ашық кілтпен шифрлеу алгоритмі қазіргі ақпараттық жүйеде кең таралымға ие болды. Сөйтіп, RSA алгоритмі ашық жүйе үшін әлемдік стандарт болды. Жалпы бүгінде ұсынылып отырған ашық кілтті криптожүйелер мына қайтарылмас түрленулердің біреуіне сүйенеді.
Жай көбейткіштерге үлкен сандардың жіктелуі;
Соңғы өрісте логарифмді есептеу;
Алгебралық теңдеудің түбірін табу.
Осы тұста ашық кілтті криптожүйелердің алгоритмдерін мына белгілеулерде пайдалануға болатынын айта кеткен жөн. Берілетін және сақталатын мәліметтердің қорғанысының дербес құралдары ретінде кілттерді үлестіруге арналған құралдар ретінде . Ашық кілтті алгоритмдер дәстүрлі криптожүйелерден гөрі анағұрлым көбірек еңбек сіңіруді керек етеді. Сондықтан іс жүзінде көлемі ақпарат сияқты шамалы ғана кілттерді ашық кілт көмегімен тарату жиі ұтымды. Ал содан кейін әдеттегі алгоритмдер көмегімен үлкен ақпараттар ағымымен алмасуды іске асыру ұтымды. Анағұрлым кең тарағандардың бірі – ашық кілтті жүйе – RSA. 1977 жылы жасалған RSA криптожүйесі оны жасағандар құрметіне солардың яғни Рона Ривеста, Ади Шамира және Леонарды Эйдельмандардың аттарымен аталады. Олар есеп қатынасында үлкен қарапайым сандарды табу оңай іске асырады, бірақ мұндай екі санның көбейтіндісін көбейткішке жіктеу іс жүзінде орындалмайтындығы ақиқатын пайдаланып қалды. RSA шифрының ашылуы осындай жіктеуге парапар екені дәлелденген. (Рабин теоремасы). Сондықтан кілттің кез келген ұзындығы үшін шифрды ашуға арналған операция санының төменгі бағасын беруге, бірақ қазіргі заманғы компьютердің өнімділігін есепке ала отырып бұған қажетті уақытты да есептеуге болады. RSA алгоритмінің қорғанысын кепілдікпен бағалау мүмкіндігі ондаған басқа кескіндер фонында осы ашық кілттің танымалдығы себептерінің бірі болады. Сондықтан RSA алгоритмі банктің компьютер жүйелерінде әсіресе дербес клитенттармен жұмыс істеу үшін (несие карталарының қызметі) пайдаланылады.
Достарыңызбен бөлісу: |