Эллиптикалық криптография

Автор: Пользователь скрыл имя, 24 Октября 2011 в 17:52, дипломная работа

Описание работы

Осыған орай дипломдық жұмыстың мақсаты – RSA алгоритмін қазіргі таңдағы технологияларды пайдалана отырып, ақпаратты қорғау саласында кеңінен қолдана алатын автоматтандыру жүйесін құру.
Жұмыстың мақсаты дипломдық жұмыс барысында шешілген келесі міндеттерді анықтады:
Сандар теориясын, оның бөлімдерінің бірі жан сандарды зерттеу. Өте үлкен жай сандарды іздеу
Екілік жүйедегі сандармен жұмыс жасау
Ашық және жабық кілттердің құрылымын зерттеу
Бір компьютерден екінші бір компьютерге ақпаратты шифрлеп жібергенде, барлық қауіпсіздік ережелерін сақтау және зерттеу

Содержание

КІРІСПЕ 3
КРИПТОГРАФИЯ НЕГІЗДЕМЕСІ 5
1 Криптографияның негізгі түсініктемелері мен тарихы 5
2 Математикалық негіздемелер 9
2.1 Күрделілік теориясы 9
2.2 Сандар теориясы 13
2.3 Жай сандар генерациясы 18
3 Криптожүйелердің жұмыс істеу принциптері 20
3.1 Криптографиялық кілттерді басқару 21
3.2 Симметриялық (құпиялы) әдістемелер мен алгоритмдер 22
3.3 Асимметриялық (ашық) әдістемелер мен алгоритмдер 25
4 АШЫҚ КІЛТТІ ҚОЛДАНАТЫН АЛГОРИТМДЕР 29
4.1 Ашық кілтті қолданатын алгоритмдердің қауіпсіздігі 29
4.2 Қол қапшық алгоритмы 30
4.3 RSA алгоритмі 33
4.4. RSA шифрлеу жүйесі 35
4.5 RSA алгоритмінің жұмыс істеу жылдамдығы 39
4.6 RSA қауіпсіздігі 40
4.7 RSA бағдарламалық жабдықтаманың сипаттамасы 48
5 .Эллиптикалық криптография ??
5.1 ??
5.2 . ??
5.3 . ??
5.4 ??
5.5 . ??
6 .Программалық коды ??
6.1 Эллиптикалық қисықтың программалық коды ??
6.2 RSA жүйесінің программалық коды . ??

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ

Работа содержит 1 файл

Диплом Аскара.doc

— 948.50 Кб (Скачать)
align="justify">     Екілік  санау жүйесі математиктер мен философтармен компьютерлер шықпас бұрын (XVII — XIX вв.) пайда болды. Белгілі математик Лейбниц: "Екілер арқылы санау... ғылым үшін ең негізгі болып саналады ... ,-деп көрсеткен. Сандарды қарапайым түрге келтіру кезінде 0 мен 1 болғанда , әр жерде тамаша тәртіп пайда болады". Кейін Екілік санау жүйесі ұмытылды, тек 1936 — 1938 жылдары американдық инженер және математик Клод Шеннон екілік санау жүйесінің конструирленген электрондық схемалар үшін қолданысын тапты.

     Екілік  санау жүйесі — негізі 2 болатын санау жүйесі. 0 мен 1 сандары қолданылады. Екілік санау жүйесі сандық құрылғыларда қолданылады, себебі әлдеқайда ыңғайлы және барлық талаптарға сай:

  • Жүйеде мәндер қаншалықты аз болса, соншалықты жеке элементтер дайындау ыңғайлы.
  • Элементтің күй элементі аз болған сайын, оның кедергіге шыдамдылығы жоғары болады және ол соншалықты тез жұмыс істейді.

     Қосу  мен көбейтуді жасау кестесінің қарапайымдылығы-сандарға қолданылатын қарапайым амал.

     2.3 Жай сандар генерациясы

 

     Жай сан деп – бірден үлкен және тек бірге, өзіне ғана бөлінетін бүтін сан: ол басқа ешқандай санға бөліне алмайды. Екі - жай сан. Жай сан болып 73, 2521, 2365347734339 және 2756839-1 бола алады. Жай сандардың шексіз көп түрі бар. Ашық кілтті криптография көбінесе үлкен жай сандарды пайдаланады (512 бит және одан да көп).

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

     Егер  әрқайсысына өзінің жай саны керек  болса, қор таусылмайды ма? Жоқ. Шын  мәнінде 1-ден 512 битке дейінгі 10151 сан  бар. n-ге жақын сандар үшін кездейсоқ таңдалынған сан жай болу ықтималдығы 1/ln n болады. Сондықтан, жай сандардың n –нен кіші толық саны n/( ln n) болады. Әлемде барлығы 1077 атом бар. Егер ғаламшардағы барлық атомдар үшін әр микросекунда сайын миллиард сан қажет болса, онда жай сандардың тек 10109 керек болар еді, сонда жай сандардың 10151 қалар еді.

Егер  екі адам бірдей жай санды кездейсоқ  таңдаса? Ондай болмайды.10151 санды  таңдағанда сәйкес келу ықтимаалдығы өте аз. Егер біреу барлық жай  сандар базасын құрса, онда ол оны ашық кілті бар алгоритмдерді ашуға қолдана ала ма? Жоқ. Егер сіз 1 гигабайт ақпаратты  1 грамм салмағы бар құрылғыда сақтасаңыз да, ондағы ақпаратты одан шығара алмайсыз. Егер көбейтінділерге жіктеу сонша қиын болса, онда жай сандар генерациясы қалайша оңай болады? «n саны жай сан ба» деген сұраққа жауап беру  «n-нің бөлінділері қандай» деген сұраққа жауап беруге қарағанда әлдеқайда оңай. 

     Бөліндімен  тексеру

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

     Көбейтінділерге жіктеудің келесі әдісімен кездейсоқ  сандар генерациясы- бұл жай сандарды іздеудің қате әдісі.Жай сандарды тексеру әдісінің тексерілген бірнеше тәсілі бар.Тек тексеру деңгейі жоғары болса, бұл тексеру әдісі тиімді болып келеді.Бұл тәсілмен генерацияланған жай сандарды «өндірістік жай сандар» деп атайды: бұл сандар бақыланатын қате мүмкіндігі бар сандар болып табылады.

     250 санынан 1 тексеру –қате деп жорамалдайық. Бұл дегеніміз, 1/1015 ықтималдығымен тексеріс құрама санды жай деп айтады. 

     Lehmann

     Басқа, одан қарапайым тест Леманнмен тәуелсіз анықталды. Бұл р санының тексеруіндегі амалдар тізбегі:

  1. р –дан кіші кез-келген а санын таңдаңыз.
  2. а(р-1)/2 mod р есептеңіз.
  3. Егер а(р-1)/2≠1 немесе -1(mod р) болса, онда р жай сан болмайды.
  4. Егер а(р-1)/2≡1 немесе -1(mod р)  болса, онда р санының жай сан болу ықтималдығы 50 пайыздан көп болмайды.

Осы тексерісті t рет орындаңыз. Егер есептеу нәтижесінің ықтималдығы  1 немесе -1 болса, бірақ әр уақытта 1 болмаса, онда р қателігі 1/2 t  болатын жай сан болып табылады. 

 

      3 Криптожүйелердің жұмыс істеу принциптері

 

     Оқиғаны сипаттаудың қалыпты мысалы, криптография есебі туындайтын 1-суретте көрсетілген: 
 

   Негізгі принцип 

     

   1-сурет 
 

     А мен В 1-суретте – қорғалынған  ақпараттың заңды тұтынушылары, олар ақпаратпен жалпыға бірдей байланыс каналы арқылы алмасқысы келеді. П – заңсыз тұтынушы (қарсылас, хакер), жіберілген ақпаратты қағып алып, одан өзіне қажетті жаңа ақпарат немесе мәлімет алғысы келетін адам. Бұл қарапайым схеманы ақпаратты қорғау немесе шифрлеудің криптографиялық әдістері қолданылатын әдеттегі оқиғаның моделі ретінде қарастыруға болады.

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

     Криптография  қарсылас жіберіліп жатқан ақпаратты  қарсылас қағып алмау үшін ақпаратты  түрлендірумен айналысады. Мұнда  байланыс каналы арқылы қорғалынатын ақпарат емес, ал оның шифр арқылы түрлену  нәтижесі жіберіледі және қарсылас үшін осы шифрды анықтау қиынға соғады. Шифрды бұзу – шифрды қолдану білімінсіз шифрленген ақпаратты қорғалынатын ақпаратты алу процесі. Қарсылас ақпаратты алу ғана емес, сонымен қатар оны өшіруге, жоюға тырысады. Бұл – ақпарат үшін басқа кедергі, ол қағып алу немесе шифр бұзудан ерекшеленеді. Мұндай қауіптен қорғану үшін спецификалық әдістер қолданылады. Яғни, заңды тұтынушыдан басқасына ақпарат беру керек кезінде әртүрлі әдістермен қорғалыну керек. Әртүрлі типтен тұратын бөліктер тізбегінен тұратын ақпаратты қорғайтын жағдай туып отыр. Қарсылас ең әлсіз бөлікті іздейді. Бұдан келесі ереже шығады: бір бөлігін өте мықты қылудың маңызы жоқ, егер бір бөлігі кемінде әлсіз болса.

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

     3.1 Криптографиялық кілттерді басқару

 

     Криптографияда  кілт ұғымы астарында шифрдің  ауыстырылатын элементі жатыр, ол тек  нақты бір хабарламаны шифрлеуде  қолданылады. Соңғы уақытта қорғалынатын ақпараттың қауіпсіздігі кілтпен анықталады. Шифрмашина немесе шифрлеу принципі бойынша қарсыласқа шифр белгілі деп санай бастады және алдын-ала зерттеуге болатын, алайда қарсыласқа белгісіз, тек ақпараттың түрленуіне байланысты кілт пайда болды. Енді заңды тұтынушылар шифрлік хабарламалармен алмаспас бұрын қарсыластан құпиялы түрде кілттерімен алмасу керек немесе байланыстың екі жағында бірдей кілт орнату керек. Ал қарсылас үшін жаңа қиындық туады – кілтті анықтау, тек содан кейін кілтте шифрленген ақпаратты оңай ашуға болады.

     Криптографияның негізгі обьектісінің сипаттамасына  қайта оралайық. Енді оған сәйкес өзгерістер енгізу керек – қарсылас үшін мүмкін емес болатын кілт алмасу үшін құпия каналды қосу. 

Кілттерді қолдану мысалы 

2-сурет 
 

     Мұндай  байланыс каналын жасау өте оңай және оның ақпарат жүктемесі күрделі  емес. Барлық жағдайлар үшін ажырайтын бірегей шифр болмайтындығын атап өту керек. Шифрлеу әдісін таңдау ақпараттың ерекшелігіне, оның құндылығы мен иелерінің ақпаратты қорғау үшін мүмкіндіктеріне тікелей  байланысты. Ең алдымен қорғалынатын ақпараттың көптүрлілігін атап өтейік: құжаттық, телефондық, теледидарлық, компьютерлік. Ақпараттың әр түрінің өзіндік ерекше қасиеттері бар және бұл ерекшеліктер ақпаратты шифрлеу әдісіне зор әсерін тигізеді. Үлкен рөлді көлемі мен шифрленген ақпараттың таралу жылдамдығы атқарады. Шифр түрін таңдау және оның параметрлерін орнату қорғалынатын құпия мен сектор түріне байланысты. Кейбір құпиялар ( мысалы, әскери, мемлекеттік) он жылдап сақталыну керек, ал кейбіреулері (мысалы, биржалық) бірнеше сағаттан соң жариялануы мүмкін. Сонымен қатар, ақпарат қорғалынатын қарсыластың мүмкіндігіне де байланысты. Бір жағдай, бір немесе бірнеше қылмыскерлер тобына қарсы тұру, ал екіншісі, қуатты мемлекеттік құрылымға қарсы тұру.

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

     3.2 Симметриялық (құпиялы) әдістемелер мен алгоритмдер 

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

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

  1. Симметриялық құпия кілт қауіпсіз жасалынады, шығарылады, таратылады және сақталынады.
  2. Хабар жіберуші мәтін үшін хэш-функциясын есептеу арқылы электрондық қолтаңба жасайды және алынған қатарды мәтінге тіркейді.
  3. Хабар жіберуші шифрлеудің жылдам симметриялық алгоритмдерін қолданады- шифрленген мәтінді алу үшін алынған пакетке симметриялық құпия кілтін тіркеу арқылы шифрды бұзу тәсілін анықтайды. Осы тәсілмен аудентификация жүреді, себебі хабар жіберуші симметриялық құпия кілтін біледі және бұл пакет шифрын бұза алады.
  4. Хабар жіберуші ғана шифрленген мәтінді біледі. Симметриялық құпия кілт ешқашан қорғалмаған байланыс каналдар арқылы таратылмайды.
  5. Хабар алушы дәл сол симметриялық құпия кілт алгоритмін пайдаланады. Оның сәтті қалпына келуі құпия кілтті білетін адамды аутентификациялайды.
  6. Хабар алушы электрондық қолтаңбаны  мәтіннен бөледі.
  7. Хабар алушы басқа электрондық қолтаңбаны алынған мәтін үшін хэш-функциясын есептеу көмегімен жүргізеді.
  8. Хабар алушы осы екі электрондық қолтаңбаны салыстырады, салыстыру үшін хабарламаның бүтіндігін тексереді.
 

Қазіргі таңда симметриялық әдістемеде қолданылатын құралдар:

  • Kerberos, тордағы ресурстарға қол жеткізу аутентификациясы үшін жасалды. Ол орталық мәліметтер базасын пайдаланады, мұнда барлық тұтынушылардың құпия кілттерінің көшірмесі болады.
  • Банкомат жүйелері (ATM Banking Networks). Бұл жүйелер банк иелік ететін  және сатылмайтын ерекше құрылым болып табылады. Мұнда да симметриялық құпия кілттер әдістемесі қолданылады.

1-кесте. Симметриялық алгоритмдер сипаттамасы

Типі Сипаттамасы
DES (Data Encryption

Standard)

Шифрлеу алгоритмдерінің АҚШ-тың үкіметімен белгіленген белгілі стандарты 64 биттен тұратын блок шифрлеу, 64-битті кілт қолданылады (тек 56 бит қажет), 16 өтілім 4 кезеңде жұмыс істейді:

• Электрондық  кодтық кітап (ECB-Electronic Code Book ) - қарапайым DES, екі әртүрлі алгоритм қолданылады.

• Тізбекті режим (CBC-Cipher Block Chaining),  блокты шифрлеу оның алдындағы блокты шифрлеу нәтижесіне байланысты

• Шығу бойынша кері байланыс (OFB-Output Feedback), кездейсоқ сандар генераторы ретінде  қолданылады.

• Шифратор бойынша кері байланыс  (CFB-Cipher Feedback),хабарламалардың  аутентификация кодын анықтау үшін қолданылады.

3-DES немесе үштік DES 64-биттік блоктық  шифратор, DES-ті 3 рет үш әртүрлі  56-битті кілтті қолданады. Барлық  шабуылдарға төзімді.
Каскадтық 3-DES Стандартты үштік DES, оған кері байланыс механизмі тіркелген:CBC, OFB немесе CFB

Барлық  шабуылдарға төзімді.

FEAL (Шифрлеудің жылдам  алгоритмдері) Блоктық шифратор, DES альтернативасы ретінде қолданылады.

Бұзылған, алайда жаңа нұсқалары ұсынылып жатыр.

IDEA (халықаралық

Шифрлеу алгоритмдері)

64-биттік блоктық  шифратор, 128-тік кілт, 8 өтілім

Жақында ұсынылды; DES-тен күшті деп санауға  болатындай толық тексерісті өткен  жоқ.

Skipjack АНБ-мен АҚШ үкіметінің жобалары барысында "Clipper" и "Capstone" жасалды.

Осы уақытқа дейін құпиялы болды. 64-биттік блоктық шифратор, 80-биттік кілттер ECB, CFB, OFB немесе CBC режимдерінде қолданылады, 32 өтілім.

RC2 64-биттік блоктық шифратор, айнымалы өлшем кілті. DES-ке қарағанда екі есе жылдам жүреді. DES қолданылатын режимдерде үштік шифрлеу қосылу арқылы қолданыла алады.RSA Data Security иелік ететін конфиденциалды алгоритм

Информация о работе Эллиптикалық криптография