
- •1 Қазіргі замандағы ақпаратты криптографиялық қорғау әдістеріне талдау жүргізу
- •1.1 Ақпаратты криптографиялық қорғау
- •1.2 Криптоанализ
- •1.3 Криптографияның математикалық негіздері
- •1.3.1 Ақпарат теориясы
- •1.3.2 Күрделілік теориясы
- •1.3.3 Сандар теориясы
- •1.4 Криптографияның негізгі шифрлеу алгоритмдері
- •Симметриялық шифрлеу алгоритмі
- •Ашық кілтті криптография
- •1.5 Кездейсоқ сандардың криптографиялық генераторлары
- •1.6 Компьютерлік желілердегі ақпаратты қорғау
- •1.2 Детерминделген хаос
- •1.2.1 Криптография және хаос
- •1) Динамикалық жүйе. Параметрлерге тәуелді үздіксіз күйдің және үздіксіз уақыттың динамикалық жүйесі дифференциалдық теңдеумен берілуі мүмкін
- •1.2.2 Криптография мен хаостық динамиканың өзара байланысы
- •1.2.4 Толқымалы үтірі бар математика негізіндегі псевдохаос
- •2 Компьютерлік криптографиядағы детерминделген хаос жүйесін басқаруды іске асыру
- •2.1 Лоренцтің сызықсыз дифференциалдық теңдеулер жүйесін теориялық зерттеу
- •2.1.1 Теориялық зерттеудің қорытындысы
- •2.2 Жасап шығарылған жүйені тәжірибелік іске асыру
- •2.2.1 Бағдарламалық ортаны таңдау негіздемесі
- •2.2.2 Итерациялық криптографиялық алгоритмді іске асыру
- •2.2.3 Программаның графикалық интерфейсі
- •2.2.4 Программаның модульдерін сипаттау
- •Сурет 26- Жүрістер тесті
- •2.3.2 Шифрленген бейнекөріністерге талдау жасау
- •3 “Компьютерлік желілердегі ақпаратты хаостық криптографиялық қорғау жүйесі ” программалық қосымшасын құрудың экономикалық негізделуі
- •3.1 Программалық өнімді құруға кететін шығынды анықтау
- •3.2 Ақпаратты криптографиялық қорғау программасын қолданудың экономикалық тиімділігі
- •3.2.1 Программалық қосымшаны енгізуге кететін шығындар
- •3.2.2 Ақпаратты қорғаудың программалық қосымшасын қолданудың тиімділігі
- •4 Еңбекті қорғау
- •4.1 Еңбекті қорғауды ұйымдастыру мәселелері
- •4.2.1 Микроклиматқа қойылатын санитарлық-гигиеналық талаптар
- •4.2.2 Жарықтандыруға қойылатын санитарлық-гигиеналық талаптар
- •4.2.3 Шуға қойылатын санитарлық-гигиеаналық талаптар
- •4.2.4 Зиянды сәулелерден және электромагниттік өрістерден қорғану
- •4.4 Өрт қауіпсіздігі. Электр қауіпсіздігі
Ашық кілтті криптография
Ашық кілтті криптография симметриялық шифрлеу кезінде туындаған екі негізгі келелі мәселені шешуге арналған [8].
Бірінші мәселе – кілтті тарату мәселесі. Симметриялық шифрлеу екі жақтан да алдын-ала үлестірілген ортақ кілтті талап етеді. Ашық кілтті криптографияның негізін қалаушы Диффи бұл мәселе криптографияның мәнісін теріске шығаратынын айтқан, яғни коммуникация барысында жалпыға бірдей құпиялықты сақтау мүмкіндігін.
Екінші мәселе, қатысушыларды білдірмей ауыстырып қоюға мүмкін болмайтын механизмдер құру, яғни сандық қол қою қажет болды. Коммуникацияның кең тараған мәселелерін шешуде, мысалға коммерциялық немесе жеке мақсаттарда, қағаз құжаттарында болатын электронды хабарлар мен құжаттардың эквивалентті қолы болуы тиіс. Электронды хабар нақты бір қатысушымен жіберілгеніне барлық қатысушылар сенімді болатын әдіс құру қажет болды. Бұл аутентификацияға қарағанда күштірек талап.
Симметриялық шифрлеуде қолданылатын кілтті құпия кілт деп атаймыз. Ашық кілтті шифрлеуде қолданылатын екі кілтті ашық және жабық кілттер деп атаймыз. Жабық кілт дешифрлеу кезінде қолданылады, және құпия болады. Жабық кілтті KR деп, ашық кілтті KU деп белгілейміз. Барлық қатысушылар бір-бірінің ашық кілттеріне қолдануға рұқсат болсын, ал жабық кілттері құпия болады.
Ашық кілтті алгоритм үшін Диффи және Хеллман мынадай талаптар қойды:
1. Ашық және жабық кілттер жұбын есептеп табу оңай;
2. Ашық кілтті қолдана отырып берілген мәтінді шифрлеу оңай;
3. Жабық кілтті қолдана отырып дешифрлеу оңай;
4. Ашық кілтті біле отырып жабық кілтті есептеп табу мүмкін емес;
5. Ашық кілтті және шифрленген мәтінді біле отырып берілген мәтінді дешифрлеп алу мүмкін емес;
6. Шифрлеу және дешифрлеу функциялары кез-келген ретпен қолданыла алады;
Бұл қақпасы бар бір жақты функия ұғымы үшін күшті талаптар болып табылады. Біржақты функция деп әр аргументі тек жалғыз кері мәнге ие болатын функцияны айтамыз, және, бұған қоса, функцияның өзін есептеу оңай, ал кері функцияны табу қиын болатын функцияны айтады.
Симметриялық шифрлеу секілді ашық кілтті шифрлеу алгоритмі тура шабуылдың алдында әлсіз болып табылады [3]. Бұған қарсы әрекет ретінде ұзындығы үлкен кілттер қолданылады .
Ашық кілтті криптография белгілі бір инверттелмейтін математикалық функцияларды қолданады. Мұндай функцияларды есептеудің қиындығы олардың кілт биттерінің санына тәуелділігі сызықты болмайтындығына байланысты.
Тура шабуыл мәнсіз болуы үшін кілт жеткілікті түрде ұзын, ал шифрлеу үшін қысқа болуы тиіс.Тәжірибеде тура шабуылды мәнсіз қылу үшін ұзын кілттер қолданылады, бірақ нәтижесінде шифрлеу жылдамдығы азайып, жалпы қолданысқа мүмкіндік бермейді.
Шабуылдың тағы бір түрі ашық кілтті біле отырып жабық кілтті есептеудің әдісін табу. Бұл шабуылдың нақты бір алгоритмге қолданылуын жоққа шығаруды математикалық түрде дәлелдеу мүмкін емес. Сондықтан кез-келген алгоритм, соның ішінде кең тараған RSA (Rivest-Shamir -Adleman) алгоритмі, күмәнді болып табылады.
Ашық кілтті қолданатын криптографиялық жүйелер үшін тағы бір шабуылдың түрі бар. Ол шабуылды ықтималдық шабуылы деп атайды [8]. Жіберіліп отырылған хат симметриялық шифрлеудің 56 биттік кілті болсын. Шабуылшы ашық кілт арқылы берілген 56 биттік кілттің мүмкін болатын барлық мәндерін шифрлей алады, және жіберіліп отырылған шифрленген мәтінге сәйкес кез-келген мәтінді дешифрлей алады. Сондықтан ашық кілттің шамасына қарамастан шабуыл симметрилық 56 биттік кілттің тура шабуылынан тұрады. Мұндай шабуылдан қарапайым хаттарға белгілі бір кездейсоқ биттердің санын қоса отырып қорғануға болады.
Ашық кілтті алгоритмдермен шифрлеуге, дешифрлеуге, сандық қол құруға және оны тексеруге, кілттермен алмасуға болады.
Ашық кілтпен шифрлеу келесі қадамдардан тұрады:
1) B қолданушысы шифрлеу және дешифрлеу үшін KUb және KRb кілттер жұбын құрады.
2) B қолданушысы қандай да бір сенімді әдіспен өзінің KUb шифрлеу ашық кілтіне рұқсат ашады. Дешифрлеу KRb кілті құпияда сақталады.
3) Егер А қолданушысы B-ға хат жібергісі келсе, B қолданушысының KUb ашық кілтін қолдана отырып хатты шифрлейді.
4) B қолданушысы хатты алып, оны өзінің KRb жабық кілті арқылы дешифрлеп алады. Жабық кілтті тек B қолданушысы ғана білетіндіктен, басқа ешкім бұл хатты дешифрлей алмайды.
Сандық қолдарды қою және тексеру келесі қадамдардан тұрады:
1) A қолданушысы берілген хаттың қолын тексеретін және құратын KRA және KUA жұптарын құрады.
2) A қолданушысы қандай да бір сенімді әдіспен KUA ашық кілтіне рұқсат ашады. Жұпты құратын KRA жабық кілті құпияда сақталады.
3) Егер A қолданушысы B қолданушысына хат жолдағысы келсе, ол өзінің жабық кілтін пайдалана отырып берілген хат үшін EKRA (M) қолын құрады.
4) B қолданушысы қол қойылған хатты алып, A қолданушысының KUA ашық кілтін қолдана отырып DKUA(M ) қолын тексереді. A қолданушысынан басқа ешкім хатқа қол қоя алмайды, себебі тек A қолданушысы ғана өзінің жабық кілтін біледі.
Сонымен қатар А қолданушысының ашық кілтін білмей жіберілген хатты өзгертуге мүмкіндік жоқ болады; демек аутентификация мен мәтіннің тұтастығы сақталады.
RSA алгоритмі
RSA алгоритмі 1977 жылы Рон Ривест, Ади Шамир және Лен Адлеманмен жасалып шығарылған. Содан бастап Rivest – Shamir – Adleman (RSA) алгоритмі ашық кілтті криптографияның барлық салаларында қолданылады [9].
Алгоритм факторизация есебінің күрделілігіне негізделген, яғни екі санның көбейтіндісін табу оңай, ал үлкен сандардың жай көбейткіштерін табудың полиноминалды алгоритмі жоқ.
Қандай да бір шифрленбеген M блокы мен шифрленген С блокы үшін шифрлеу және дешифрлеу келесі түрде болады:
Жіберуші өзінің хатын k=[log(n)] битке тең блоктарға бөледі, мұндағы тік жақшалар бөлшек саннан бүтін бөлігін бөліп алуды білдіреді.
Мұндай секілді блок (0; 2k-1) диапазонындағы сан ретінде түсіндіруге болады. Әр осындай сан үшін С=(М)emod n өрнегі есептеледі. С блогы шифрленген хат. Сіз берілген хатты ашық каналда еш күмәнсіз жөнелте аласыз, себебі жай санның модулі бойынша дәрежеге келтіру операциясы кері келтірілмейтін математикалық есеп болып табылады. Оған кері есеп «шекті жазықтықтағы логарифмдеу» деген атқа ие және біршама деңгейге күрделірек есеп болып табылады. Яғни, қаскүнем e және n сандарын білгеннің өзінде С бойынша берілген М хатын М-ді толық қойып шығу арқылы ғана таба алады. Ал қабылдап алушы жақ құпияда сақтаулы тұрған d саны арқылы дешифрлеу үрдісін іске асыра алады. Жоғарыда аталып өтілген Эйлер теоремасының жеке жағдайы бойынша егер n саны p және q жай сандары түрінде беріле алатын болса, онда кез-келген x үшін x(p-1)(q-1)mod n=1 теңдігі орындалады. RSA хатын дешифрлеу үшін осы формуланы пайдаланайық. Екі жағын да (-y)-ке дәрежесін шығарайық: (x(-y)(p-1)(q-1))mod n = 1(-y) = 1. Енді екі жағын да x-ке көбейтейік: (x(-y)(p-1)(q-1)+1)mod n = 1·x = x.
Ал енді біз ашық және жабық кілттерді қалай құрғанымызды еске түсірейік. Біз Евклид алгоритмі арқылы e·d+(p-1)(q-1) ·y=1, яғни e·d =
=(-y)(p-1)(q-1)+1 болатындай d саны таңдадық. Демек жоғарыдағы абзацтағы соңғы теңдеудің дәреже көрсеткішін (e·d) санына алмастыра аламыз. (xe·d) mod n =x теңдігін аламыз. Яғни С=((М)e)mod n хабарын оқу үшін М модулі бойынша дәрежеге d көрсеткішін шығарсақ жеткілікті.
RSA алгоритмнің криптоанализі n санын екі жай санға жіктеу мәселесіне тіреледі. Қазіргі уақытта өте үлкен сандарды екі жай санға жіктеудің алгоритмі жоқ ( яғни бірнеше жүзмыңдық сандар). Белгілі алгоритмдердің ішінен ең күштісінің нәтижесі мынаған пропорционал болады:
L(n) = esqrz(ln n·ln (ln n))
Бұдан артық алгоритмдер жарыққа шыққанша дейін, n-нің шамасы 100-ден 200 цифраға дейін тұратын сан жеткілікті түрде қауіпсіз болып табылады. Қазіргі уақытта 100 цифрадан тұратын сан екі аптаның ішінде көбейткіштерге жіктелуі мүмкін [9]. Қымбат конфигурациялар үшін 150 цифрадан тұратын сан біржылдың ішінде көбейткіштерге жіктелуі мүмкін. 200 цифрадан тұратын сан есептеу мүмкіндіктерінің шегінен тыс .