91
Сурет 9.4. Ортақ құпиялы кілтті құрастыру схемасы
Бұл схема 9.1 суреттегі схемаға ұқсайды, өйткені онда да ашық кілтпен шифрлау
тәртібі пайдаланады. Айырмашылығы тек нені шифрлауда. 9.4 суреттегі схемада аса
үлкен емес сеанстық кілт шифрланады, ол әрі қарай симметриялық шифрлауда құпиялы
кілт ретінде пайдаланады. Үлкен емес деректер блоктың шифрлауы жеткілікті тез
орындалады және мындаған пайдаланушылары бар жүйедегі телекоммуникациялық
процестерді тежелемейді.
9.6 Ашық кілті бар шифрлау алгоритмге қойылатын талаптар
Ашық кілті бар шифрлау алгоритмның негізгі қолданылу тәсілдерін қарастырып,
Диффи мен Хеллманның пікір бойынша ашық кілті бар шифрлау алгоритмы
қанағаттандырылатын талаптарды зерттейік. Бұл талаптар келесі:
1. Есептеу жағынан оңай қостарды (ашық кілт, жабық кілт) жасау.
2. Есептеу жағынан оңай ашық кілтпен хабарды шифрлау.
3. Жабық кілтті пайдаланып есептеу жағынан хабарды оңай дешифрлау.
4. Ашық кілтті біліп сәйкес жабық кілтті есептеу жағынан анықтау мүмкін емес.
5. Ашық кілтті және шифрланған хабарды ғана біле тұрып бастапқы хабарды
есептеу жағынан қалпына келтіру мүмкін емес.
Осы жалпы талаптардан көрініп тұр, ашық кілті бар нақты алгоритмды жүзеге
асыруы сәйкес бір жақты функцияға тәуелді.
Біз қарастырамыз ашық кілті бар төрт алгоритмды, олардың үшеуі тәжірибеде
бұрынғыдан қолданылады, ал төртіншісі ақпаратты қорғау жүйелерде жақында ғана
пайдалана басталды. Бұл алгоритмдер әдетте түрлі мақсаттар үшін пайдаланады (9.1
кестені қараңыз).
Кесте 9.1. Ашық кілті бар алгоритмдер
Алгоритмның аты
Пайдалану мүмкіндігі
Деректерді шифрлау
/ дешифрлау
Цифрлық
қол қою
Кілтті келісу
немесе құрастыру
RSA
Иә
Иә
Иә
Диффи-Хеллман алгоритмы
Жоқ
Жоқ
Иә
Эль-Гамаль алгоритмы
Иә
Иә
Иә
Эллиптикалық қисықтарды
пайдаланатын алгоритмдер
Иә
Иә
Иә
92
Тағы айта кетейік, барлық ассиметриялық алгоритмдер белгілі бір математикалық
функцияларға негізделген. Олардың жұмыс істеуінің дәлелдеуі күрделі болу мүмкін,
сондықтан біз тек жұмысының негізгі принциптерін ғана зерттейміз. Криптографиялық
алгоритмдердің көбі классикалық сандар теориясына негізделеді. Бұл теорияның
негіздерімен біз төменірек таңысамыз.
Негізгі терминдер
Ашық
кілті
бар
шифрлау
алгоритмы
(немесе
ассиметриялық
криптоалгоритмы) – шифрлау мен ашып оқу үшін әртүрлі кілттерді пайдаланатын
криптографиялық алгоритм.
Жабық кілт - ассиметриялық криптографиялық алгоритмдерде пайдаланатын кілт,
ол жасырыну түрде сақталыну керек.
Бір жақты функция – есептеуге оңай, бірақ функцияның мәні бойынша оған
сәйкес аргументты табуы қиын математикалық функция. Яғни х біле отырып f(x)-ты
есептеуге оңай, бірақ белгілі f(x) бойынша сәйкес келетің х мәнің табу қиын.
Люкы бар (немесе құпиясы бар) бір жақты функция – бұл кейбір құпиясы (люк)
бар бір жақты функциялардың ерекше түрі, ол функцияның кері мәнің жеткілікті тез
есептеуге мүмкіндік береді.
Ашық кілт - ассиметриялық криптографиялық алгоритмдерде пайдаланатын кілт,
оны жасырыну түрде сақтамасада болады.
Қосылатын цифрлық қол қоюлар – құжаттың хеш-коды бойынша есептелген қол
қоюлар. Осындай қол қоюлар кейбір сандық коды түрінде болады және оны қол қоятың
құжатқа тіркеу керек. Мұнда хабардың өзі шифрланбайды және ашық түрде цифрлық
қолмен бірге жіберіледі.
Цифрлық (электронды) қол қою (digital signature) – берілетің ақпараттың
авторлығын тексере алатын, оған бірегей сандық қосымшасы. Электронды (цифрлық) қол
қою (ЭЦҚ) тіркелген ұзындығы бар биттер тізбегі болып табылады, ол белгілі бір түрде
ақпараттың ішіндегісі мен және құпиялы кілт көмегімен есептеледі.
Құжатты қалпына келтіруімен цифрлық қол қою – мұнда құжат қолдың
құрамына кіретіндей болады: қолды тексеру барысында автоматты түрде құжат денесі де
есептеледі. Егер ашып оқыған кезде хабар дұрыс қалпына келсе, онда қойылған қол да
дұрыс деп саналады.
Сұрақтар
1. Ассиметриялық шифрлау алгоритмның симметриялықтан айырмашылығы неде?
2. Ашық кілті бар шифрлау алгоритмдер тәжірибеде қандай есептерді шешуге
қолданылу мүмкін?
3. Қандай математикалық функциялар бір жақты деп аталады? Криптографияда
олар не үшін қолданылу мүмкін?
4. Цифрлық қол қою деген не?
5. Ашық кілті бар шифрлау алгоритмдерді пайдаланғанда цифрлық қол қоюды
құрастыру алгоритмы қандай болады?
6. Пайдаланушылар тобында ортақ құпиялы кілтті құрастыру үшін ашық кілті бар
шифрлау алгоритмдер қай түрде пайдалану мүмкін?
7. Ассиметриялық алгоритмдерге қойылатын талаптар қандай?
93
10 АШЫҚ КІЛТІ БАР КРИПТОГРАФИЯДА ПАЙДАЛАНАТЫН
САНДАР ТЕОРИЯСЫНЫҢ НЕГІЗГІ ҚАҒИДАЛАРЫ
Ашық кілті бар шифрлау алгоритмдар симметриялық шифрлау алгоритмдарға
қарағанда математикалық функциялар қасиеттеріне көбірек негізделген, сондықтан бұл
бөлімде негізгі математикалық ұғымдары мен фактілер тұжырымдалған: жай және құрама
сандар; арифметиканың негізгі теоремасы; өзара жай сандар және Эйлер функциясы;
қалдықтар арифметиканың негіздері және салыстыру теориясы; Ферманың кіші
теоремасы; ең үлкен ортақ бөлгіш және Евклидтың жалпыланған алгоритмы; модулі m
бойынша инверсия.
Бөлім мақсаты: ашық кілті бар криптографияда пайдаланылатын сандар
теориясының негізгі қағидаларын баяндау.
10.1 Жай және құрама сандар
Әрбір бірден үлкен натурал сан ең азы екі санға бөлінеді: 1-ге және өз өзіне. Егер
санның өзінен және бірден басқа бөлгіші болмаса, оны жай сан деп атайды, ал егер санда
тағы бөлгіштері болса, онда құрама деп атайды. Бірді не жай не құрама деп атамайды.
Мысалы, 7, 29 сандар — жай; 9, 15 сандар — құрама (тоғыз 3-ке бөлінеді, он бес 3 пен 5-
ке бөлінеді).
Қызықты факт: егер екі жай сандардың айырмашылығы 2-ге тең болса, онда
оларды «егіз»-сандар деп атайды. «Егіз»-сандар аса көп емес. Мысалы, 5 пен 7, 29 бен 31,
149 бен 151 «егіздер», және де 242 206 083*2
38 880
±1 (қазіргі уақытқа дейін табылған ең
үлкен «егіз» жұбы).
Сан жай ма немесе құрама ма - тұра айту оңай емес. Егер сан жүзден кем болса,
осындай сұраққа жауапты табу қиын емес. Бірақ үлкен сандарды анықтау күрделілен
болады. Мысалы, 2009 санды алайық. Ол жай немесе құрама ма? Осы санның мүмкін
бөлгіштерін алғашқы жай сандар арасынан іздеп табайық. 2009 әрине 2-ге бөлінбейді
(өйткені ол тақ), 3-ке бөлінбейді (өйткені оның цифрлер қосындысы 2+9=11 3-ке
бөлінбейді), 5-ке де бөлінбейді. Ал 2009-ды 7-ге бөлетін болсақ, нәтижесінде – 287
аламыз. Сонымен, жауап: 2009 саны – құрама. Мұнда жауап тез табылды. Бірақ, өте үлкен
бүтін сандарды жайлыққа тексеру көп уақыт алады, және ол үшін арнайы компьютерлік
программалар пайдаланады.
Үлкен жай сандарды іздеу математикадан басқа криптографияға да өте маңызды,
олар ашық кілті бар шифрлау алгоритмдарда пайдаланылады. Шифрлаудың сенімділігін
қамтамасыз ету үшін онда ұзындығы 1024 битке дейін жай сандар пайдаланады.
Екі санды көбейту қиын емес, әсіресе калькулятор бар болғанда және сандар аса
үлкен болмаса. Кері есеп те бар – факторизациялау есебі – көбейткенде берілген санды
беретін екі не одан көп санды табу. Бұл есеп көбейтуден өте күрделі. Мысалы, егер бізге
67-ң 113-ке көбейтуі керек болса, онда нәтижесін 7571 бір минуттан тез табуға болады. Ал
егер бізге көбейтіндісі 7571-ге тең екі санды тап десе, оған анағұрлым көп уақыт кетеді.
n санның көбейткіштерін іздестіруін n-ге дейін барлық жай сандарды іріктеп алып
жүргізуге болады, мысалы 2009 сан сияқты. Бірақ, егер көбейткіштер – үлкен жай сандар
болса, онда оларды іздеуге көп уақыт кетеді.
Сонымен, үлкен санды факторизациялау едәуір уақыт қажет етеді (бұл сан екі
үлкен жай сандардың көбейтіндісі белгілі болғанда да).
Факторизациялау есебінің күрделілігі кейбір криптографиялық алгоритмда
пайдаланылады, мысалы, RSA шифрлау жүйесінде.
Достарыңызбен бөлісу: |