сонгы


ҚАЗАҚСТАН РЕСПУБЛИКАСЫ АУЫЛ ШАРУАШЫЛЫҒЫ МИНИСТРЛІГІ
С. СЕЙФУЛЛИН АТЫНДАҒЫ ҚАЗАҚ АГРОТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ
СӨЖ
Тақырыбы: Ашық және жабық кілтті шифрлау.

Орындаған: Құрманғали Аружан, Жолай Абдубек.
Тексерген: Джумагалиева А.М.
Астана 2016
Жоспар:
Симметриялық криптографиялық жүйесінің шифрлау тәсілдері.
Симметриялық криптожүйелер.
DES (Data Encryption Standard).
Rijndael алгоритмы.
Ашық кілтті жүйелер.
RSA криптожүйесі.
Диффи-Хеллман алгоритмі.
Ашық кілтті шифрлеу.Кілтті қолдану.
Симметриялық криптографиялық жүйесінің шифрлау тәсілдері
Симметриялық криптографиялық жүйелер ақпаратты қорғау саласында классикалық жүйелер болып табылады. Мәліметті шифрлау және дешифрлау үшін бір құпия кілт қолданылады. Симметриялық криптографиялық жүйелерді шифрлау тәсілдерінің классификациясы1-суретінде ұсынылады.
262890405765Симметриялық криптожүйедегі шифрлау
Блоктық шифр
Ағындық шифр
Құрама шифр
Ауыстыру
Орын алмастыру
Құрастырма шифр
Синхрондық
Өзіндік синхронданатын
00Симметриялық криптожүйедегі шифрлау
Блоктық шифр
Ағындық шифр
Құрама шифр
Ауыстыру
Орын алмастыру
Құрастырма шифр
Синхрондық
Өзіндік синхронданатын

Ауыстыру шифры (подстановка)
Ауыстыру шифры белгілі бір ереженің көмегімен бастапқы мәтін символдарын басқа символдармен ауыстыру арқылы анықталады. Егер шифрлау үшін бір әліпби қолданса, онда ол көп әліпбиді немесе полиәліпбилі деп аталады. Бір әліпбиді шифрдің ең қарапайым мысалы Цезарь шифры.
Әліпбидің әрбір символына сан сәйкес қойылсын. Мысалы:
A = 0, B = 1, C = 2, ..., Y = 25
Цезарь хаттарды келесі формуланың көмегімен шифрлаған:
Ciphertext_letter = (plaintext_letter + 3) mod n.
Дешифрлау үшін келесі формуланы қолданған:
Plaintext_letter = (ciphertext_lrtter - 3) mod n.
Мұндағырlaintext_letter – ашық мәтіндегі символға сәйкес сан, сiphertext_letter – шифр мәтіндегі символға сәйкес сан, n - әліпбидегі белгілер саны. Қолайлылық үшін біз ағылшын әліпбиін қолданамыз, яғни n = 26.
Цезарь шифрын жалпылауға болады. Келесі формуланың
Ciphertext_letter = (plaintext_letter + 3) mod n.
орнына
Ciphertext_letter = (plaintext_letter + k) mod n.
Формуласын қолданайық. Мұндағы k – шифрлау кілті. Шифрлаудың бұл тәсілі әліпбиді тұрақты позицияға жылжытумен пара пар.
Орын алмастыру шифры. Орын алмастыру шифрлері символдардың орналасу позициясын ғана өзгертеді. Ең қарапайым шифр – жай бағаналық орын алмастыру шифрын келтірейік.
Шифрдің бұл түрінде мәтін ұзындығы біркелкі блоктарға алдын ала бөлініп горизонталь бағытта бірнеше рет жазылады. Шифрмәтінді алу үшін мәтінді верикал бағытта оқу керек. Дешифрлау үшін шифрмәтін вертикал бағытта жазылып, ашық мәтін горизонтал бағытта оқылады. Мысал. Ашық мәтін ретінде келесі сөйлемді алайық:
WE ARE LEANING CRIPTOGRAPHY
сөйлемді алты жолы, төрт бағанасы бар кесте түрінде жазайық
W E A R E L
E A N I N G
C R Y P T O
G R A P H Y
Шифрмәтін алу үшін кестедегі символдарды бағана бойымен (жоғарыдан төменге) оқып мысалға бес-бестен топқа бөліп жазамыз. Сонда келесі шифрмәтін аламыз: wesge arran yarip penth lgoy
Шифрлау үшін әдейілеп жасалған трафареттер, палеткалар да қолданылады. 4суретінде Кардано тәсілінде қолданылатын трафарет көрсетілген. Квадрат кестенің кейбір ұяшықтары кестені 4 рет айналдырғанда кестені толық толтыратындай етіп қиылған. (4сурет).
35433001746240027050991746250068580017462400

4-сурет. Кардано тәсілі
Мысал. WE ARE LEANING CRIPTOGRAPHY ашық мәтіннің 4-суретте көрсетілген трафарет көмегімен шифрлайық. Трафаретті таза қағаздың бетіне салып, ашық ұяшықтарға біртіндеп символдарды жаза бастаймыз (5-суреті). Трафаретті толтырғаннан кейін оны сағат тілімен 900 бұрамыз трафареттің бетін ауыстырып бұрамыз. Процедураны қайталаймыз т.с.с. Толтырылмай қалған ұяшықтарға кездейсоқ символдарды жазуға болады. Соңынан трафаретті алып тастап, кестедегі тексті жол бойымен оқып шығамыз.
Шифртекст келесідей болады: nwese rilya lnapg ratabo cdpeg hfyker

5-сурет. Кардано тәсілін қолдану.
Құрастырма шифрлар. Бұл шифрдың негізінде, сенімді криптожүйе құрастыру үшін ауыстыру және орын алмастыру сияқты қарапайым шифрларды алма – кезек бірнеше рет қолдану идеясы жатыр. DES, AES және басқа көптеген алгоритмдер шифрдің осы түріне жатады.
Ағындық шифрлар. Егер блоктық шифрлау алгоритмдері мәтінді блоктарға бөліп оларды бір бірден ретімен шифрлайтын болса, ағынды шифрлау алгоритмі мәтінді бөліктемей әр элементін шифрлап ағынды күйде жіберіледі. Шифрлау және дешифрлау негізінен 2 модулі бойынша ашық және кездейсоқ кілт тізбегін қосу операциясын қолданады. Тарихи бірінші ағынды шифр Вернам шифры (6-суреті). Вернам шифрының ерекшелігі оның кілт тізбегінің шифрлауында. Бұл шифрдың практикалық қолданылуы өте ұзын кілт тізбектерінің жасалуына байланысты қолайсыз деп есептелінеді.
-571586995Кілт тізбегінің генераторы
Шифрланған мәтін
Кілттізбегі
Кілт тізбегі
Ашық мәтін
Дешифр-
ланған мәтін
00Кілт тізбегінің генераторы
Шифрланған мәтін
Кілттізбегі
Кілт тізбегі
Ашық мәтін
Дешифр-
ланған мәтін

6-сурет. Вернам шифрының сүлбесі
Синхрондық шифр. Синхрондық шифрда кілт тізбегі ақпарат ағынына байланыссыз. Хабар алушы және хабар жіберуші жағында кілт тізбегі генераторының жұмысы синхрондалған болу керек. Әйтпесе бір бит мәліметтің жоғалып кетуі қалған символдардың қате дешифрлануына әкеледі.
Өзіндік синхронданатын шифр. Шифрдің бұл түрінде ашық мәтін символдары алдыңғы n символға байланысты шифрланады. Ол алдыңғы n символ кілт тізбегінің жасалуына қатысады. Синхрондау режимі әр n шифрмәтін символынан кейін автоматты түрде орындалады.
Құрама шифрлар. Құрама шифр алгоритмінде блоктық және ағындық шифрлау тәсілдері бірге қолданылады. Практикада құрастырма шифр DES алгоритмінің әр түрлі режимдерінде пайдаланылады.
Идеал шифр талабы. Клод Шеннон егер:
Біркелкі таралу заңдылығымен шын мәнінде кездейсоқ екілік тізбек болып табылатын кілт қолданса;
Кілт ұзындығы бастапқы хабардың ұзындығына тең болса;
Кілт бір ғана рет қолданса шифр абсолют сенімді болады деп дәлелдеді.
Бұл үш талаптың бірден орындалуы әрине қиынға түседі. Дегенмен абсолют сенімді шифр бар және ол бір жолғы блокнот деп аталады. (onetime pad). Шифрді 1917 жылы Мэйджер Джозеф Мобори және Гильберт Вернам ойлап тапқан. Кілттің кездейсоқ символдарының тізбегі блокнот беттеріне жазылады. Хабар жіберуші шифрлау үшін кілтті осы блокноттаналып шифрлау процедурасын аяқтағаннан кейін қолданған бетті жояды. Хабар жіберушінің де тура сондай блокты болуы тиіс. Шифрмәтінді дешифрланғаннан кейін ол да қолданған бетті жояды.
ОТР тәсілінің қызықты қасиетіне тоқталайық. Келесі сөйлемді
WE HOLD THEZE TRUTHS TO BE SELF-EVIDENT
Вижинер кестесін қолданып шифрлайық. Кілт төмендегідей кездейсоқ символдардан тұрады:
Al lstu dents includ in gp ostg-raduate
Сонда мынадай шифрмәтіналамыз:
Wp sgex wlrlw bewebv bb ht gwel-vvlxegx
Енді басқа кілт тізбегін таңдап алайық:
Qr pglx jhnie pakqkx bj zo fuxh-vkdrrcu
Шифрмәтін былай дешифрланады:
MY DATA NEEDS MEMORY AS IF BYTE-ALIGNED
Демек, сіздің таңдап алған кілтіңіздің мағынасы бар мәтін беретіндігі, сіз нағыз кілт немесе нағыз мәтін тапты дегенге кепіл бола алмайды.
Теоретикалық тұрғыдан алгоритм сенімді, бірақ оны практикада қолдану қолайсыз. Кілттің ұзындығымен тең болуы керек. Бұл талаптардың қазіргі ақпараттық жүйелерде орындалуы қиын әрі қымбатқа түседі. Бұл тәсілді шын мәнінде өте құпия хабарлар үшін қолдануға болады.
Симметриялық криптожүйелер. Симметриялық алгоритмдер криптографияның классикалық алгоритмдеріне жатады. Мұнда құпия кілт беру ғана немесе шифрлау кілті дешифрлау кілтінің көмегімен я керісінше табылады. Бұл алгоритмдерді бір кілтті алгоритм деп те атайды. Симметриялық алгоритмдердің қауіпсіздігі кілттің құпиялылығына байланысты. Егер қаскүнем кілтті анықтай алса, онда ол барлық құжаттарды шифрлай және дешифрлай алады. Бұл бөлімде біз шифрлаудың жаңа және ескі стандарттарын қарастырамыз.
DES (Data Encryption Standard). 1972 жылы NBS (National Bureau of Standards, АҚШ) стандартты криптографиялық алгоритм құрастыруға сынақ жариялады. Бірақ келіп түскен бір де бір ұсыныс қойылып отырған талаптарға сай келмеді. Тек 1974 жылы Lucifer атты алгоритм IBM корпорациясында жұмыс істеуші крипографтар атынан ұсынылды. Олар – Рой Адлер, Дон Копперсмит, Хорст Файстель, Эдна Кроссман және басқалары. NBS бюросы NSA ұйымынан алгоритмді бағалауда көмек сұрады. 1976 жылы DES федералдық стандарт ретінде бекітілді.
Енді DES сипаттауға көшейік. DES блоктық алгоритм болып табылады. Ашық мәтін ұзындығы – 64 бит. Кілт ұзындығы – 56 бит. Алгоритмде 16 раунд орындалады, яғни бірдей тәсілдердің комбинациясы ашық мәтінге 16 рет қолданылады. Алгоритмнің негізгі қадамдарын қарастырайық. 1 және 2 суреттердегі кілт түрлендіру алгоритмі және шифрлану алгоритмінің сүлбелері келтірілген.
Бастапқы орын алмастыру.
Алгоритм басталмас бұрын ашық текст биттері үшін орын алмастыру процедурасы орындалады. Рk деп k-ші жаңа позицияға орналасатын ашық текст битінің нөмірін белгілейік. Р0 = 0, Р1 = 58 болсын. Алдыңғы төрт байттың құрамындағы бірінші бит позицисына келесі бит орналастырылады.
P8i+1= P1 + P8i , i = 0.3 (1)
Бесінші байттың бірінші битінің позициясы былай есептеледі:
P8i+1 = P1 - 1 , i = 4
i = 5,6,7 болғандағы 8i+1 позицияларына орналасар бит нөмірлері (1) формуласы арқылы есептеледі. Қалған позицияларға келесі нөмірлі биттер орналасады:
P8i+j+1 = P8i+1 – 8j , i = 0.7 , j = 1.8
Ақыры мынадай орын алмастыру кестесін аламыз.
1-кесте. Бастапқы орыналамастыру
58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7
Кілт түрлендіру
64-биттік кілттің әрбір сегізінші биті ескерілмейді. Олар тақтық қасиетін тексеру үшін қолданылады. Кілттің биттері алдыңғы пункте сипатталған тәсілмен орын алмастырылады.
56 биттік кілт екі тең бөлікке бөлінеді. Раунд нөміріне байланысты кілт бөліктері бір немесе екі битке солға жылжытылады. 1,2,9,16-шы раундтарда кілт бір битке жылжиды. Қалған жағдайларда 2 бита жылжиды.
56 биттің 48 таңдап алынады. Бит орналасу реті де өзгертіледі. Бұл операция сығылатын орын алмастыру деп аталады (2-кестеге қараңыз).
Кіріс блогі (64 bit)
Бастапқы орын алмастыру
Li_1
Ri_1
Кеңейту проц.
S-блок ауыстыру
Орын алмастыру (P-блок)
RiLi
Соңғы орын алмастыру (64 bit)
Кіріс блогі (64 bit)
Бастапқы орын алмастыру
Li_1
Ri_1
Кеңейту проц.
S-блок ауыстыру
Орын алмастыру (P-блок)
RiLi
Соңғы орын алмастыру (64 bit)

1-сурет. Шифрлау алгоритмінің сүлбесі
Сонымен әрқайсысының ұзындығы 48 бит 16 раундтық кілт жасалады.
2-кесте. Сығылатын орын алмастыру
14 17 11 24 1 5 3 28 15 6 21 10
23 19 12 4 16 8 16 7 27 20 13 2
41 52 31 37 47 55 30 40 51 45 33 48
44 49 39 56 34 53 46 42 50 36 29 32
92011576200Кілт
әр 8-ші битті алып тастау
64 bit
56 bit
Бастапқы орын алмастыру
Жылжыту
Жылжыту
Раундтік кілт Кi , і = ..16
48 bit
Сығылатын орын алмастыру
00Кілт
әр 8-ші битті алып тастау
64 bit
56 bit
Бастапқы орын алмастыру
Жылжыту
Жылжыту
Раундтік кілт Кi , і = ..16
48 bit
Сығылатын орын алмастыру

2-сурет. Кілт түрлендіру алгоритмі
Хабарды шифрлау
Демек біз ұзындығы 64 бит бастапқы мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы мәтін және ұзындығы 48 бит кілтке иеміз. Бастапқы хабар кілт іспеттес тең екі бөлікке бөлінеді. Оң бөлік кілт ұзындығына дейін кеңейтіледі. Биттердің орын алу реті де өзгереді (4.3 кестесін қара). Бұл қадамның негізгі мақсаты - әр шифрмәтін битінің әрбір шифрмәтін және кілт биттеріне тәуелділігін арттыру.
3-кесте. Кеңейтетін орын алмастыру.
32 1 2 3 4 5 4 5 6 7 8 9
8 9 10 11 12 13 12 13 14 15 16 17
16 17 18 19 20 21 20 21 22 23 24 25
24 25 26 27 28 29 28 29 30 31 32 1
Деректердің оң жағы Ri және раундтық Ki үшін қосу операциясы орындалады, яғни Ri Ki мәні есептелінеді.
48 бит сегіз 6 биттік блокшаға бөлінеді. Әрқайсысына S-блок деп аталатын кестелердің көмегімен ауыстыру операциясы қолданылады. DES алгоритмінде S-блоктардың атқаратын маңызы зор. Алгоритмнің сенімділігін арттыратын осы блоктар. Барлығы 8 S-қолданылады (4.4-кестесінде көрсетілген). Бастапқы блоктың бірінші және алтыншы битінің конкатенциясы 0-ден 3-ке шейінгі сан құрайды, ол сан кесте жолын анықтайды. Ортасындағы төрт бит конкатенцияланып 0-ден 15-ке шейінгі сан құрайды, ол сан кесте бағанасын анықтайды. Яғни, 4-биттік нәтиже сәйкес жолмен бағананың қиылысуында орналасады.
4-кестесі. S-блоктар.
1-ші S-блок:
14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
2-ші S-блок:
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
3-ші S-блок:
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
4-ші S-блок:
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
5-ші S-блок:
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
6-ші S-блок:
12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11
10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8
9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6
4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13
7-ші S-блок:
4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1
13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6
1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2
6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12
8-ші S-блок:
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11
Енді 32 биттік блок үшін Р блогінің көмегімен тікелей орын алмастыру орындалады. Блок биттері қай позицияға жылжитыны 4.5-кестесінде көрсетіледі.
5-кесте. Р блок.
16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10
2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25
Алынған нәтиже блоктың сол бөлігімен қосылады.
Оң және сол бөліктер орын алмастырып, келесі раунд басталады.
Соңғы орын ауыстыру. Соңғы орын ауыстыру бастапқы орын ауыстыру операциясына кері операция болып табылады. (4.6-кестесін қара). Соңғы раундтың алдыңғы раундтардан айырмашылығы одан кейін блоктың сол және оң жақтары орын алмастырмайды.
6-кесте. Соңғы орын алмастыру.
40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31
38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25
Дешифрлау
Бұл алгоритмде шифрлау және дешифрлау процедуралары бірдей. Дешифрлау кілттері болып К16, К15,...К1 табылады.
Ескерту. Алгоритмнің сипатталуын оқи отырып сіз бит деген сөзге қарағанда жиірек кездескенін байқаған шығарсыз. Сондықтан алгоритм қолдануға қолайсыз болып көрінуі мүмкін. Алайда егер компьютерді ұмытып, алгоритм құрастырылған мезгілдегі сым мен контактілерді еске түсірсек бәрі де түсінікті болады.
Диффи мен Хеллман 1976-1977 жылдары DES алгоритмінің кілтін бір күннің ішінде анықтап бере алатын арнайы параллель есептеулерге негіздеген компьютер құрастыруға болады және ол 20 миллион доллар тұрады деп айтқан еді.
Electronic Frontier Foundation (EFF) ұйымы 1998 жылы осындай есептеуіш машинаны ойлап тапты. Оның бағасы $250.000 еді. Кілт анықтау үшін 3 күн керек болды.
Бүгін DES стандарты келесі есептерге байланысты қолдануға қолайсыз деп табылады: 1) кілттің ұзындығы – 56 бит бүгін қауіпсіздік үшін тым аз, 2) алгоритм құрастырылғанда ол программалық емес, аппаратық қолдану үшін жасалған, сондықтан микропроцессорда оның кейбір операциялары тым көп уақыт алады.
Қазір DES-пен қатар 3DES алгоритмі көп қолданады. Ол DES негізінде жасалған алгоритм. Шифрлаудың сенімділігін арттыру үшін мұнда шифрлау операциясы үш рет қайта орындалады. Алгоритмде 256 биттік кілт қолданылады, яғни кілттің толық ұзындығы 112 бит.
Rijndael алгоритмы
Rijndael алгоритмды («Рейндал» деп оқылады) бельгияның мамандары Joan Daemen (Proton World International) және Vincent Rijmen (Katholieke Universiteit Leuven) жасаған болатын. Бұл шифр АҚШ-та AES (Advanced Encryption Standard) атағын алу үшін конкурста жеңді және 2001 жылы жаңа американ стандарты ретінде қабылданды. Rijndael алгоритмды бейнелеу оңай емес, сондықтан тек негізгі құру аспектілерін және пайдалану ерекшелігін қарастырайық.
Rijndael / AES шифры (яғни ұсынылатын стандарт) 128 битты блокпен, кілт ұзындығымен 128, 192 немесе 256 бит және кілт ұзындығына тәуелді раундтар санымен 10, 12 немесе 14 сипатталады. Rijndael құрылымын 32-ге еселі блок пен кілттің түрлі мөлшеріне лайықтауға болады және раунд санын өзгертуге болады.
DES пен ГОСТ 28147-89 ұсынатын шифрларға қарағанда Rijndael негізінде Фейштель желісі жатпайды. Rijndael негізінде сызықты-ауыстырылу деп аталатын түрлендіру жатыр. Деректер блогы байттар массивтерге бөлінеді, және әрбір шифрлау операциясы байт-бағытталған болып табылады. Әрбір раунд үш әртүрлі қайтымды түрлендіруден тұрады, оларды қабаттар деп атайды. Бұл қабаттар келесі.
1. Сызықты емес қабат. Бұл қабатта байттар ауыстыруы орындалады. Қабат тиімді сызықты еместігі бар S-блоктар көмегімен жүзеге асырылған, және дифференциал, сызықтық және басқа криптоталдау әдістерінің пайдалану мүмкіндігін болдырмайды.
2. Сызықтық араластыру қабаты статистикалық байланысты жасыру үшін блок символдарының өзара ішіне кіруінің жоғары дәрежесін кепілдейді. Бұл қабатта тікбұрышты байт массивінде массив жолдарының ығысуы мен бағандардың орын ауыстыруы орындалады.
3. Қосалқы кілті бар модуль 2 бойынша қосу қабаты шифрлауды тікелей орындайды.
Шифр кілтпен қосуымен басталады және аяқталады. Бұл белгілі мәтін арқылы шабуыл кезінде бірінші раундтың кіруін жабады және соңғы раундтың нәтижесін криптографиялық маңызды болып істейді.
Алгоритмда кестелік есептер кең пайдаланады, барлық қажетті кестелер тұрақты түрде беріледі, яғни не кілтке не деректерге тәуелді емес.
Айта кетейік, Фейштель желі бойынша құрастырылған шифрларға қарағанда, Rijndael-да шифрлау мен дешифрлау функциялары әртүрлі.
Rijndael алгоритмы бағдарламалық та аппараттық та жүзеге асыруда жақсы орындалады. Rijndael-да жадқа қойылатын талаптары аса жоғары емес, сондықтан оны шектелген ресурстары бар жүйеде пайдалануға болады. Rijndael алгоритмның сенімділігі өте жоғары.
Ашық кілтті жүйелер. Криптографиялық жүйелер қанша қиын әрі сенімді болғанымен, олардың істе жүзеге асуындағы әлсіз жері – кілттердің таратылу мәселесі. Пайдаланылатын жүйенің екі субъектісі арасында жасырын ақпараттар алмасуы мүмкін болуы үшін кім олардың біреуімен бірге таралып, содан кейін қалайда жасырын тәртіпте басқасына қайтадан берілген болуы тиіс. Яғни, жалпы жағдайда кілт берілуі үшін тағы да қандай да бір криптожүйелердің пайдаланылуы талап етіледі. Нәтиже негізінде бұл мәселенің шешілу үшін классикалық және қазіргі заманға алгебрамен алынған ашық кілтті жүйелер ұсынылған болатын. Олардың мәні пайдаланылатын жүйенің әр мекен – жай иесіне нақты бір ереже бойынша өзара байланысты екі кілт таратылатындығында. Бір кілт ашық боп, ал екіншісі жабық боп жарияланады. Ашық кілт жария етіледі және хабарлама жібергісі келетін кез келгені пайдалана алады. Құпия кілт жасырын сақталады. Бастапқы мәтіннің шифры мекен – жай иесінің кілтімен ашылады да соған беріледі. Негізінде шифрленген мәтіннің шифры сол кілтпен ашылмайды. Хабарлама шифрының ашылуы тек мекен – жай иесіне ғана белгілі жабық кілт пайдаланушымен ғана мүмкін. Ашық кілтті криптографиялық жүйелер. Х мәні берілгенде, f(x) шығару біршама қарапайым, алайда егер y=f(x) болса, онда х мәнін табуға арналған қарапайым жол жоқ-деген қасиетке ие кері айналымы жоқ немесе біржақты деп аталатын функцияларды пайдаланады. Кері айналмайтын функциялардың кластарының көпшілігі ашық кілті барлық алуан түрлі жүйелерді тудырады. Әйткенмен барлық кері айналмайтын функция шынайы пайдаланылатын жүйелерде пайдалану үшін жарай бермейді. Кері айналымсыздықтың анықтамасының өзінде белгісіздік болады. Кері айналымсыздықтың астарында теориялық мәнін жоятын емес, уақыттың көз жетер аралығында қазіргі есептеу құралын пайдалана отырып, кері мәнін табу іс жүзінде мүмкін еместігі жатыр. Сондықтан ақпараттың сенімді қорғанысына кепіл болу үшін ашық кілтті жүйеге екі маңызды әрі айқын талаптар қойылады:
Бастапқы мәтіннің түрленуі кері қайталанбайтын болуы және оның қалпына келтірілуін ашық кілт негізінде шығарып тастауы тиіс.
Ашық кілт негізінде жабық кілт анықталуы сондай-ақ қазіргі технологиялық деңгейде мүмкін емес болуы тиіс. Оған қоса шифрды ашу қиындығы нақты төменгі баға.
Ашық кілтпен шифрлеу алгоритмі қазіргі ақпараттық жүйеде кең таралымға ие болды. Сөйтіп, RSA алгоритмі ашық жүйе үшін әлемдік стандарт болды. Жалпы бүгінде ұсынылып отырған ашық кілтті криптожүйелер мына қайтарылмас түрленулердің біреуіне сүйенеді.
Жай көбейткіштерге үлкен сандардың жіктелуі;
Соңғы өрісте логарифмді есептеу;
Алгебралық теңдеудің түбірін табу.
Осы тұста ашық кілтті криптожүйелердің алгоритмдерін мына белгілеулерде пайдалануға болатынын айта кеткен жөн. Берілетін және сақталатын мәліметтердің қорғанысының дербес құралдары ретінде кілттерді үлестіруге арналған құралдар ретінде. Ашық кілтті алгоритмдер дәстүрлі криптожүйелерден гөрі анағұрлым көбірек еңбек сіңіруді керек етеді. Сондықтан іс жүзінде көлемі ақпарат сияқты шамалы ғана кілттерді ашық кілт көмегімен тарату жиі ұтымды. Ал содан кейін әдеттегі алгоритмдер көмегімен үлкен ақпараттар ағымымен алмасуды іске асыру ұтымды. Анағұрлым кең тарағандардың бірі – ашық кілтті жүйе – RSA. 1977 жылы жасалған RSA криптожүйесі оны жасағандар құрметіне солардың яғни Рона Ривеста, Ади Шамира және Леонарды Эйдельмандардың аттарымен аталады. Олар есеп қатынасында үлкен қарапайым сандарды табу оңай іске асырады, бірақ мұндай екі санның көбейтіндісін көбейткішке жіктеу іс жүзінде орындалмайтындығы ақиқатын пайдаланып қалды. RSA шифрының ашылуы осындай жіктеуге парапар екені дәлелденген (Рабин теоремасы). Сондықтан кілттің кез келген ұзындығы үшін шифрды ашуға арналған операция санының төменгі бағасын беруге, бірақ қазіргі заманғы компьютердің өнімділігін есепке ала отырып бұған қажетті уақытты да есептеуге болады. RSA алгоритмінің қорғанысын кепілдікпен бағалау мүмкіндігі ондаған басқа кескіндер фонында осы ашық кілттің танымалдығы себептерінің бірі болады. Сондықтан RSA алгоритмі банктің компьютер жүйелерінде әсіресе дербес клитенттармен жұмыс істеу үшін (несие карталарының қызметі) пайдаланылады.
Ашық кілтті криптожүйе. Ашық кілтті криптографияның негізін қалаған Уитфилдом Диффи (Whitfield Diffie) және Мартином Хеллманом (Martin Hellman). Алдыңғы азаматтарға тәуелсіз Ральфом Мерклом (Ralph Merkle) де ойлап тапқан. Симметриялық криптография бір кілтті қолданса мұнда екі кілт – біріншісі шифрлау үшін, екіншісі дешифрлау үшін қолданылады. Сіз бірінші кілтті біле отырып екіншісін біріншісінен есептеп таба алмайсыз. Диффи және Хеллман бұл идеяны алғаш рет 1976 жылы ұсынған және «New Directions in Cryptography» атты жұмысында жариялаған.
Бүгінгі таңда ашық кілтті криптография негізінен келесі түрлендірулердің бірін қолданады:
Үлкен сандарды көбейткішке жіктеу;
Ақырлы өрістерде логарифм есептеу;
Алгебралық теңдеулердің түбірлерін табу.
Ашық кілтті криптожүйені келесі 3 бағытта қолдануға болады:
Деректердің қауіпсіздігін қамтамассыз ету үшін.
Кілт тарату тәсілі ретінде.
Аутентификация үшін.
RSA криптожүйесі. RSA криптожүйесін Рон Ривест (Ron Rivest), Ади Шамир (Adi Shamir) және Леонард Адлеман (Leonard Adleman) ойлап тапқан. Алгоритм үлкен санды жай көбейткіштерге жіктеу есебінің қиындығына сүйенген.
Алгоритм сипаттамасын берер алдында сандар теориясынан кейбір мәліметтерді еске түсірейік.
Анықтама. a және b бүтін сандарын n модулі бойынша салыстырмалы дейді егер a-b айырымы n–ге қалдықсыз бөлінетін болса.
Біз n1 деп есептейміз. a, b, n сандарының арасындағы қатынас былай жазылады
a b(mod n).
Мысал 25 4(mod 7), -5 34 (mod 13)
Анықтама. n модулі бойынша белгілі бір a санымен салыстырмалы сандардың жэиыны сынып деп аталады. Ол a деп белгіленеді.
Мысал. 6 модулі бойынша 5 сыныбы: {...-7, -1, 5, 11, 178, 23 ...}
Модулярлық арифметиканы компьютерлік есептеулерге қолдану үшін біз тек қана шектелген мәндер диапозонын қарастырумыз керек. Сондықтан негізінен a сыныбындағы ең кіші оң санмен жұмыс істейді. Сандар теориясында мұндай санның бар екендігі және де ол а-ны n-ге бөлгендегі қалдыққа тең екендігі дәлелденген.
Ескерту. Программалау тілдерінде mod функциясы басқаша анықталуы мүмкін.
Модулярлық арифметика қарапайым арифметикаға ұқсас. Ол коммутативті, ассоциативті және дистрибутивті.
(a+b) mod n = ((a mod n) + (b mod n)) mod n
(a-b) mod n = ((a mod n) - (b mod n)) mod n (1)
(a*b) mod n = ((a mod n) * (b mod n)) mod n
(a*(b+c)) mod n = (((a*b) mod n)+((a*c) mod n)) mod n
Анықтама. Эйлер функциясы n-нан кіші және n-мен жай оң бүтін сандардың санына тең функцияны айтады. Функция (n) деп белгіленеді.
Мысалға, (10)=4. Эйлер функциясының келесі тамаша қасиеті бар: егер n=pq, мұндағы p және q – жай сандар, онда
(n)=(p-1)(q-1). (2)
Теорема 1 (Эйлер). Кез-келген р жай саны үшін және р-ға бөлінбейтін кез-келген а1 саны үшін келесі салыстыру орындалады
ap-11(mod p) .
Теорема 2 (Эйлер). Кез-келген n модулі мен n-мен өзара жай саны үшін келесі салыстыру ақиқат
a (p)-11(mod n). (3)
Евклид алгоритмі
r0 > r1>0 оң бүтін сандары берілсін. Олардың ең үлкен ортақ бөлгішін (ЕҮОБ) табу үшін келесі есептеулер тізбегі орындалады.
r0 = q1 r1 +r2 , 0<r2<r1
r1 = q2 r2 +r3< r2
...........................
rm-2 = qm-1 rm-1 + rm , 0<rm<rm-1
rm-1 = qmrm
ЕҮОБ (r0 ,r1)=rm
Кеңейтілген Евклид алгоритмі.
Келесі сандық тізбек анықтайық {ti}mi=0 мұндағы
t0=0, t1=1, tj=tj-2-qj-1tj-1, j2 (4)
Лемма. Егер ЕҮОБ (r0 ,r1)=1
tmr1-1(mod r0) (немесе r1 tm1(mod r0)) (5)
Ал енді алгоитмді сипаттайық:
Екі үлкен кездейсоқ жай p және q сандары таңдап алынады. Көбейтіндісі табылады n = pq. Енді (p-1)(q-1) санымен өзара жай кездейсоқ е саны таңдап алынады. Кеңейтілген алгоритмнің көмегімен келесі кері саны есептелінеді
de 1 (mod(p-1)(q-1))
m хабарды шифрлау үшіноны алдын ала n-нен кіші блоктарға бөлінеді. Екілік деректер үшін ұзындығы l–ге тең блоктар алынады, мұндағы l 2l<n теңсіздігі орындалатындай ең үлкен сан. Шифрмәтін келесі формуламен анықталады ci=miemod n
Дешифрлау үшін mi=cid есептелінеді.
Расында, (1), (2) және (3) формулаларын қолдана отырып, алатынбыз
cid mod n=(mie mod n)d mod n=mied mod n = mik (n)+1 mod n = (((mik) (n)mod n) * (mi mod n )) mod n = mi
Тұтынушы n, e кілттерін ашық деп (Public Key) жариялайды, ал b кілті жабық кілт болып саналады (Private key).
RSA авторлары криптожүйенің жұмысын түсіндіру үшін келесі кестелік мысал келтіріледі. Бастапқы мәтін ретінде төмендегі сөйлем таңдап алынған.
ITS ALL GREEC TO ME
Әр символға 5 разряд арнап, бос орынды – 0, А әрпін – 1, В әрпін – 2,......,Z әрпін – 26 деп кодтаған. Келесі үлкен сан алған m1=
09201900011212000718050511002015001305.
Ашық кілттердің мәні ретінде е = 9007, n =
11438162575788886766923577997614661201021829672124236256265184293
570693524573389783059712356395870505898907514759920026879543541
деп алған.
Сонда шифрланған санның түрі келесідей болып шықты:
c = 19993513149780510045231712274026064742320401705839146310370371
7406259971608948922750439920962672582675012893554461353823769748026
Енді біз есептеу алгоритмін толық сипаттайтын мысал келтірейік.
Мысал. Жай сандар ретінде p=11, q=17 таңдап алайық. Онда n=pq=187, (n)=(p-1)*(q-1)=160.
Кез-келген (n)–мен өзара жай е санын таңдайық, яғни (e, 160)=1. Мысалға, e=7 болсын. Келесі теңдеуден d жабық кілтін табу керек:
7d=1 mod 160
Алдында келтірілген кеңейтілген Евклид алгоритмін қолданамыз ((5) формуласы). Енді Евклид алгоритміне сүйеніп qi мәндерін табу үшін келесі есептеулер тізбегін табамыз
160=22*7+6
7=1*6+1
6=6*1
Ақыры алатынымыз:
q1=22; q2=1; q3=6
t0=0; t1=1; t2=0-22*1=-22; t3=1+1*22=23;
d=t3=23
Ашық кілттер e=7, n=187 жариялап, жабық кілтті d=23 құпияда сақтаймыз. Қолайлылық үшін бастапқы мәтін ретінде M=9 деп алып, С шифрланған мәтінін табамыз.
C=97 mod 187 =((92)3*9) mod 187=(((81)2 mod 187)*(729 mod 187)) mod 187=(16 mod 187)*(168 mod 187 ) mod 187) mod187=70
Шифрлау кезінде өте үлкен сандармен жұмыс істемеу үшін сандарды біртіндеп алдымен квадраттап нәтижені n модулі бойынша алады. Сонда n2 санынан артық сан пайда болмайды. Бұл тәсілді «квадраттау да, көбейту» (ағылшынша «square-and-multiply») деп атайды.
Хабарды алушы оны дешифрлау үшін d жабық кілтін қолданады:
7023 mod 187=((702)11*70) mod 187=9.
Алгоритм RSA-ді шифрлау үшін ғана емес қолтаңба алу үшін ғана емес қолтаңба алу үшін де қолдануға болады. Айгүл (А) жолдасы (Б) қол таңба қойылған шифрланған хабарды жіберу керек болсын. Айгүл мен Болат өздерінің ашық және жабық кілттерін табады.
A: Public nA,eA, Private dA
B: Public nB, eB, Private dB
m c= mdA mod nA
=ceB mod nB
=dB mod nB =ceBdBmod nB = v(nB)k+1 mod nB=(ck)(nB) c mod nB=c
Бұл есептеулерді орындай отырып Болат жіберілген хабардың иесі шынымен Айгүл екендігіне қол жеткізеді, ал Айгүл кейіннен бұл құжаттан бас тарта алмайды, өйткені құжатта оның электрондық қолы қойылған.
Шабуыл жасау
Ұсынылған алгоритмнің қауіпсіздігі үлкен сандардың жай сандарға жіктеу есебінің қиындығына сүйенген. Басқа сөзбен айтқанда факторизация есебін шешуге болады, бірақ ол тым көп уақыт алады. Қазір келесі жіктеу алгоритмдері белгілі: (Number Field Sieve), QS (Quadratic Sieve), ECM (Elliptic Curve Method) және басқалары. Ең тез алгоритм болып бүгінше NSA саналады.
Есептеу қабілеттілігі MIPS–жылдарымен саналады. MIPS–жыл дегеніміз – секундына миллион операция (million instructions per second) орындайтын компьютердің жылдық жұмысы, яғни шамамен 3*1013операция. Мысалы, 1024-биттік сөзді NSA алгоритмімен жіктеу үшін 3*107 MIPS жыл кетеді.
Кілттің ұзындығын дұрыс таңдап алу үшін керекті қауіпсіздік дәрежесін анықтау қажет және жаңадан жасалып жатқан жіктеу алгоритмдерінің мүмкіндіктерін ұмытпау қажет. Ашық кілтіңіздің ұзындығын 2048 бит етіп алсаңыз алдыңғы 20 жылға оған сенімді болуыңызға болады. Бірақ әрине мұндай болжаулар орындалмай кетуі де мүмкін.
Енді біз алгоритмнің өзін емес сол алгоритмді қолданып отырған криптографиялық протоколға жасалатын шабуыл мысалдарын келтірейік.
Мысал 1. Марат уысына Айгүлдің әлдебіреуге жіберген шифрланған с хабары түсті. Марат кездейсоқ r<n санын таңдап алып, келесі есептеулерді жасайды:
x=rea mod nA,
y=xc mod nA,
t=r-1 mod nAОсыдан r-1 xda1(mod nA) екендігі көрініп тұр. Сонымен қатар xdA=reada mod nA= r mod n A.
Енді Марат Айгүлден у-ге қол таңба қоюды сұрайды да u=yda mod nAмәнін табады. Марат бастапқы хабарды келесі есептеулерді жасап тауып алады:
tu mod nA=r-1yda mod nA=r-1xdacda mod nA=cda mod nA=m
Мысал 2. Марат Айгүлді m1 және m2 хабарларына қол қойып бер деп сұрайды, яғни m1da mod nA және m2da mod nA мәндерін алады. Енді ол
C=(m1m2)da mod nA
Мәнін есептесе Айгүл өзі ешқашан көрмеген m3=m1m2 құжатына қол қойған болып шығады.
Мысал 3. Бұл мысал қол қою алгоритмінде орындалатын қадамдардың ретін бұзатын протоколдарға қалай шабуыл жасауға болатынын көрсетеді. Мысалы Айгүл Болатқа шифрланған және қол қойылған хабарды жіберсін. Бірақ алгоритмді қолданғанда Айгүл алдымен m хабарын Болаттың ашық кілтімен, ал соңынан өзінің жабық кілтімен қол қояды:
(meb mod nB)damod nA
Болат өзінің ашық кілті nB-нің жіктелуін білетіндіктен, келесі теңдік орындалатындай х санын таба алады
(m’)x=m mod nB
Енді ол өзінің жаңа ашық кілттерін жариялайтын болса, Айгүл m’ құжатына қол қойды деп айта алады.
Кішкентай мәнді құжаттарды шифрлағанда тағыда бір қатерлікті атап өтейік. Мысалы, e=5 және m<√n болсын, онда c=m5 mod n=m5 . Бұзғыш Маратқа бастапқы хабарды тауып алу үшін √c мәнін есептеп алу жеткілікті.
Диффи-Хеллман алгоритмі. Тарихи Диффи-Хеллмана алгоритмі бірінші ашық кілтті алгоритм болды. Оның қауіпсіздігі арқылы өрісте дискреттік логарифм есептеу есебінің қиындығына сүйенген.
Яғни, егер y=ax mod n мінін берілген х арқылы оңай таба алсаңыз, берілген у арқылы х-тің мәнін табу қиынға түседі.
Төменде Диффи-Хеллмана кілт ауыстыру протоколы көрсетілген. Айгүл мен Марат алдын ала үлкен жай p мен n модулі бойынша примитивтік түбір g сандары туралы келісіп алады.
Протокол:
Айгүл кездейсоқ үлкен бүтін х санын таңдап алып, =gx mod p мәнін Болатқа жібереді.
Болат кездейсоқ үлкен бүтін у санын таңдап алып, =gy mod p мәнін Айгүлге жібереді.
Айгүл k=x mod p мәнін есептейді.
Болат k’=y mod p мәнін есептейді.
Табылған k және k’ мәндері gxy mod p санына тең. Сонда Айгүл мен Болат ортақ бір кілтке ие болады. Бұзғыш Марат ашық каналды жасырын қадағалап отырса да қолына түсетін сандар арқылы құпия кілтті анықтай алмайды.
Гибрид криптожүйелер. Практикада RSA алгоритмі хабарды шифрлау үшін қолданылмайды. Алгоритмнің жылдамдығы DES алгоритмімен салыстырғанда 1000 есе баяу. Сондықтан көбінесе гибрид криптожүйелер қолданылады. Гибрид криптожүйелер ашық кілтті және жабық кілтті алгоритмдерді бірдей қолданады. Мұндай алгоритмнің орындалу реті келесідей болуы мүмкін. Жабық K кілтін RSA алгоритмінің көмегімен шифрлауға болады. Бастапқы құжаттар блоктық немесе ағында алгоритмімен К құпия кілтімен шифрланады. Сонда RSA алгоритмін бір рет қана орындауға болады. Симметриялық алгоритмдердің кемшілігі – құпия кілт ауысу процедурасы болып табылады. Төменде бұл есеп шешуінің қарапайым жолын келтірдік. Болат ашық каналмен Айгүлге К құпия кілтін былай жібереді.
Жіберуші (Болат):
Кездейсоқ х санын {0,...,2’-1}диапазонынан таңдап алады, мұндағы l 2’<n теңсіздігі орындалатын ең үлкен сан.
Құпия кілт K=h(x) мәнін h хэш-функция көмегімен табады.
Айгүлдің ашық кілтімен х-ты шифрлап, оны Айгүлге c=xe mod n жібереді.
Алушы (Айгүл):
Жабық кілтінің көмегімен Айгүл x=cd mod n санын тауып алады.
Хэш-функция көмегімен Болатпен екеуіне ортақ K=h(x) құпия кілтін табады.
Ашық криптожүйеде кілт басқару. Ашық кілтті криптография қолданушылар арасында кілт басқару проблемасын жеңілдетті. Дегенмен жаңа мәселеге байланысты жаңа проблема туындады. Асимметриялық криптографияны қолданғанда алдымыздан ашық кілтке деген сенімділік проблемасы шығады. Расында, егер мен Маратқа шифрмәтін жіберуім керек болса, бұл құпия хабарды мен Мараттың кілтімен шифрлап отырғаныма кім кепіл. Мүмкін ол Еваның кілті болар.
Мынадай сұрақ туады: Бұл мәселені шешу үшін не істеуіміз керек?Мүмкін, ашық кілтті өзініздің сайтыңыздағы мәліметтер базасына орналастыру керек?Бірақ мұндай мәлімет көзіне сенуге болады ма?
Ашық кілтті шифрлеу
Бұл әдіс РША (РИВЕСТА - ШАМИРА - АДЛЕМАНА) деп аталады.Қазіргі уақытта кеңінен таралған ашық кілтті шифрлеу схемасы болып табылады. Бұл схемада шифрлеу және дешифрлеу үшін кілттер қолданылады. Дешифрлеу үрдісі әрине жасырын кілтті қолдану қажет. Бірақ бұл схемада керісінше ашық кілтті қолданады. Шифрлеу және дешифрлеу үрдісінің өзара байланысы кілттерге байланысты. Кілттер де бір бірімен тығыз байланыста болуы қажет. Бірақ ашық кілт жабық кілттің бар екенін білдірмеуі тиіс. Кілтті тарату процедурасы былай жүзеге асады: ақпарат жіберуші абонент кілтті ашық турде ақпарат қабылдайтындарға жібереді. Бұл жағдайда кілттің қауіпсіздігі өзгермейді. Ашық алгоритмдер мен кілттерді қолданғандықтан, шифрлеу функциясы жеткілікті қарапайым емес.
Кілтті қолдану
Криптографиядағы барлық үрдіс сол криптографияның кілттерін таратуға байланысты. Бұл кілттердің жабықтылығына және толықтығына сенәмді болу керек.
Ашық кілтті схема қарапайым болғандықтан оның тек толықтығын қамтамасыз ету қажет.
Кілттерді есептеу жүйесінің берілу каналдары арқылы, адамдардың көмегінсіз таратуға болады. Егер олар басқа кілтпен шифрланған болса. Кілттер жиынтығы иерархия құрай алады, бұл жерде әрбір кілт шифрленген түрде сақталады және жоғарғы дәрежелі кілттер жолда ұсталып қалмайтындай яғни білдірмейтін, жасырын тарату жолын қолданады. Бұл басты кілттер арнайы тасымалдаушылармен таралды, себебі барлық схема қауіпсіздігі осыған байланысты. Осы кілттер арқылы басқа кілттер табылады.
Кілттерді басқарудың көптеген түрлері бар, олар схеманың қолданылуына байланысты. Сол үшін әрбір бөлек жағдайларға өзінің жеке басқару жүйесі құрылады.
Ең жоғарғы дәрежедегі мастер – кілт орналасады, осыдан әрбір жүйеге қосылған құрылғыларға жеке – жеке мастер – кілттен бөлінеді. Соңғылары келесі дәрежеде шифрланған түрде сақталады.Әрбір кілт берілгендердің толықтығын қамтамасыз етуде қолданады. Бұл үрдіс орталықтардың байланыс линияларында жүзеге асуы тиіс.
Бұлар аймақтық мастер – кілттер деп аталады. Бұл кілттер құрылғылардың жүйедегі тығыз байланысын қамтамасыз етеді. Ұзақ уақыт ішінде берілгендерді шифрлеуде бір кілтті қайта – қайта қолдануға болмайды. Төменгі дәрежедегі кілттер бүкіл жүйеге таралады.
Қазіргі кезде ашық кілтті қаіпсіздік схемасы жасырын кілттерді жіберуде қолданады.
Кілттің толықтығын қамтамасыз етеді. Ашық кілтті қолдану қауіпсіздік схемасын есептеу жүйелерінің симметриялық криптографияның адісі деп те атауға болады.
Бағдарламаның жазылуы
BEGIN PROGRAM
Мәтінді енгізу;
FOR I:=1 TO бастапқы мәліметтің соңы DO шифрлеу;
Шифрленген мәтінді беру;
FOR I:=1 TO шифрленген мәтіннің соңы DO дешифрлеу;
Дешифрленген мәтінді беру;
END PROGRAM.
Бұл бағдарлама мәтінді шифрлеуді орын алмастыру әдісімен орындайды.
program demo;
uses crt;
var st,st1:string;
i,j,k,v,code:integer;
beginclrscr;
write('(255 символғадейінгі) мәтінді енгізіңіз ');
readln(st);
write('Кодталған:');
for i:=1 to length(st) do
beginv:=ord(st[i]);
st1[i]:=chr(v+3);
write(st1[i]);
end;
writeln;
write('Декодтау:');
for i:=1 to length(st) do
beginv:=ord(st1[i]);
write(chr(v-3));
end;
readln;
end.
Қорытынды
Информация құпиялығын қамтамасыз ету мақсатында келесідей криптографиялық примитивтер қолданылады:
1. Симметриялы криптожүйелер. Мұндай жүйелерде информация құпиялығын қамтамасыз ету үшін шифрлау мен дешифрлау үшін бір кілт қолданылады. Кілт қорғалған арна бойынша алдын-ала келісіледі. Симметриялы криптожүйелер мысалы ретінде ГОСТ 28147-89, халықаралық DES стандарты және оның AES жаңартылған нұсқасын айтуға болады.
2. Ассимметриялы криптожүйелер. Мұндай жүйелердегі информация құпиялығын қамтамасыз ету үшін шифрлау мен дешифрлау үшін әр түрлі кілттер қолданылады. Шифрлау үшін пайдаланылатын кілт (ашық кілт) әркімге қатынаулы бола беруі мүмкін. Яғни кез келген жіберуші өзінің информациясын шифрлай алуы керек деген сөз. Қабылдаушының қолындағы кілт дешифрлау үшін қолданылатын кілт болады. Ол қабылдаушыға ғана белгілі болуы керек. Асимметриялы жүйелердің мысалы ретінде RSA мен Эль-Гамаль схемасын айтуға болады.
Қолданылған әдебиет
Ақпарат қорғау мен криптография негіздері, Өтелбаев М., Астана 2012 УП
Ақпараттық коммуникациялық технологиялар,Әлімбек Д., [Б.м.] Эл.р.
Криптография негіздері. Оқу құралы. – Павлодар, 2012.

Приложенные файлы

  • docx 15913047
    Размер файла: 128 kB Загрузок: 0

Добавить комментарий