ДИПЛОМ ЖҰМЫСЫН ОРЫНДАУҒА АРНАЛҒАН
Т А П С Ы Р М А
Студент Тунгишбаев Талгат 4 курс, АҚЖ-41, 5B100200 – «Ақпараттық қауіпсіздік жүйелері» мамандығы, күндізгі бөлім
Дипломдық жұмысының тақырыбы «Қазіргі заманғы криптографиядағы үлкен сандармен жұмыс жасауға арналған құралдар» 2019 жылдың « 27 » 11 берілген № 1935-п ректордың бұйрығымен бекітілген.
2 Диплом жұмысының тапсырмасына сәйкес:
Есеп берудің бірінші аралық кезеңі – «16» 01 2020ж.
Есеп берудің екінші аралық кезеңі – «12» 02 2020ж.
Есеп берудің үшінші аралық кезеңі – «27» 03 2020ж.
Алдын-ала қорғауға дипломдық жұмысты әкелу мерзімі – «25» 04 2020ж.
Норма бақылау тексерісі – «03» 05 2020ж.
Дипломдық жұмыстың соңғы нұсқасын әкелу мерзімі – «15» 05 2020ж.
Дипломдық жұмысты қорғау мерзімі – «6» 06 2020ж.
Аяқталған жұмысты тапсыру мерзімі – «15» 05 2020ж.
3 Жұмыстың бастапқы деректері:
3.1 Қазіргі заманғы криптографияда үлкен сандармен жұмыс жасайтын құралдарды анықтау;
4 Диплом жұмысын дайындау үшін сұрақтар тізімі:
4.1 Заманауи криптографиялық алгоритмдердің жұмысымен танысу;
4.2 Үлкен сандармен жұмыс жасайтын алгоритмдерді әзірлеу құралдарына қойылатын талаптар мен критерийлерді анықтау;
4.3 Қойылған талаптар мен критерийлерге сәйкес әзірлеу құралдарын таңдау;
4.4 Таңдалып алынған программалау құралдарымен криптографиялық есеперді шешу;
4.5 Жинақталған мәліметтер және жүргізілген есептеулер бойынша саластырмалы анализдер жасау;
4.6 Құралдармен салыстыруларды жүргізуді ыңғайлы ету мақсатында басқару жүйесін құру.
5 Графикалық материалдың тізімі (сызбалар, кестелер, диаграммалар және тағы басқалары):
5.1 «Шифрлеу алгоритмдерін салыстыру» кестесі
5.3 «Салыстырмалы анализ кестесі»
6 Негізгі ұсынылатын әдебиеттер тізімі:
6.1 Основы современной криптографии и стеганографии. – 2-е изд. – М.: Горячая линия – Телеком, 2013. – 232 с.
6.2 Евсютин О.О. Криптографические методы защиты информации: учебное пособие для вузов. – Томск: ТУСУР, 2014. – С. 4-7
7 Жұмысқа қатысты кеңестер (оларға қатысты жұмыс бөлімдерінің көрсетілуімен)
Нөмір, бөлімнің, бөлімшенің аты
|
Ғылыми жетекші, кеңесші
|
Тапсырманы алу уақыты
|
Тапсырма бердім
( қолы)
|
Тапсырма
алдым
(қолы)
|
Кіріспе
|
Оспанова Ә.Б.
|
05.12.2019
|
|
|
Негізгі бөлім
|
Оспанова Ә.Б.
|
18.12.2019
|
|
|
Практикалық бөлім
|
Оспанова Ә.Б.
|
06.01.2020
|
|
|
Дипломдық жұмыстың техникалық–экономикалық негіздеме бөлімі
|
Оспанова Ә.Б.
|
|
|
|
Еңбекті қорғау бөлімі
|
Оспанова Ә.Б.
|
|
|
|
Қорытынды
|
Оспанова Ә.Б.
|
14.02.2020
|
|
|
Қолданылған әдебиеттер тізімі
|
Оспанова Ә.Б.
|
20.02.2020
|
|
|
Нормабақылау
|
Назырова А.Е.
|
02.05.2020
|
|
|
Дипломдық жұмысты орындау графигі
№
|
Жұмыс сатысы
|
Жұмыс сатысын орындау мерзімі
|
Ескерту
|
1
|
Дипломдық жұмыстың тақырыбын бекіту
|
27.11.2019
|
|
2
|
Дипломдық жұмысты дайындау үшін мәліметтер жинау
|
05.12.2019
|
|
3
|
Дипломдық жұмыстың теориялық бөлігін дайындау (1 Бөлім)
|
06.01.2020
|
|
4
|
Дипломдық жұмыстың аналитикалық бөлігін дайындау (2-3 Бөлім)
|
28.03.2020
|
|
5
|
Дипломдық жұмыстың толық мәтінінің қолжазбалық нұсқасын аяқтау
|
30.04.2020
|
|
6
|
Алдын-ала қорғауға дипломдық жұмысты әкелу
|
25.04.2020
|
|
7
|
Рецензияға дипломдық жұмысты жіберу
|
05.05.2020
|
|
8
|
Ғылыми жетекшінің пікірі мен рецензиясы бар дипломдық жұмыстың соңғы нұсқасын әкелу
|
15.05.2020
|
|
9
|
Дипломдық жұмысты қорғау
|
06.06.2020
|
|
Тапсырманың берілген мерзімі « 4 » 12 2019 жыл
Ғылыми жетекші
ф.- м. ғ. к., доцент м. а.
|
______________________Оспанова Ә.Б.
|
Тапсырманы орындаған
АҚЖ-41 тобы студенті
|
____________________Тунгишбаев Т.К.
|
НОРМАТИВТІК СІЛТЕМЕЛЕР
1 ҚР МЖМБС 5.03.016 -2009. Жоғары оқу орындарындағы дипломдық жұмыстарды орындау ережелері
2 ҚР МЖМБС 5.04.019 -2008 Қазақстан Республикасының мемлекеттік жалпыға міндетті білім беру стандарты. Жоғары кәсіптік білім. Бакалавриат. Негізгі ережелері.
3 МСТ 7.1-84. Ақпараттық, кітапханалық және баспалар бойынша стандарттар жүйесі. Құжаттың кітапханалық жазбасы. Қолданылған әдебиеттер тізімін жазудың жалпы талаптары мен ережелері. М.: Стандарттар, 1984.
Кіріспе………………………………………………………………………………8
1 Қазіргі заманғы криптографиядағы үлкен сандар……………………………10
1.1 Практикалық криптографиялық беріктілік ………………………………....10
1.2 Криптографиялық примитивтер және олардың криптоберіктілігі ………..13
1.2.1 Заманауи симметриялық алгоритмдер…………………………………….14
1.2.2 Заманауи ассиметриялық алгоритмдер……………………………………17
2 Критографияда үлкен сандармен жұмыс жасауға арналған құралдар………22
2.1 Программалау тілдерінің стандартты кітапханалары мен криптографиялық беріктілігі…………………………………………………………………………..22
2.1.1 Бүтін сандардың диапазоны………………………………………………..23
2.1.2 Кездейсоқ сандардың генераторлары……………………………………...24
2.1.3 Жай сандарды генерациялау алгоритмі және оларды қарапайымдылыққа тексеру …………………………………………………………………………….26
2.2 Үлкен сандармен жұмыс жасауға арналған арнайы кітапханаларалар……27
2.2.1 С/С++ үлкен сандармен жұмыс жасауға арналған кітапханалар. GMP кітапханасы………………………………………………………………………..28
2.2.2 Java үлкен сандармен жұмыс жасауға арналған кітапханалар……….….32
2.2.3 Python үлкен сандармен жұмыс жасауға арналған кітапханалар……..…35
2.2.4 Crypto++, libgcrypt, PyСryptodome криптографиялық кітапханалары.….35
2.3 GMP кітапханасын орнату және қолдану…………………………….…..…39
2.3.1 Crypto++, Sage, Maple программаларында GMP кітапханасының қолданылуы....……………………………….……………………………………40
Қорытынды………………………………………………………………….….…47
Пайдаланылған әдебиеттер тізімі………………………………..………………48
Қосымша 1 …………………………………………………………………..……50
Қосымша 2 …………………………………………………………………..……55
МАЗМҰНЫ
Кіріспе
Қазіргі заманғы криптография (1970жж. соңынан қазіргі заманға дейін) қазіргі уақытта барлық цифрлық құрылғылардағы қауіпсіздіктің негізі болып табылады. Себебі, бүгінгі таңда криптографиялық қорғау әдістері дегеніміз транзакцияларды шифрлау және криптовалюта өндірісін бақылау үшін ғана емес, сонымен қатар банк жүйелерінің, пластикалық карталардың, банкоматтардың, электрондық коммерцияның және сымсыз құрылғылардың қауіпсіз жұмысын, яғни ақпараттардың қауіпсіз тасымалдануын қамтамасыз ету болып табылады [1].
Қазіргі заманғы криптография сандар теориясы, есептеу күрделілігі теориясы және ықтималдық теориясы сияқты әртүрлі математикалық теорияларға негізделгендіктен оны математикасыз елестету мүмкін емес. Себебі, математикалық әдістерді қолдана отырып, сіз қазіргі заманғы күрделі шифрларды құрып қана қоймай, сонымен қатар олардың криптографиялық беріктігін – практикалық немесе теориялық бұзушылықтарға төтеп беру қабілеттілігін – криптанализді негіздей аласыз. Өз кезегінде қазіргі заманғы криптографиялық алгоритмдердің берікілігін арттыру үшін, ондағы сандардың көлемін үлкен мәндерге дейін өзгерту қажеттілігі туындап тұр.
Қазіргі заманғы криптографияда үлкен сандармен жұмыс істейтін шифрлау алгоритмдердің көптеген түрлері бар. Олар жоғарыда келтірілген талаптарға сай келуі керек, және уақытылы жаңартылып тұруы керек.
Осыған орай қазіргі уақытта әлемнің көптеген криптографтары жаңа технологияларды, соның ішінде олардың криптографияға тигізетін әсерін зерттеп жатыр. Әрине, жаңа технологиялар қазіргі заманғы криптографияға жаңа дем берсе, бір жағынан осы технологиялар криптографияға үлкен қауіп төндіруі ықтимал. Мысалы, бұлар қазіргі серверлер немесе суперкомпьютерлерден бірнеше есе мықты кванттық компьютерлер болуы мүмкін, ал олар өз кезегінде қазіргі заманғы криптографиядағы үлкен сандарды аз уақытта факторизациялауға мүмкіндік береді деп тұжырымдалуда.
Зeрттeу тaқырының өзeктілігі: Қазір криптография адам өмірінде күнделікті қолданатын ұялы телефондарда, компьютерлерде, арнайы желімен қамтылған жұмыс орындары мен заманауи қалаларда және т.б. технологияларға қатысты барлық құрылғыларда ақпаратпен жұмыс жасайды.
Қазіргі криптографияның қауіпсіздігін немесе ақпараттың маңыздылығының айқындау үшін оны үлкен сандармен шифрлеу өте тиімді әдістердің бірі болып табылады. Әрине, кез-келген заттың екі жағы болғандықтан, криптографияда үлкен сандардың тиімсіз жақтары да бар. Осы үлкен сандардың алгоритмдерде, программалау тілдерінде қандай ерекшеліктері мен кемшіліктерін бар екендігін анықтау, дипломдық жұмысымның өзекті тақырыбы болып келеді.
Ғылыми-зeрттeу нысaны: Дипломдық жұмысымның практикалық бөлімінде ғылыми зерттеу нысандары ретінде криптографиядағы үлкен сандармен жұмыс жасағанда қолданылатын кітапханалар болып келеді. Ол үшін мен қазіргі таңда үлкен қолданыстағы Java, Python, C++ тілдерін таңдап алдым. Оған қоса зерттелу нысандары ретінде қазіргі заманғы криптографияда үлкен сандармен жұмыс жасауға арналған кітапханаларды қолдана отырып, алгоритмдердің үш программалау тілдерінде хабарламаны шифрлайтын құралдарды анықтау болып табылады. Бұл таңда мен қазіргі криптографияда көп қолданылатын симметриялық криптожүйеге жататын AES алгоритмін және асимметриялы криптожүйеге жататын RSA алгоритмін алатын боламын [2].
Жұмыстың мaқсaты: Дипломдық жұмыс екі бөлімнен тұрады. Aлғaшқы бөлімдегі мақсат криптография саласының өзін қарастырып, жалпы ақпараттар беріп өту. Ары қарай осы бөлемде заманауи криптографияның бөлімдеріне жалпы түсініктемелер беріп, олардың беріктілігін, онда үлкен сандармен жұмыс жасайтын алгоритмдерге мысалдар көрсету болып табылады.
Екінші бөлімде заманауи криптографияда үлкен сандармен жұмыс жасайтын құралдарды қарастырылады. Ары қарай осы құралдарға практикалық жұмыстардан дәлелдер көрсетемін. Яғни, үлкен сандармен жұмыс жасағанда программалау тілтерінде олардың жүзеге асатын кітапханалары және программаларына мән беріледі.
Қазіргі заманғы криптографиядағы үлкен сандар
Практикалық криптографиялық беріктілік
Алдымен қазіргі заманға криптографияда үлкен сандармен жұмыс жасау кезінде қолданылатын негізгі анықтамалар мен ұғымдарға тоқталып өтейік.
Криптография – ақпараттың конфиденциалдығын, бүтіндігін және аутентификациялығын қорғау мақсатында оны түрлендірудің математикалық әдіс-тәсілдерін іздеумен және зерттеумен айналысатын ғылым.
Криптоанализ (жасырын + анализ) – құпия кілтсіз, шифрленген ақпаратқа қол жеткізу мақсатында зерттеу әдістерін жүргізумен айналысатын ғылым. Криптоанализ криптографиялық тұрғыдан қарағанда алгоритмдер мен хаттамалардағы осалдықты табудың кез-келген іс-әрекетін болып саналады. Бұл термин алғаш рет 1920 жылы америкалық криптограф Уильям Ф. Фридманның «Криптоанализ элементтері» кітабының аясында пайда болған.
Криптология – криптография және криптоанализ ғылымдарын математикалық тұрғыда қамтитын сала. Қазіргі заманғы криптограф саласында ақпаратты қорғаудың негізгі үш әдісі бар, олар: шифрлеу, хештеу және электрондық қолтаңба. Бұл криптография бағыттарының әрбірінің ақпаратты қорғау тақырыбында атқаратын өзіндік бір немесе бірнеше қызметтері бар. Соның ішінде олар криптография саласында үлкен сандармен жұмыс жасайтын барлық аспектілерді де қамтамасыз етеді.
Криптографияға қойылатын негізгі талаптары:
1. Конфиденциалдық – ақпараттың мазмұнын білетін адамның, оны ақпарат иесінсіз үшінші жаққа ашпай, онымен жасырын жұмыс жасай білу болып табылады;
2. Бүтіндікті қамтамасыз ету – тек заңды және сәйкес өкілдігі бар тұлғаның ақпаратты модификафиялау, ауыстыру, қайталау немесе жою мүмкіндігі болып табылады;
3. Қолжетімділікті қамтамасыз ету – қорғалған ақпаратқа өкілеттілігі бар заңды қолданушыларға бөгетсіз қатынауды ұйымдастыру және оның кепілі болу [7].
Қазіргі заманға криптографиядағы алгоритмдердің беріктігі
Криптографиялық беріктілік – криптографиялық алгоритмнің криптоанализге қарсы тұру қабілеті. Алгоритм криптоберік деп аталу үшін ол келесі талаптарға сай болуы қажет. Біріншіден, алгоритмге жасалатын шабуыл барлық тұрғыдан күрделі болуы қажет. Екіншіден, ақпаратқа санкцияланбаған шабуыл болғанымен, ол өзектілігін жоғалтқанша көп ресурс пен уақыттың жұмсалуына әкелуі керек [4].
Ақпаратты қорғаудың заманауи криптографиялық жүйелері үшін келесі жалпы қабылданған талаптар тұжырымдалады:
шифрланған хабарлама тек егер кілт болса ғана оқылуы керек;
пайдаланылған шифрлау кілтін шифрланған хабарламаның фрагментінен және тиісті қарапайым мәтіннен анықтау үшін қажет әрекеттер саны мүмкін кілттердің жалпы санынан кем болмауы керек;
кілттердің барлық түрлерін сұрыптау арқылы ақпаратты шифрлау үшін қажет операциялардың саны қатаң төменгі шекке ие болуы керек және қазіргі компьютерлердің мүмкіндіктерінен асып кетуі керек (желілік есептеулерді қолдану мүмкіндігін ескере отырып);
шифрлау алгоритмін білу қорғаныс сенімділігіне әсер етпеуі керек;
кілттің шамалы өзгеруі сол кілтті қолданған кезде де шифрланған хабарламаның сыртқы түрінің айтарлықтай өзгеруіне әкелуі керек;
шифрлау алгоритмінің құрылымдық элементтері өзгеріссіз болуы керек;
шифрлау процесінде хабарламаға енгізілген қосымша биттер толық және сенімді түрде шифрланған мәтінде жасырылуы керек;
шифр мәтінінің ұзындығы бастапқы мәтіннің ұзындығына тең болуы керек;
шифрлау процесінде жүйелі түрде қолданылатын кілттер арасында қарапайым және оңай орнатылатын тәуелділік болмауы керек;
көптеген мүмкін кілттердің кез-келгені сенімді ақпаратты қорғауды қамтамасыз етуі керек;
алгоритм бағдарламалық жасақтамаға да, аппараттық құралға да рұқсат беруі керек, ал кілт ұзындығын өзгерту шифрлау алгоритмінің сапалы нашарлауына әкелмеуі керек.
Жоғарыда келтірілген талаптарға сай криптографияда келесідей беріктілік жүйелері қалыптасады.
Абсолютті берік жүйелер. Егер шабуылдаушыда үлкен есептеу ресурстары болған жағдайдың өзінде де теориялық түрде де, іс жүзінде де ақпаратты оқу мүмкін болмайтын жағдай. Практикалық тұрғыда шифрлеудің абсолютті тұрақты алгоритмдерінің болуы 1949 жылы америкалық математик Клод Шеннонның Bell System Technical Journal журналындағы "Құпия жүйелердегі байланыс теориясы" мақаласында жарияланған. Осы журналда абсолютті берік жүйелерге келесідей талаптар көрсетілген:
кілт әр хабарламаға генерацияланады (кілт тек бір рет қана қолданылады);
кілт статистикалық тұрғыда берік (яғни әрбір мүмкін символдардың пайда болу мүмкіндігі тең, және символдардың ретпен орналасуы тәуелсіз және кездейсоқ);
кілттің ұзындығы хабарлама ұзындығына тең немес ұзын;
бастапқы мәтіннің кейбір артықтығы бар (бұл расшифровка дұрыстығын бағалау критерийі болып табылады).
Бұл жүйелердің тұрақтылығы криптоаналитиктің қандай есептеу мүмкіндіктеріне ие екендігіне байланысты емес. Абсолюттік беріктілік талаптарын қанағаттандыратын жүйелерді іс жүзінде қолдану, құны және пайдалану ыңғайлылығы тұрғысынан шектелген.
Шеннон практикалық тұрғыда абсолютті берік алгоритмнің мысалы, Вернам шифры (бір реттік блокнот) екендігін дәлелдеді. Яғни, Вернам шифрін дұрыс пайдалану зиянкеске ашық мәтін туралы ешқандай ақпарат бермейді (кез-келген хабарламаның битін 1/2 ықтималдығымен ғана табуға болады).
Есептеу ресурстарының немесе қалған ашық және шифрленген хабарламалардың іс жүзінде қол жетпейтін көлемін шабуылдаудан не оны ашуға кететін уақыттың соншалықты маңызды шығынын талап ететін, қорғалған ақпарат өзінің өзектілігін жоғалтатын алгоритм тұрақты болып саналады. Көп жағдайларда криптотөзімділік математикалық дәлелденген мүмкін емес; тек криптографиялық алгоритмнің осалдығын дәлелдеуге болады немесе (ашық кілтті криптожүйе жағдайоған кез келген ақпарат төтеп беруі ында) алгоритмді ашу міндетін есептеу күрделі болып саналатын кейбір міндетке қоюға болады (яғни "бұзу" бұл міндетті шешу оңай емес екенін дәлелдеу).
Жеткілікті берік жүйелер. негізінен азаматтық мақсаттағы криптографиялық жүйелерде іс жүзінде берік немесе есептеу тұрғысынан берік жүйелер қолданылады. Жүйенің есептеу тұрғысынан беріктілігі туралы, егер шифрды ашу ықтималдығы бар, бірақ ол үшін тек таңдалған параметрлер мен шифрлау кілттері қолданылса ғана айтылады. Практикада шабуылдаушы заманауи технологияларды дамытудың қазіргі кезеңінде өзіне қолайлы уақытта шифрді ашу үшін жеткілікті есептеу ресурстарына ие емес. Мұндай жүйелердің тұрақтылығы криптоаналитиктің қандай есептеу мүмкіндіктеріне ие екендігіне байланысты.
Мұндай жүйелердің практикалық тұрақтылығы күрделілік теориясына негізделеді және тек қана белгілі бір уақытта және екі позициядан жүйелі түрде бағаланады:
толық іріктеудің есептеуіш күрделілігі;
қазіргі уақытта белгілі криптографиялық осалдылықтарының есептеу күрделілігіне әсері.
Әрбір нақты жағдайда беріктілікті бағалаудың қосымша критерийлері болуы мүмкін.
Егер криптожүйенің беріктілігің дәлелдемесі алгоритмнің негізіне жататын белгілі бір қиын шешілетін математикалық проблеманы шешуге жеткен жағдайда, біз дәлелденген беріктілік туралы айта аламыз. Мысалы, RSA криптожүйесі келесі жағдайда берік болып саналады, егер сандық түрлендіру модулі полиномиалды уақыт ішінде факторизациялау мүмкін болмаса. Бұл дегеніміз, RSA шифрында n модулі үшін таңдап алынатын екі көбейткіштердің мәні үлкен сандарға ие болған сайын, алгоритмнің беріктілігі арта түседі.
Криптографиялық примитивтер және олардың криптоберіктілігі
Криптографиялық примитивтер – криптографиялық хаттамаларды құру үшін жиі қолданылатын төмен деңгейлі криптографиялық алгоритмдер. Бұл криптожүйенің талап етілетін қасиеттерін анықтайтын операциялар мен процедуралар.
Криптографиялық примитивтер криптожүйені құру кезінде негізгі құрылыс блоктары ретінде пайдаланылады, яғни олар сенімділіктің жоғары деңгейімен тек кейбір кластағы тапсырмаларды шешуге арналған. Мысал ретінде мұндай жағдайды қарастыруға болады: кейбір шифрлаудың үшін ол тек компьютердегі X операциясының санымен ғана бұзылуы мүмкін деп көрсетілсін, егер ол X-тен әлдеқайда аз операциялар санының көмегімен бұзылса, бұл криптографиялық примитив сенімсіз деп саналады.
Хаттамаларды және криптожүйелерді жобалау кезінде әзірлеуші композициялық кемшіліктерді жоюға жауапты болады. Олардың қауіпсіздігін дәлелдеу мүмкіндігі болмаса, әзірлеуші олар пайдаланатын сенімді примитивтерді санауы тиіс. Хаттамада пайдалану үшін қол жетімді ең жақсы примитивті таңдау, әдетте мүмкін ең жақсы қолжетімді қауіпсіздікті қамтамасыз етеді. Егер криптографиялық примитив бұзылған болса, оны пайдаланатын әрбір хаттама осал болады.
Криптографиялық примитивтер келесі қасиеттерге ие болуы керек:
қауіпсіздік деңгейі;
функционалдығы;
жұмыс жасау әдістері;
өнімділік;
реализациялау жеңілдігі.
Қазіргі заманғы криптографияның негізгі примитивтері:
Симметриялық криптожүйелер;
Блоктық шифрлау;
Ағындық шифрлау;
Асимметриялық криптожүйелер;
Хештау;
Электрондық қолтаңба;
Кілттерді басқару жүйелері;
Міндеттемелер схемасы;
Псевдокездейсоқ сандар генераторы.
1.2.1 Заманауи симметриялық алгоритмдер
Симметриялық криптожүйелер – хабарламаны шифрлау және дешифрлау үшін тек қана бір криптографиялық кілт қолданылады. Бұл критожүйе ассиметриялық криптожүйенің алдында қолданыста болған. Бұл криптожүйеде қолданылатын алгоритмдердің кілттері хабарлама алмасатын екі жақтанда барынша құпия болуы қажет және хабарлама алмасатын каналда үшінші артық адамдар болмауы қажет. Сонымен қатар, шифрланатын алгоритм екі жақпен хабарлама алмасудың алдында таңдалу керек [8].
Заманауи симметриялық криптожүйелер келесі талаптарға сай болуы қажет:
криптоанализге төзімділігі, кілттерді толығымен іріктегенде ғана хабарламаны оқу мүмкін болу қажет;
криптоберіктілік шифрлеу алгоритмінің құпиялығын емес, кілттің құпиялығын қамтамасыз ету керек;
шифрленген хабарлама ашық хабарлама көлемінен тым көп болмауы керек;
ақпаратты шифрлау уақыты мен бағасы тиімді болуы керек.
Заманауи симметриялық криптожүйелер келесідей екі топқа бөлінеді:
блоктық шифрлар. 64-256 бит аралығындағы блоктарда ақпаратты өңдейді, белгіленген тәртіпте блоктың кілтін қолдана отырып, әдетте бірнеше араластыру және орналастыру циклдары арқылы, раунд деп аталады. Екінші раундтардың нәтижесі-лавин тәрізді әсер-ашық және шифрланған деректер блоктарының арасындағы биттік сәйкестіктің жоғалуы.
ағымдық шифрлар. Гаммалау әдісін қолданатынШифрлеу әрбір бит немесе гаммирлеуді пайдалана отырып, бастапқы (ашық) мәтіннің байты үстінде жүргізілетін ағынды шифрлар. Ағынды шифр арнайы режимде іске қосылған блоктық (мысалы, ГОСТ 28147-89 гаммалау режимінде) негізінде оңай жасалуы мүмкін.
AES алгоритмі
Қазіргі уақытта 2002 жылы шифрлеу стандартында жарияланған AES (Advanced Data Encryption) шифрлеудің симметриялық алгоритмі аса өзекті [7]. AES – 128 биттік блок өлшемді блоктық алгоритм, ал кілттер 128, 192 немесе 256 биттік ұзындықта болуы мүмкін. Раундтардың саны кілттің ұзындығына байланысты және тиісінше 10, 12 немесе 14 раундтарды құрауы мүмкін. AES алгоритмі тестілеуден өткен кезде, ол 8-ші раундтан кейін шабуылдарға төзімді болып келетіні анықталды. Осылайша, ұсынылатын шифрлеу раундтарының ең аз дегендегі саны – 10 раунд болуы тиіс. AES алгоритмінде ығысу, араластыру, кестелердің көмегімен қою және әртүрлі алгебралық операциялар қолданылады. Мысалы, операциялардың бірі төмендегі суреттегідей көрсетіледі (Сурет 1).
Сурет 1 Қатарлардың ығысуы
AES алгоритмінің беріктілігіне келетін болсақ, криптографтар криптотөзімділікке арналған AES алгоритміне бірнеше рет зерттеулер жүргізді. Нәтижесінде осы алгоритмге шабуылдардың теориялық үлгілері әзірленді. Криптография саласындағы мамандар салыстыру үшін келесідей есептеулерді жүргізіп, мысал ретінде келесі сандарды келтірді. Мысалы, DES алгоритмін мифтік суперкомпьютердің көмегімен бір секундта бұзуға болар еді. Сол кезде AES алгоритмін бұзу үшін сол компьютер 149 триллион жылды қажет етеді. Ал енді AES-ті бұзу немесе әлсіздігін көрсету мақсатында құрылған теориялық шабуылдарға тоқталып өтсек:
XSL-шабуыл (ағылш. eXtended Sparse Linearization, алгебралық шабуыл) - бұл шифрлердің алгебралық қасиеттеріне негізделген криптографиялық талдау әдісі. Әдіс теңдеулердің ерекше жүйесін шешуді көздейді. Бұл әдіс 2001 жылы Николя Куртуа (Nicolas T.Courtois) және Юзеф Пешик (Josef Pieprzyk) ғалымдарымен ұсынылды. Алайда, бұл әдіс көптеген сындарға ұшырап, бірнеше мамандар бұл әдісті жоққа шығарды. Солардың бірі Брюс Шнайермен Нильс Фергюсон болды. «Егер XSL шабуылдар шынымен жұмыс істесе, олар қазіргі кездегі барлық шифрлерді бұзады. Шифрді бұзудан сақтап қалу тек таза кездейсоқ болуы мүмкін. Екінші жағынан, XSL шабуылдар біздің ойымызша практикада да қолданысқа түсе алмауы әбден мүмкін немесе жоғары құрылымдалған шифрлердің шағын санына ғана қолдануға болады» - деп, айтқан болатын. Осы оймен мамандардың барлығы дерлік келісе кетті. Алайда, бұл шабуылдың авторлары бұл оймен келісе қоймады. 2006 жылы осы шабуылдың жаңартылған моделін ұсынды. Бұл талпыныстары да сәтсіздікке ұшырап, AES қазіргі уақытқа дейін беріктілігі өте жоғары деңгейін сақтап келеді.
Үшінші тарап арналары бойынша шабуылдар шифрдің математикалық ерекшеліктерімен байланысты емес, бірақ құпия деректерді, оның ішінде кілтті ішінара немесе толық ашу мақсатында осы шифрлерді пайдаланатын жүйелерді іске асырудың белгілі бір ерекшеліктерін пайдаланады. AES алгоритмін қолданған жүйелерге осыған ұқсас бірнеше шабуылдар белгілі.
Симметриялы алгоритмдердің артықшылықтары мен кемшіліктері
Шифрлеудің симметриялы алгоритмдері ақпаратты өңдеудің жоғары жылдамдығына ие. Бұл алгоритмдерді операциялардың салыстырмалы қарапайымдылығына байланысты түрлендіру қиын емес. Сонымен қатар, симметриялы алгоритмдердің көмегімен үлкен көлемді деректерді кілттің салыстырмалы түрде аз көлемінде шифрлеуге болады.
Бірақ симметриялы алгоритмдерде бір маңызды кемшілік бар. Кілтті тасымалдау кезінде қиындықтар туындауы мүмкін. Осы орайда үшінші жақтағы қаскүнемдер шифрлеу кілтін ұрлап алуы мүмкін.
Хабарламаны шифрлеу үшін кілтті жіберу қажеттілігі, шифрлеудің симметриялы алгоритмдерінің басты мәселелерінің бірі болып табылады.
Тиісінше, кілтті қауіпсіз жолмен беру үшін де белгілі бір деңгейдегі қорғаныс қажет. Ал мұны шифрлеудің асимметриялық алгоритмдері арқылы орындауға болады.
1.2.2 Заманауи асимметриялық алгоритмдер
Мəліметтерді криптографиялық қорғаудың тиімді жүйесі асимметриялық криптожүйелер болып табылады. Бұл криптожүйе қазіргі заманғы криптография дәуірінде қарқынды дамып, қазіргі таңда көптеген мемлекеттер, ұйымдар осы ашық кілтті криптожүйе алгоритмдерін қолданады. Мұндай жүйелерде мəліметтерді шифрлауды бір кілт, ал мəліметтерді ашуда басқа кілт қолданылады (асимметриялық атауы осыдан шыққан). Бірінші кілт ашық кілт болып табылады жəне мəліметтерді шифрлайтын жүйелердегі барлық қолданушыларға пайдаланылуы үшін ол жария болуы мүмкін. Мəліметтерді ашық кілт көмегімен ашу мүмкін емес.
Шифрланған хабардың қабылдаушысы мəліметтерді ашу үшін құпия кілт болып табылатын екінші кілтті қолданады. Əрине, ашу кілті шифрлау кілтінен анықталуы мүмкін емес, яғни олар бір-бірімен байланысы жоқ.
Асимметриялық криптожүйенің сызбасын төменгі суретте көрсеттім [9]. Мұнда, жіберушінің ашық кілті, қабылдаушының құпия кілті. B ақпарат қабылдаушысы болғандықтан кілттер генераторы қабылдаушының жағында орналастырдым. құпия кілті қорғалмаған канал арқылы жіберілмеуі керек. Себебі, кілті асимметриялық криптожүйенің негізгі қауіпсіздігі болып табылады. және кілттерінің мәні кілттер генераторының бастапты күйіне тәуелді (2 - сурет).
Тек асимметриялық криптожүйелерге тән ерекшеліктері:
ашық кілті мен С шифртексті қорғалмаған каналдар арқылы жіберілуі мүмкін, яғни олар қарсыласқа белгілі болады.
Шифрлау және дешифрлау алгоритмдері ашық болып табылады:
А жіберуші Қорғалмаған канал В қабылдаушы
М хабары
Кілттер г.
С шифртекст
Қарсылас
Сурет 2 Ашық кілтті асимметриялық криптожүйелердің жалпы сызбасы.
Осы сызбаға сай У. Диффи мен М. Хеллманның асимметриялы криптожүйесіне қойылатын келесі негізгі талаптарды көрсетті:
Достарыңызбен бөлісу: |