Дәріс есептеуіш желілердің ҚҰрылымы мен оларға жалпы шолу негізгі анықтамалар мен терминдер



бет38/38
Дата11.03.2022
өлшемі232,39 Kb.
#27643
1   ...   30   31   32   33   34   35   36   37   38
Орын ауыстыру шифрлары

Шифрланатын мәтiннiң символдарын орын ауыстырумен шифрлаған кезде бұл мәтiннiң блогының шегiнде анықталған ереже бойынша орындары ауыстырылады. Орын ауыстыру шифрлары ең қарапайым, сондай-ақ  ең ежелгi шифрлар болып табылады.



Шифрлайтын кестелер

Шифрлайтын кестелерде кiлт ретiнде мыналар қолданылады:

- кестенiң  өлшемi;

- орын ауыстыруды беретiн сөз немесе сөздер тiркесi;

- кестенiң құрылымының ерекшелiктерi.

Орын ауыстыру кестелiк шифрларының ең үнемдiсi кестенiң өлшемi қызмет ететiн жай орын ауыстыру болып табылады. Мысалы, КОМПЬЮТЕРЛIК ЖҮЙЕЛЕРДI ҚОРҒАУ хабар кестеге баған бойынша кезектесiп жазылады. Кестенiң 4 қатардан және 7 бағаннан тұратын толтыру нәтижесi 4-суретте көрсетiлген.

Шифрмәтiндi қалыптастыру үшiн хабар мәтiнiн баған бойынша кестенi толтырудан кейiн қатар бойынша кестенiң құрамын есептейдi. Егер шифрмәтiндi жетi әрiп бойынша тобымен жазып отырса мынадай шифрланған хабар алынады:

КЬРЖЛIҒ ОЮЛҮЕҚА МТIЙРОУ ПЕКЕДР.

Шифрды ашу кезiнде iс-әрекеттер керi ретпен орындалады.

 


К

Ь

Р

Ж

Л

I

±

О

Þ

Л

Ү

Е

Қ

А

М

Т

I

Й

Р

О

У

П

Е

К

Е

Д

Р

.

4 сурет  - Кестенің 4 қатардан және 7 бағаннан тұратын толтырылуы

 

Кiлт бойынша орын ауыстыру әдiсi. Алдыңғы тәсiлден бұл тәсiл кестенiң бағандары кiлттiк сөз, сөздер тiркесi немесе кестенiң қатарына теру ұзындығының саны бойынша орын ауыстырылады.



Мысалы, кiлт ретiнде ТЕХНИКА сөзiн қолданайық, ал хабардың мәтiнiн алдыңғы мысалдан алайық. 5-суретте хабардың мәтiнiмен кiлттiк сөзбен толтырылған екi кесте көрсетiлген, бұл кезде сол жақ кесте орнын ауыстыруға дейiнгi толтыруға, ал оң жақ кесте – орнын ауыстырудан кейiнгi толтыруға сәйкес.

 


Кiлт ¾®

Т

Е

Х

Н

И

К

А

 

А

Е

И

К

Н

Т

Х

 

 

 

6

2

7

5

3

4

1

 

1

2

3

4

5

6

7

 

 

 

К

Ь

Р

Ж

Л

I

Ғ

 

Ғ

Ь

Л

I

Ж

К

Р

 

 

 

О

Ю

Л

Ү

Е

Қ

А

 

А

Ю

Е

Қ

Ү

О

Л

 

 

 

М

Т

I

Й

Р

О

У

 

У

Т

Р

О

Й

М

I

 

 

 

П

Е

К

Е

Д

Р

.

 

.

Е

Д

Р

Е

П

К

 

 

 

а) Орын ауыстыруға дейiн

 

б) Орын ауыстырудан кейiн

 

5 сурет - Хабардың мәтіні мен кілттік сөзбен толтырылған кестесі

 

Сол жақ кестенiң жоғарғы қатарында кiлт, ал кiлттiң әрiптерiнiң астындағы нөмiрлер алфавитте кiлттiң әрiптерiнiң ретiмен сәйкес анықталған. Егер кiлтте бiрдей әрiптер кездессе, олар солдан оңға қарай нөмiрленетiн едi. Оң жақ кестенiң бағандары кiлттiң әрiптерiнiң реттелген нөмiрiмен сәйкес орындары ауыстырылған.



Оң жақ кестенiң құрамындағы қатар бойынша және жетi әрiп бойынша шифрмәтiннiң тобының жазбасын есептеу кезiнде шифрланған хабарды аламыз: ҒЬЛIЖКР АЮЕҚҮОЛ УТРОЙМI .ЕДРЕПК.

Қосымша жасыруды қамтамасыз ету үшiн шифрланудан өткен хабарды қайта шифрлауға  болады. Шифрлаудың мұндай тәсiлi екi рет орын ауыстыру деп аталады. Бұл әдiсте орын ауыстыру кестелерi жеке баған үшiн және жеке қатар үшiн анықталады. Кестеге алдымен хабардың мәтiнi жазылады, ал содан кейiн кезекпен бағандар, сосын қатарлар ауыстырылады. Шифрды ашу кезiнде ауыстырулар керi ретте жүргiзiледi.

6-суретте екi рет орын ауыстыру әдiсiн iске асыр мысалы көрсетiлген.

 


 

 

2

3

1

 

 

1

2

3

 

 

1

2

3

 

 

3

А

Қ

П

 

3

П

А

Қ

 

1

А

А

Р

 

 

1

А

Р

А

 

1

А

А

Р

 

2

Р

Қ

О

 

 

5

Т

Т

Ы

 

5

Ы

Т

Т

 

3

П

А

Қ

 

 

2

Қ

О

Р

 

2

Р

Қ

О

 

4

У

Ғ

А

 

 

4

Ғ

А

У

 

4

У

Ғ

А

 

5

Ы

Т

Т

 

 

Бастапқы кесте

 

Бағандардың орнын ауыстыру

 

Қатарлардың орнын ауыстыру

 

 

6 сурет - Екі рет орын ауыстыру әдісінің мысалы

 

Бастапқы кестенiң бағандарының нөмiрлерi мен қатарларының нөмiрлерiнiң тiзбегi қосарлы алмастыру шифрының кiлтiне қызмет етедi. (Бiздiң мысалымызда 231 және 31524 тiзбектерi сәйкес).



Егер шифрмәтiндi оң жақ кестеден 5 әрiп бойынша блок қатарымен оқыса, онда келесi шығады: ААРРҚ ОПАҚУ ҒАЫТТ.

Сиқырлы квадраттар

Сиқырлы квадрат деп әрбiр бағаны, әрбiр қатары және әрбiр диагональдарының қосындысы бiрдей сан беретiн, оның клеткаларына бiрден басталатын натурал сандардың тiзбегi жазылған квадраттық кестенi атайды.

Шифрланатын мәтiн сиқырлы квадратқа оның клеткаларының  нөмiрленуiне сәйкес жазылады. Егер содан кейiн қатар бойынша осындай кестенiң құрамын жазып алса, онда бастапқы хабардың әрiптерiн орнын ауыстыру арқасында жинақталған шифрмәтiн алынады.

7-суретте АҚПАРАТТЫ ҚОРҒАУ мәтiнiн сиқырлы квадраттың көмегiмен шифрлау мысалы көрсетiлген. Қатар бойынша оң жақ кестенiң құрамын оқу кезiнде алған шифрмәтiннiң жұмбақты түрi бар: .ПҚҒ РҚОТ ЫАТР АУАА

 

 

 



 

16

3

2

13

 

 

.

П

Қ

Ғ

 

 

5

10

11

8

 

 

Р

Қ

О

Т

 

 

9

6

7

12

 

 

Ы

А

Т

Р

 

 

4

15

14

1

 

 

А

У

А

А

 

 

7 сурет - Ақпаратты қорғау хабарымен толтырылған 4х4 сиқырлы квадраттың мысалы

 

Дәріс 15. Ақпараттық жүйелердің аппараттық және бағдарламалық платформасын анализдеу



 

Дәріс мақсаты: деректерді өңдеудің электрондық жүйелерінің архитектурасын; деректерді өңдеудің жүйелік құралдарын; деректерді өңдеудің қолданбалы құралдарын; ақпараттық қорғаудың аппараттық құралдарын; ақпараттық қорғаудың бағдарламалық құралдарын қарастыру.

 

Асимметриялық криптожүйелер

Деректердi криптографиялық қорғау жүйелерiнiң iшiнде ассиметриялық криптожүйелер тиiмдi жүйелер қатарына жатады. Оларды ашық кiлттi криптожүйелер деп те атайды. Мұндай жүйелерде деректердi шифрлау үшiн бiр кiлт, ал оларды керi шифрлауға басқа кiлт қолданылады (ассиметриялық деп аталу себебi  осында). Бiрiншi кiлт ашық (public key) болады және ол деректерiн шифрлаймын деген барлық пайдаланушылар қолдану үшiн жария етiлуi мүмкiн. Деректердi керi шифрлауға ашық кiлт жарамайды.

Шифрланып келген деректердi керi шифрлау үшiн қабылдаушы жақ екiншi кiлттi пайдаланады. Ол құпия кiлт (private key) деп аталады.

Сөйтiп бұл криптожүйеде екi түрлi кiлт қолданылады: КА - жiберушiнiң ашық кiлтi, kВ - алушының құпия кiлтi. Құпия кiлттi қорғалмаған арна арқылы жiбермеу үшiн кiлттер генераторын алушы жағында орналастырған тиiмдi болады. kВ құпия кiлтiн белгiлi КА ашық кiлт бойынша ашу шешiлмейтiн мәселе болуы керек.

Ассиметриялық криптожүйелерге тән ерекшелiктер:

-      КА ашық кiлтi мен С криптограммасы қорғалмаған арна бойынша жiберiледi, яғни қарсы жаққа КА және С белгiлi;

-      шифрлау және керi шифрлау алгоритмдерi Е:М®С, D:С®М ашық болады.

Ассиметриялық криптожүйелердегi ақпаратты қорғау kВ кiлтiнiң құпиялығына тiкелей байланысты.

У. Деффи және М. Хеллман ассиметриялық криптожүйелерiнiң қауiпсiздiгiн қамтамасыз ететiн талаптарды қойды:

1) Алушы үшiн бастапқы жағдай негiзiнде (КА, kВ ) кiлттер жұбын есептеп шығару қарапайым болу керек.

2) «А» -  жiберушi КА ашық кiлтiн және М хабарын бiлiп, криптограмманы өте оңай есептей шығара алады:

С = ЕКА (М) = Е (М).

3) «В» - алушы kВ құпия кiлтiн және С криптограммасын пайдаланып бастапқы хабарды оңай қалпына келтiре алады:

M = DКв (C) = D (C) = D [E(M)].  

4) Қарсы жақ КА ашық кiлтiн бiлiп құпия kВ кiлтiн есептеп табу кезiнде шешуге болмайтын есептеу проблемасына кез болады.

5) Қарсы жақ (КА, С) жұбын бiлiп бастапқы М хабарын есептеп табуды ешқандай жолмен шеше алмайды.

Ашық кiлттi ассиметриялық криптожүйелер концепциясында бiр бағыттық функцияларды қолдану көзделген. Х және Y - кез келген жиын түрi берiлген дейiк. Егер барлық xÎX үшiн y=f(x) оңай есептеп табуға болатын болса (мұнда yÎY), онда f: X ® Y функциясы бiрбағытты деп саналады.



RSA криптожүйесi

RSA алгоритмiн 1978 жылы үш автор ұсынған: Р.Райвест (Rivest), А.Шамир (Shamir) және А.Адлеман (Adleman). RSA алгоритмi ашық кiлттi алгоритмдердiң бiрiншiсi болып саналады. Ол деректердi шифрлау режимiнде де, электрондық цифрлық қолтаңба режимiнде де жұмыс iстей алады.

Алгоритм сенiмдiлiгi үлкен сандарды жiктеу қиындығы мен дискреттi логарифмдердi есептеу қиындығына негiзделген.

RSA криптожүйесiнде КА ашық кiлтi, kВ құпия кiлтi, М хабары және С криптограммасы бүтiн сандар жиынына жатады

ZN = {0, 1, 2, …, N-1},

мұнда N-модуль:  N=P*Q.                                  

Бұл жерде P және Q - кездейсоқ, үлкен қарапайым сандар. Максималды қауiпсiздiктi қамтамасыз ету үшiн P және Q сандарының ұзындығын бiрдей қылып таңдап алып, оны құпия ұстайды.

ZN жиыны N модулi бойынша қосу және көбейту операцияларымен бiрге N модульдiк арифметиканы құрайды.

КА ашық кiлтiн келесi шарттар орындалатындай етiлiп кездейсоқ түрде таңдап алады:

1< KА £ j(N), ҮЖБ(КА,j (N))=1,

j (N)=(P - 1) (Q - 1),

мұнда ҮЖБ – ең үлкен жалпы бөлгiш, j (N) - Эйлер функциясы.

j(N) Эйлер Функциясы 1-ден N-ге дейiнгi аралықтағы N санымен өзара қарапайым оң бүтiн сандардың санын көрсетедi.

Жоғарыда көрсетiлген екiншi шарт КА ашық кiлтi мен j(N) Эйлер Функциясы өзара қарапайым болу керек екенiн көрсетедi.

Әрi қарай, кеңейтiлген Евклид алгоритмiн пайдаланып kВ құпия кiлтiн есептейдi:

kВ * КА º1 (mod j (N))

немесе

kВ = КА-1 (mod (P - 1) (Q - 1)).                                        (1)



Бұны iске асыруға болады, өйткенi хабар алушы (P, Q) қарапайым сандар жұбын бiледi және j (N) функциясын оңай таба алады. kВ және N өзара қарапайым болуы керек.

KА ашық кiлтi деректердi шифрлауға, ал kВ құпия кiлтi керi шифрлауға пайдаланылады.

С криптограммасын (KА ашық кiлт, М хабаржұбы арқылы)  келесi Формулаға сәйкес табуға болады:

С = ЕКА (М) = Е (М) = МК(mod N).                 (2)

С = МК (mod N) Функциясын керi түрлендiру, яғни М - мәнiн белгiлi С, KА және N мәндерi арқылы анықтау N » 2512 кезiнде iске асыру мүмкiн емес. Дегенмен, керi есептi яғни С криптограммасын керi шифрлау есебiн (kқұпия кiлт, С криптограммасы жұбын пайдалана отырып) келесi формуламен шығаруға болады:

М = Dk(C) = D (C) = Ck (mod N).                     (3)

Керi шифрлау процессiн былайша жазуға болады:

D (E (M)) = M                                                        (4)

(4)-ке (2) және (3) мәндерiн қойсақ:

Кkв = М(mod N) немесе МКkв = М(mod N)                     

j(N) шамасы Эйлер теоремасында өте маңызды рөл атқарады. Эйлер теоремасы бойынша: егер ҮЖБ (x, N)=1, онда

j(N) º1(mod)N немесе x n*j(N)+1 º x (mod)N                          

(5.5) және (5.6) өрнектерiн салыстыра отырып, мынаны аламыз:

KА * kB = n * j(N) + 1 немесе KА * kB º 1 (mod j(N)).

Сондықтан kқұпия кiлтiн есептеу үшiн (5.1) өрнегiн пайдаланады.

Осылайша, егер С=MКв(mod N) криптограммасын kB дәрежесiне шығарсақ, онда оның нәтижесiнде ашық M мәтiнi алғашқы қалпына келедi, өйткенi:



К)k = МКk = Mn*j(N) +1 º M(mod N).                   (5)

Сөйтiп, екi параметрдi қорғайды: 1) kB құпия кiлт; 2) көбейтiндiсi N модулiн беретiн (P, Q) сандар жұбы. Екiншi жағынан, хабар алушы N модуль мәнiн және kB ашық кiлттi ашады.

Қарсы жаққа KА және N мәндерi белгiлi. Егер ол N санын P және Q көбейткiштерiне жiктей алса, онда “құпия жолды ”, яғни {P, Q, KА} үш санын бiлер едi. Әрi қарай j(N)=(P-1)(Q-1) Эйлер функциясының мәнiн есептеп табар едi және ол арқылы kқұпия кiлтiнiң мәнiн анықтар едi. Бiрақ мәнi өте үлкен N санын көбейткiштерге жiктеу мүмкiн емес (егер P және Q сандарының ұзындығы 100 ондық таңбадан кем болмаса).

RSA криптожүйесiнде шифрлау және керi шифрлау процедуралары

А пайдаланушы RSA криптожүйесiн қолдана отырып, шифрланған түрде В пайдаланушыға хабар жiбергiсi келедi дейiк. Бұл жағдайда А пайдаланушы хабарды жiберушi рөлiнде, ал В пайдаланушы хабарды алушы рөлiн атқарады. Жоғарыда көрсетiлгендей RSA криптожүйесiн хабарды алушы құрастыруы керек, яғни В пайдаланушы. А пайдаланушы мен В пайдаланушының iс-әрекеттерiн қарастырайық:

1) В пайдаланушы кез келген екi қарапайым үлкен мәндi P және Q сандарын таңдап алады.

2) В пайдаланушы N=P*Q модулiнiң мәнiн есептейдi.

3) В пайдаланушы j(N)=(P-1)*(Q-1) Эйлер функциясын есептейдi және 1А£j(N), ҮЖБ(KА, j(N))=1 шарты орындалатындай жағдайда кездейсоқ түрде ашық кiлт KА мәнiн таңдап алады.

4) В пайдаланушы kB = KА -1 (mod j(N)) салыстыруды шешкенде кеңейтiлген Евклид алгоритiмiн пайдалана отырып, kB құпия кiлттiң мәнiн есептеп шығарады.

5) В пайдаланушы А пайдаланушыға (N, KА) сандар жұбын қорғалмаған арна арқылы жiбередi.

Егер А пайдаланушы В пайдаланушыға М хабарын жiбергiсi келсе, онда ол келесi қадамдарды орындайды.

6) А пайдаланушы бастапқы М ашық мәтiндi блоктарға бөледi. Әрбiр блок Мi = 0, 1, …, N-1 сандарымен көрсетiлуi мүмкiн.

7) А пайдаланушы Мi сандар тiзбегi ретiнде берiлген мәтiндi Сi = Mi K (mod N) формула бойынша шифрлайды және С1, С2, C3, …, Ci, … криптограммасын В пайдаланушыға жiбередi.

8) В пайдаланушы қабылданған С1, С2, C3, …, Сi, … криптограммасын kB құпия кiлтiн қолданып Мi = Сi k (mod N) формула бойынша керi шифрлайды.

Осының нәтижесiнде бастапқы М мәтiнiн құрайтын Мi сандарының тiзбегi алынады. RSA алгоритiмiн iс жүзiнде қолдану үшiн көп шығынсыз үлкен мәндi қарапайым сандарды генерациялау және KА мен kB кiлттерiнiң мәндерiн тез есептеу мүмкiндiгi болуы керек.

Мәселен: ОТАН хабарын шифрлау (есептеуге оңай болу үшiн мәнi аса үлкен емес сандар пайдаланылды, бiрақ iс жүзiнде мәнi аса үлкен сандар қолданылады).

В пайдаланушының iс-әрекеттерi:

1) Р=5 және Q=11 сандарын таңдайды.

2) N=P*Q=5*11=55 есептейдi.

3) N=55 үшiн Эйлер функциясын есептейдi:

j(N)=j(55)=(P-1)(Q-1)=4*10=40

KB ашық кiлт ретiнде 1£KА£40, ҮЖБ(KА, 40)=1 шартты орындалатындай кез келген санды таңдайды. Мейлi KА =3 болсын.

4) kBº3-1(mod 40) салыстыруды шешкенде кеңейтiлген Евклид алгоритмiн пайдаланып kқұпия кiлтiнiң мәнiн есептейдi. Шешiмi kB=27.

5) А пайдаланушыға сандар жұбын (N=55, KА=3) жiбередi.

А пайдаланушының iс-әрекеттерi.

6) Шифрланған хабарды 0, …, 41 бүтiн сандар тiзбегi ретiнде көрсетiмдейдi. О әрпi 19 саны, Т - 24 саны, А - 1 саны, Н - 17 саны болсын. Сонда ОТАН деген хабар 19,24,1,17 сандар тiзбегi болады, яғни М1=19, М2=24, М3=1, М4=17.

7) М1, М2, М3, Мсандар тiзбегi түрiнде берiлген мәтiндi KB=3, N=55 пайдалана отырып С= MiK  (mod N) = Mi(mod 55) формуласы бойынша шифрлайды.

Мынадай нәтиже алады:

1) С1=193 (mod 55) = 6859 (mod 55) = 39;

2) С2=243 (mod 55) = 13824 (mod 55) = 19;

3) С3=13 (mod 55) = 1 (mod 55) = 1;

4) С4=173 (mod 55) = 4913 (mod 55) = 18.

В пайдаланушыға мына криптограмманы жiбередi:

С1, С2, С, С4 = 39, 19, 1, 18.

В пайдаланушының iс-әрекетi.

kB=27 құпия кiлтiн қолдана отырып, қабылдап алынған С1, С2, С3, С4 криптограммасын М= Сk(mod N) = Сi27 (mod 55) формуласы бойынша керi шифрлайды.

27 санын келесi түрде көрсетуге болады: 27=16+8+2+1, яғни

27=2*2*2*2+2*2*2+2+1.

Сонымен мынадай нәтиже алынады:

М1 = 3927 (mod 55) = (((39)2)2)2)2 * ((392)2)2 * 392 *39 (mod 55) =

=(((39)2)2)2)2 (mod55) * ((392)2)2 (mod55) * 392 (mod55) *39 (mod55) =19;

М2 = 1927 (mod 55) = (((19)2)2)2)2 * ((192)2)2 * 192 *19 (mod 55) = 24;

М3 = 127 (mod 55) = 1;

М4 = 1827 (mod 55) = (((18)2)2)2)2 * ((182)2)2 * 182 *18 (mod 55) =17;

Сөйтiп, хабар алғашқы қалпына (ОТАН - 19,24,1,17) келтiрiлдi.



Эль Гамаль шифрлау сұлбасы

Эль Гамаль шифрлау сұлбасы (1985 ж.) шифрлау үшiн де, цифрлық қолтаңба қою үшiн де пайдаланылады. Эль Гамаль шифрлау сұлбасының қауiпсiздiгi ақырлы өрiстегi дискреттiк логарифмдердi есептеу күрделiгiне негiзделген.

Кiлттер жұбын (ашық кiлт - құпия кiлт) генерациялау үшiн алдымен үлкен мәндi Р қарапайым саны және G үлкен бүтiн саны (G
таңдап алынады. P және G сандары пайдаланушылар арасында таратылуы мүмкiн.

Содан соң кез келген кездейсоқ бүтiн Х саны (ХXmodP есептеледi. Y саны ашық кiлт болып табылады.

М хабарын шифрлау үшiн К кездейсоқ бүтiн саны (1<К

Одан соң мына сандарды есептейдi:

a = GK mod P,  b = YK M mod P.                           (6)

(a, b) сандардың жұбы шифрмәтiн болып табылады. Шифрланған мәтiннiң ұзындығы бастапқы ашық М мәтiн ұзындығынан екi есе екенiн байқауға болады.

(a, b) шифрмәтiндi керi шифрлау үшiн мынадай есептеу жүргiзiледi:

М = b/aX mod P.                                                               (7)

aX º GKX mod P және b/aX º YM/aX º GKX M/GKX º M (mod P) болғандықтан (5.7) өрнегi шынайы болып табылады.

 Мысал. Р=11, G=2, құпия кiлт Х=8 деп алайық. Онда

Y = GX mod P = 28 mod 11 = 256 mod 11 = 3.

Сонымен ашық кiлттiң мәнi Y=3.

М хабары М=5 болсын. Кездейсоқ сан ретiнде К=9 деп алайық. НОД(К, Р-1)=1 екенiне көз жеткiзейiк. Шынында да, НОД(9, 10)=1. Ендi а және b сандар жұбын есептеймiз:

а = GX mod P = 29 mod 11 = 512 mod 11 = 6,

b = YX M mod P = 39*5 mod 11 = 19683*5 mod 11 = 9.

Сонда мынадай шифрланған мәтiн аламыз: (a, b) = (6, 9).

Осы шифрмәтiндi Х құпия кiлтiн қолдана отырып керi шифрлайық: М = b/amod P = 9/68 mod 11.

М = 9/68 mod 11 өрнегiн мынадай түрде жаза аламыз:

68 * М º 9 mod 11  немесе  1679616 * М º 9 mod 11.

Осы салыстыруды есептеу нәтижесiнде M=5 екенiн табамыз.



Әдетте Р ретiнде үлкен мәндi бүтiн қарапайым сан (512 - 1024 бит) пайдаланылады.

Достарыңызбен бөлісу:
1   ...   30   31   32   33   34   35   36   37   38




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет