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



Жоспар:

Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...2

Негізгі бөлім:
1. Шифрлеу алгоритмі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..3
2. Жеңілдетілген DES ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...3
3. S.DES кілтін есептеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5

4. DES шифрлеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...10
4.1 Бастапқы түрлендіру ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..12
4.2 Шифрлеу алгоритмінің бөлшектері ... ... ... ... ... ... ... ... ... ... ..12
4.3 Кілттердің есептелуі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...14
4.4 DES.ті дешифрлеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..16
4.5 DES сенімділігі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...17
4.6 Сенімділіктің қолдануы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .17
4.7 56.битті кілттерді қолдану ... ... ... ... ... ... ... ... ... ... ... ... ... ... .18
4.8 DES алгоритмінің ішкі құрылымы ... ... ... ... ... ... ... ... ... ... ... 19
4.9 Кілттің беріктігі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..20

5. Маскалық жұмыс режимі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 21
6. DES Quadruple ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..22
7. DES.ladder ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 22

Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ..25

Қолданылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...26

Қосымшалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...27
Кіріспе

Бұл курстық жұмыста қазіргі заманғы дәстүрлі шифрлеу әдістері негіздеріне сүйенген қағидаларды қарастырамын. Осы мақсатпен кең қолданыс тауып отырған шифрлеу алгоритмі DES (Data Encrytion Standard) мәліметтерді стандартты шифрлеу деген атқа ие болған. DES әдісін ойлап тапқаннан бері симметриялы шифрлеу схемасын қолдануға негізделген басқада көптеген алгоритмдер шықса да DES бәрінен ерекше орын алады. DES тереңдетіп оқу басқада дәстүрлі шифрлеу әдістерін түсінуге көмектеседі. Ашық кілтке негізделген схемалармен мысалға RSA салыстырғанда DES құрылымы дәстүрлі схеманың көптеген басқа да алгоритмдері сияқты өте күрделі, сондықтан RSA және оған ұқсас алгоритмдерді көрсете салатындай емес, бұл DES алгоритмі қиында, күрделі.
Жеңілдетілген DES – шифрлеу алгоритмі, тәжірибелік мағынасына қарағанда оқулық мағынасы көп. Қасиеттері мен құрылымы тура DES-тегідей, бірақ аз параметрлерден тұрады. Бұл алгоритмді Санта-Клара университетінің профессоры Эдвард Шейфер ойлап тапқан.
Ары қарай осы DES алгоритмін қарастыратын боламын. Оның қандай түрлері бар, қандай кілттермен іске асады, қалай орындалады, ол сенімді ме деген көптеген сұрақтарға жауап іздеп көремін.
Шифрлеу – бұл жаудан қорғау үшін мәліметтерді қайтып орнына келетін түрлендіру блып табылады. Шифрлеу әдістерін көптеп ойлап тапқан – қарапайым ауыстырудан (ең танымдысы – «жылаған адамдар» Конан Дойль) Вернамның (кез келген тізбекпен негізгі мәтінде бір рет қолданылатын екілік қосу) ашылмайтын қағидалық шифрлеуіне дейін болды. Барлық шифрлеу түрлері кілтті қолданады – ақпаратты түрлендіру кезінде қолданылатын құпия кілтті тізбек.
Қолданылған әдебиеттер:

1. Ш. Столлингс. Крифтография и защита сетей.
2. С. П. Расторгуев. Программные методы защиты информации в компьютерных сетях.
3. Фарманов ВВ. Практика программирования.
4. Нечаев ВИ. Элементы криптографии.
5. ВА. Герасименко. Защита информации в автоматизированных системах обработки данных.
6. Масленников МЕ. Практическая криптография.

Жоспар:
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
... ... ... ... ... ... ... ... ... ... ... 2
Негізгі бөлім:
1. Шифрлеу
алгоритмі ... ... ... ... ... ... .. ... ... ... ... ... ... ...
... ... ... ... 3
2. Жеңілдетілген
DES ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ...3
3. S-DES кілтін
есептеу ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... 5
4. DES
шифрлеу ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ...10
1. Бастапқы
түрлендіру ... ... ... ... ... ... . ... ... ... ... ... ... ...
... ... ... ..12
2. Шифрлеу алгоритмінің
бөлшектері ... ... ... ... ... ... . ... ... ... ... .12
3. Кілттердің
есептелуі ... ... ... ... ... ... .. ... ... ... ... ... ... ...
... ... ... ..14
4. DES-ті
дешифрлеу ... ... ... ... ... ... .. ... ... ... ... ... ... ...
... ... ... ... .16
5. DES
сенімділігі ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... 17
6. Сенімділіктің
қолдануы ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ...17
7. 56-битті кілттерді
қолдану ... ... ... ... ... ... ... ... ... ... ... ... ... ...
..18
8. DES алгоритмінің ішкі
құрылымы ... ... ... ... ... ... ... ... ... ... ... .19
9. Кілттің
беріктігі ... ... ... ... ... ... .. ... ... ... ... ... ... ...
... ... ... ... ... .20
5. Маскалық жұмыс
режимі ... ... ... ... ... ... ... . ... ... ... ... ... ... ...
...21
6. DES
Quadruple ... ... ... ... ... ... .. ... ... ... ... ... ... ...
... ... ... ... ... ... 22
7. DES-
ladder ... ... ... ... ... ... ... . ... ... ... ... ... ... ...
... ... ... ... ... ... ...22
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... .. ... ... 25
Қолданылған әдебиеттер ... ... ... ... ... ... . ..
... ... ... ... ... ... ... ... ... ... ... ... 26
Қосымшалар ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... 27

Кіріспе

Бұл курстық жұмыста қазіргі заманғы дәстүрлі шифрлеу әдістері
негіздеріне сүйенген қағидаларды қарастырамын. Осы мақсатпен кең қолданыс
тауып отырған шифрлеу алгоритмі DES (Data Encrytion Standard) мәліметтерді
стандартты шифрлеу деген атқа ие болған. DES әдісін ойлап тапқаннан бері
симметриялы шифрлеу схемасын қолдануға негізделген басқада көптеген
алгоритмдер шықса да DES бәрінен ерекше орын алады. DES тереңдетіп оқу
басқада дәстүрлі шифрлеу әдістерін түсінуге көмектеседі. Ашық кілтке
негізделген схемалармен мысалға RSA салыстырғанда DES құрылымы дәстүрлі
схеманың көптеген басқа да алгоритмдері сияқты өте күрделі, сондықтан RSA
және оған ұқсас алгоритмдерді көрсете салатындай емес, бұл DES алгоритмі
қиында, күрделі.
Жеңілдетілген DES – шифрлеу алгоритмі, тәжірибелік мағынасына
қарағанда оқулық мағынасы көп. Қасиеттері мен құрылымы тура DES-тегідей,
бірақ аз параметрлерден тұрады. Бұл алгоритмді Санта-Клара университетінің
профессоры Эдвард Шейфер ойлап тапқан.
Ары қарай осы DES алгоритмін қарастыратын боламын. Оның қандай түрлері
бар, қандай кілттермен іске асады, қалай орындалады, ол сенімді ме деген
көптеген сұрақтарға жауап іздеп көремін.
Шифрлеу – бұл жаудан қорғау үшін мәліметтерді қайтып орнына келетін
түрлендіру блып табылады. Шифрлеу әдістерін көптеп ойлап тапқан – қарапайым
ауыстырудан (ең танымдысы – жылаған адамдар Конан Дойль) Вернамның (кез
келген тізбекпен негізгі мәтінде бір рет қолданылатын екілік қосу)
ашылмайтын қағидалық шифрлеуіне дейін болды. Барлық шифрлеу түрлері кілтті
қолданады – ақпаратты түрлендіру кезінде қолданылатын құпия кілтті тізбек.

1. Шифрлеу алгоритмі
Шифрлеу – бұл жаудан қорғау үшін мәліметтерді қайтып орнына келетін
түрлендіру блып табылады. Шифрлеу әдістерін көптеп ойлап тапқан – қарапайым
ауыстырудан (ең танымдысы – жылаған адамдар Конан Дойль) Вернамның (кез
келген тізбекпен негізгі мәтінде бір рет қолданылатын екілік қосу)
ашылмайтын қағидалық шифрлеуіне дейін болды. Барлық шифрлеу түрлері кілтті
қолданады – ақпаратты түрлендіру кезінде қолданылатын құпия кілтті тізбек.
8-32 байт 64-256 бит осы замандық берік симметриялы алгоритмдердің
көпшілігі ұзындық кілтті қолданады. Төменде негізгі қолданылатын кестеде
саналған осы шақ алгоритмдері бар, олар ұзын және кілт ұзындық.
(Data Encryption Standart) мынау шифрлеу симметриялы алгоритм, т.б.
шифрлеуге арналған қалай бір кілт қолданылады, дәл осылай және
хабарлаулардың шифрлеуді ашуға арналған. Фирмамен өңделген және АҚШ
үкіметпен бекітілген 1977 жылғы ресми стандарт сай.
64 бит пайда болу одақ және негізі салынған 16 еселі ауыстырып қоюға
тап осылардың, шифрленгенге дейін арналған сонымен қатар 56-битті кілт
қолданады. Бірнеше тәртібі бар болуларының, мысалы Electronic Code Book
және Cipher Block Chaining. 56–бит мынау 8 жеті биттік ASCII символдардың
т.б пароль 8 әріп болуы мүмкін емес. Егер әріптің және цифр тек қана
қосымша қолданса. Маңызы азырақ барынша көп мүмкін түрлерінің саны болады.

Жеңілдетілген DES

1 суретте жеңілдетілген DES алгоритмі құрылысы көрсетілген, ол ары
қарай қысқаша S-DES деп аталатын болады. Берілген алгоритм 8-битті кіріске
ашық мәтін блогын және 10-битті кілт алады, ал шығыста 8-битті шифрленген
мәтін блогы генерирленеді. S-DES-ті дешифрлеу алгоритміне негізгі
мәліметтер ретінде 8-битті шифрленетін мәтін блогын қолданады, нәтижесінде
дешифрлеу алгоритмі 8-битті ашық мәтін блогын генерирлеуі тиіс.
Шифрлеу алгоритмі бес операцияның тізбектей орындалуын қосады: IP
алғашқы орын ауыстыру, алмастыру және орын ауыстыру композициясы болып
табылатын күрделі функция, мәліметтер тізбегінің екі жартылары тек орнымен
ауысатын SW орын ауыстыруы, тағы бір fk функциясы жіне бастапқыға кері (IP)-
1 түрлендірілуі. Бірнеше рет тізбекті алмастыр және орын ауыстыруды қолдану
криптоталдау үшін одан да күрделі алгоритм алуға болады.
fk функциясы негізгі мәліметтер ретінде тек шифрленетін мәтіндерді
қолданып қоймай 8-битті кілтті қолданады. Екі 8-битті жеке-жеке
қолданылатын кілт астарынан тұратын 16-битті кілтпен жұмыс істей алатындай
етіп алгоритмді өзгертсе болады. 8-битті кілтті қолданса да болады ол үшін
оны тек екі рет енгізу керек. Әрине, бұл жерде комбинациялық шешімге келсе
болады, 10-битті кілт қажет болғанда 1 суретте көрсетілгендей екі 8-битті
кілт генерирленеді. Бұл жағдайда алдымен орын ауыстыру жолымен
түрлендіріледі. Осыдан кейін жылжыту операциясы ұолданылады, ал нәтижесінде
алынған мәліметтер орын ауыстыру бірінші 8-битті кілт астарын генерирлейтін
кірісіне келіп түседі. Жылжыту операциясы нәтижесінде алынған мәліметтер
басқа орын ауыстыру және жылжыту операциясы кірісіне келіп түседі,
нәтижесінде екінші кілт астары генерирленеді.

10-битті кілт
шифрлеу
дешифрлеу

8-битті шифрленген мәтін блогы 8-битті шифрленген мәтін
блогы

Сурет 1. Жеңілдетілген DES алгоритмінің схемасы.

Берілген алгоритмді функция композициясы түрінде көрсетуге болады:
IP-1° fk2 °SW° fk1 °IP,
немесе, басқаша,
шифрленген мәтін= IP-1(fk2(SW(fk1 (IP(ашық мәтін))))),
мұндағы К1=P8(жылжыту(P10(кілт))),
К2=P8(жылжыту(жылжыту (P10(кілт)))).
Дешифрлеу процесі шифрлеу процесіне кері болып табылады:
ашық мәтін=IP-1(fk1(SW(fk2 (IP(шифрленген мәтін))))).

S-DES кілтін есептеу
S-DES алгоритмінде хабарды жіберушіде де, алушыда да болуы керек 10-
битті кілт қолданылады. Осы кілттен шифрлеу және дешифрлеу анықталған
кезеңінде8-битті кілт астары генерирленеді.
Алдымен кілттің биттерінің келесі түрде орын ауыстыру орындалады.
Егер 10-битті кілт (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10), онда орын
ауыстыруды P10 формуласымен беруге болады
P10(k1, k2, k3, k4, k5, k6, k7, k8, k9, k10)= (k3, k5, k2, k7, k4, k10 ,k1,
k9, k8, k6).
Сондай-ақ орын ауыстыруды кесте түрінде P10 формуласымен беруге болады.

Бұл кестені солынан оңға қарай оқу керек. Оның әрбір элементі
тізбектің генерирленген шығысындағы негізгі мәліметтердің бит позициясын
көрсетеді. Басқа сөзбен айтқанда, шығыс тізбегінде бірінші бит негізгі
тізбектің үшінші биті, екіншісі – бесінші және т.б. болады. Мысалы,
берілген кестеге сәйкес (1010000010) кілті (1000001100) түріне
түрлендіріледі. Осыдан кейін бөлек бірінші бес битке және бөлек екіншісіне
айналу деп те атайтын солға (LS-1) қарай циклдік жылжу орындалады. Біздің
жағдайда, процесс нәтижесінде (00001 11000) тізбегі алынады.
Одан кейін P8 орын ауыстыруы қолданылады, нәтижесінде 10-битті кілттен
алдымен таңдалады, содан кейін 8 бит келесі ереже бойынша алмастырылады.

Осы операция нәтижесінде бірінші К1 кілт астары алынады. Біздің
жағдайда ол мына түрге ие (10100100).
Енді LS-1 функциясын қолдану нәтижесінде алынған екі 5-битті жолға
қайтып оралу және әрбір жолмен екі позицияға солға қарай циклдік жылжуды
орындау керек. Бұл мысалда (00001 11000) мәні (00100 00011) түріне
түрлендіріледі. P8 тізбектелінуінің орын ауыстыруынан алынған мән К2 кілт
астарын аламыз. Біздің мысалға нәтиже мынау (01000011).

S-DES шифрлеу
Шифрлеу процесі төменде қарастыратын бес операцияның тізбектей
орындауын көрсетеді.
Бастапқы және аяқталушы түрлендірулер
Алгоритм кірісіне IP функциясымен берілген бастапқы түрлендіру амалы
қолданылатын 8-битті ашық мәтін түседі.

Ашық мәтіннің барлық 8 бит өздерінің мәндерін сақтайды, бірақ орын
реті ауысады. Алгоритмнің аяқталу сатысында кері орын ауыстыру орындалады.

Қарапайым тексеру көмегімен көрініп тұрғандай жоғарыда келтірілген
орын ауыстырудың екіншісі біріншісіне қарағанда кері болып табылады, яғни
IP-1(IP(X))=X.

fk функциясы
S-DES ең күрделі компоненті орын алмастыру және орнына қою комббинациясына
ие fk функциясы болып табылады. L және R сәйкесінше fk кірісіне берілетін 8-
биттік тізбектің бірінші 4 битін және соңғы 4 битін білдірсін және F – 4-
битті жол кеңістгінің түрі. Сонда қоятын болсақ
fk(L,R) = (L Ө F(R, SK), R),
мұндағы SK кілт астарын, ал Ө XOR операциясын (немесе битті қайтарып
отырады) білдіреді. Мысалы, егер IP функциясын қолданғану нәтижесінде
(10111101) және F(1101, SK) = (1110) SK кілтті үшін мәні алынды, онда
(1011) Ө (1110) = (0101) болғандықтан fk(10111101) = (01011101).
Енді F белгіленуін баяндайық. Осы көрініс кірісінде 4-биттік (n1 n2
n3 n4) мәнге иеміз. Бірінші кеңейтуорын ауыстыру операция болып табылады.

Ары
қарай қарастыруға нәтижені келесі түрде көрсету ыңғайлы:
n4 n1 n2 n3
n2 n3 n4 n1
Бұл мәнге XOR операциясы көмегімен 8-битті кілт астары қосылады K1 = (k1,
k2, k3, k4, k5, k6, k7, k8, k9, k10):
n4 +k11 n1+k12 n2+k13 n3+k14
n2+k15 n3+k16 n4+k17 n1+k18.
8 биттің нәтижесінде алынғандардың төменде келтірілгендей етіп атын
өзрертейек.
р0,0 р0,1 р0,2 р0,3
р1,0 р1,1 р1,2 р1,3 .
Бірінші төрт бит (келтірілген матрицаның бірінші жолы) S0 модуль кірісіне
түседі, шығысында 2-битті тізбектелу, ал қалған төрт бит (матрицаның екінші
қатары) – SI модуль кірісіне алынады, шығысында басқа 2-битті тізбектелу
алынады. S0 және SI модульдерін былай анықтауға болады:
0 1 2 3
0 1 2 3
0 1 0 3 2
0 1 1 2 3
S0 = 1 3 2 1 0
S1 = 1 2 0 1 3
2 0 2 1 3
2 3 0 1 0
3 3 1 3 1
3 2 1 0 3
Бұл S-модульдер келесі түрде жұмыс істейді. Кіріс тізбегінің бірінші
және төртінші биттер жолды анықтайтын 2-битті сан ретінде, ал екінші және
үшінші – S матрицасының бағанын анықтайтын сан сияқты қарастырылады. Сәйкес
жол мен баған қиылысында жатқан элементтер 2-битті шығыс мәнін береді.
Мысалы, егер (p0.0 p0.3) = (00) (p0.1 p0.2) = (10), онда шығыс 2 бит мәні
S0 (ол 3-ке немесе екілік көрсетілімде (11)-ге тең) матрицасының 0 жол және
2 баған қиылысында жатқан элемент беріледі. Тура солай (p1,0 p1,2) және
(p1,1 p1,2) S1 матрицасының қиылысында 2 битті беретін мән тұрған жолын
және бағанын анықтауға қызмет етеді.
Енді S0 және S1 модульдерінің шығысындағы алынған 4 бит орын ауыстыру
көмегімен келесі түрге түрлендіріледі.

Р4 орын ауыстыруын қолданғандағы нәтиже Ғ функциясының нәтижесі болып
табылады.

Ауыстырып-қосқыш – функция
fk функциясы тек солдағы 4 битті өзгертеді. Сондықтан келесі шифрлеу
алгоритміндегі операция бірінші және соңғы төрт битті тізбекті орнымен
ауыстырып отыратын SW функциясын себебі fk функциясын келесі рет шақырғанда
соңғысы басқа төрттік битпен жұмыс істеу үшін қолдану болып табылады.
Екінші рет fk функциясын шақыру кезінде ЕР, S0, S1 және Р4 функциялары
бастапқы қалпында қалады, бірақ К1 кілтінің орнына К2 кілті қолданылады.

S-DES талдау
S-DES алгоритмін бұзу кезінде табысқа кенелуге барлық мүмкін мәндерін
қарапайым теру көмегімен оңай юолып келеді, себебі 10-битті кілт жағдайында
210 = 1024 нұсқасын теру болса жеткілікті. Шифрленген мәтін болса дешифрлеу
үшін талдаушы барлық мүмкін кілт нұсқаларын қолдануға болады және алынған
нәтижелерді ашық мәтінге келетін ұқсастығына талдайды.
Нағыз криптоталдау туралы не айтуға болады? Мынадай шарт бойынша
талдаушы меншігінде ашық мәтіннің фрагменті (р1, р2, р3, р4, р5, р6, р7,
р8) және сәйкесінше шифрленген мәтін фрагменті (с1, с2, с3, с4, с5, с5, с6,
с7, с8) болса, ал (k1, k2, k3, k4, k5, k6, k7, k8, k9, k10) кілті
талдаушыда болмаса белгілі ашық мәтінді талдау әдісін қарастырып көрелік.
Әрбір сі элементін pi ki аргументінен gi полинамеальді функция ретінде
көрсетуге болады. Бұндай көрсетілуде шифрлеу алгоритм параметрлері 10
тәуелсізімен 8 сызықты емес теңдеумен шешіледі. Бұндай жүйе әр түрлі
көптеген шешімдеріне ие болуы мүмкін, бірақ оның барлығы есептелуге және
талдауға жатады. Алгоритмдегі барлық орын ауыстырулар және көмекші
операциялар сызықты түрленумен беріледі. Сызықты еместік жүйеге S-
матрицасымен келтіріледі. Осы матрицамен берілетін теңдеулерін жазып
алайық. Жазуды оңайлату үшін (р0,0 р0,1 р0,2 р0,3) = (а, b, c,
d), (р1,0 р1,1 р1,2 р1,3) = (w, x, y, z) қоямыз, ал 4-битті
нәтиже (q, r, s, t) түрінде жазып аламыз. Сонда S0 модулімен берілген
операция келесі теңдеу түрінде болады
q=abcd+ab+ac+b+d,
r=abcd+abd+ab+ac+ad+a+c+1,
қосу операциясының барлығы модуль 2 бойынша орындалады. Бұндай теңдеулер S1
модулінің жұмысын сипаттайды. Тұтас алғанда мәліметтер сызықты теңдеулермен
сызықты емес теңдеулер шифрленген мәтіннің биттерін есептеу үшін күрделі
полиномеальді айтылуды тудырады ол криптоталдаудың қиын екенін көресетеді.
Проблеманың күрделілігін көрсету үшін екілік арифметикада 210 мүшелеріне
дейін ие болуы мүмкін 10 тәуелсізі бар полиномеальді теңдеу. Сондықтан 8
теңдеудің әр қайсысы орташа 29 мүшеге ие болатынын күтуге болады. Бұл
теңдеулерді қандайда бір символды математикалық операцияларды қолдайтын
программалық пакет көмегімен тұрғызып көрсетуге әрекет етіп көруіңізге
болады. Бұндай әрекеттерді өзіңіз тастап кетуіңіз мүмкін немесе символдарды
байқамай программалық пакет есебіңізді орындай беруі мүмкін.
DES-пен байланыс
DES алгоритм кірісіне 64 битті блоктар түсіріледі. Шифрлеу схемасы
келесі түрде болуы мүмкін
IP-1 ° fk16° SW ° fk15 ° SW °...° SW °fk1 ° IP.
Шифрлеу үшін негізінде он алты 48-биттік кілт астары генерирленетін
56-битті кілт қолданылады. Бастапқы 56-биттік тізбекті орын ауыстырудан
кейін жылжу операциясы дөңгелегі және 48-биттік тізбекті орын ауыстыру
орындалады.
Шифрлеу алгоритмінің өзінде Ғ функциясы 4-битті тізбектерге емес, ол
32-битті тізбекпен орындалатын болады. Бірінші операциядан кейін диаграмма
түрінде көрсетуге болатын кеңейтуорын ауыстыру (ЕР) шығыс тізбегі 48-
битті өлшемімен алынады.
Берілген матрицамен анықталатын мән 48-битті кілт астарымен (XOR
операциясы көмегімен) қосылады. Берілген матрицада 8 жол, әрқайсысы өзінің
S-матрицасын береді. Әрбір S-матрицасы 4 жолдан және 16 бағаннан тұрады.
Жоғарыдағы берілген матрицаның бірінші және соңғы биттерге S-матрицасы жолы
таңдалынады, ал қалған 4 битке – бағандар.
Ең танымды осы уақыттық шифрлеу схемасы 1977 жылы АҚШ-та Стандарттар
ұлттық бюросында қазіргі аты Стандарттар және технологиялар ұлттық
институтында қабылданған DES (Data Encryption Standard – мәліметтерді
стандартты шифрлеу) стандартында жатыр. Бұл стандарт ресми түрде Federal
Information Processing Standard 46 (FIPS PUB 46) атына ие болды. Осы
стандарттарға сәйкес мәліметтер 56-битті кілтті қолданып 64-битті блокпен
шифрленеді. Көп қадамды алгоритм 64-битті блок кірісіне келіп түсетін
ақпаратты 64-битті блокты шифрленген мәтінді түрлендіреді. Сол алгоритм дәл
сол кілтпен шифрленген мәтінді кері қайта ашық түрге айналдыруға қызмет
етеді.
DES стандарты кең танымдылыққа ие болды, бірнеше рет қауіпсіздік
дәрежесін қамтамасыз ететін полемика объектісі де болды. Бұл полемика мәнін
түсіну үшін DES құрылымының пайда болу кезін қарастырайық.
60-шы жылдардың соңында IBM компьютердік криптография облысында Хорст
Файстель басқарған ғылыми-зерттеу жобасын бастады. Жобамен жұмыс істегеннен
кейінгі нәтиже 1971 жылы басқару жүйесінде дәл ақшаны айналдырып қолдану
үшін Ллойд банкісіне сатылған LUCIFER кодты атауы бар алгоритм құрылды.
LUCIFER шифрі өзінен 64-бит өлшемді блокты және 128 битті ұзындықты кілтті
қолданған Файстель блокты шифрін ұсынады. LUCIFER жобасы нәтижесіне
негізделген, IBM шифрдің идеалды түрде оны бір микросхемада орналастыруға
болатын коммерциялық нұсқасын шығаруға әрекеттенді. Бұл бағытты Уолтер
Тачман және Карл Мейер басқарды, зерттеуге тек IBM-нің мамандары ғана емес,
сонымен қатар NSA (National Security Agency – Ұлттық қауіпсіздікті басқару)
консультанттары мен техникалық мамандары қосылды. Олардың жұмысының
нәтижеінде LUCIFER шифрінің жақсартылған нұсқасы шықты криптоталдауға үлкен
тұрақтылығына ие, бірақ кілтінің бір микросхемада алгоритм орналасу үшін 56-
битке азайтылды.
1973 жылы Ұлттық стандарттар бюросы шифрлеудің ең жақсы
жалпымемлекеттік стандартын құру жобасына конкурс жариялады. IBM компаниясы
конкурсқа Тачман-Мейер жобасы нәтижесін ұсынды. Олардың алгоритмі шарттсыз
ұсынылғандардан ең жақсы және 1977 жылы (DES) мәліметтерді стандартты
шифрлеуіне ие болды.
Ресми стандарт атағына ие болмас бұрын IBM ұсынған алгоритм бүгінгі
күнге дейін басылмаған қатты сынға түсті. Сынға негізінен екі жері түсті,
біріншісі, LUCIFER шифрінде 128-бит ұзындықты кілт қолданылды, ал стандарт
бойынша ол 56 дейін кемітілген болатын. Жай ғана санап енгізу
криптоталдауына жарамайды кілт ұзындығы жеткіліксіз. Екіншіден, DES ішкі
құрылғысында S-матрицасы құпияландырылған. Сондықтан қолданушылар DES
құрылымында ешқандай деффект жоқ екеніне сенімді бола алмады, оның
көмегімен NSA мамандары кілттсіз хабарды шифрлеуден ала алмайтын болды. Ары
қарайғы зерттеулер дифференциалды криптоталдау бойынша соңғы жұмыстар DES
сенімді ішкі құрылымына ие болды. IBM жағындағы мамандардың сендіруі
бойынша стандарт жобасына енгізілген өзгерту, жобаны бағалау кезінде
көрінген алгоритмнің әлсіз жерлерін күшейту үшін NSA ұсынған S-матрицасын
өзгерту енгізілді.
Қалай болғанымен де DES бүкіл әлемге шықты және өте танымал болды,
әсіресе қаржылық қосымшаларда. 1994 жылы NIST DES-ті қолдануды федералды
стандарт ретінде тағы 5 жылға қабылдады және ақпаратты қауіпсіздікте
қолдануға шақырды.

DES шифрлеу
DES шифрлеу процессі төмендегі 1 суретте келтірілген. Басқа да кез
келген шифрлеу схемасы сияқты бұнда да шифрлеу функциясы кірісіне екі
мәліметтер типі ұсынылады – шифрлеу үшін қажетті ашық мәтін және кілт.
Келтірілген жағдайда ашық мәтін ұзындығы 64 битке , ал кілт ұзындығы – 56
битке тең.
64-битті ашық мәтін блогы 56-битті кілт

Шифрленген мәтіннің
64-биттік блогы

2 сурет. DES шифрлеу алгоритмінің жалпы схемасы.

Суреттің сол жағынан көрініп тұрғандай ашық мәтінді түрлендіру процесі
үш кезеңнен тұрады. Алдымен 64 битті блок ашық мәтінді алғашқы түрлендіру
кірісіне өңдеу үшін түседі, нәтижесінде орын алмастырылған кіріс
мәліметтері алынады. Содан кейін 16 раундтан тұратын кезеңді бір және сол
функцияны қолданып, түрлендіру және орынға қою операцияларын қолданадады.
Соңғы 16 раундтың шығысында 6 битті тізбек алынады, онда ашық мәтін және
кілт функциялары болады. Алынған мәліметтер тізбегінің сол және оң
жартылары орындарымен ауысады, алдын ала нәтиже құрайды. Бұл алдын ала
нәтиже IP-1 түрлендіру арқылы өтеді, ол бастапқыға кері, нәтижесінде
шифрленген мәтін 64 битті блок алынады. Бастапқы және соңғы түрлендіруді
алып тастаса, DES құрылымы Файстель шифр құрылымымен бірдей болады.
2 суреттің оң жағында 56 битті кілттің қалай қолданылатыны
көрсетілген. Алдымен кілтке де түрлендіру функциясы қолданылады. Солға
циклдік қозғалу көмегінен кейін кілтасты (подключ Ki) генерирленеді.
Түрлендіру функциясы барлық раундта біреу ғана, бірақ генерирленген
кілтастылар солға қарай циклдік қозғалу нәтижесінде әр түрлі болып кетеді
және оның кірісіне кілттің әр түрлі биттері түседі.

(а) бастапқы түрлендіру (IP)

(б) бастапқыға кері (IP-1)

(в) кеңейтілумен түрлендіру (Е)

(г) түрлендіру (Р)

DES DES

Бастапқы түрлендіру
Бастапқы түрлендүру де, оған керісі де кестелік әдіспен беріледі.
Берілген екі функция кестелерінде бір-біріне сәйкес кері болып табылатынына
көз жеткізу үшін, келесі 64-битті кіріс М тізбекті қарастырамыз.

М1 М2 М3 М4 М5 М6 М7 М8
М9 М10 М11 М12 М13 М14 М15 М16
М17 М18 М19 М20 М21 М22 М23 М24
М25 М26 М27 М28 М29 М30 М31 М32
М33 М34 М35 М36 М37 М38 М39 М40
М41 М42 М43 М44 М45 М46 М47 М48
М49 М50 М51 М52 М53 М54 М55 М56
М57 М58 М59 М60 М61 М62 М63 М64

Бұнда әрбір Мі бір екілік санды ұсынады. Орын ауыстырудан кейін
Х=IP(M) тізбегін келесі түрде аламыз.

М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

Кері орын алмастыруды қолданып Y=IP-1(X)=IP-1(IP(M)) аламыз және жеңіл
тексеруден көз жеткізуге болады, шығыста жоғарыдағыдайға сәйкес, тура
биттер тізбектелінеді.

Шифрлеу алгоритмінің бөлшектері
3 суретте итерация кезінде қолданылатын алгоритмнің ішкі құрылымы
көрсетілген. Әрбір 64 мәннің сол(R) және оң(L) бөліктері тәуелсіз 32-битті
өлшемдері ретінде қарастырылады. Кез келген Файстель классикалық шифры
сияқты әрбір итерация кезінде орындалатын операциялар келесі формуламен
жазуға болады:
Li=Ri-1,
Ri=Li-1 +F(Ri-1, Ki).
Кез келген раунд үшін Ki кілті ұзындығы 48 битке тең, ал шығыс
элементтерінің R ұзындығы 32 бит. R мәнінің 16 биті қайталануында жатқан
кеңейтумен орын ауыстыруы R кіріс мәні кесте көмегімен 48 битке дейін
кеңейеді. Алынған 48-битті мән XOR операция көмегімен Ki мен бірге
қосылады. Нәтижесінде, ұзындығы 48 битке тең мән 32-битті мәнді генерирлеп
ауыстыру функциясына беріледі.
F функциясында S-матрицасының ролі 4 суретте маңызы ашылады. Ауыстыру
механизмі сегіз S-матрицасы жиынымен анықталады, оның әрбіреуі кіріске 6
битті мәліметтерді алады және 4-битті нәтижені шығарады. Түрлендіру
келесідей ережеге сәйкес жүргізіледі. Бірінші және соңғы биттер кіріс
мәндері S-матрицасы үшін 2-битті екілік санды ұсынады, Sі үшін кесте төрт
жолмен анықталады да төрт ауыстырудың біреуін береді. Қалған төрт битті
баған анықтайды. Баған мен жолдың қиылысында берілген ондық мән 4-биттік
көрсетілуде нәтиже болады. Мысалы, егер Sі кірісіне 011001 мәні түссе, онда
01 (ондық 1) жолын және 1100 (ондық 12) бағанасын береді. 1 жол және 12
баған қиылысында 9 мәні орналасқан, сондықтан нәтиже еклік көрсетілуде 1001
түріне ие болады.
1 кесте. DES алгоритмі S-матрицасының анықталуы.

S1

S2

S3

S4

S5

S6

S7

S8

S-матрицасының әрбір жолы кері қайтатын орын алмастыруды анықтайды.
Беріліп отырған алмастыруларды түсіну үшін 0 жолына S-матрицасы қойылғанын
көруге болады.
Бұнда тағы S-матрицасы құрылымы туралы айтып кету керек. Түрлендіру Ki
кілтіне тәуелді екенін естен шығара тұрайық. Орынды кеңейтумен алмастыруды
беретін кестеден көрініп тұрғандай, 32 бит кіріске түскен мәліметтер 4
битті топтарға бөлінеді, кейін олар әрбір топқа көрші топтардан қосылған
биттер көмегімен 6 битті топтарға айналады. Мысалы, егер кіріс түскен
сөздер бөлігі мынадай
...efgh ijkl mnop... ,
бұл бөлік мына түрге түрленеді
...defghi hijklm lmnopq...
Әрбір ішкі екі битті мән топтарына төрт мүмкін болатын ауыстырудан
біреуін таңдайды. Одан кейін шығыс 4-битті мән кіріс 4-битті мәніне сәйкес
орын алмасады. Бұдан соң 8 S-матрицасы көмегімен алынған 32-битті шығыс
мәні ауыстыру арқылы өңделеді, шығыс мәнінен әрбір S-матрицасынан мүмкін
боларлық көптеген ауыстыру саны нәтижесі келесі шифрлеу раундында тәуелді
болуы үшін.

Кілттердің есептелуі
3 және 4 суреттерге қайта оралсақ кіріс мәліметтер алгоритмі ретінде
қолданатын 56 битті кілт, PC-1 таңдаумен бірінші орын ауыстыруы берілген
кестеде алдымен алмастыру арқылы түрленеді. Нәтижесінде алынған 56 битті
мәні екі 28-битті мәндер комбинациясы ретінде қарастырылады. Шифрлеудің
әрбір раундында Ci-1 және Di-1 мәндеріне солға қарай 1 немесе 2 битке
циклды қозғалу операциясы бөлек қолданылады. Қозғаудан кейін алынған мәндер
келесі шифрлеу раундына түседі. Тура сол мәндер екінші F(Ri-1, Ki)
функциясы орындалу үшін керекті 48-битті Ki шығыс мәні көмегімен таңдау
бойынша орын ауыстыру кірісіне түседі.

3 сурет. DES алгоритмін шифрлеудің бір раунды.

4 сурет. F(R, K) есептеу

DES-ті дешифрлеу
Бұл жағдайда дешифрлеу тура сол алгоритм қолданылады, бірақ кілттер
дешифрлеу кезінде алгоритмге кері ретпен берілуі керек.

DES алгоритмінде кілттерді есептеу.

(а) (РС-1) таңдауымен бірінші орын ауыстыру

(б) (РС-2) таңдауымен екінші орын ауыстыру

(в) солға жылжу кестесі

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

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
DES шифрлеу
Құпия кілтті алгоритм
АҚПАРАТТЫҚ ЖҮЙЕНІ КРИПТОГРАФИЯЛЫҚ АЛГОРИТМДЕРМЕН ҚОРҒАУ
Блоктік шифрлеу
Мәліметтердің криптографиялық өзгеру әдістері
Файстель шифры
Криптография жайлы
Есептеу машиналары мен электрондық құралдар
Компьютерлік анықтамалы-ақпараттық жүйелер
АҚПАРАТТЫ ҚОРҒАУДЫҢ МАТЕМАТИКАЛЫҚ ӘДІСТЕРІ
Пәндер