2amaliy ish Sezar Usuli
Скачать 222.54 Kb.
|
RSA алгоритмиАлгоритм модуль арифметикасининг даражага кўтариш амалидан фойдаланишга асосланган. Алгоритмни қуйидаги қадамлар кетма-кетлиги кўринишида ифодалаш мумкин. 1-қадам. Иккита 200дан катта бўлган туб сон p ва q танланади. 2-қадам. Калитнинг очиқ ташкил этувчиси n ҳосил қилинади n=pq. 3-қадам. Қуйидаги формула бўйича Эйлер функцияси ҳисобланади: f(p,q)=(p-1)(q-1). Эйлер функцияси n билан ўзаро туб, 1 дан n гача бўлган бутун мусбат сонлар сонини кўрсатади. Ўзаро туб сонлар деганда 1 дан бошқа бирорта умумий бўлувчисига эга бўлмаган сонлар тушунилади. 4-қадам.f(p,q) қиймати билан ўзаро туб бўлган катта туб сон e танлаб олинади. 5-қадам. Қуйидаги шартни қаноатлантирувчи е сони аниқланади ed=1(modf(p,q)) . Бу шартга биноан ed кўпайтманинг f(p,q) функцияга бўлишдан қолган қолдиқ 1га тенг. е сони очиқ калитнинг иккинчи ташкил этувчиси сифатида қабул қилинади. Махфий калит сифатида d ва n сонлари ишлатилади. 6-қадам. Дастлабки ахборот унинг физик табиатидан қатъий назар рақамли иккили кўринишда ифодаланади. Битлар кетма-кетлиги L бит узунликдаги блокларга ажратилади, бу ерда L - Llog2(n+1) шартини қаноатлантирувчи энг кичик бутун сон. Ҳар бир блок [0, n-1] оралиқка тааллуқли бутун мусбат сон каби кўрилади. Шундай қилиб, дастлабки ахборот Х(i), i=1,I сонларнинг кетма-кетлиги орқали ифодаланади. i нинг қиймати шифрланувчи кетма-кетликнинг узунлиги орқали аниқланади. 7-қадам. Шифрланган ахборот қуйидаги формула бўйича аниқланувчи Y(i) сонларнинг кетма-кетлиги кўринишида олинади: Y(i) = (X(i))e(modn). Ахборотни расшифровка қилишда қуйидаги муносабатдан фойдаланилади: Х(i)=(Y(i))d (modn). Мисол.<ГA3> сўзини шифрлаш ва расшифровка қилиш талаб этилсин. Дастлабки сўзни шифрлаш учун қуйидаги қадамларни бажариш лозим. 1-қадам. p=3 ва q=11 танлаб олинади. 2-қадам. n = 311= 33ҳисобланади. 3-қадам. Эйлер функцияси аниқланади. f (p,q) = (3−1)(11−1) = 20 4-қадам. Ўзаро туб сон сифатида e=7 сони танлаб олинади. 5-қадам. (d 7)(mod20) =1шартини қаноатлантирувчи d сони танланади. (f*1+1)/e= хақиқий сон 20*1+1/7=3 d=3 6-қадам. Дастлабки сўзнинг алфавитдаги харфлар тартиб рақами кетмакетлигига мос сон эквиваленти аниқланади. А харфига -1, Г харфига-4, З харфига -9. Ўзбек алфавитида 36та харф ишлатилиши сабабли иккили кодда ифодалаш учун 6 та иккили хона керак бўлади. Дастлабки ахборот иккилик кодда қуйидаги кўринишга эга бўлади: 000100 000001 001001. Блок узунлиги L бутун сонлар ичидан L log2(33+1) шартини қаноатлантирувчи минималь сон сифатида аниқланади. n =35 бўлганлиги сабаблиL=6. Демак, дастлабки матн X(i) 4,1,9 кетма-кетлик кўринишида ифодаланади. 7-қадам. X(i) кетма-кетлиги очиқ калит {7,33} ёрдамида шифрланади: Y(1)=(47)(mod 33)=16384(mod 33)=16 Y(2)=(17)(mod 33)=1(mod 33)=1 Y(1)=(97)(mod 33)=4782969(mod 33)=15 Шифрланган сўз Y(i)=<16,1,15> Шифрланган сўзни расшифровка қилиш махфий калит {3,33} ёрдамида бажарилади.: Y(1)=(163)(mod 33)=4096(mod 33)=4 Y(1)=(13)(mod 33)=1(mod 33)=1 Y(1)=(153)(mod 33)=3375(mod 33)=9 Дастлабки сон кетма-кетлиги расшифровка қилинган X(i)=<4,1,9> кўринишида дастлабки матн <ГАЗ> билан алмаштирилади. Келтирилган мисолда ҳисоблашларнинг соддалигини таъминлаш мақсадида мумкин бўлган кичик сонлардан фойдаланилди. VII. Эл-Гамаль алгоритми. А томон ўзининг махфий калити асосида очиқ калит жуфтини ҳосил қилади ва уни Б томонда юборади. Олинган қийматлар қуйидагилар: g=3; p=31; a=4; y=(g^a)modp=(3^4)mod31=19. Бу ерда (p,g,y) – очиқ калитлар жуфти ва a махфий калит. Шифрлаш. Бу босқич А томоннинг очиқ калитларига эса Б томондан амалга оширилади. Очиқ маълумот сифатида M=CDEF (2,3,4,5 –алфавитдани ўрни) олиниб, ЭКУБ( , ) =1 шартни қаноатлантирувчи k=7 танланди. Шундан сўнг қуйидагилар ҳисобланади: r=(g^k)modp=(3^7)mod31=17; C1=m*y^k=2*(19^7)mod31=14; C2=m*y^k=3*(19^7)mod31=21; C3=m*y^k=4*(19^7)mod31=28; C4=m*y^k=5*(19^7)mod31=4; Шундан сўнг C1,C2,C3,C4 лардан иборат С ва r А томонга юборилади. Дешифрлаш. Бу жараён махфий калитга эга бўлган А томондан амалга оширилади ва очиқ матн олинади: M1=C1*r^(p-1-a)modp=14*17^(31-1-4)mod31=2; M2=C2*r^(p-1-a)modp=21*17^(31-1-4)mod31=3; M3=C3*r^(p-1-a)modp=28*17^(31-1-4)mod31=4; M4=C4*r^(p-1-a)modp=4*17^(31-1-4)mod31=5. |