Параллельді алгоритімді ақпараттық қауіпсіздікте қолдану



Жұмыс түрі:  Дипломдық жұмыс
Тегін:  Антиплагиат
Көлемі: 45 бет
Таңдаулыға:   
КІРІСПЕ
Ақпараттық технологиялардың күрт дамуының әсерінен цифрлық ақпарат алмасу процесі күрделенді. Яғни цифрлық ақпараттың қоғамдағы рөлі артты. Қазіргі таңда барлық салада цифрлық ақпарат қолданылады. Цифрлық ақпаратқа деген сұраныс жылдан-жылға өсуде. Сонымен қатар ақпараттық қауіпсіздік мәселелері артты. Ақпараттық қоғамда мәліметтің бүтіндігін сақтап қалу өте қиын. Әр-түрлі вирустық шабуылдар арқылы IT-жүйені бұзып, өзіне қажетті ақпаратты заңсыз иемденетін хакерлердің шабуылдары артты. Жылдан-жылға ақпаратты алу мақсатында шабуылдың жаңа түрлері пайда болуда. Ал, оларға тойтарыс беретін ақпараттық қауіпсіздік жүйелері аз. Себебі жаңа вирустардың алгоритімін түсіну өте қиын. Қоса айтсақ жаңа вирустарға ескі ақпаратты қорғау әдістерін қолдану тиімсіз. Қоғамдағы ақпараттық қауіпсіздік мәселесін қамтамасыз ету еліміздегі өзекті мәселелердің бірі болып табылады. Ақпаратты қорғау жүйесін құру кезінде көптеген ақпаратты шектеу және оны сұрыптау жолдарын қарастырып, оларды қауіпсіз беру амалдарын ойластырады. Бұл көптеген бағдарламалық қамсыздандыру мәселелерін туғызады. Себебі қазіргі цифрлық құрылғылар әр-түрлі операциондық жүйелерде жұмыс жасайды. Сонымен қатар олардың арасындағы ақпарат алмасу процесін жоғарлатуымыз керек. Егерде күрделі қорғау жүйелерін жиі қолданатын болсақ, ақпаратты өңдеу, сақтау және тарату ұзақ уақытты алады. Сол себепті қазіргі таңда ақпаратты қорғау мақсатында параллельді алгоритімдерді жиі қолданады. Ақпараттық қауіпсіздікте параллельді алгоритмдерді қолдану арқылы құрылғылар арасындағы қауіпсіздікті қамтамасыз ете аламыз. Негізінен параллельді алгоритм криптографиялық шифрлану әдістерін оңтайландыру мақсатында енгізеді. Яғни криптографиялық шифрлаудың уақытын жоғарлатады. Сонымен қатар криптографиялық шифрдың алгоритімін бұзу осалдылығы азаяды. Параллельді алгоритмнің көмегімен бір мезетте бірнеше процесстерді орындауға мүмкіндік береді.
Дипломдық жұмыстың зерттеу обьектісіне паралелльді және криптографиялық алгоритм жатады.
Дипломдық жұмыстың мақсатына:
1. Параллельді алгоритімнің қолдану аясымен танысу;
2. Параллельді алгоритмдеуді ақпараттық қауіпсіздік мәселелерін шешуде қолдану;
3. Параллельдік алгоритімнің тиімділігін зерттеу

Дипломдық жұмыстың міндеттеріне:
1. Ақпараттық қауіпсіздікті қамтамасыз ету әдістерімен танысу
2. Криптографиялық шифрлауда паралельді алгоритмді қолдану
Дипломдық жобада классикалық зерттеу әдісін қолданамын. Зерттеу жұмысының мақсаттары мен міндеттерін айқындап, зерттеу мәселелерінің шешу жолдарын қарастырамын. Сонымен қатар салыстырмалы талдау жүргізіп, жобаның экономикалық және әлеуметтік тиімділігін анықтаймын. Дипломдық жоба негізгі үш бөлімнен құрылады. Бірінші теориялық бөлім. Теориялық бөлімде зертеліп жатқан мәселе бойынша соңғы жаңалықтарымен танысып, олардың ерекшеліктері мен практикалық маңыздылығына SWOT-талдау жүргіземін. Екінші және үшінші бөлімде жобаның практикалық және экономикалық нәтижелеріне анализ жүргіземін. Алынған нәтижеге сәйкес қорытынды жазамын.

Теориялық бөлім
I-ТАРАУ Параллельді алгоритімді ақпараттық қауіпсіздікте қолдану

1.1 Криптографиялық жүйеде параллельді алгоритмді қолдану
Ақпараттың қауіпсіздік шарларын ұйымдастыру кезінде криптографиялық шифрлау әдісі жиі қолданылады. Криптографикалық шифрлау кезінде параллельді ашгоритімді жиі қолданылады. Себебі әр шифрдың өз алгоритімі болады. Параллельді алгоритмнің көмегімен шифрлаудың сенімділігі мен шифрлауға кететін уақыттың үнемділігін қаматамасыз етуге болады. Дегенмен криптографикалық шифрлаудың түрлері мен әдістері өте көп. Криптоалгоритм- ақпаратты шифрлау мақсатында қолданылатын алгоритм түрі. Криптоалгоритмдер жылдан-жылға дамып, күнделікті өмірде жиі қолданамыз. Мысалы ретінде егов порталын алсақ болады. Ол жердегі логин және құпиясөз симметриялы криптографиялық шифрде жазылған. Сол себепті егов кілттері арқылы сайтқа кіре аламыз. Негізгі криптографикалық алгоритмдеу үш топқа жіктеуге болады.Кілтсіз, біркілтті және көпкілтті криптографикалық алгоритмдер ( 1-ші суретте көрсетілген).

Сурет-1 Криптографикалық алгоритм түрлері
Криптографикалық алгоритімнің негізгі мақсаты шабуылдарға тойтарыс беру. Яғни криптографиялық алгоритім күрделі болуы керек. Криптографикалық алгоритімнің нәтижесі шифрлық код. Көптеген шабуылдар осы шифрлық кодты шешу мақсатында орындалады. Дегенмен параллельді алгоритмнің көмегімен шифрлық кодты күрделендіруге болады. Бір сөзбен бір декодтау үшін бірнеше алгоритімнің көмегімен жүзеге асады. Ал бұндай алгоритмдерді біз параллельді алгоритмдер деп атаймыз.
Шифрлаудың негізгі міндеті- құпия ақпаратты сенімді қорғау. Ақпаратты сенімді қорғау мақсатында шифрларға арнайы кілттер құрады. Ол кілттердің көмегімен жасырын ақпаратқа қол жеткізуге мүмкіндік береді. Мәліметтердің қауіпсіздігін қамтамасыз ету мақсатында құпия кілттердің алгоритімін құрады ( 2-сурет). Қазіргі таңда құпия кілттердің алгоритімін ұйымдастыру екі жолмен іске асады. Біріншісі симметриялық құпия кілттер. Симметриялық құпия кілттер өте қарапайым. Олардың шифрлау алгоритімі құпия сақталады. Дегенмен қазіргі таңдағы мультиагенттік жүйелердің көмегемен шифр алгоритіміне қол жеткізуге мүмкіндік береді. Симметриялық кілтті алгоритмде сандар мен символдар белгілі бір кодтарға немесе таңбаларға ауыстыруы мүмкін. Заңсыз алынған ақпаратты декодтауға шифр алгоритімі қажет. Оны бұзу үшін көп уақытты талап етеді. Бірақ қазіргі таңда суперкомпьютерлердің көмегімен бұзуға болады. Сол себепті бұл шифрлауды қолдану ақпарат қауіпсіздігінің сенімділігін толығымен қамтамасыз етпейді.
Ассиметриялық шифрлау кілттері өте күрделі. Бұл жерде бірнеше шифрлық кілттер қолданылады. Біріншісі құпия кілт. Ал екінші қоғамдық кілт. Ақпарат алмасу кезінде шифрды ашу үшін құпия кілттерді қолданамыз. Ассиметриялық шифрлаудың негізгі кемшілігі күрделілігінде. Бұл кілттерді бұзу мүмкін емес. Қазіргі таңда ассиметриялық шифрлау құпия ақпараттарды қорғау мақсатында қолданады. Екі кілт арасындағы байланыс ұйымдастыру кезінде паралелльді алгоритм қолданылады. Сол себепті бұл шифрлау сенімді әдістердің бірі болып табылады. Ассиметриялық шифрлаудың негізгі кемшіліктерінің бірі ақпаратты өңдеу кезінде есептеу құрылғыларының процессорларына қосымша жүктеме түсіреді. Яғни ақпаратты өңдеу кезінде жүйеге қосымша жүктеме түсіреді.
Криптожүйелердің күрделілігі келесідей мәселелер туғызады:
1. Ақпаратты өңдеу уақытынын жоғарлауы;
2. Компьютерлерге және есептеуіш құралдарына қосымша жүктеме беріледі;
3. Ақпаратты тарату кезіндегі қателіктердің көбеюі;
4. OSI моделінің құру кезінде сәйкестендіру қиын;
5. Қосымша бағдарламалық қамсыздандыру қамтамасыз ету;
6. Ақпаратты өңдеу операцияларының бірнеше рет қайталануы;
7. Техникалық күтім көрсету мен экспулатациялың қымбаттылығы;
8. Ашық кілттерді қорғау кезінде қателіктер пайда болады;
9. Ықтималдық теория және математикалық тұрақтылығының болуын қамтамасыз ету.

Сурет-2 Криптожүйелердің жіктелуі
Ағындық криптожүйелік алгоритімдерді көбінесе аутентификациялау кезінде қолданылады. Аутентификациялау алгоритімі бірнеше паралельді алгоритмдерден құралған. Яғни бұл процестерде сервер мен қолданушылардың арасындағы алгоритім. Қолданушылардың жеке ақпараттары сақтандырылған каналдар арқылы беріледі. Жеке ақпарат әуелі шифрланып, сосын желі арқылы серверге жөнетіледі. Сервер қажетті ақпаратты алған соң декодтау басталады, ол ақпаратты үшінші тарапқа жаңа шифрмен шифрлап жібереді. Үшінші тарап алынған ақпаратты тексеріп, дұрыстығына көз жеткізген соң IT-жүйеге қосылуға рұқсат береді. Дегенмен бұл процесте екі алгоритім іске асырылыдаы. Бірінші біздің шифрлау алгоритімі, екінші декодтау алгоритімі. Нәтижесінде екі алгоритім бір мезетте іске асырылады. Сондықтан бұл криптожүйелік алгоритім ағындық деп аталады. Ағындық криптожүйелік алгоритім қазіргі таңда кеңінен қолданылады. Мысалы әлеуметтік желідегі аутентификациялау осы жүйе арқылы іске асырылады. Бұл жүйенің осалдығы көп шабуылдарға тойтарыс бере алмайды. Қазіргі замандағы DDOS шабуылдардың әсерінен құпия ақпаратты жоғалтып алу қауіпі бар. Бұл жүйенің артықшылықтьарына келсек, телекоммуникациялық және естеуіш электрондық құрылғылардың ресурстарын аз пайдаланады. Яғни аутентифкациялау процессі жеңіл, әрі жылдам іске асады(сурет-3).

Сурет-3 Параллельді алгоритмдік аутентификациялаудың орындалу сызбасы
Параллельді алгоритімді қазіргі таңда шифрлаудан бөлек аутентинфикациялау және авторизациялау кезінде жиі қолданады. Яғни бұл екі процесс парраллельді орындалатындықтан қолданамыз. Сол себепті мәліметтердің жоғарғы сапалы қорғанысын қамтамасыз ету үшін параллельді алгоритмдерді қолдану тиімді. Қазіргі таңдағы қорғаныс жүйелері әр-түрлі архитектуралық бағдарламалық платформаларда орындалған. CUDA, RADUIS және TACACS тағы басқалары жатады. Көртеген мәліметтерді басқару және қорғау мақсатында жоғарыдағы құралдар мен бағдарламаларды жиі қолданады. Бұл бағдарламалардың жұмыс істеу принципі парраллельді алгоритмге байланған. Сол себепті бұл жүйені бұзу мүмкіндігі аз. Төменгі суретте параллельді алгоритімнің компьютермен айланысы көрсетілген(Сурет-4). Қосылған бағдарламаның алгоритімі алдымен сервермен байланыс орнатылады. Сервердегі байланысты қауіпсіздігін қаматамасыз ету мақсатында желілік қауіпсіздікті қамтамасыз ететін протоколдардың алгоритімі қосылғаннан кейін, компьютрдегі бағдарлама шифрланады. Яғни нақтыланған сервермен байланыс орналмаса, бағдарлама жұмыс жасамайды. Себебі желідегі ақпараттық қауіпсіздікті қамтамасызе ету үшін сервер мен компьютер арасындағы қорғалған канал параллельді жұмыс жасайды. Егер сервердің немесе компьютердің жұмыс жасау алгоритімі өзгерсе. Параллелдік есептеуді қамтамасыз ететін бағдарлама автоматты түрде мәліметтерді шифрлайды. Және компьютердің драйверлерін жояды. Бұл әрекет компьютердегі бағдарламаны желі немесе басқада физикалық тасымалдаушы құрал арқылы ақпаратты көшірудің алдын алады. Нәтижесінде компьютердегі мәліметтер шифрланып, оны декодтау үшін арнайы алгоритмді қажет ететін жабық кілтті қажет етеді. Сол себепті ақпаратты қорғау кезінде жабық кілттерді жиі қолданылады.

Сурет-4 Қорғаныс жүйелерінің компьютермен байланысы
1.2 Параллельдік алгоритмді CUDA ақпараттық-бағдарламалық құралының көмегімен құру
CUDA (ағылшын тілінде "Compute Unified Device Architecture")- қазіргі таңдағы есертеу құралдарының көпшілігі параллельді алгоритмді графикалық процессорларда жиі өңдейді. CUDA ақпаратттық-бағдарламалық құралы NVIDIA компаниясының графикалық процессорларына арнап жасалған. Параллельді есептеулердің көмегімен ақпаратты өңдеу уақытын қысқартуға мүмкіндік береді. NVIDIA компаниясының видеокарталары кеңінен тарған. Әсірессе мобильді құрылғыларда жиі қолданылады. Видеокартаның графикалық процессоры негізгі процессормен қабаттасып жұмыс атқарады. Яғни негізгі процессордың есептеу күші әлсіз болған жағлайда, CUDA көмегімен графикалық процессорлың есептеу ресурсын қолдануға мүмкіндік береді. Сол себепті қазіргі таңдағы ноутбуктердің көпшілгі NVIDIA компаниясының видеокарталарын орнатады. Себебі ноутбуктердегі процессордың қуаты дербес компьютердегі процессормен салыстырғанда әлдеқайда әлсіз. Сондықтан CUDA ақпараттық-бағдарламаның көмегімен графикалық процессорлың құуатын параллельді алгоритімдік есептеулерде қолданады. Яғни ақпаратты шифрлау немесе декодтау кезінде ноутбуктердің процесорларының қуаты жеткіліксіз. Сол себепті графикалық және негізгі процессордың көмегімен параллельді алгоритмді өңдеуге болады. Яғни процессорлар ақпаратты өңдеу кезінде бірнеше параллельді ағымдық алгоритмдерді қолданылады. Ағындар параллель өңделеді және өңдеу процесінде өзара әрекеттеседі. Бұл CUDA жұмысы салынған NVIDIA процессорларының арқасында мүмкін болады. Олардың негізінде GPGPU технологиясы жатыр. Бұл технологияның жұмысын сипаттау үшін қолданыстағы процессорлармен танысу керек. Жұмыс барсында негізінен екі түрлі процессор қолданады. Бірінші негізгі есептеуіш процессоры. Екіншісі графикалық есептеу процессоры.
CPU (ағылш. Central Processing Unit) - бұл деректерді мүмкіндігінше қысқа мерзімде өңдеуге бағытталған орталық процессор. Ол келесі принцип бойынша жұмыс істейді: бір тапсырманы бірнеше ағынға бөледі, олардың әрқайсысы бөлек өңделеді. Содан кейін бұл ағындар қайтадан біріктіріліп, дұрыс ретпен реттеледі. Бұл тәсіл тапсырмаларды дәйекті өңдеу жылдамдығын арттыруға мүмкіндік береді.
GPU (ағылш. Graphics Processing Unit) - бұл 2D немесе 3D графикасын өңдеуге арналған арнайы графикалық процессор. Ол графикалық картаға орналастырылған, бұл деректерді өңдеу кезінде негізгі процессорды артық жүктемеден автоматты түрде босатуға мүмкіндік береді. GPU аз мөлшерде энергия тұтынатын бірнеше мың ядролардан тұрады. CUDA ядролар 1 ватт қуат тұтыну өнімділігі бойынша CPU-дан "озады". Осы процессорлардың арқасында қазіргі таңдағы ақпараттық қауіпсіздікті қамтамасыз ету мақсатында қолдануға болады. Ақапараттарды өңдеу кезінде жиі шабуыл болады. CUDA арқасында паралельді алгоритмді серверде емес, компьютердің өзінде жүзеге асыруға мүмкіндік береді. Көп жағдайда шабуыл серверлерге бағытталған. Сол себепті ақпаратты шифрлау сервер емес компьютердің өзінде жүзеге асқаны дұрыс. Неліктен деген сұрақ пайда болуы мүмкін?
Біріншіден серверді бұзған жағдайда, сервердегі активті қолданушылардың компьютерлері мен жеке ақпараттарына ұрлауға болады. Бір сөзбен сервермен байланысқа түскен компьютерлердің барлығына шабуыл жасау мүмкіндігі туады. Сол себепті жеке адамға шабуыл жаса са, тек бір компьютердің ақпараттарына қол жеткізуге болады. Қазіргі таңдағы ақпараттық қауіпсіздік мәселелері кең ауқымды салаларды қамтиды. Сол себепті әмбебап CUDA құралын жиі қолданады. CUDA процессорларының базасында параллельді алгоритмді өңдеудің GPGPU технологиясы құрылды. GPGPU (ағылшын тілінде General -- purpose computing on graphics processing units)- осы технологияның арқасында біздің графикалық процессор негізгі процессордың функцияларын атқара алады. Параллельді алгоритмді жүзеге асыру үшін компьютердің жады мен процессорларына өте үлкен жүктеме түседі. Сол себепті CUDA GPGPU ағымдық паралельді өңдеудің жүктемесін басқаруға болады. Яғни ақпаратты қорғалған байланыс арнасы арқылы жіберу үшін оны шифрлайды. Ал шифрлау негізінен дербес компьютерлерде жүзеге асады. Ол көптеген блоктардан құралған. Сонымен қатар әр блоктың шифрлау алгоритімі әр-түрлі. Яғни процессор ақпаратты күрделі шифрлау үшін әр блокты жеке-жеке шифрлайды. Нәтижесінде ақпаратты бұзу үшін көптеген блоктардың шифрлау алгоритімін анықтау керек. Теориялық түрде бұндай жүйе бұзу үшін 1200 жылды қажет етеді. Сол себепті қазіргі таңда күрделі параллельді алгоритмді бұзу мүмкін емес. Дегенмен ашық кілттің бұзған жағдайда ақпаратты декодтауға болады. Тек толығымен декодтау мүмкін емес, тек бір бөлігін. Cuda технологиясы WIndows операциондық жүйенің өзінде жиі қолданылады.
CUDA ақпараттық қауіпсіздікке келесі жағдайларда қолданылады:
1. Аутентификациялау және авторизациялау процесінде;
2. Паралельді алгоритмдік есептеу жүйесін тестілеуде;
3. Мәліметтер базасын оптимизациялау және реттеу;
4. Ақпараттарды жылдам шифрлау үшін;
5. Жүйедегі қателіктерді анықтау;
6. Ақпараттық қауіпсіздікке анализ жүргізу кезінде;
7. Бағдарламаның математикалық және логикалық дұрыстығын анықтау кезінде.
CUDA параллельді алгоритімін құру кезінде C,C+,C#, JAVA және Python бағдарламалық тілдерін қолдануға мүмкіндік береді. Сол себепті програмисттердің көпшілігі осы құралмен жұмыс жасағанды жөн көреді. CUDA оптимизациялау кезінде қателіктер аз болады. Сол себепті өте оңтайлы әмбебап архитектура ретінде қарастыруға болады. CUDA құралын әр-түрлі IT жүйелерді бұзу немесе шабуыл жасау үшін жиі қолданылады. Қазіргі таңда ақпараттық қауіпсіздік мамандары осы құралды жиі қолданады. Өте қарапайым интерфейс және әр-түрлі құрылғыларда қолдануға мүмкіндік береді. Көптеген жағдайларды виртуальды түрде CUDA көмегімен ақпараттық қауіпсіздіктің параллельді алгоритімін құруға мүмкіндік береді.
1.3 CUDA ақпараттық қауіпсіздікті қамтамасыз етудің бағдарламалық деңгейлері
CUDA ақпараттық қауіпсіздікті қамтамасыз ету мақсатында арнайы кітапханалардың көмегімен жүзеге асады. Ол кітапханаларда ақпараттық қауіпсіздікті қамтамасыз етудің жолдары қарастырылған, солардың бірі шифрлау. Тек ақпараттық қауіпсіздікті мониторинг жасау және оны басқару үшін C тіліндегі командалардың көмегімен жүзеге асады. Яғни ақпараттық қауіпсіздікті басқару үшін төменгі деңгейлі тілдерді білу қажет. CUDA бағдарламалау келесі этаптардан құрылған:
oo Хосттағы қажетті кэш жадыны дайындау;
oo Компьютерді ақпаратты қорғалған каналдар арқылы көшіріп, хост кэшінің жадына сақтайды;
oo Хосттағы ақпаратты өңдеу құрылғынығ процессор ядросына жүктеледі;
oo Өңделген ақпаратты толығымен серверге жөнелтеді.
Әрине, GPU-ны эффективті қолдану үшін процессорлардағы ядроның өңдеуге кеткен жұмыс уақытысының жадқа көшіру кеткет уақыт қатынасы арқылы, параллельді алгоритмнің тиімділігін анықтауға болады. Енді біз осы архитектураны қарапайым компьютерде қосу үшін келесі іс-шараларды жүзеге асыруымыз қажет. Бірінші CUDA архитектурасының бағдарламалық драйверлдерін орнатуымыз керек. Содан кейін Visual studio құралыың көмегімен келесі кодтарды теріп оны компьютерде компиляция жүргізуіміз керек. Бірінші бағдарлама қаңқасын құрастырамыз. Ол үшін келесі командаларды OPENCV теруіміз қажет.
#incl chrno
#incl iotream
#incl ctring
#incl strig
#incl opencvcorecre.hp
#incl openv2highgihighgi.hpp
#incl openv2opencv.hpp
#incl vectortpes.h

#incl "openMP.hpp"
#incl "CUDA_wrappers.hpp"
#incl "common.hpp"
using name 45 ;
using name 33;
int main( int a, char av )
{ using namespace std:no;
if( argc != 0)
{ cout " Usage: file" endl;
return -1; }
Mat image, uchar4 Array;
int numRows = numCols = image.cols;
auto start = now();
RGBtoGrayscaleOpenMP;
aut dur = duration_castmilliseconds(system_ clock::now() - start);
counting "Open (ms):" duration.count() el;
memset(imageGrayArray, 0, sizeof(unsigned char)*numRows*numCols);
return 0;n }
Осы командалардың көмегімен CUDA архитектурасын экспулатацияға дайындаймыз. Яғни прпоцессорлардың жұмысын реттеу үшін керек. Бірақ қолданыстағы компьютерлерде бұл команда терілмесе CUDA архитектурасы жұмыс жасай береді. Тек алынған нәтижені өзгертуге немесе басқару мүмкіндігі болмайды. Себебі процессорлар арасындағы ақпаратты өңдеу автоматты түрде жүзеге асады. Осы кодтты терген соң VISUAL STUDIO-да келсі нәтижелерді аламыз:
temp clas 1, class2
voidPointers(contcharT1** inputImageArray,
cv::Mat& outputImage,
T2** outputImageArray,
const int outputImageType)
{
using namespace std;
using namespace cv;
if empty())
{
cer "Couldn't open input file." endl;
(1);
}
allocate o, inputImage.cols, outputImageType);
cvColor(inputIm, inputIm, cv::OR_BGR2BGRA);
*inputIArray = (T1*)2 car(12);
*outputIArray = (T2*)12.ptrcar(0); }

Негізгі процессорларды алғашқыда тек белгілі бір тапсырмаларды орындау мақсатында қолданды. Ал графикалық процессорлар әмбебеап көптеген ақпаратты өңдеу мақсатында жасады. Біз білетін параллельді алгоритмде екі процессордың қуатын пайдаланады. Яғни бұл параллельді алгоритмде жұмыс жасайтын компьютерледің ақпаратты өңдеу уақытын қысқарту мақсатында жүзеге асырылды.
Кесте 1 Негізгі және графикалық процессордың параллельді алгоритмдегі қолдану ерекшеліктерін салыстыру
----------------------------------- ----------------------------------- ----------
салыстыру элементтері
----------------------------------- ----------------------------------- ----------
Негізгі процессор
----------------------------------- ----------------------------------- ----------
Графикалық процессор
----------------------------------- ----------------------------------- ----------
Архитектура
----------------------------------- ----------------------------------- ----------
MIMD
----------------------------------- ----------------------------------- ----------
CUDA
----------------------------------- ----------------------------------- ----------
Ядроның мақсаты
----------------------------------- ----------------------------------- ----------
Әр ядро жеке жұмыс атқарады
----------------------------------- ----------------------------------- ----------
Барлық ядроға бірдей жүктеме түседі
----------------------------------- ----------------------------------- ----------
Параллельдеу ерекшеліктері
----------------------------------- ----------------------------------- ----------
Бір параллельді операцияны орындайды
Бірнеше параллельді операцияны орындайды
----------------------------------- ----------------------------------- ----------
Жадқа қол жеткізу
----------------------------------- ----------------------------------- ----------
кездейсок
----------------------------------- ----------------------------------- ----------
Қатарлы
----------------------------------- ----------------------------------- ----------
Кэш жады
----------------------------------- ----------------------------------- ----------
12-16 мегабайт
----------------------------------- ----------------------------------- ----------
65 килобайтқа дейін
----------------------------------- ----------------------------------- ----------
Көп ағындылық
----------------------------------- ----------------------------------- ----------
әр ядроға бір ағын
----------------------------------- ----------------------------------- ----------
Әр ядроға бірнеше ағын
----------------------------------- ----------------------------------- ----------
Құрылғылар
----------------------------------- ----------------------------------- ----------
Уақытша жад
----------------------------------- ----------------------------------- ----------
видеожадтың аналық тақшасы
GPU параллельді деректерді өңдеуді қолданатын алгоритмдерде тамаша нәтижелерді көрсетеді, яғни бірдей математикалық амалдар тізбегі деректердің үлкен көлеміне қолданылған кезде. Графикалық процессорда параллельді есептеулерді орындау үшін NVIDIA компаниясының әзірлеушілері параллельді есептеулердің әмбебап архитектурасын - NVIDIA CUDA (Compute Unified Device Architecture) әзірледі. Ол Isa архитектуралық нұсқаулар жиынтығын (Instruction Set Architecture) және GPU-да параллельді есептеулерді енгізуді қамтиды. Бағдарламалау үшін әзірлеуші ең көп таралған жоғары деңгейлі C және C язы тілдерін қолдана алады . CUDA архитектурасы екі негізгі мақсатты ескере отырып әзірленді: - бағдарламашыға стандартты бағдарламалау тілдерін кеңейтетін және тек параллель алгоритмдерді жүзеге асыруға мүмкіндік беретін мүмкіндіктер мен мүмкіндіктер беру; - гетерогенді есептеулерге қолдау көрсету, яғни алгоритмнің дәйекті бөліктері CPU-да, ал параллель бөліктері CPU-да орындалатын етіп орталық және графикалық процессорды бір уақытта қолданатын есептеулер-GPU-да.CUDA-ны бағдарламалық тұрғыдан қарастырмас бұрын, ағын, бұралу, блок және тор сияқты ұғымдарды ескеру қажет. Ағын (thread) - өңдеуге арналған негізгі деректер жиынтығы. Айта кету керек, CPU және GPU ағындары әртүрлі мәндерге ие. Бұрын айтылғандай, екі ағын арасында ауысу GPU-да ресурстарды қажет ететін операция емес. Warp (warp) - CUDA мультипроцессорларында SIMD әдісімен өңделетін деректердің ең аз көлемі. Басқаша айтқанда, бұл 32 ағыннан тұратын топ. Блок (блок) - өзара байланысты ағындар тобы. Блоктардың максималды саны-65535. Орталық процессорлар мен графикалық процессорлардың архитектурасы әртүрлі және пайдалану жағдайлары әртүрлі.
Процессорлар біздің электронды құрылғыларымыздың көпшілігінің "миы" болып табылады және олар тапсырмаларды жақсы орындайды.Бұл компьютердің әртүрлі тапсырмаларды орындауын үйлестіретін әмбебап мақсатты процесс. Екінші жағынан, графикалық процессорлар мамандандырылған есептеу машиналары болып табылады: графикалық процессорлар 3D кескіндерін тиімді өңдеуге арналған, бірақ олардың графикалық өнімділігі өте жоғары. GPU ерекшеленетін есептеулер параллельді есептеулер деп аталады, оларды кішігірім тәуелсіз есептеулерге бөлуге болады және бір уақытта орындалады. Бұл тұжырымдаманы Джейми Хайнеманның 1:30 минуттық бейнесінде анық көрсетуге болады, олар параллельді есептеулердің қалай жұмыс істейтінін көрсету үшін жасаған робот бояуын көрсетеді. Тұтастай алғанда, тапсырмаларды неғұрлым кіші, тәуелсіз бөліктерге бөлуге болатын болса, есептеу соғұрлым жылдам және ауқымды болады. Бастапқы тапсырмаларға бөлінуі мүмкін бөліктердің саны көбінесе тапсырмалар санына байланысты. Соңғы жылдары Көрулер саны пропорционалды түрде өскенін көрсететін көріністер санына назар аударыңыз. Көптеген процессорларда тек бірнеше ядро бар болса, графикалық процессорларда мыңдаған ядролар бар - ең жаңа өнімділігі жоғары NVIDIA процессорында 10 000-нан астам ядро бар. Бұл өсу әзірлеушілерді GPU мүмкіндіктерін графикалық өңдеуден гөрі көбірек пайдалануға итермеледі, ол қазір "жалпы мақсаттағы есептеулер" (GPGPU) деп аталады. TEGPU мүмкіндіктерін барынша пайдалану және CPU және GPU процессорларына деректерді екі бағытта өңдеуге мүмкіндік беру үшін Nvidia әзірлеушілерге API көмегімен қолданбаларды оңай жасауға мүмкіндік беретін CUDA бағдарламалық платформасын әзірледі. Олар Nvidia аппараттық құралын барынша пайдалану үшін қолданбаларында қолданылатын алгоритмдерді анықтау үшін әзірлеушілермен жұмыс істеуді жалғастыруда. Нәтиже-Adobe Photoshop CC, Adobe Premiere CC және Autodesk Maya сияқты кеңінен қолданылатын қосымшалармен өте сәтті интеграция.
1.4 CUDA ақпараттық қауіпсіздікті қамтамасыз етуде қолдану артықшылықтары
Ақпараттық қауіпсіздікте графикалық процессор мен CUDA архитектурасын қолдану арқылы келесі артықшылықтарын атап өткім келеді. CUDA архитектурасын қолдану және экспулатациялау үшін көп қаражатты керек емес. Күрделі IT-жүйе өте көп электрэнергиясын пайдаланатынын білеміз. Дегенмен CUDA архитектурасын қолдану арқылы электрэнергия шығыны 10 пайызға дейін төмендегені белгілі. Ол жайлы Бобенко Л.К. және Сидорова И.Д. жүргізгіен эксперименттерінде дәлелдеген. Екінші артықшылығы автоматтандырылған жүйені қорғау кезінде көппроцессорлы суперкомпьютерлерді қолданатын. Ал олардың тұрақты жұмысын қамтамасыз ету үшін техникалық күтімді қажет етеді. Сол себепті бұл компьютерлердің экспулатациясы жылына 2-3 миллион доллардай қаражат керек. Ал графикалық процессорлардың қуаты көппроцессорлы компьютердің режимінде жұмыс атқара алады. Сол себепті қарапайым графикалық процессорлардың көмегімен автоматтандырылға жүйелердің қауіпсіздігін қамтамасыз етуге күші жеткілікті. Графикалық процессорлар CUDA архитектурасының арқасында өңдеу құрылғылар арсындағы задержканы максимальды төмендетеді. Яғни ақпаратты өңдеу жылдамырақ болады. Негізгі автоматтандырылған жүйелердің қауіпсіздігін қамтамасыз ету кезінде Қорғаныс саясаты құрылады.
CUDA-ны тегін жүктеп алуға болады, бірақ жұмыс істеу үшін NVIDIA GPU қажет. Сондай-ақ AMD графикалық процессорларында графиканы өңдеуге арналған негізгі платформа болып табылатын OpenCL ашық бастапқы балама бар. Nvidia OpenCL-ді қолдайды, бірақ Cuda Nvidia аппараттық құралдарын ескере отырып жасалған, сондықтан edit іске қосылған кезде жақсы жұмыс істейді. Бұл платформа әзірлеушілерге графикалық өңдеуден тыс параллельді есептеулерді қолданатын көптеген қолданбаларды жасауға мүмкіндік береді, олардың бірі құпия сөзді шифрлауды қажет етеді. Құпия сөзді бұзу-бұл параллель тапсырма деп аталатын нәрсе. Кәдімгі параллель тапсырма-бұл кішігірім бөліктерге тривиальды түрде бөлуге болатын тапсырма, яғни әр бөлікті есептеу оның "көршілерінің"нәтижелеріне тәуелді емес. Мысалы, сипаттамада әдетте 20x20 өлшемді екі матрица қолданылатынын қарастырыңыз. Құпия сөзді ашу әдетте параллель тапсырма болып табылады, өйткені ол бірдей принцип бойынша жұмыс істейді.Бұрын біз парольдердің қалай шифрланатыны туралы егжей-тегжейлі жаздық, бірақ оның қалай жұмыс істейтіні туралы қысқаша түсініктеме берілген.Шабуылдаушы миллиондаған түрлі хэш парольдері бар мәліметтер базасын алды және оны бұзғысы келеді делік. Қарапайымдылық үшін крекер қолданбаның пайдаланушы құпия сөздерінің санын 10 таңбамен шектейтінін біледі делік. Қолданба тек құпия сөздерді тексеруге мәжбүр ете алады (егер оларда идентификаторлар, маскалар немесе жиынтық кестелер болмаса). Барлық құпия сөздерді бұзу үшін, ол бұзғысы келетін барлық хэштердің тізімін жадқа жүктеу керек, тізімдегі парольдерді хэштеу үшін қолданылатын хэш функциясын қолдана отырып, таңбалардың ішінара тіркесімін хэштеу керек және комбинация жадтағы кез-келген хэшке сәйкес келетіндігін білу керек.Содан кейін хэш функциясы жадқа жүктеледі. Бұл 10 таңбаға дейін жарамды таңбалардың барлық тіркесімдері үшін қайталануы керек. Процессор параллель есептеулер жүргізе алатынына қарамастан, графикалық процессорлармен салыстырғанда ядролардың саны өте шектеулі. Алайда, ahash есептеу нәтижесі басқа hash есептеулеріне әсер етпейді, сондықтан параллельді есептеу бұл процесті мың есе жылдамдатуы мүмкін. Бұл ғана емес, процесті одан әрі жеделдету үшін көптеген мүмкіндіктері бар кластерлерді пайдалануға болады. Параллельді есептеулердің басқа да көптеген қолданыстары бар, олардың көпшілігі қоғамға үлкен пайда әкеледі, мысалы, ауыл шаруашылығы, қоғамдық көлік және спамды анықтау үшін ауа-райын болжау. Осы себепті Nvidia және басқа өндірушілер соңғы онжылдықта осы салаға белсенді түрде инвестиция салды және бұл әзірлемелердің біртіндеп әсері құпия сөзді бұзуға әсер етуді жалғастырады.
1.5 RADIUS желілік протоколының ақпараттық қауіпсіздікте қолдану
Re­mote Aut­henti­cati­on Di­al In User Ser­vi­ce - бұл желілік протоколдың көмегімен интернет желісіндегі құрылғылардың қауіпсіздігін қамтамасыз етуге болады. Негізінен бұл протокол арқылы есептеуіш құрылғылардың аутентификация және авторизациясын құруға, басқаруға арналған протокол. бұл протокол 1996 жылы құрылған. Бұл протоколды Livingstone enterprises компаниясы жасап шығарды. Бұл платформаның негізгі мақсаты қолданушылар мен сервер арасындағы қорғалған байланыс жүйесін құру негізделген. Қазіргі таңда бұл протокол арқылы ақпараттық қауіпсіздіктің аудитін және олардың осал тұстарын анықтауға мүмкіндік береді. Radius жұмысы параллельді алгоритмнің көмегімен жүзеге асады. Сол себепті Nvidia Cuda архитектурасының арқасында аутентификациялау процессі неғұрлым жылдам жүзеге асады. Алғашқы сайттардағы аутентификациялау процесі шамамен 5 секундка дейін уақытты қамтыса, қазіргі таңда 1 мили секундқа дейін азайған. Сервер мен компьютер арасындағы байланыс UDP протоколының көмегімен жүзеге асады. Radius көмегімен серверге жіберілген запростарды басқару, олардың серверге қауіпсіз екендігіне жауап беретін протокол болып табылады. Бірақ бұл протокол желілік протколдарға қатысы жоқ бөлек протокол болып табылады. Radius протоколы клиент-серверлік жабдықтарда жұмыс атқарады. Radius протоколының клиенті болып NAS (Network Access Server) желілік сервер жатады. Ал Radius протоколының домені серверлік жабдықта бөлек жұмыс атқарады. Яғни Серверлік компьютерден бөлек Radius протоколы UNIX LINUX операциондық жүйедегі виртуальды машинаға орнатылады. Сол себепті сервердің жұмысы бөлек, radius-тың жұмысы бөлек атқарылады. Бұл бағдарламаны бір сервреге орнату болады, тек сервердің қуаттылығына мән аудару керек. Виртуальды машинаның көмегімен серверді де, протоколды да бір серверлік компьютерге баптап орнатуға болады. Протоколдың функциясына клиенттердің құпия мағлұматтарын тексеру, шабуыл түрлерін алдын-алу және жеке мәліметтерді шифрлау(мысалы; компьютер құрылғыларының IP мекен жайын, MAC- мекен жайын және қосымша қауіпсіздік шараларын қосу т.б) жатады. NAS (Network Access Server) мен radius сервері арасындағы байланыс UDP-ге негізделген. Жалпы алғанда, radius протоколының қосылымға қатысы жоқ деп саналады. Сервердің қолжетімділігіне, деректерді жіберуге және күту уақытынан кейін деректерді өшіруге қатысты барлық сұрақтарды radius протоколы басқаратын құрылғылар басқарады, бірақ тасымалдау протоколының өзі емес. Radius протоколы клиенттік-серверлік технологияға негізделген. Radius клиенті әдетте NAS болып табылады, ал radius сервері UNIX немесе NT машинасында жұмыс істейтін болып саналады. Клиент пайдаланушы туралы ақпаратты белгілі бір radius серверлеріне жібереді, содан кейін серверден алынған нұсқауларға сәйкес әрекет етеді. RADIUS серверлері пайдаланушының қосылу сұрауларын қабылдайды, пайдаланушының түпнұсқалығын растайды, содан кейін клиентке пайдаланушыға қызмет көрсету үшін қажетті барлық конфигурация ақпаратын жібереді. Басқа radius серверлері немесе басқа аутентификация серверлері үшін radius сервері делдал клиент (proxy) ретінде әрекет ете алады.
Қолданушылар мен сервер арсындағы байланыс келесі этаптарды қамтиды:
oo Қызмет көрсететін сервер арасындағы тұрақты байланысты қамтамасыз етеді;
oo Сервер қолданушының құпия сөзімен мен логинін сұрау жүргізеді;
oo Қолданушы компьютер сұрауға жауап береді;
oo Radius клиент сервері шифрланған құпия сөзді негізгі серверге жөнелтеді;
oo Radius сервері Accept, Reject немесе Challenge хабарламаларымен жауап береді;
oo Radius клиенті серверден алынған параметрлерді Accept, Reject немесе Challenge хабарламаларымен бірге өңдейді.
Radius негізгі серверлері қолданушының аутентификациясының әртүрлі методтарын қарастыра алады. Әлбетте қолданушы оған өзінің аты мен бастапқы құпия сөзін берсе, бұл сервер RRR RAR немесе CHAP, UNIX login және басқа аутентификация мәліметтерін қолдана алады. Дегенмен, қолданушыны тіркеу NAS-тан radius негізгі серверінен келетін сұраудан (Access Request) және негізгі сервер жіберетін жауаптын (оптимальды немесе оптимальды емес) байланысы. Access Request командасы қолданушының негізгі аты, шифрланған пароль, nas жүйесінің IP мекенжайы және порт нөмірі бар. Сұрау форматы пайдаланушыға сессияның белгілі бір түрін сұрауға мүмкіндік береді. Мысалы, егер сұрау алфавиттік-цифрлық режимде жасалса, онда бір типтегі қызмет сұралады ("Service-Type == Exec-User"), бірақ егер сұрау РРР пакеттік режимінде жасалса, онда қызмет басқаша болуы керек ("Service type = framed User" немесе "Framed type = PPP"). Бұл күрделі процесс болғандықтан кей жағдайда ақпараттық қауіпсіздікті қамтамасыз ету қиындықтар туғызады. Сол себепті көптеген протоколдар күн сайын жаңарып отырады. Қазіргі таңда Radius протоколын барлық платформаларда қолданылады. Сондықтан ақпараттық қауіпсіздікті қамтамасыз ету кезінде параллельдік алгоритмді осыған сай жүргізілуі тиіс. Адамдардың құпия ақпараттарын аутентификациялау кезінде жиі ұрланады. Жоғарыдағы сұрау командасының орындалуы төменгі суретте көрсетілген(сурет-5).

Сурет-5 Қолданушы мен серевер арасындағы аутентификациялау үрдісі
Ақпаратты қорғау протоколдарының арқасында желідегі қауіпсіздікті қамтамасыз етуге мүмкіндік береді. Сол себепті қазіргі таңдағы девайстардың көпшілігі жоғарыдағы жүйе бойынша жұмыс атқарады. Radius серверін бөлек орнату арқылы біз активті қауіпсіздікті қамтамасыз етеміз. Nat серверге шабуыл жасаған кезде біздегі Radius сервер автоматты түрде оқшауланады. Сондықтан қауіпсіздік саясатының негізгі мәселесі оқшаулау. Шабуылдарға төтеп беретін бағдарламалық және телекоммуникациялық құрылғылардың түрлері көп. Дегенмен бұл барлығы толығымен ақпаратты қорғаудың негізін қаламайды. Тек қана параллельді алгоритмнің көмегімен ақпаратты бір мезетте шифрлап, оның тарату жүзеге асады. Ал ол шифр тұрақсыз белгілі бір милисекундтан кейін өзінің күшін жояды. Осы себептен көптеген хакерлердің шабуыл кезінде көптеген амалдарды қарастырады. Ал ақпаратты ұрлап алғанмен, оны қайта шифрлау көптеген ғасырлар кететінін білеміз. Осы себептен криптографиядағы паралелльді алгоритмді қолдану ең тиімді әдістердің бірі болып табылады.
1.6 Параллельді алгоритмді қажет ететін криптографикалық тапсырмалар
Криптография өте көне ғылымдардың бірі болып табылады. Криптографикалық ақпаратты қорғау тәсілі,қазіргі таңда криптографикалық шифрлау тәсілі кең қолданатын тәсілдердің бірі болып табылады. Криптографика ғылымының дамуы қазіргі таңдағы әр-түрлі шифрлау алгоритмнің арқасында жүзеге асуда. Сол себепті криптографикалық шифрлау кезінде параллельді алгоритмді қолданады. Параллельді алгоритмді қолдану арқылы шифрлау кететін уақыт пен оның құпиялағын сақтау дәрежесі өсті. Сол себепті жоғарыдағы аталып өткен құралдардың көмегімен ғана іске асыруға болады. Барлық криптографикалық шифрлау жүйесі әлемдік стандарттарға сай құрылады. Әр елдің өзіндік криптографикалық шифрлау стандартына сай жұмыс жасайды. Негізгі әлемдегі шифрлаудың түрлері өте көп. Бірақ олардың эффективті жұмысын бағалау кезінде көптеген қателіктер пайда болады. Сол себепті қазіргі таңда халықаралық шифрлау стандарттарын енгізу тырысады. Қазіргі таңдағы халықаралық шифрлаудың келесі түрлері кеңңнен тараған. Оларға:
1) DES шифрлау алгоритімі
2) S DES блоктық шифрлау алгоритімі
3) Алгоритм ГОСТ 28147-89(ТМД елдерінде қолданылады)
4) AES америкалық шифрлау стандарты
5) Ассиметриялық RSA шифрлау алгоритімі
6) SHA хэштеу функциясы
UBI шифрлау алгоритімі
Жоғарыдағы кең таралған ең тиімді шифрлау алгоритмдері. Бұл алгоритмдер криптографикалық шифрлауда жиі қолданатын. Көптеген жылдар бойы эксплутациядан өтіп, сенімді шифрлық алгоритмдері ретінде танылды. Жоғарыдағы барлық шифрлау алгоритмі жұмысын жүргізу кезінде параллельді есептеулер жүргізіледі. Яғни барлық шифрлау алгоритімі параллельді алгоритмде жұмыс жасайды. Себебі қауіпсіздікті қамтамасыз ету кезінде көптеген операциялар жүреді. Ал олардың оңтайлы орындалуы үшін біз параллельді алгоритм мен есептеулерге жүгінеміз. Сол себепті шифрдың алгоритімін құрмас бұрын, оның параллельді алгоритімі бірінші құрылады. Бұл туралы әлі өзіміздің жұмысымызда атап өтеміз. Параллельді алгоритм криптограифкалық шифрлаудан бөлек, көппроцесорлы есептеу блоктарында да жиі қолданады.
Криптожүйелерге қойылатын талаптар
Криптожүйелерді шифрлау және декодтау үрдісінде мәліметтер ақпараттық және бағдарламалық құрал-сайман болуы мүмкін. Бағдарламалық қамсыздандыруды енгізу ең көп таралған сонымен қатар бірнеше икемділікке ие.
Криптографиялық мәліметтерді сақтау жүйелері үшін келесідей халықаралық талаптар қойылады:
- Ақпарат құпияланған хабарлама кілттердің болуы тиіс;
- құпия кілтті білу операцияларының көлемі, шифрланған ақпараттың және мәліметтің пайдаланылған бөліктері мүмкін болатын құпия кілттердің барлық санынан аз болмауы керек;
- құпия кілттердің толық болуы мүмкін түрлері бойынша мәліметтер шифрын өзгерту қажет. Ал мәліметі қайта ашу үшін орындалатын алгоритмдер саны неғұрлым аз болуы керек. Заманауи есептеу құралдарының мүмкіндіктері шектеулі. Сол себепті жүйе жұмысы минимальды ресурстарды қолдану керек (параллельді есептеулерді орындау мүмкіндігімен байланысты);
- құпия шифрлау есебін білу ақпаратты қорғау сенімділігіне қатты зиян келтірмеу керек;
- кілттің шамалы өзгеруінің салдарынан, құпияланған ақпарат жойылу немесе тұтастығын бұзбау қажет;
- шифрлау кезіндегі параллельді алгоритм құрылымдық нәтижелері мен элементтері өзгермеу керек;
- шифрлау кезіндегі барлық хабарламалар жалпы қосымшаның разрядтарына енгізіледі, құпия мәтінде жалпы алгоритмнің жұмысы сенімді түрде өзгертілуі керек;
- Құпияланған мәліметтің көлемі мен ұзындығы барынша түпнұсқа мәліметінің көлемі мен ұзындығына тең болуы керек;
- қолданылатын қарапайым шифрлау үрдісінде, декодтау қатар ретімен қажет құпия кілттердің арасындағы тәуелсіздікті қосу мүмкіндігі болуы міндетті;
- шифрлау алгоритмнің құпия кілттері жалпы құпия ақпараттардың тұтастығын және сенімді ақпаратты қорғау әдісін қалыптастыру қажет;
- алгоритм бағдарламалық және техникалық қамсыздандырудың жолдарын оңтайлы түрде іске асыру мүмкіндігі болуы қажет.
Шифрлау режимдері
Қазіргі таңда негізгі америкалық бес құпия шифрлау режимі төменде көрсетілген және көп блоктық құпия шифрлау режимдеріне байланысты ұсыныстардың түрлері деп көрсетілген заңды құжатта ұсынылып талқыланған. Құжаттағы негізгі заңды тіркелген режимдер:
- ECB (Electronic Code Book) - цифрланған код кітапшасы;
- CBC (Cipher Block Chaining) - мәтіндердің блокталған шифрлық тізбегі;
- CFB (Cipher Feed Back) - құпия шифрланған мәтінді кері жүктеу режимі;
- OFB (Output Feed Back) - шығыс деректерін кері жүктеу;
- CTR (Counter) - санауышпен шифрлау.
Осы жағдайда құпия шифрлаудыңбастапқы 4 режимі міндетті болып табылады. (CTR) соңғы жылдары пайда болған - алғашқы құпия шифрлау алгоритімі қабылданғаннан соң 3 жылдан кейін енгізілді. Айта кетсек, ГОСТ 28147-89-да OFB режимі қарастырылмаған және бұл режимдердегі NIST атауларымен сйкес келмейді. Кей құжаттарда келесідей жазылуы мүмкін:
- ECB (Electronic Code Book) - жалпы сұрыптау режимі;
- CBC (Cipher Block Chaining) - генерациялаудың қарапайым енгізу режимі;
- CFB (Cipher Feed Back) - кері бағыттағы гаммалау режимі;
- CTR (Counter) - гамма режимі.
Осы режимдер 21-ғасырдың алғашқы құпия шифрланған мәліметтерді жіберу үшін қорғаныс тыңшылары кеңінен қолданған, экспулатациялық режимнің цифрлы электрондық нұсқасы ретінде қарауға болады. Тыңшылар алгоритмдік шифрлау кітапшасын алды, оның әрбір бетінде бірегей реттілік - мәліметтер шифрланған құпия кодтардан тұрады(6- суретте көрсетілген).

Сурет -6 Электрондық код кітапшасының шифрлау режимі

Cурет-6 көрініп отқаныңыздай , бүкіл шифрлық алгоритмі CIPHK және CIPH- 1K функцияларын сәйкесінше шифрлау және дешифрлау үшін хабарға және шифрлық мәтінге тікелей қолданудан тұрады. Шифрлауды келесідей көрсетуге болады:
Cj = CIPHK(Pj),
мұндағы: j=1...n;
Pj келесі, j-ші ашық мәтіндік блок;
Cj - шифрланған мәтіннің келесі j-ші блогы.
Жоғарыдағы шифрлау алгоритімінің режимі әлі күнге дейін қолданысқа ие. Негізгі қазіргі таңдағы барлық шифрлау режимі ақпараттың құпиялылығын арттыру мақсатында құрылған. Сол себепті құпия шифрдың ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Радиоэлектронды бақылауыш модулі
Қорғалатын объектілі жүйелерге - бағытталған тәсілдерді қолдану
Алгоритмді блок - схема түрінде жазуда қолданылатын геометриялық фигуралар
Компьютерлік ақпараттық жүйелер
Delphi ортасында программалау
Ақпараттық криптографиялық қорғалуы
Модификацияланған деректерді қорғау
Үш корпусты абсорбция қондырғы аппаратын шығын мен концентрациялар параметрлерін реттеуге арналған контроллерді программалау
Оқушы портфолиосы
Заманауи оқу үдерісіндегі педагогикалық бақылау
Пәндер